記事の一覧対局へ

ドミニオン CPU のここまで(2026年10月)

いつも CPU と対戦してくれてありがとうございます。集まった棋譜は、CPU の弱点探しにそのまま使っています。 この記事では、9月の終わりにサイトを公開してから今日までに CPU がどう変わったか、何がうまくいって何がうまくいかなかったかをまとめます。

1. 最初の CPU と、限界

最初の CPU は、カードごとに「どれくらい良いか」の点数を手で決め、それに条件分岐を足して打つものでした。 はっきりした弱点が2つありました。

そこで、囲碁の AlphaZero と同じように、自分どうしで大量に対戦して覚える方式に作り替えました。 CPU は「この局面はどれくらい有利か」「次にどの手が良さそうか」を返す小さなニューラルネットを持ちます。それを使って、手番ごとに数百〜千通りの先読みをして手を決めます。

2. 今の CPU のしくみ

ネットは2つ

CPU は小さなニューラルネットを2つ持っています。

ネット役目大きさ
方策ネット「次にどの手が良さそうか」の見当をつける約6万パラメータ
価値ネット「この局面でどちらがどれくらい勝ちそうか」を見積もる約17万パラメータ(幅128、残差ブロック2つ)

囲碁や将棋の強い AI と比べると、ずっと小さいネットです。ブラウザの中で、1手ごとに千回近く読むため、この大きさに抑えています。 大きくすれば強くなるとは限らないことも、実験でわかっています。

ネットが見ているもの

局面は、カードの置き場所ごとに「どのカードが何枚あるか」として読みます。置き場所は9つです。

ほかに、残りのアクション・購入・コイン、手番数、点差なども読みます。

カードは名前ではなく、「似たカードは似た数値になる」ように学習した特徴(埋め込み)で表します。 こうすると、王国の組み合わせが変わっても、カードどうしの関係を使い回せます。 また、どの置き場所も「並び順に関係なく、何が何枚あるか」として読むので、手札が何枚でも、王国がどんな組み合わせでも同じネットで扱えます。

手の決め方

人間と同じく、CPU にも相手の手札や自分の山札の順番は見えません。そこで、1手ごとに次のことを約1000回くり返します(サイトの CPU の設定)。

  1. 見えていない部分(山札の順番、相手の手札)を、ありうる形の1つに仮に決める
  2. 方策ネットの見当をもとに有望な手を選び、今の手番から次の自分の手番までを先読みする。相手の手番は、相手の立場で方策ネットに打たせる
  3. 読み終えた局面を価値ネットで評価する

最後に、全体として一番勝ちやすかった手を選びます。 候補の手は、最初は方策ネットが有望とみた16手から始めて、読みながら半分ずつに絞ります(Gumbel 方式)。 候補どうしは同じ「仮の山札」で比べるので、引き運の差で判断がぶれにくくなっています。 財宝を場に出すことと、選択肢が1つしかない決定以外は、すべて先読みで決めています。

先読みを1000回から4000回に増やしても、強さはほとんど変わりませんでした。今の弱点は読みの量ではなく、ネットの局面の見積もり(とくに、王国ごとの細かい違い)にあると考えています。

練習のしかた

CPU どうしで1世代あたり1万〜2万数千局ほど対戦し、そのたびに次のように学び直します。

これを何十世代もくり返しています。計算は、自宅の Windows 機(16スレッド)と、小さなサーバー機(8スレッド)の CPU だけで行っています。 王国専門の CPU も、汎用の CPU と同じ大きさのネットを、その王国だけの対戦で、合わせて数千〜2万局ほど鍛えたものです(ほとんどの王国は 1世代1000局 × 6世代で、手元の機械で約10分)。

3. 自分どうしの対戦では頭打ちになった(9月末)

9月27日に公開した版(社内の名前は azg42)は、私(作者)との対局で CPU が約7割を取るところまで来ました。 ただ、そこから先は、ネットを大きくしても、先読みを4倍にしても、CPU どうしの対戦ではまったく強くなりませんでした。

自分どうしで打ち続けると、お互いに同じ打ち方に落ち着いてしまいます。そうなると「その打ち方の相手にどう勝つか」しか学べません。 本当に目指しているのは、誰がどんな打ち方で来ても崩されにくい CPU です。特定の人の癖を突いて勝つ CPU は目指していません。

4. 穴を探して、ふさぐ

そこで、強さの測り方を「CPU どうしの勝率」から「わざと崩しにくる相手に負け越さないか」に変えました。

5. 王国専門の CPU と、わかったこと(10月)

次に「その王国だけで練習した CPU」を作ってみました。サイトの CPU の種類にある 「王国専門」 がこれです。

まとめると、ドミニオンの戦略は王国の細部に強く結びついていて、汎用の CPU が全王国を一度に覚えるのは難しい、というのが今の見立てです。

6. 今の公開版

種類中身
通常の CPUazp5(10月7日〜)。穴の見つかった王国を重点的に学び直した版で、全体の強さは azl16 と同じ
王国専門866王国(推奨セット、汎用の穴が大きいと予想した王国など)。その王国だけで練習した CPU

王国専門の「ランダム」では、専門の CPU が使わないカードを死にカードに0〜2枚入れ替えた王国も出ます。入れ替えても強さが変わらないことは確かめてあります。

7. これから / お願い

方針は「よく遊ばれる王国を、王国専門の CPU で埋めていく」です。


勝率は、とくに断りがなければ CPU どうしで数百局打った結果です。