CSA振り返り1(2012年版)

みんな着々と更新しているので、自分も更新してみる。。。

とりあえず簡単に振り返り。

1. 前日まで

TD-leafもどきで学習を約1万対局ほどやってみる

前日に学習結果を確かめるため自分と対局させて見る

駒を捨てまくる

駒価値だけの評価関数にする。(1ヶ月がまるで無駄に・・・)

/(^o^)\

夏休みがもう終わってしまう。。。

夏休み中、ふとさわにゃんRLが遅いのに頭に来てプログラムを作りなおすことにした。

「よ〜しMagic bitboardでもやってやるか!」と思って去年のGPWを引っ張り出して作るもmagic numberを出すところで面倒になって挫折。

→ 調べてみるとMagicがrotatedより完全に速いとは言い切れないみたいなページも見かけて萎える(http://www.talkchess.com /forum/viewtopic.php?topic_view=threads&p=140141&t=16002)。(Harald Lüßenさんスゲェ。)

→その時ちょうどツツカナさんのブログにKindergarten Bitboards(http://d.hatena.ne.jp/minute_hand/20110819/1313759957)が載っていたのでそのまま写してみたところサクッとできて感動。

→現在に至る。

rotatedを作ったときに斜めのattack tableを作ったときに発狂しそうになったり局面を動かすときに右45,右90,左45も更新しなくちゃいけないの

でかったるいなぁと思っていたのでKindergarten Bitboardsはmaskして掛け算してシフトするだけなので(デバッグが)ラクチンでとても気に

入っています。

現在は普通のαβ+駒価値のみの評価関数まで出来ました。とりあえずはやく学習部分まで作らないと。。。


僕は情弱なので今日これに気づきました。はずかしくて顔真っ赤です。うれしいやらはずかしいやら。。。http://www.usapyonsoft.jp/shogi/wiki/wiki.cgi?%b6%af%b2%bd%b3%d8%bd%ac

CSAまとめ

正直プログラムの出来が悪すぎた。バグが多すぎる。

来年はもうちょっとまともなプログラムで出たい。

ライブラリの話が大会のときのアンケートやその後のメールでたくさん流れたのだけ

れどライブラリに関してなんか文句ある人いたのかな?ちょっとよくわからないんだ

けど。。。個人的にはどうでもいいので(あるとすごく便利だけど)。うちの大学で

会合があるみたいなので出てみようかな。何も意見ないけどw。面倒で出ないかもし

れないけどw

CSA振り返り2

約2ヶ月前のことですが、振り返ってみる。

四戦目:メカウーサー将棋

この将棋はいろいろな意味でひどい将棋。将棋とは違う別のゲーム。駒特を重ねて

いってこれはもらったなと思ったら、47手目を見て固まる。何かオカシイ。以下ステ

キな手順を繰り返してあっという間に必敗形に。またもや死にたくなった。以下相手

も決めきれず、50万のPCを使って駒を動かすお仕事を行わせた。もうどうでもいいや

と思っていると135手目いっちょ前に詰めろ馬取りをかける。

「詰めろに気づくな気づくな気づくな気づくな気づくな」と思っていると謎の王手

ラッシュ。これはキタか?と思っていると相手が自分の一手詰めを見逃し、さわにゃ

んはノータイムで詰ます。なんとか初勝利。正直何が何だか分からなかったけど、と

りあえず全敗が無くなったので良かった。

五戦目:白砂将棋

自分が高校生のときに白砂さんのサイトを見つけちょくちょく閲覧してたので、

本人に会えたのでとてもうれしかった。

将棋の内容はそこそこ良くて、序盤も綺麗に美濃囲いに囲った。序盤は定跡を使っ

て学習の対象にしてないんだけどなんか上手く囲うことができた。51手目に銀をた

だ取りしたときには勝ったなと思ったw しかしここからがひどい(何回目だろう

w)。67手目の6二角成がひどくてあっという間に詰まされた。ここでログを見てみ

るとなぜかなんでもない局面で評価値が無限大になっていた。(例えば69手目で無限

大になっていた)。正直意味がわからず頭が真っ白。

六戦目:こまあそび

頭が真っ白のままとりあえず対局開始。すると謎の飛車モノレール状態。行ったり

来たりして早くも作戦負け。以下ずるずると負けかなと思っていると突然投了。

ログを見るとなんでもない局面で評価値がマイナス無限大になっていた。(さわにゃ

んは評価値がマイナス無限大になると投了するようになっていた)不完全燃焼でこま

あそびさんには大変申し訳ない気持ちでいっぱいになった。

七戦目:STR

なんかよくわからないけど探索がバグってるようなので会場でαβ探索のプログラ

ムを書くw。時間制御なし、ハッシュなし、PVを出力もなしの簡単設計でデバッグ

なしでぶっつけ本番。深さで打ち切ってるので序盤はホイホイ指すのに終盤になる

と突然1分とか考え出す。正直気が気ではなかった。しかも駒をただ捨てする

し。。。。これはやばいかと思ったけどなんとか詰まして勝ち。ほっとした。

CSA振り返り1

約2ヶ月前のことですが、振り返ってみる。

一戦目:隠岐

お話にならない将棋。特に何も考えないで前日まで学習させていた重みを使う。する

と何かオカシイ。さわにゃんは王の周りの特徴がほとんど無いので王が危険でも

気にしないのはいつものことだけどなんかおかしい。そして1七桂で歩損確定。ここ

らへんではPCを止めたい気分全開でした。昨日まではこんなミスは無かったはずなの

に・・・。以下あっという間に詰まされる。

二戦目:無名2

とりあえず以前の重みに変更。ごちゃごちゃやっているうちに相手がいきなり角切

りしてくれたので自然に優勢に。73手目8六歩と激辛な手が出てニヤニヤしてしまっ

た。と、おもったら79手目気前よく8五歩と取ってしまった。原因がよくわからない

けど、さわにゃんは持ち駒にするとすごく加点されているので激しい駒の交換が大

好き。だから盤上の駒を取らせたのかな。けど、その後順調に駒得。これは勝ちだ

なと思ったw ところがここからがひどい。115手目2二香?意味が分からない。そ

の後非合法手を指し手負け。原因は前日に入れたアスピレーションサーチのとこ

ろ。死にたくなった。

三戦目:Haskell将棋

アスピレーションのところを全部消す。これで大丈夫だろうと思ったが。。。

Haskellは授業でやったけど一回もプログラムを書かないでテストを受けてCだった

気がする。正直Haskellはイミフなので素直に作者さんを尊敬する。

で、内容ですが、相手の桂はねが早くちょっと有利かもしれない。

けど飛車先のところなのでどっかで歩を手に入れてからゆっくり桂馬を取りに行け

ばいいのにさわにゃんはすぐに桂馬を殺しに行く。。。以下攻めきるか受けきるか

といった展開。80手目の1七歩が意味が分からない手で汗が噴き出た。何回も書くけ

ど王の周りの評価が無いので駒が近づいても何も感じていない様子w以下は順当に

押しつぶされた感じ。評価関数の精度の差を痛感。

就活終了

CSAの大会のあとはずっと就活をしていてなんとか内定ゲット。

最近やったのはRoot strapもどきをずっといじってます。

最近効果があった気がするのは評価関数そのまま使うのではなくシグモイド関数

入れてからやるってやつ。

式にすると

OF=(H深-H浅)^2

じゃなくて

OF=(T(H深)-T(H浅))^2

とするといい感じ。(Tはシグモイド関数)

詰みを発見したときに評価値が無限大になるので

前は|H深-H浅|の値がある値をこえると0にしてたんだけど、

シグモイドVerはそれをしないでOK。なのでTDっぽく報酬が得られる。

明日は大会

接続テストに行ってきました。

ログインしたつもりで「対局始めてもらえますか?」と言った所

「入ってないですよ」と言われあばばばばとなったのでとりあえず

LANケーブルを交換したら大丈夫でした。

また対局してみたところコテンパンに負かされてすごくあせる。

なんか変な手を指すので静止探索中の枝刈りをやめる。

やっぱりきちんと対局実験を行ってきちんと性能が上がっていることを

確認しないとだめだなぁ。とりあえず、明日は一勝を目標にがんばりた

い。と言ってもがんばるのはプログラムだけど(笑)。

明日は今日まで学習していた重みベクトルに変更する予定。

強くなっているかは不明。強くなっていると良いなぁ。

とりあえずうちの研究室一族全員無事動いてよかったです。

去年までと違って自分のプログラムで参加するとなんだかすごくわくわく

する。今までで一番楽しみかもしれない。