よくある局面
Edaxのbookを整備しようと思い立ったのですが、どんな局面をbookに収録すべきか考えました。まずは評価値0とかプラスマイナス2くらいの引き分けに近い進行ですが、それ以外にもよく打たれる局面は入れておいた方が良いのではないかと思いました(よく打たれる局面のほとんどは引き分けに近い進行だとは思いますが)。
そこで、実際に打たれている局面はどう偏っているのか興味が湧いて調べてみました。
局面のバリエーション
理論値
まず、そもそもオセロで理論上考えられる局面はどれだけあるかですが、Edaxのcount positions
コマンドで出力することができます。
discs nodes total time speed ---------------------------------------------------------- 4, 1, 1, 0:00.000, 1.0 kN/s 5, 1, 2, 0:00.000, 2.0 kN/s 6, 3, 5, 0:00.000, 5.0 kN/s 7, 14, 19, 0:00.000, 19.0 kN/s 8, 60, 79, 0:00.001, 39.50 kN/s 9, 322, 401, 0:00.001, 200.5 kN/s 10, 1773, 2174, 0:00.001, 1.087 MN/s 11, 10649, 12823, 0:00.006, 1.832 MN/s 12, 67245, 80068, 0:00.034, 2.288 MN/s 13, 434029, 514097, 0:00.243, 2.107 MN/s 14, 2958586, 3472683, 0:01.902, 1.825 MN/s 15, 19786627, 23259310, 0:19.175, 1.213 MN/s 16, 137642461, 160901771, 4:00.405, 669.3 kN/s
0手目(石数=4)は当然1通り、1手目は全て対称形なので実質1通り、2手目は縦取り・斜め取り・並び取りの3通り、といった具合で、12手目(石数=16)になると理論上は約1億3764万通りの局面の可能性があるようです。時間がかかるので、計算はこの辺りまでにしておきました。
実際に出現する局面
今回は理論上の局面数ではなく、実際にどれくらいの局面が現れるのかを調べてみたいと思います。使用する棋譜は2018年までのWTHORの中で人間が打ったと思われる棋譜86338試合分を使用しました。
これらの86338試合分棋譜で、対称形を全て同一視して出現回数を手数別にカウントしてみました。結果は以下の通りとなりました。
mv #pos --------------- 0 1 1 1 2 3 3 14 4 59 5 250 6 670 7 1609 8 3294 9 6054 10 9776 11 14470 12 20307 13 26718 14 33439 15 40233 16 46722 17 52779 18 58240 19 63096 20 67422 21 70921 22 73827 23 76236 24 78281 25 79897 26 81277 27 82380 28 83267 29 83960 30 84535 31 84928 32 85246 33 85486 34 85682 35 85812 36 85925 37 86006 38 86071 39 86113 40 86139 41 86145 42 86167 43 86170 44 86158 45 86103 46 86066 47 86007 48 85922 49 85856 50 85783 51 85694 52 85599 53 85552 54 85478 55 85394 56 85292 57 85165 58 84916 59 84380 60 80763
理論値と比較すると、3手目までは全てのバリエーションが登場しており、4手目は1つだけ打たれていない局面が存在するようです。5手目は322局面中250局面、6手目は1773局面中670局面で、この時点で半分以上登場していない局面になっています。そして20手目には67422通り、30手目には84535通り、40手目には86139となっており、ここまで来ると86338試合のほとんどが異なる進行になっていることがわかります。
最後のあたりで場合の数が少し減っているのは、空きマスが残って終了した棋譜が含まれていて局面がカウントされていなかったり、全滅やそれに近い棋譜で同一局面にたどり着いた棋譜が一定数あったためと思われます。
ある程度打たれる局面
上記の結果から、30〜40手目くらいからほとんどの試合で異なる進行になっていることがわかりました。では、何試合も登場する局面というのはどれくらいあるのでしょうか?今回は86338試合の0.01%に当たる9試合以上登場した局面がどれくらいあるのかをカウントしてみました。
左から手数、9試合以上登場した局面が占める試合数、局面数です。例えば、4手目時点では9試合以上で登場した局面は44局面あり、86268試合がこれらの局面で進行しているという意味です。つまり、0.01%以上出現しそうな局面を暗記しようとすると#posの数だけ暗記が必要となり、86338試合中sumの分だけがカバーできることになります。
mv sum #pos -------------------- 0 86338 1 1 86338 1 2 86338 3 3 86338 14 4 86268 44 5 85934 105 6 85217 208 7 83580 357 8 80750 561 9 76386 726 10 71057 906 11 64451 1039 12 56543 1101 13 48918 1102 14 41399 1038 15 34133 919 16 27970 811 17 22774 718 18 17833 614 19 13972 509 20 10763 413 21 8415 315 22 6525 261 23 5028 217 24 3685 165 25 2724 123 26 1958 102 27 1385 78 28 940 55 29 698 49 30 472 34 31 318 25 32 179 15 33 127 10 34 71 5 35 43 3 36 41 3 37 38 3 38 38 3 39 13 1 40 13 1 41 13 1 42 12 1 43 0 0 44 0 0 45 0 0 46 0 0 47 0 0 48 9 1 49 9 1 50 9 1 51 9 1 52 9 1 53 9 1 54 9 1 55 9 1 56 9 1 57 0 0 58 25 2 59 62 3 60 228 9
11〜14手目あたりが局面のバリエーションが最も多く約1000局面という結果になりました。それより前ではバリエーションがそこまで多くならず、それ以降ではバラけすぎて0.01%を占めるような進行が減っているということでしょう。
30手目あたりでは局面数は2桁前半となり、39手目で1局面になり、43手目には1局面もなくなってしまいます。しかし面白いことに48手目に1局面復活しています。複数の進行が同一局面に合流したということでしょうか。1局面は56手目まで続くのできっと有名なドロー進行なのでしょう。そしておそらく57手目に分岐して0局面になってしまいますが、最後の3手は全滅やそれに近い局面が同一局面として複数出現したものと思われます。
本当によくある局面
ここまで調べてきて、各手数で最も頻繁に現れる局面はどんな局面だろうという興味が湧いてきました。最初は手数ごとに最頻の局面を調べていたのですが、面白いのでトップ5に広げて調べてみました。以下、結果を発表します。
1手目
2手目
3手目
4手目
5手目
6手目
7手目
7手目は虎系の進行が分岐を迎えましたが、スティーブンソンが1位、虎大量方面が2位と、分岐しても上位を維持しました。以下は6手目同様、兎、牛、飛び出しの典型進行が続きます。虎分裂のあおりで、坂口流は脱落しました。
8手目
ここで兎のローズ進行が虎系の2進行をかわして1位に躍り出ました。虎大量が2位、スティーブンソンはコンポスとノーカンに分岐して3位4位となりました。5位は牛の快速船やヨットに向かう進行になりました。スティーブンソンの分裂により、飛び出しは脱落しました。
9手目
10手目
ローズは安定の1位キープ。ここで虎大量の分岐によりコンポスが2位に浮上しました。虎大量は分岐しましたが金魚、酉、FJTが3〜5位を占める強さを発揮し、斜め系はここでトップ5から姿を消しました。虎大量の3定石は僅差で、どれも人気のようです。
11手目
12手目
12手目はコンポスからF.A.T.ドローへと展開している進行が1位から2位へと順位を下げました。複数のドロー進行がある影響でしょうか。かわりにシャープローズが1位に浮上、3位はフラットローズがキープしました。酉と金魚は順位が入れ替わり、4位金魚、5位酉となりました。
13手目
13手目で有力な変化の少ないフラットローズが3位から1位に躍進しました。シャープローズは爲則ローズと呼ばれる進行で2位に残りました。コンポス系の進行はF.A.T.ドロー方面とシャープコンポス方面への分岐を迎えたため、F.A.T.ドロー方面の進行が5位で残り、金魚と酉が3位・4位に浮上しました。
14手目
1位はフラットローズのローテーション系進行がキープ。金魚が2位に順位を上げて、爲則ローズは3位に落ちました。4位はシャープローズのローテーション系の進行が圏外から浮上してきました。F.A.T.ドローは5位キープです。
15手目
15手目はフラットローズ、金魚、爲則ローズの1〜3位は波乱なく、F.A.T.ドローが5位から4位へと1つ順位を上げました。そして5位にはここまで姿を見せていなかった手塚システム進行が突然浮上してきました。
終わりに
とりとめのない記事になってしまいましたが、今回はここで終わりにしたいと思います。トップ5については要望があれば続けてみたいと思います。