非推移的さいころ

普通の数なら「a > b かつ b > c なら a > c」という推移率が成り立ちますが、じゃんけんでは「グー > チョキ > パー」なのに「グー > パー」ではありません。このような推移率の成り立たないゲームのことを非推移的ゲームといいます。

さいころも、うまく目を工夫すれば、さいころ A はさいころ B より大きい目が出やすく、さいころ B はさいころ C より大きい目が出やすく、さいころ C はさいころ A より大きい目が出やすくできます。このようなサイコロから一つを先に選ばせれば、後手でさいころを選んだ側が勝つことができます。このトリックをウォーレン・バフェット(アメリカの有名な実業家)がビル・ゲイツにしかけて、ビル・ゲーツはその仕組みに気づき、バフェットに先に選べと言ったという話が Wikipedia の intransitive dice に書かれています。

ここでは Mathematicians Roll Dice and Get Rock-Paper-Scissors という記事にある例でやってみましょう。三つのさいころの目は次のようになっています:

A = [3, 3, 3, 3, 3, 6]
B = [2, 2, 2, 5, 5, 5]
C = [1, 4, 4, 4, 4, 4]

二つのさいころを振って目の大きい方が勝ちます。引き分けはないことがわかります。勝率は次のようにして計算できます:

print(sum([i > j for i in A for j in B]) / 36)  # AのBに対する勝率
print(sum([i > j for i in B for j in C]) / 36)  # BのCに対する勝率
print(sum([i > j for i in C for j in A]) / 36)  # CのAに対する勝率

やってみましょう。何がわかるでしょうか。