Japanese Stable CLIP を試してみた

The F1 team bosses choose their top 10 drivers of 2022


チーム代表が、レースのポイントシステムに沿って各ドライバーにポイントを投票して、合計をランキング形式にしたものが F1 公式サイトに掲載されていました。
トップはフェルスタッペンで、それ自体は順当なのですが、その獲得ポイントが「207」なのが少し気を引きました。
1位から 25, 18, 15, 12, 10, 8, 6, 4, 2, 1 と獲得する F1 のポイントシステムで、10人で投票して「207」というポイントになるパターンは、意外と少ないのではないかな?と。

そこで、python で確認してみました。

import itertools

points = {25, 18, 15, 12, 10, 8, 6, 4, 2, 1, 0}

point_comb = itertools.combinations_with_replacement(points, 10)

# print(len(list(point_comb))) = 184756
count = 0

for i in point_comb:
    if sum(i) == 207:
        count += 1
        print(i)
print(count)

(1, 6, 25, 25, 25, 25, 25, 25, 25, 25)
(2, 12, 18, 25, 25, 25, 25, 25, 25, 25)
(2, 15, 15, 25, 25, 25, 25, 25, 25, 25)
(4, 10, 18, 25, 25, 25, 25, 25, 25, 25)
(6, 8, 18, 25, 25, 25, 25, 25, 25, 25)
(6, 15, 18, 18, 25, 25, 25, 25, 25, 25)
(8, 12, 12, 25, 25, 25, 25, 25, 25, 25)
(10, 10, 12, 25, 25, 25, 25, 25, 25, 25)
(10, 18, 18, 18, 18, 25, 25, 25, 25, 25)
(12, 12, 15, 18, 25, 25, 25, 25, 25, 25)
(12, 15, 15, 15, 25, 25, 25, 25, 25, 25)
11
11通り。(全組み合わせは 184,756)
少なくとも半数は1位としたこと、ポイント圏外とした人はいなかったこと、少なくとも2人以上は3位以下としていたことがわかります。
itertools を使うことで、意外と簡単に確認できました (何重にもループを回すことになるかな?と思っていました)。

合計得点から、誰が誰に何点を入れたかを推測する、なんてことも面白そうだと思いましたが、どうやって計算すればいいか思いつきませんでした・・・

コメント