囲碁AIの候補手を、金・銀・銅で見せる
公開日:2026年10月24日
囲碁AIが「この手が1位、次が2位」と順位を付けても、その差が信用できないときがあります。評価がほとんど変わらない手が並んでいるときです。
囲碁アプリ「おるふぇ碁」では、AIの候補手を、盤の上に色の丸で出します。最初は、1位から3位を金・銀・銅にして、4位以下は灰青にしていました。使ってみると、すぐに引っかかりました。
金銀銅4位以下
順位をつけるのが、無理だった
勝率も目数も、ほとんど変わらない手が3つ並んでいる局面で、1位を金、2位を銀、3位を銅と色分けすると、まるで差があるように見えてしまいます。実際は、AIも、どれが最善手かを、そこまで正しく判定できているわけではありません。
そこで、評価がほぼ互角の手は、同率一位として、すべて金で並べることにしました。金になる条件は、次の3つです。
- 勝率の損が1.5%以下。
- 目数の損が、許容の範囲内。許容は最大0.5目で、AIが予想する終局目数の幅が小さくなる終盤ほど、小さくなります(下限は0.1目)。
- 探索が、最善手の5%以上。
金が1つなら、次の手が銀、その次が銅です。金が2つなら、次は銅だけで、金が3つ以上なら、銀と銅は出しません。終盤は、許容が小さくなるので、金に残る手が絞られていきます。
パスも、候補にする
黒がどこに打っても1目損して負ける局面では、パスが最善になります。これは、最善として表示はされているのですが、分かりにくいと感じました。そこで、盤の下の「パス」の札の横に、候補と同じ見方の丸(勝率と目数)を出して、パスが最善のときは、パスだけを金にします。
AIは、金の中から選んで打つ
互角の手が複数あるなら、AIの着手も、その中から選べます。AIは、すべての局面で、金の中から、読んだ回数に応じた重みでランダムに選んで打ちます。乱数の種はSGFに残すので、同じ対局を再現できます。ただし、AIの石のつながり(6子以上)がまだ生きていると言い切れない状態で、その近くに相手が打ったときは、その石の近くにある金を優先して選びます。急場を放って、離れた場所に打ってから戻ってくる、いかにもAIらしい手を減らすためです。つながりは、縦と横で数えます。ななめにつながった石も、まだ切られていなければ、つながりとして数えます。小さなつながり(5子以下)は、序盤のかかりにまで反応してしまうので、対象にしません。パスが最善のときだけは、ほかの手に入れ替えません。
- 序盤をいろいろな手にしたい。勝率がほぼ変わらない互角の手から選ぶ方式にしました。方策(ポリシー)だけで打つ案もありましたが、多様さと逆に働くのでやめました。
- 序盤の結果は保存して使う。ただし、相手の手がAIの候補から大きく外れたときは、それ以降は保存しません。よく出る形だけを早く打ち、外れた形を序盤の「定石」として残さないためです。
- 探索の打ち切り。残りの探索を全部2位に回しても、1位に追いつけないほど差がついたら、探索を止めます。手動の解析にも、AIの着手にも使っています。ただし、評価に必要な回数(100回)は、必ず読んでから止めます。また、勝率が90%以上で、最善手がずっと変わらないときは、評価に必要な回数の3倍を読んだ時点で打ちます。
- 9路盤で、AI同士が適切にパスして終局する。着手の選び方を変えても、この動きは変わらないようにしました。パスが最善のときだけは、ほかの手に入れ替えません。
AIが考える長さは、時間ではなく、読む回数で決めます。「読みの深さ」の設定で、下で説明する評価に必要な回数の、3倍(速い)、6倍(標準)、15倍(じっくり)まで読んでから打ちます。かかる時間は、使う機械の速さによって変わります。
打った手を、評価する
自分が打った手も、AIの候補と見比べて、金、銀、銅、その他に分けます。評価はSGFの着手に「OGR」という項目で保存して、読み込めばそのまま復元されます。
評価をつけるには、その局面を、ある程度読んでいる必要があります。最低100回は読んだ結果だけを使います。盤の大きさによらず、同じ回数です。
読み不足の評価は、薄く出す
未評価にするより、評価はしたうえで「読みは足りない」と示すほうがよい、と考えました。読んだ回数が100回に届かなくても、打った手が候補に入っていれば、暫定の評価を出します。色はそのままで、薄い(半透明の)表示です。100回に届くと、濃くなります。暫定の評価は、統計には数えず、SGFにも保存しません。