ひよこ将棋関連の実行ファイルは → ここ
2011-11-23
今日のfloodgate
まったりゆうちゃんが参戦してきました。まったりゆうちゃんは、東京農工大の小谷研究室で開発されている将棋ソフトで、コンピューター将棋選手権には2004年から参加している常連中の常連です。
週刊ひよこ将棋と当たったときは「おー、あのまったりゆうちゃんか!!」と少し嬉しくなりました。
週刊ひよこ将棋 創刊号 vs まったりゆうちゃん
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2011/11/22/wdoor+floodgate-900-0+shuukan-hiyoko-130_PhenomII_6c6t+mattari_yuchan_SHUQI+20111122180005.csa
まったりゆうちゃんの棋力はR1700前後かとお見受けしたました。(まだテスト中で本来の棋力ではないのかも知れません) まったりゆうちゃんは、確か昨年にはdfpnも搭載したという話だったと思うので本当はもう少し強いのかも知れません。
あとは、
・Nanoha_test*1
・misaki0*2
・Kakinoki-z(柿木将棋でしょうか?)
・Sunfish*3
など、聞いたことのある名前のソフトがたくさんR2050付近に分布しております。残念ながら現在オンラインなのはSunfishぐらいですが…。
普通に開発していれば、棋譜からの学習をしない限り、このあたりがピークだと思うので、激戦区になっているのでしょう。
これらのソフトに駒得のみの評価関数+αで立ち向かうのがひよこ将棋で、周囲からの失笑と、開発者からの反感を買いながら(?)も、これからも邁進していく所存です。
私としましては駒得のみにこだわるのは「駒得のみで勝って、屈辱を味あわせてやろう」だとかそういう意図は毛頭なく、なるべくシンプルな条件でどこまで出来るのかその限界を見極め、そしてそれを改良するごとにどれぐらいずつ強くなるのかを確かめようという研究者としての好奇心だけによるものです。
私には悪気とか悪意とかそういうのは一切ありませんが(ないつもりですが)、もしお気を悪くされている開発者の方がおられましたら、この場をお借りしてお詫び申し上げます。
ところで、初代Bonanzaは棋譜からの学習 + Bitboardを用いていて指し手生成などがそこそこ速いので他のソフトよりは頭ひとつ分ぐらい抜き出ていて2006年にコンピューター将棋選手権で優勝したのは記憶に新しいです。おそらくいまのfloodgateに初代Bonanzaを当時のマシンでスペックのもので参加すればR2300と言ったところでしょうか。
そういう意味ではひよこはまだ5年前のBonanzaにも追いついていません。5年前のBonanzaでも結構前を行ってたんだなぁと改めて認識しました。
私のほうはそろそろ棋譜からの学習が出来る環境を整えて、評価関数の学習に着手していきたいところです。来月は私は予定がたくさん入っているのでその合間に評価関数の学習が出来ると都合が良いのですが…。
- 41 http://toybox.tea-nifty.com/memo/2011/01/post-528f.html
- 37 http://www.google.co.jp/url?sa=t&rct=j&q=ひよこ将棋&source=web&cd=2&ved=0CCoQFjAB&url=http://d.hatena.ne.jp/hiyokoshogi/&ei=S8nLTp_JKNGcmQXviaWoDQ&usg=AFQjCNEPhrIkkUl-Zd1YhXQVq8Zf4_i55g
- 8 http://www.google.co.jp/reader/view/
- 5 http://a.hatena.ne.jp/merom686/
- 5 http://a.hatena.ne.jp/usapyon/
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=将棋 穴角&source=web&cd=13&ved=0CCgQFjACOAo&url=http://d.hatena.ne.jp/hiyokoshogi/20111028/1319772728&ei=cIPMTq-XEcTJmQWija2wDQ&usg=AFQjCNEkX8BGUQMsJtHgYG64L_sb96f6cw
- 3 http://a.hatena.ne.jp/Gasyou/
- 3 http://search.yahoo.co.jp/search?p=ひよこ将棋&aq=-1&oq=&ei=UTF-8&fr=applpd&x=wrt
- 2 http://a.hatena.ne.jp/nanoha-and-fate/
- 2 http://a.hatena.ne.jp/nanoha-and-fate/image
とりあえず、なのははひよこの反対というか、fv.binを使っているのに弱いというコンセプトになってます(;_;)。
floodgate投入は意味なく寿を何とかしてからの予定ですw
df-pnのルーチンをどう改良すればいいのか、かず@なのはさんのブログは大変参考になります。よろしくお願いします(^^)
うーん、探索とかやはり書き直さないとダメなんだな。<うさぴょん2
実は、うさぴょん2(探索部はほぼうさぴょん、評価関数は自力で学習したモノ)はKKP+αで「うさぴょん」に有意に負け越したという過去があり、迷いがありました。(でも、やはり駒組みも色々気に入らなかった。99と穴熊に潜るとやはり88金型が大好きだったし。その辺、うさぴょんの手組みの+αの部分に負けてた…というのが現在の認識。)
やはり過去を全部吹っ切って、指し手の生成から構造体から盤の構造から何からいっさいがっさい、全部書き換え、高速化、から、ですね。
<…実は私は「高速化」が一番嫌いです。
結局、0から再出発、か。
そのためにも、「れさぴょん2」かな。
がんばります。
…来年の選手権にはどう考えても間に合わないんですが。
「れさぴょん2」で、『教育的なコード』と『強さ』がそこそこ両立できたら、ドキュメンテーションもちゃんとした上で、工学社さんに持ち込みとかも考えてみます。(きっと『コンピュータ将棋のアルゴリズム 2 −201x年の最強プログラムを求めて』みたいなタイトルで。一度、どうしてもコンピュータ囲碁本が書き上げられなくて(ちょうどMCTSの波が来ていたところで、その辺で私が最新研究に追いつけていなかった&従来型のプログラムをうまく書き上げられなかったというのが理由として大きかったのですが…他に囲碁の図版どうしよう、とか細かい問題もありました。)、工学社さんのご期待を裏切ってしまったので、どうなるか分かりませんが。)
まぁ、本の形にまとまらなくても、wikiできっちり書いていけばいいのかな、とかも思いつつ。
でも、ある程度、本にまとまってるのっいうことも結構重要なのかな、とかも思ってます。最初の入門書、という意味で、敷居の低い本を書かないといけないのは超プレッシャーだし、ぶっちゃけていうと実はどう考えても「Java将棋のアルゴリズム」は私にとっては「赤字」(<執筆にかかった時間その他のコストと印税が見合わないので。)でしたし。いや、まぁ、コンピュータ将棋のアルゴリズムもある意味十分赤字なんですが、あれは今でも「読みました」って言ってくれる人が選手権に行くといることがあるので、何か心に「救い」があります。
「Java将棋のアルゴリズム」は…商業的にも成功しなかった、けれども、カリカリにチューニングしても「何かうまく早くならない_no」とかで諦めてた部分はあります。(静止探索もアレなのもその辺の事情…。)
今から書くなら、
・並列化は必須
・棋譜からの学習(この実験結果から考えると、KKP程度でも良い気がします)も必須
・出きれば+αとして、『PP』も一部入れたい。
・ビットボードにするのかは悩む <可読性が、なぁ…。
・issei_yさん方式のBitboardはあまりにもテクニカル過ぎて、これは不採用にしたい
・手とかハッシュの構造体もどこまで小さくするのか(Bonanzaは結構限界までチューンされている感じでやはり読みにくい)もバランスが難しい
・一方で、探索手法についてはちゃんとしたものを解説したい
・df-pnもある程度はきっちりしたものを書きたい(でも、「寿」や「赤兎馬」、「ミクロコスモス」を解くとかは正直スコープ外。)
そんな感じ、ですかね。
あぁ、悩みや課題は多い…うーん…。
どう考えても仕事しながら1年とかで終わる量じゃないなぁ…。
いや、でも、ボンクラーズのA級さんはそれをやり遂げたんだよな。
ましてや、過去にはFPGAへの挑戦とかもしていたし。
この辺、開発者(れさぴょん2の場合、私)に熱意があれば出きるのか、それも含め、精神力の問題なのか、時間が足りないのか…よく分からないです(苦笑)。
50KBに収めるため並列化なし。教育目的なのでショートコーディングのテクニックなし。USI対応。評価関数自体はfv.binを使用、可読性が落ちるのでC++ templateなし、Bitboardも無し。
それでも少なくともR2300ぐらいにはなって欲しいなと思うのです。