« 日当たり、良好 ! | Main | 極悪リバーシ思考ルーチン »

June 22, 2005

Cマガジン 2005年7月号「Cマガ プログラミング研究会」

Cマガはかれこれ15年ぐらい惰性で定期購読してまして、最近は開封すらせずに積ん読状態になってしまうことも多かったのですが、たまたま今月号はパラパラと読んでみたんです。で目にとまったのが

Cマガ プログラミング研究会
お題:第10回
リバーシ思考ルーチン

今回作ってもらうのはリバーシの「思考ルーチン」です。ルーチン同士を対戦させ、リバーシ大会を開こうと思います。


いやあ、どんなルーチンが集まるのか興味深いですね。リバーシはかなり研究されてますから、もっと大々的に告知すれば猛者が集まるんじゃないでしょうか。自分も昔弱っちいものを作ったことがあるので、参戦してみたくなってきました。雑誌の対象読者層から「素人さん向け」っぽいんですが、「職業プログラマ」が本気出してしまっていいのでしょうか(^_^;

でも、レギュレーションがかなり甘いです。「1手60秒」と「無効な手を 60回連続して返すと負け」以外にはクラスの仕様しかありません。
「対戦に先立っての内部データ初期化用」メソッド init() が使えるので、いろいろとできそうな...。

・init() には時間制限がないので、全パターンかそれに近いデータベースを構築して、思考ルーチン自体はそのデータベースから引く。
・「対戦マシンはネットにつながっていない」とは書かれていないため、外部サーバに接続、そのサーバの激パワーで超先読み or 上記DB検索。

などなど。...まあここまではしないとして(苦笑)、自分が作るとすれば

・最初に init() で「60秒間でどれぐらいの計算(盤面先読み)ができるか」のベンチマークを取って、先読みの深さ、終盤の「読み切りモードへ移行」の目安にする。上記「昔取った杵柄」当時、7手先を 1秒かからないで探索したので、60秒「も」あれば最近のマシンなら 10手ぐらい楽々読めるのでは。読み切りは 20手ぐらい ?
・通常モード: タイマーで時間を監視して、時間が許す限り探索。時間ぎりぎりまで探索した中から最善手を返す。
・読み切りモード: 読み切った結果から最善手を返す。

というのが基本方針でしょうか。あとは通常モードでの評価関数の出来と探索の速度をどこまで煮詰められるか。

暇を観て作ってみましょうかね、出場するかどうかは別にして。
まずはサンプルソースを改造して人間の手入力が出来るようにするところからかな(^_^;

|

« 日当たり、良好 ! | Main | 極悪リバーシ思考ルーチン »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/6718/4662811

Listed below are links to weblogs that reference Cマガジン 2005年7月号「Cマガ プログラミング研究会」:

« 日当たり、良好 ! | Main | 極悪リバーシ思考ルーチン »