学習の前に...

AIの学習の為にはAIに食わせるデータの質も吟味するべきでしょう...と思い立って例の棋譜集の「詰み逃し」を検査してみました...

[] 内は詰めが発見された手番
() 内は対局の勝者
##/## は 詰め発見地点/総手数

...詰め太郎君(13手読みの設定)を稼動してチェックしてみました。

MATE DETECTED [P2](2) 83/94 = 11
MATE DETECTED [P2](2) 69/94 = 25
MATE DETECTED [P2](2) 55/76 = 21
MATE DETECTED [P1](1) 46/95 = 49
MATE DETECTED [P2](2) 111/128 = 17
MATE DETECTED [P2](2) 55/80 = 25
MATE DETECTED [P2](2) 89/102 = 13
MATE DETECTED [P2](2) 67/76 = 9
MATE DETECTED [P1](1) 118/128 = 10
MATE DETECTED [P2](2) 87/96 = 9
MATE DETECTED [P2](2) 123/128 = 5
MATE DETECTED [P2](2) 79/112 = 33
MATE DETECTED [P1](2) 110/128 = 18 先手の詰め見逃しで後手の勝ち
MATE DETECTED [P2](1) 83/97 = 14 後手の詰め見逃しで先手の勝ち
MATE DETECTED [P1](1) 68/87 = 9

対局によっては30手以上の「無駄」がありますね。

詰めが発見された以降のデータは「負け」以外の情報の価値が無いので学習用にはカットです。

あと...反則で負け(二歩、王手を放置、等...)も意外に在りました。こんなのは当然ペケです。

投稿者: 紫外線 投稿日時: 日, 01/10/2010 - 18:44 categories [ ]

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

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

ふ~む

分かったような分からないような・・・(汗)
高校の数学であまりにも成績が悪いので理工科を断念しただけのことはあるな・・・

正規化

http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E5%8C%96
『データを一定のルールに従って変形し、利用しやすくすること。』

評価関数の数式は...

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

...なので

(A) 気をつけないと評価値が天井知らずに巨大化する恐れがあります。 ← これは大したことはない。

(B) 評価項目①が1から10まで、評価項目②が1から100まで変動できるものとします。ですが、評価項目②の100が評価項目①の10に対して10倍影響力がある...なんていうのは馬鹿げています。そのような場合、各評価項目を然るべき数字で割り算して0から1のレンジに収まるように調整します。

 評価項目①は10で割って 0.1から1。0まで変動可能
 評価項目②は100で割って 0.01から1.0まで変動可能

...つまり数字のスケールを調整...ということです。

理論上は学習による比重値の変動により(例...比重②が比重①の10分の一になる)自動的にスケールを調整...もありえるでしょうが、そこにたどり着くまでに必要な時間は補正無しの場合と比べてかなり余計に掛かると予想されます。

ふみゅ?

>学習のデータをもう少し精製してもっと消化しやすい形にしなさい
意味が分からない・・・(涙)

データの正規化

学習に向けて実験を少々行ってみましたが、ど~も何かおかすいです...と思ってもう一度文献を読み返したら「データの正規化」に突き当たりました。

つまり、学習のデータをもう少し精製してもっと消化しやすい形にしなさい...ということらしい。

棋譜数

http://www.chessbase.com/shop/product.asp?pid=475&user=&coin=

チェスなら450万局収集したデータベースが有ります。これに比べれば将棋の棋譜集はミジメなものです。

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

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