王への請願シミュレーション

出目のコントロールが全くない状態で、ダイスがn個の時、平均いくつの連を作ることが出来るか。

3 1.8281
4 2.419
5 3.0692
6 3.7438
7 4.5061
8 5.2729
9 6.1047
10 6.9652
11 7.8432
12 8.7563
13 9.6634
14 10.6325
15 11.5703
16 12.5577
17 13.527
18 14.4711
19 15.4639

というわけでダイスを追加するカードは序盤ですら+0.6の期待値上昇効果をもたらす。しかも毎ターンもたらす。ダイスの出目コントロールは購入によって即座に期待値上昇効果があるが、せいぜい+3がいいところである。

初手で80%の確率で農夫を取れるし、農夫をとってダイスが4つになったらリロールナシでも44%の確率で合計が15以上になるし、衛兵が取れる確率も4倍になる。このあたりのダイス増加カードはもれなく押さえることが大前提のゲームになりそうだ。

以下ソースコード

from random import choice

NUM_TRIAL = 10000
DICE = range(6)

def test(NUM_DICE):
    sum = 0
    for _trial in range(NUM_TRIAL):
        dice = [choice(DICE) for _i in range(NUM_DICE)]
        counts = [dice.count(d) for d in DICE]
        counts.sort()
        most = counts[-1]
        score = most
        num_dice = NUM_DICE - most

        while num_dice:
            dice = [choice(DICE) for _i in range(num_dice)]
            v = dice.count(0) # WLOG
            if v == 0:
                score += 0
                num_dice -= 1
            else:
                score += v
                num_dice -= v

        sum += score

    print float(sum) / NUM_TRIAL

for i in range(3, 20):
    print i,
    test(i)