aki.の月記 このページをアンテナに追加 RSSフィード

2006 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2008 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 03 | 04 | 05 |

2012-05-13

今後の予定 今後の予定を含むブックマーク 今後の予定のブックマークコメント

とりあえずは↓こんな感じで。

  • 評価関数
    1. 激指のオンライン学習を真似てみる。
    2. 特徴を色々やってみる。盤上に限っての3駒(kpp)とか。
  • 探索
    1. 高速化。末端だけでも指し手の段階的な生成とか。(C++化ついでにオーダリングを重くしたら終盤が重くなりすぎだったので)
    2. Stockfishとかから色々取り込んでみる。
    3. オーダリングとかの特徴を色々やってみる。進歩6の激指の実現確率とかを参考にしてみる。
    4. 実現確率探索風の深さ制御に再チャレンジ。(選手権では結局Stockfish風のreductionだったので)
  • df-pn
    1. 進歩6に書いてた色々をやってみたりBonanzaのソースを参考にしてみたりしてマトモな性能が出るようにする。
    2. 詰み探索専用スレッドとか。
  • その他
    1. 時間制御の学習。(今年は間に合わなくてC#版で学習したデータそのままだったので。)
    2. GUI (優先度低)
    3. 通信 (優先度低)
    4. 節電・節約して浮いたお金で来年はXeon×2。

「全部ちゃんと出来たら楽々優勝できる強さになる」と、Blunderの主な特徴である探索とか時間制御の学習の可能性を信じているのですが、どこまで出来ることやら…。

かず@なのはかず@なのは 2012/05/13 23:10 こちらもがんばらねばっ

トラックバック - http://d.hatena.ne.jp/ak11/20120513

2012-05-06

Blunder選手権バージョン Blunder選手権バージョンを含むブックマーク Blunder選手権バージョンのブックマークコメント

毎年恒例ということでアップロードしました。

BlunderXX-20120506-Binary.zip (Windowsの64bit版OS+そこそこ新しいCPU向け)

BlunderXX-20120506-Source.zip (C++)


今年バージョンはかなり半端で未整理なのですが、まぁ↓こんなような用途くらいはあるかもしれません。

  • バイナリ
    • 多少は棋風とかも違うかもしれないので、USIエンジンのバリエーションとして試してみる。
  • ソース
    • コメントはまぁまぁ書いてるので、BonanzaとかGPS将棋とかを読む前のウォーミングアップにでも軽く読んでみる。(細部は基本的に最低限動く程度にしかなっていないので、怪しいところはきっと間違ってるだけです。いっそこっそり教えて頂けると幸いです。)
    • boostとかC++11(VS2010で使えるところだけ)とかをチマチマ使ってるので何となく参考にしてみる。

追記

うっかりしていて、USIの設定で「Thread」が4になっていました。動かすCPUの物理コア数と同じ値を指定するのが一番性能が出るかと思います。

(ちなみに0を自動認識にしているつもりでしたが、バグっていて0と1はシングルスレッドで動きます。_no )

Visual Studioでのboostコンパイル方法 Visual Studioでのboost のコンパイル方法を含むブックマーク Visual Studioでのboost のコンパイル方法のブックマークコメント

上記のソースがboost::threadを使っているのと、あとなんかいっせいさんがコンパイル出来ないとか言っていたのもあったので一応簡単に書いてみます。

Visual Studio 2010 で boost 1.49.0をx64向けにコンパイルした経験を元に書いてるので、細部は適当にアレンジしてください。

  1. boostのソースを落としてどこかに解凍
  2. Python 2.5を落としてどこかに解凍。
  3. スタートメニューで「Visual Studio x64 Win64 コマンド プロンプト (2010)」を開く。VC++Expressでx64とかだとx64用が無かった気がするので、「Visual Studio コマンド プロンプト (2010)」のプロパティを見てコマンドライン引数を変えて実行とかが必要かもしれません。
  4. path C:\path\to\Python25;%PATH%
  5. cd /D C:\path\to\boost_1_49_0
  6. call bootstrap.bat
  7. b2 address-model=64 --with-thread --with-date_time --build-type=complete threading=multi link=static runtime-link=static debug release stage

「--with-XXXX」は「b2 --show-libraries」の出力を元に適当に追加で。

link=staticでboostのスタティックリンク版だけ作成。

threading=multiでマルチスレッド用のCRTを利用。runtime-link=staticでCRTをスタティックリンク。この辺は利用側(プロジェクトのプロパティ)と合わせて指定。

abab 2012/05/06 19:49 選手権お疲れ様です。
Blunderを数年前から応援しているので、優勝を果たせなかったのは残念ですが、決勝戦に勝ち進んだ時はほっとしました。
公開ありがとうございます。
早速対局させて頂きます。

山田 剛@CSA山田 剛@CSA 2012/05/07 01:22 選手権お疲れさまでした。
次回はいっそうの成熟を期待しています。

OgaOga 2012/05/18 00:18 公開ありがとうございます
持ち時間を1時間から2時間で遊んでますが、以前と比べると序盤がしっかり時間を使って考えてる感じですね (冒険はしてこないような)
中盤から終盤にかけて、優しい手を選んでくれてる時があるのと、入玉されるイメージがあまり無い?みたいな感じです。
バージョンアップ楽しみにしています。

ak11ak11 2012/05/24 02:29 ありがとうございます。
来年までには何とか満足行くところまで作りたいです。

トラックバック - http://d.hatena.ne.jp/ak11/20120506

2012-05-01

連休に入ってからやったこと 連休に入ってからやったことを含むブックマーク 連休に入ってからやったことのブックマークコメント

  • 体力回復 (1日15時間睡眠×4)
  • 評価関数とかオーダリングとかで後手番の評価が先手版の時より重かったので、盤面クラスに先手・後手を反転した盤面も合わせて保持することで、後手番での「p == EMPTY ? EMPTY : p ^ ENEMY」のようなコードを除去してみたら22kNPS → 23kNPSくらい高速化
  • PGOをやってみたけど早くならなかった
  • 枝刈りの学習のパラメータをちまちま調整

う〜ん、微妙…。

準備中 準備中を含むブックマーク 準備中のブックマークコメント

なんとかお手軽に早くor強くならないかなーと未だに未練たらしくソースを眺めつつも、そろそろ荷物の準備とか電車の検索とかをしつつ。

既に送ったもの

  • PC、電源ケーブル
  • ディスプレイ、ケーブル
  • マウス、キーボード
  • LANケーブル
  • 電源タップ
  • ドライバー、ガムテ(念のため)

持って行く物

  • WiMAXルーター
  • ノートPC
  • USBメモリ(最新バージョンを入れとく)
  • お金(5000円+α)
  • パスワード(テスト用・大会用)
  • 宅急便の送り状
  • おまもり(謎)

jinsei_okuribunt_shippaijinsei_okuribunt_shippai 2012/05/02 02:15 お久しぶりです!

ガムテ必要かもしれませんね、言われてみれば・・・。
あと、油断するとLANケーブル忘れそうなので気をつけないと。

今年は、決勝シードがないので決勝レベルの方とあたってボコボコにされるのがすごい楽しみです。
それでは当日よろしくお願いします!

ak11ak11 2012/05/02 03:18 お久しぶりです。
ガムテは会場からPCを発送する時とかにあった方がいいですね。あとPC壊れた時の応急処置とか。(?)

シードがないのはシードなレベルの人たちに一発入れるチャンスでもありますね。お互い頑張って一発入れちゃいましょう。

ogaoga 2012/05/03 20:40 いよいよですね
一年お疲れ様でした
今年も優勝チームに一発入れてやって下さい!

ak11ak11 2012/05/05 23:18 辛うじてYSSに入って決勝に滑り込んで、辛うじて習甦に入って全敗だけは回避という感じでした。
(コンピュータ将棋プログラムは永遠に完成しないとかの話は置いといて)正直今回は作り途中という感じのままになってしまったので、また休日にチマチマと、来年に向けて続きを作っていこうと思います。

ogaoga 2012/05/05 23:40 ホントお疲れ様でした
今度は一発入れた習甦さんにプロ棋士戦で頑張って一発入れてもらいましょ (本心はBlunderXXのプロとの長時間対局をみてみたかった)
BlunderXXの更なる進歩を楽しみにしています。
頑張って下さい。

トラックバック - http://d.hatena.ne.jp/ak11/20120501

2012-04-17

高速化とか定跡DB作成とかをチマチマやってみたりPCをポチったり 高速化とか定跡DB作成とかをチマチマやってみたりPCをポチったりを含むブックマーク 高速化とか定跡DB作成とかをチマチマやってみたりPCをポチったりのブックマークコメント

平日はほぼ時間が使えず、土曜日は体力回復のため計算に入れない事にすると、残り日数はもう数えるほどになってしまったので、思い切った改造とかは諦めて無難なところをチマチマやったり、社会人ぱわーを発揮してみたり。*1


去年から今年にかけてやったのは、C++での作り直しと、そのついでにちょこちょこ色々変更してみたという程度です。

速度は2〜3倍程度は出そうな感触ではあったものの、それに気をよくしてでかい特徴をいくつか追加してみたところ、結果的には1.5倍くらいのNPSしか出ないようになり、しかもそもそも細部のチューニング不足かなんかによって、まだ微妙にC#版より弱い状態で。早く何とかしないとこの1年間で何の成果も無かった事になってしまう…。



ちなみに作り直しじゃなく単純にC++への置き換えに専念していればC#版を超えるのは半年もかからず出来た気もしないでもないものの、まぁそれで根気が続いていたのかという話もあるので微妙なところで…。

*1:でも3960XのシングルCPU×1台。

かず@なのはかず@なのは 2012/05/01 16:26 ついに Intel マシンに…

ak11ak11 2012/05/01 18:31 ええ、ついにやってしまいました…。
C#もやめてしまったので、もう今年は低NPSくらいしかコダワリ(?)がありません。

トラックバック - http://d.hatena.ne.jp/ak11/20120417

2012-03-31

初期局面を探索してみた (2) 初期局面を探索してみた (2)を含むブックマーク 初期局面を探索してみた (2)のブックマークコメント

実現確率探索っぽいことをやってみたりしてさぞかし細く読めるようになっただろう、と思って(嘘)、初期局面を探索してみました。(Phenom II X6で4スレッド

続きを読む

トラックバック - http://d.hatena.ne.jp/ak11/20120331