オセロ

伊豆

本腰入れる前に温泉でもつかりに行こうかと思っていたところで、開発合宿の誘いが来たので便乗して伊東にいってきました。どちらかというと、温泉が目当てだったんだけど。何作ろうかと思ったけど、ながらく放置していたタスクを消化することにした。誰の興…

min-max 探索 vs モンテカルロ

FPGAで将棋プログラムを作ってみるブログ:古きよき時代の囲碁プログラムの終焉 - livedoor Blog(ブログ) そろそろ言及しておかないとな。私はゲーム研究者でも何でもない、ただの大学院生ですが、この辺のネタに興味がないわけではない。最近は、特にコン…

運の要素、運の要素って

こないだのエントリの続きですが、スラドとかみるとどうも運の要素にこだわる人がいるなぁという印象があります。要は不確定ゲームでプログラムの強さをはかれないじゃんという議論ですが、んなものは検定だよという気がします。一部の局面だけ〜とかにこだ…

AAAI のイベントで人間のプロにポーカーでいい勝負したらしい

人間対コンピュータのポーカー対決、勝者は人間 - CNET Japan あるじゃん、不確定性不完全情報ゲーム。アルバータ大とあるので、チェッカーのグループを思い出したら、同じグループでした。他にもたくさんやってるみたいだ。オセロあるかなぁと思ったら、Key…

チェッカーの完全読みが完了したらしい

「負けなし」のチェッカー対戦ソフト、アルバータ大で開発 - ITmedia NEWS チェッカーって、もう完全読みが終わっていると思ってたんだけど、そうじゃなかったんだっけ? そろそろ終わるという議論だったのかな。ヒューリスティックって、move ordering に使…

不完全情報ゲームに関する講演を聴きに行ってきました

こないだいってたのです。@電通大。 エンターテイメントと認知科学研究ステーション/講演会/20070707 さて。一緒に行ったサークルの人に聞いたのですが、この方その筋ではかなり有名な方なんですね。なんか、ぷちサイン会が・・・。

不完全情報ゲームに関する研究

エンターテイメントと認知科学研究ステーション/講演会/20070707 不完全情報だからといっても最適な戦略が存在しないわけではないので(例えば勝率を最大化させるとか、得点の期待値を最大化させるとか)、そういう研究はないものかというようなはなしをよく…

「オセロは簡単」は自明か

ふと、というかわりと前から思ってたことなのですが、手数の少ないオセロは簡単、という様な主張をよく聞きます。これは持ち駒のできる将棋や、ほぼどこでも打てる碁に比べて、打てる箇所が少ないオセロは簡単だ。正確には、簡単に読み手数を増やせるので、…

The Fastest Othello Solver In The World Using ...

我々は汎用的にアルゴリズムを高速動作させる、画期的な手法を考案した。

初めての行列計算

xhl がマジメな反復解法で、精度よく最小二乗近似をやってて楽しそうだったので、周辺を調べてみた。Lis というライブラリを紹介されたのでつかってみたが、けっこう楽ちんですね。これはいい。でも、正方行列しか扱えない。うーん。 Octave もつかってみた…

VTune 体験記

こないだのアドバイスに従って、Intel 製プロファイラ VTune の体験版を試してみた。生協の購買部でみるたびに気にはなっていたが、個人で衝動買いする値段ではない。

インライン展開と仮想関数

virtual にするか template にするか悩ましいので両方できるようにしておけばよくね、という結論に達したけど、実際にちゃんと template にしたときインライン展開されるのか気になる。コンパイル時に型が決定していれば大丈夫な気はするんだけど。

速度差

問題はこのあとだった。大分前に VS2005 を手に入れてから使ってなかった。試しに編集に使ってみたら、C-f,b,p,n,h,s,r できるだけでこんなに楽だとは! で、喜んでコンパイルしたら ffo #40 が 7.5 sec くらい。ずっと 9 sec 位だと思ってたので、おぉ早く…

詰め

長らくオセロを放置していたことを思い出したので、ソース公開に向けて最後のつめを。move ordering 戦略を iterator で抽象化してみる。iterator じゃなくて高階関数でやりたいけど、まぁいいか。意外とうまくまとまった。あとは、置換表か。置換表は、結局…

なんでもセミナー オセロ編

告知通り、オセロに関して合計1時間半ほど発表させていただきました。聞いてくださった方々、どうもありがとうございました。 本質的に大事なのは、評価関数と探索アルゴリズムの辺りであって、とりわけ私が発表したボード実装と終盤探索の高速化はネタネタ…

告知

12/1のなんでもセミナーで話すことになりました。実際の話者が誰になるのかは未定。未完のスライドがすでに大変な量になってしまったんだが、ドウシタモノカ。 完全情報ゲームの研究をしている方など、聞きに来ると何かヒントになるかもしれませんよ>ぉ

オセロまとめ

来週、例の4人で何でもセミナーの発表やることになりまして、今日はそのミーティング&資料作りです。テーマはもちろんオセロ。こう改めてみてみると、何度も言われていることだが、基本的な考え方は何年も変わっていない。あとは実装上の最適化だよね。それ…

Set Associative

突発的に置換表をdirect mapからset associativeに変更せよとの詔。以前から、完全なハッシュ表を作る必要無いのではと唱えていたのだが、どうもあまり一般的ではないようだ。高々100行なので、ちゃちゃっと。 結果…。2wayにしたら#40で4%ノード削減。0.4sec…

Oxelon.brv ver.1.0.0 release

http://www.tausoft.net/oxelon/ fujitaにプレッシャーをかけられて1年間、ようやく公開しましたと。で、結局index boardは実装してないので、中盤9手、完全20手で、オセロ大会の時から大差ない。かわったことと言えば、いくつかバグってた部分を修正したこ…

置換表と衝突と再利用性

少し、置換表の性能の話題があったので調べました。っていうほど詳しく調べてませんが。 昨年のいくつかの実験で、置換表の効果はそこまで大きくないという見解がありましたが*1。あまり詳しく調べてないので、適当にパラメタいじって出力。 対象はFFO#40(…

Zebra神降臨1

しかし、一方でZebraのノード数には到底及んでいないのだ。となると、Zebraがいったい何をしているのか気になるるる。ということで、Zebra sourceという、禁断の書をひもといてみる。いつから公開されていたんだろうか…。 Zebraのソースはわりと読みやすい*1…

FFO#41

なぜか突然オセロである。周りがこつこつFFO*1やってる中、久し振りに自分もやってみたところ、実はFFO#40以外はゲキおそであることが発覚。FFO#40が10秒ほどであるのに対して、FFO#41は300秒近くかかる。ノード数も700MNodesと、vsOthaの5倍、Zebraの30倍以…