2014-01-01から1年間の記事一覧

手駒の価値を正しく学習させる

知っての通り、Bonanza6では、手駒の価値は駒割の値 + KPのP=手駒としての値の合計値となる。(実際にはKPPの一つ目のPと二つ目のPが等しいときのKPと、 KKPのP=手駒のほうとがあるが、細かい話は割愛する) さて、駒割の値というのは、盤上の駒と手駒をひっく…

棋譜からの学習は何日で収束するのか

Bonanzaで1ヶ月+α*1と保木さんに教えてもらいましたが、当時のPCでBonanzaは1コア当たり250knpsぐらいしか出ませんでした。いまのPCでいまどきの作り(Stockfish風の探索部)であれば、1Mnpsぐらい出ます。 ということは探索速度は4倍になっていることになりま…

次元下げモジュールのプラグイン化計画

NDFがやったKPPの次元下げKPP = 絶対KPP + 絶対PP + 相対KPP + 相対PPを綺麗にプログラムするための方法について考えてみます。このような次元下げは、KPPを与えるとそれに対応する絶対KPP、絶対PP、相対KPP、相対PPの配列のindexを返すものとして設計すると…

やね裏評価関数と38要素化の比較

(前の記事のつづき) Bonanzaのmake_listは全体時間の5〜10%程度です。38要素化ではここが差分計算化できるのでほぼゼロとなります。やね裏評価関数ではここの差分化計算化が難しいのでこの5〜10%がほぼ残ったままとなります。 評価関数の差分計算自体は、や…

Bonanzaのmake_listの38要素化

(前の記事の続き)次に、別のやり方として、先手が歩を3枚持っているときに「先手の1枚目の歩」「先手の2枚目の歩」「先手の3枚目の歩」のような駒があるとみなす三駒関係の設計の仕方があります。 このようにすると、盤上にない駒は手駒にあるわけで、玉以外…

やね裏評価関数とは何か?

電王トーナメントのアピール文書、「やる予定」「やる予定だけど効果かどうかはわからん」みたいな書き方をしているものもたくさんありますが、ソフトがアピール文通りになっていないからと言って罰則があるわけではないのでそれを見越してやねうら王は適当…

BMI使ってますか?

知っている人は知っているかと思いますが、Haswellになってから、Bit Manipulation Instructions Sets (BMI sets)という命令セットが使えるようになりました。http://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#BMI2_.28Bit_Manipulation_Ins…

世界コンピュータ将棋選手権のアピール文書はいつから必要になったのか

ちょうどいま世界コンピュータ将棋選手権が開催されているのでアピール文書のことを書いてみたい。 世界コンピュータ将棋選手権のアピール文書はその将棋ソフトのオリジナリティを主張する部分であるが、上位ソフトのアピール文書には革新的なアイデアも多数…

Bonanzaは何故未知の局面に対して弱いのか

どちらも強いプログラムなのに、未知の局面への対応力に差が生じるのは不思議ですね。http://d.hatena.ne.jp/yaneurao/20140208#c1392482608 棋譜からの学習は、いわゆる「機械学習」の考えを用いていますが、この機械学習にはL1正則化だとかL2正則化だとか…