既に鉄壁の守り?
今は、AmuseGraphics Ver1.4.4の開発フェーズなのだが、年末年始くらいはMasterReversi関連の開発を割り込ます事にしている。まずは、コンピュータの着手進行を変化させられる機能を実装してみたのだが・・・
着手を変化させられる機能を実装してみたのは、少なくともMasterReversiの場合、Bookには、引き分けになる対局の進行中に発生する局面、作者的にはDrawラインと呼ぶことが多いのだが、ソレについての登録が多い。
なので、Drawラインで対局が進行すると、Bookに沿った着手が行えるので、エンジン対局なんかで、「コンピュータ」を他のリバーシプログラムと、普通に、対局させていると、負ける事は殆どなくなっている。
しかし、EdaxBoardを使って、EdaxのBookに乱数を入れた状態で、エンジン対局を行っていると、一年位は、対局をさせてきているのだが、今だに、数百対局に1回くらいは普通に負けてしまっている訳だ。
これは何故なのかというと、Bookに乱数を入れている、という事は、Edax的には、対局中に、Drawラインから、自らが不利な筈の局面に誘導する様な変化を行っている事になるので、本来なら、MasterReversi的には、勝てて当然! の筈なのだが、そういった、Drawライン以外の進行のBook登録は手薄なので、評価関数による着手を行う羽目になる結果、評価関数の精度が不十分な事を露呈してしまう事になる訳だ。
と、いう事で、初版リリースが2007年のMasterReversi的には、そろそろ、まず負けない! くらいの強さにはしておきたい今日この頃なのだが、その評価誤差を鑑みると、評価関数による着手で、99.99%勝ち切る! なんて事は出来そうもない。
なので、作者的には、Drawライン以外の際どい進行も、Bookに登録しておくしかないかなあ・・・、と、いう事で、今年は、主に、EdaxのBookに少し乱数を入れた状態にしたEdaxBoardとのエンジン対局を、一年くらい行ってきていたのだが、それでも、まだまだ、足りない感じな訳だ。
つまり、まだ、EdaxのBookに乱数を入れた状態にしたEdaxBoardとの対局では、数百対局に1回くらいの頻度で負けが発生しているので、Drawライン以外の登録は、まだまだ、といった感じかもしれない。
もっとも、既に書いた様に、現行版のMasterReversiのBookに乱数を入れた場合、対局中に複数回の変化を行ってしまう場合もある。
例えば、15手目くらいで、Bookの-2の進行に変化した場合、対局相手がその進行に関するBookを持っていなかった場合、MasterReversi的には、-2の進行を確保しつつ、相手がミスして勝てる局面になるのを待っていれば、勝ち目はあるかもしれないのに、自らが更なる着手ミスをして-8の進行になってしまったりするので、こんな進行では、まず勝てない! なんて感じになる事もある訳だ。
と、いう事で、MasterReversiの場合、Bookに乱数を入れた対局を行なっても、何をやっているんだか? みたいな感じになる事も多いので、今回、新たに、対局中に変化させる機能を追加してみる事にした訳だ。
今日の時点では、設定用のGUIは作成していないのだが、内部的に手動でパラメータを設定すれば、使える感じにできているので、早速、この機能を使って、色々なソフトと対局させてみているのだが、今年、奥原氏が公開した「Edax + Top Level Book 2023 」は、鉄壁な守りを見ている感じだ。
具体的には、それ以前に公開されていた「Edax + Unified Book 2010」の場合、既に書いた様に、1年以上、EdaxBoardとの対局を続けつつ、Bookを拡充してきた手元のMasterReversiと対局させると、普通に対局させていても、数百対局に1回くらいは負ける事もある。
つまり、普通に対局させていると、MasterReversiはDrawラインしか打たない事を鑑みれば、MasterReversi的には、「Edax + Unified Book 2010」が知らない進行に誘い込み、「Edax + Unified Book 2010」の中のEdaxが、評価関数による着手を行う事になった結果、評価関数による着手ミスで負ける! みたいな事がたまにはあった訳だ。
しかし、「Edax + Top Level Book 2023」の場合、更なるBookの拡充が行われた結果、既に、手元のMasterReversiと数万対局は行わせたのだが、たった1回の負けも無い状況だ。
つまり、詳しくは見ていないのだが、多分、Drawラインに関するBook登録が増えたので、MasterReversiが知っていて、「Edax + Top Level Book 2023」が知らない様なラインがない感じになって、Edaxの評価関数による着手がない分、負ける事もなくなっている感じだ。
逆に、MasterReversiは数百対局に1回くらい負けている感じなので、どちらのBookがより強力なのか、というのは、火を見るよりも明らかだ。
しかし、Book登録がDrawラインのみに集中しているのなら、正しい変化を入れれば、勝てるケースも出てくるか? と、いう事で、MasterReversi的には、今回、変化を入れられる機能を追加してみているのだが、今のところ、「Edax + Top Level Book 2023」は鉄壁の守りを見せている。
具体的には、例えば、15手目以降でランダムに-2の進行に変化させる設定を行って、エンジン対局させてみると、従来の「Edax + Unified Book 2010」であれば、比較的簡単に、評価関数による着手に持ち込めたのだが、「Edax + Top Level Book 2023」の場合、ほぼ確実に、+2のBookラインが選択される感じだ。
その結果として、それ以降、MasterReversiが頑張って最善手と思われる着手候補に着手しても、良くて2石負け、ちょくちょく、4石以上の負けになっている。
ただし、流石に、変化させたラインに対するBook登録は薄い感じなので、たまには、Edaxの評価関数による勝負に持ち込める事はあるのだが、飛天御剣流ではないのだが、Book登録から外れても、Edaxの評価関数も只者ではないので、勝てない事が殆どだ。
もっとも、Edax的にも、30残付近では、着手を間違う事は普通にある感じなので、15〜20手くらいで-2の進行に持ち込み、MasterReversiに31手の完全読みをやらせる格好にしておくと、今の所、数回程度は、勝てている。
なので、「Edax + Top Level Book 2023」も、絶対に負けない、という事はないのだが、普通に考えて、MasterReversiに36手の完全読みをやらせれば、もっと勝てる様になっても不思議では無いかもしれない今日この頃だ。
ちなみに、上記の通り、「Edax + Top Level Book 2023」のBookの完成度は、鉄壁か? と、思われた「Edax + Unified Book 2010」と比べても、より高くなっているので、作者的にも、パーソナルコンピュータ用リバーシのBookなんて、もうこれで十分なんじゃ無いの? という感じがしないでもない。
しかし、そんな風に感じるのは、1年以上、EdaxBoardとのエンジン対局を通してMasterReversのBookを拡充してきた作者だからこそ、かもしれない。
つまり、普通のBookしか搭載されていないリバーシプログラムでも、普通の人間的には、勝ち目がない事を鑑みれば、ほぼ完璧! みたいなBookが搭載されたプログラムでも、普通のプログラムでも、多くの人的には、強さは同じ! みたいに感じる事になるかもしれない。
なので、実際の所、これ以上のBookを構築する事に意味があるかどうかは微妙になってきているのだが、今回追加する事になる変化機能を利用すれば、「Edax + Top Level Book 2023」のBookが、どれだけ守りについても、つまり、Drawライン以外の登録についても、充実しているかが体感できる事になる筈だ。
と、いう事で、MasterReversiというのは、作者が子供の頃に、何故か、親が買ってくれた「マイキット150」みたいな存在でもある。
つまり、様々な機能ブロックを組み合わせて動作させてみる事で、電子回路、というか、リバーシプログラムの構造を理解したりできるプログラムでもある事を鑑みれば、今回追加する変化機能は、リバーシプログラムに対する理解をより深めるのには役にたつ筈だ。
作者的には、普段は使われる事がないDrawライン以外のBookラインの修正用に使えるかなあ、と、思ったりもしているので、結構、重要な機能追加になるのでは? と、思っているのだが、攻めても攻めても鉄壁に守られると、こんな事をやっていて、何か意味はあるのかなあ・・・、と、感じたりもする今日この頃だ。
と、いう事で、作者の発言を見ていると、庵野秀明を思い出す! みたいな人もいるかもしれない。
具体的には、自らがオタクである筈の庵野秀明という人は、何故か、オタクが嫌いで、エヴァンゲリオンシリーズでは、そんなオタク達をアニメの世界から現実世界に引き戻す事に30年近くかけて尽力した訳だ。
同様に、作者的にも、リバーシプログラムであるMasterReversiの作者であるにも関わらず、リバーシプログラムというモノに対して、ちょくちょく、労多くして、益少なし! みたいなネガティブ発言を繰り返してきている。
と、いう事で、作者的には、これ以上、リバーシプログラムを改良していく事に、何か意味はあるのか? と、言う気もしないではない今日この頃なのだが、そんな作者的にも、今週中くらいは、何か、やれそうな事はやってみるつもりだ。

