2011-05

スポンサーサイト

このエントリーをはてなブックマークに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

将棋プログラムに評価値の詳細を出させたい

このエントリーをはてなブックマークに追加
※この試みは挫折する可能性が高く、個人的なメモ的な意味合いが強いエントリです

きっかけ(って程でもないけど)@zu2さんのTwitterの一言で同意せざるを得ない発言があった。

評価値をわかりやすく表現できるコンピュータ将棋欲しいよねえ。評価値だけじゃなくて、玉の堅さとか駒得とか、ちょいワル度とか...

http://twitter.com/#!/zu2/status/65275873976258560


まぁちょいワル度までは出せないだろうけどBonanzaで出せないかなと思ってソースコードを眺めていた。

まず、Bonanzaの評価値基準はこのPDF6ページ目に書いてある。(といっても2006年のだから古いかもしれない)

棋譜からの自動学習といってもその特徴自体は人間が選んでいる。そういう特徴自体も自動学習しよう、と言っているSTRは興味深いのだが、結果を上げられてなくネタプログラムだと思われてるのが残念だ。

で、話を戻すと、その特徴毎の値(評価関数の内訳)を出せば、ちょいワル度とまでは行かなくても、コンピューターが局面をどう思っているのか理解する助けになるのでは、と思った。
#知らないだけでコンパイルオプションにそういうものがあったら泣ける

Bonanzaが読み筋を披露する箇所がiterate.c#iterate() でevaluate.c#evaluate()が評価関数、最終的に動かすことを決定するのは、proce.c#cmd_usrmove() あたりだなってことまでは簡単にわかったんだけど、この先はプロファイラ使ってコールグラフ生成して解析しないとわからなさそうなので、この辺で。

参考:Bonanzaソース完全解析ブログ
スポンサーサイト

«  | ホーム |  »

プロフィール

fantakeshi

Author:fantakeshi
Web:ここ
Twitter ID:fantakeshi
自作物やプログラムやまとまった技術的メモについて

RSSに追加

自作物

最新記事

Twitter

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

自作物 (26)
一般 (1)
将棋 (12)
BONANZA (1)
ponanza (1)
HTML5 (2)
Chrome (1)
WebAPI (1)
Webサイト (2)
プログラム (2)
Tips (1)

カウンター

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

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