羊の人工知能研究 ~将棋AI開発の日々~

将棋、リバーシのAIプログラミングを中心にその開発過程及び記録を頑張って更新していきます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

もっと正確な評価関数!

 あぁ前回からまた相当な時がたってしまいました(ノ´・Д・)ノミ(m´_ _)m

 カナリ前の話になってしまうんですが、11月上旬にあったACM/アジア地区予選(横浜大会)に『Hanafuda Shuflle GIVEUP orz』というチーム名で出場した時の話です。何と、今までリバーシのAIについて相当勉強させてもらった、国内でもトップクラスと言われているThellvsOthaの作者が偶然参加されておられたのです!!これにはカナリの衝撃がありました。自分の卒業研究の研究内容とか話している時に、リバーシのの話題になりThellには勉強させてもらったよ~とか話していると・・・・。
Aさん:「コイツがThellだよ!」
俺:「えっ!?」
Aさん:「vsOthaもいるよ」
俺:「・・・」

この後はかなりリバーシの話題で盛り上がってしまいました(汗。今まで生きてきた中でこれほども世界は狭いものかと感じた一日でした。。。ちなみに・・・当ブログの存在も知っておられたみたいです。:゚(。ノω\。)゚・。


 まぁ思い出話はそれぐらいにして、今回の本題に移りたいと思います。今回『もっと正確な評価値!』としていますが、実際そんな正確な評価関数を作ることなんて不可能なんです。。。だから今回のタイトルを『もっと強い評価関数』と脳内変換を行っておいてください(汗

 もっと強い評価関数と言ってますが、実は前回の評価関数でも自分も含めて初心者は普通に負けるぐらいの強さなんです・・・。(スイマセン・・。弱いんです↓↓) しかし、ThellvsOthaZebraなどに勝負を挑むとコテンパンにやられてしまうぐらいヘボい評価関数なんです。そこで、もっと強い評価関数を作りたいというところで今回の話です。

 作り方なんですが、現在ではLogistelloの作者であるMichael Buro氏が考案されたパターンに基づく評価主流になっていますが、ちょっと難しいので別の方法で話を進めます。方法としては以外に単純です。リバーシ(源平碁)が誕生してから現在に至るまでのリバーシの歴史で、この手は良手(又は悪手とされてきたような知識を評価関数に詰め込んでやれば良いのです。

主な例とすれば、
・着手可能数(手の広さ)による評価
・(発展的)開放度理論による評価
・確定石による評価
・隅、星打ちC打ちの評価
・辺(山、ウィング)の評価
・ストナーズトラップ


とまぁこんな位でしょうか?それぞれについては次回説明したいとおもいますが、これらの評価値計算を行い合計した値を評価値としてやれば良いのです。ですが、それぞれの評価の中で非常に重要なものもあれば、それほど重要でないものもあります。また、手が進むにつれ重要でなってくる評価もありますが、逆に重要でなってくる評価もあります。それらを手動(統計的にできたら一番良いです)で重み付けしてやれば、相当強い評価関数が出来上がります。強さとしては、大体ハ○ゲームクラスは普通にあります。

 他にも有効とされる手法、手筋等たくさんありますので色々試してみるのもイイと思いますよ☆☆


次回予告:強い評価関数を作ってみる!



↓現在2つのランキングに参加しています↓

スポンサーサイト

コメントの投稿

URL
コメント
パスワード
秘密
管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://hitsujiai.blog48.fc2.com/tb.php/27-89425671

『人工知能』について

人工知能人口知能のカテゴリ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。