倶楽部入口倶楽部活動検索累計訪問者数
一年目 約9万3千 |
コンピューター将棋の構造 - 評価関数 ②>特に評価関数(勝又さんなどがよく口にしていますが)は ここから続けます。 前回説明したように評価関数は「素早く局面の優劣を数値化する」…のですが、「何を基準に?」と突っ込まれると昔は「経験と勘が半々」…と言った所でしょうか。 前回挙げましたが、自分の駒に点を付けて戦力を数値化するのは評価関数の基本中の基本です。「駒得は裏切らない」との格言もありますし。ですが、盤上の争点から遠い駒は「働きが無い」ので割引するのが賢いと言えるでしょう。 (例)終盤で詰めろがかけられる状況なのに ①辺境に「と金」を作る のに忙しいソフトは有効戦力計算に問題があります。 その他に幾らでも(素早く判断できる)評価項目はたくさんあるでしょう。評価関数は各評価項目に(重要度に応じて)比重を掛けて足し算を行います。 評価値 = (評価項目① x 比重①) + (評価項目② x 比重②) + (評価項目③ x 比重③)… はっきり言って評価値は「正確」である必要は全然ありません。特別な状況を除いて(例・「詰み」)漠然と「互角」、「良い」、「かなり良い」…との判断ができれば十分です(後に説明しますよ)。 評価項目を決めるのは評価関数作成の際重要ですが、比重の決定が評価関数の肝となります。比重の値を操作することにより評価項目の貢献度を操作します。当然の事ですが、比重値は対局の進度によって補整するのが質の高い評価関数作成への鍵となります。 (例)序・中盤は「駒得」に重きを置くが、終盤は比重を減らす。 比重値決定の現実は… ① ソフト作者が勘と経験を基に初期値を決め …となります。評価項目・比重値を変更後の対局で(対ソフト自身、対他ソフト、対人)①強くなればキープですし、②弱くなれば廃棄です。これを飽きるほど繰り返します。これは自動化できますのでたいしたことはありません。途中で作者が新しい評価項目を足すのも当然アリです。
評価関数のチューニング方法に「革命」をもたらしたのがチェスプログラムDeep Thoughtです。(カスパロブを破ったDeepBlueの前身です) http://www.tim-mann.org/deepthought.html "The files in this directory constitute the tuning program that was used by Deep Thought to adjust its evaluation function parameters based on a set of some 868 grand-master games." (意訳)868のグランドマスター(チェスがむちゃくちゃ強い人達)の棋譜を回折して評価関数をチューニングしました。 やり方はこんな感じです。 ① ある局面をソフトに評価させる これでグランドマスターの思考は解らなくても行動は真似ができるようになります。形から入っても強くなれる例です。理由は解らなくてもソフトを強くすることができるという事です。 http://ja.wikipedia.org/wiki/Bonanza この学習法を使用の自律調整方法は将棋ソフト界では「ボナンザ メソッド(学習法)」と呼んでいますが、実際には本家は20年程前に確立されていました。 この学習法を応用すれば「羽生風」将棋ソフトも(理論的には)作れます。 (続)
投稿者: 紫外線 投稿日時: 水, 07/01/2009 - 10:49 categories [ ]
返信 |
ID取得(無料)してログインすると広告は不表示掲示板更新状況ID取得(無料)してログインすると広告は不表示 |
最近のコメント
51分 39秒前
1時間 23分前
2時間 9分前
3時間 58分前
4時間 24分前
6時間 52分前
8時間 12分前
9時間 4分前
9時間 13分前
9時間 5分前
9時間 49分前
9時間 53分前
10時間 5分前
10時間 12分前
19時間 37分前
1日 18時間前
2日 1時間前
2日 8時間前
3日 9時間前
3日 9時間前