方針は大体決まった今は、新しいリバーシプログラムの開発フェーズなのだが、テストコードを書いて動作させたり、MasterReversiの評価データ編集機能を使ってテストしたりしてみた結果、今日の時点で、新しいリバーシプログラムをどんな感じに作るか、というのは、大体決まったかもしれない。ここの所、毎日の様に名前が出てきているLOGISTELLOというリバーシプログラムは、機械学習を前提としたパターン評価という方式に基づく新しい評価関数を搭載し、1997年に当時の人間の世界チャンピオンを破った。その実績を鑑みれば、リバーシ用の評価関数としては、パターン評価を行う評価関数は、それ以前のプログラムに搭載されていた評価関数よりも、優れている、と、言えるかもしれないのだが、一般的には、優れている、という言葉の中には、全てにおいて、という意味は含まれていない訳だ。パターン評価というのは、それ以前の評価方式よりも、総合的には、良い結果を出せるかもしれないのだが、だからといって、それ以前のリバーシプログラムに搭載されていた評価関数と比べて、全ての点において優れている訳でもない訳だ。具体的には、パターン評価以前の評価関数では、盤面の石の数だとか、着手可能数だとか、確定石の数なんかを評価材料にしていたので、その開発者的には、盤面の状況を見れば、どんな出力が出るかを予測できた訳だ。これに対して、パターン評価では、盤面の局所パターンに対して個別に評価値が得られ、その合計値が局面の評価値になる。パット見では、パターン評価以前の評価関数が扱っていた石数だとか着手可能数だとかが局所パターンに変わっただけ、みたいに見えるので、その出力値も予測可能に思えるのだが、実際には、局所パターンの評価値は人間が記憶するには多すぎるので、まず100%、盤面の状況を見ても、パターン評価による評価値は予測できない訳だ。パターン評価を採用した場合、その評価関数を開発した人間でも、その評価関数がどんな出力値を出力するかは予測できないので、その結果として、その出力値を利用する事になるリバーシプログラムのAIが、いつ何時、ヘンテコな手を打つ事になるかが心配になる訳だ。機械学習で得られた局所パターンの重みづけ係数が妥当な値になっている事を、事前にチェックできていれば、評価関数の出力値がヘンテコになる事はない、と、自信を持って言える様にはなる筈なのだが、実際問題として、チェックしなければならない重み係数の数は多すぎるので、そんな事をやろうとすると、それだけで、寿命を使い果たす事になる可能性もある訳だ。いう事で、パターン評価による評価関数というのは、実際問題としては、ヘンテコな値を出力しない事を事前にチェックする事ができないので、開発者的には、恐ろしい訳だ。これに対して、前述の石差だとか着手可能数なんかに基づく評価関数の場合、バグでもない限り、突拍子もない出力値を出力する事はあり得ない。古い評価関数を採用した方が、AIの手は安定する筈なのだが、人間の世界チャンピオンを破ったのは、パターン評価を採用したLOGISTELLOだった訳だ。パターン評価を採用すると、たまに、ヘンテコな手を打つ事はあるかもしれないのだが、普通は、古い評価関数を使うよりは正確な局面評価が行える。このため、強いプログラムを作りたければ、パターン評価は採用する必要があるのだが、極力、ヘンテコな手を打たせない様にする為には、より安定した評価値が得られる古い評価方式も、併用する必要がある訳だ。いう事で、作者的には、ここ数日、MasterReversiの評価データ編集機能を使って、パターン評価による出力値が比較的信頼できそうな32手目以降については、今まで通りパターン評価を行わせつつ、それ以前の局面の評価については、石数/着手数による評価をメインとした評価データを作成して、どんな感じになるかを試してみていた訳だ。その結果としては、石数/着手数による評価だけでは、やはり役不足だったので、それらに「辺+X」と「隅9」のパターンのみ追加した。その結果としては、まあまあ、それらしい結果が得られているので、新しいリバーシプログラムの評価関数は、そんな感じにしようかなあ、と、思っているのだが、前述の様に、同様の事はMasterReversiでも出来るので、新しいリバーシプログラムで良い結果が出る様であれば、MasterReversiの評価関数についても、この様な方式に最適化する事にするかもしれない。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。