評価関数 - 評価項目

新年よろしくお願いいたします。

前出の評価関数の基本形は...

評価値 = (評価項目① x 比重①) + (評価項目② x 比重②) + (評価項目③ x 比重③)…

機械学習のゴールは適切な「比重」をトライアル&エラーにより見つけることにあります。

「では、評価項目はどこから来るの???」

①局面そのものを評価項目とする

これはカナリ乱暴粗雑に見えますが、「局面」は全ての情報を包括しているのでこれから学習できればしめたものです。

TDギャモン (TD-Gammon)
http://www.ai-gakkai.or.jp/jsai/whatsai/AItopics4.html

...因みにTDギャモンは150万回程練習試合を繰り返して学習し、人間の達人とほぼ同程度のレベルまで学習の成功しました。

②作者が評価項目を選ぶ

これは従来の評価関数作成と同じですね。チューニングの部分を自動学習で行う...という事です。

KnightCap
http://en.wikipedia.org/wiki/KnightCap

”The most original feature of KnightCap, introduced in the late 1990s, was an experiment in temporal difference learning as applied to chess. This technique allowed KnightCap to automatically tune the weights applied to the various features in its evaluation function based on the games it played.”

③ ①+②... 我はこれを模索中です。

投稿者: 紫外線 投稿日時: 金, 01/01/2010 - 09:25 categories [ ]

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。

検索速度

...新評価関数(まだ学習していないョ)を使用してスピード計ったらかなり遅め...ヤバシ。

「神の評価関数」が在れば一手読みで無敵なのに...

>相手が大駒の交換

>相手が大駒の交換をしたら投了しちまった...チョイと早過ぎ!!!

あららっ!、人間じゃないから言われたとおりしか考えないのねえ・・・
オジサンも始めようとしたけど、大変そうなんで止めました。(笑)

浅薄なる我の知恵よ...

>①「◎」以上の駒損が発生 (最初は「金」程度でかな?

相手が大駒の交換をしたら投了しちまった...チョイと早過ぎ!!!

【自分が手を指した後「◎」以上の駒損が発生】に変更...トホホ。

学習に向けてするべき事

自動投了の実装...

前述の通り、

①「◎」以上の駒損が発生 (最初は「金」程度でかな?)
②自玉に詰みが生じた

...が発生したら投了

そして、

③対局後に学習モードに入る

...結局

盤面データ 81 x 4 = 324
自作データ 207

合計...531項目と成りました。

次は学習環境の設定ですか...

でも...

>先手・後手と分けてデータ作らないといけないので 81 x 2 = 162 に成ります。

半分は「盤上の利き」のデータなのでそれ程ではありませんね。え?現在は...279です。

もうすぐ

300近くになるんじゃあ・・・大変だなあ。

評価項目数...

...現在の所、223...

評価項目 備忘録

「局面そのものを評価項目とする」...と在りますが、将棋ではこれをそのまま取り入れるのは無理でしょう...何故かといえば、

バックギャモンの場合、(駒は一種類しかないし)駒の位置・数がそのままで形勢に直結します。将棋の場合重要なのは駒が盤上に及ぼす効果(「利き」ですね)... これだけでも9x9で81評価項目になります。

...と、あれこれ目に付いた項目を山盛りにして学習プログラムに押し込むわけですね。

他にも目に付く評価項目は...

1.盤上の駒の種類・数 【歩・香・桂・銀・金・飛・角・と・成香・成桂・成銀・竜・馬】 x 2 = [26]

2.持ち駒の種類・数 【歩・香・桂・銀・金・飛・角】 x 2 = [14]

3.王手が掛かっているか? [1]

4.王手が掛けられるか? [2]

5.玉の周辺の味方の駒の数は? [2]

6.玉の周辺の敵の駒の数は? [2]

等、等、等...と200から300項目位作れば何とかなるのではないかと...勝手に期待しています。

(追記・補足・修正)

>これだけでも9x9で81評価項目になります

先手・後手と分けてデータ作らないといけないので 81 x 2 = 162 に成ります。

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。