最新

Miyako Shogi System

棋譜を持って田舎に帰れ
2012| 01| 02| 04| 05|
2011| 01| 02| 03| 04| 05| 07| 08| 10| 11| 12|
2010| 02| 03| 06| 07| 08| 09| 10| 12|

2012/05/20

指し手の速度

以下の局面で、後手番の手生成速度を計測している。

(http://d.hatena.ne.jp/sakurapyon/20120415/1334454267 より)

Miyako Shogi Systemでは、1,310,615回/秒です。(amd64 gcc4.6)

2012/05/19

AMD CodeAnalyst Performance Analyzer for Linuxのインストール

Lubuntu 12.04(amd64)でのインストール方法

ビルド環境のインストール

rootユーザーでインストールする

apt-get install qt4-dev-tools binutils-dev g++ libpopt-dev libtool autoconf automake make libelfg0-dev zlib1g-dev xterm xauth evince

http://developer.amd.com/Downloads/CodeAnalyst3_3_18_0361Public.tar.gz

よりCodeAnalystのソースを落とし、解凍する。

cd CodeAnalyst-3_3_18_0361-Public

./autogen.sh

./configure

make

make install

ビルドできたら、

sudo /opt/CodeAnalyst/bin/CodeAnalyst

おお、動いた。

プロファイル結果

コンピューター将棋の進歩2より次の一手問題第1問。

CS:EIP    Symbol + Offset    CPU clocks
0x41a9e0  Quiescence         52.44%
0x401ee0  MakePin            13.44%
0x417460  MoveTo             6.89%
0x404d80  GenerateOrder      5.54%
0x403840  Evalute            4.97%
0x4012e0  AttackClr          3.05%
0x400ee0  AttackSet          2.40%
0x413720  MakeEvasion        2.05%
0x4016e0  AttackJmpSet       1.57%
0x41e2e0  See                1.53%
0x401a00  AttackJmpClr       1.27%
0x41c7c0  SearchNonPv        1.18%
0x40e700  MakeChecksNoncap   1.18%
0x413b60  move_sub           0.92%
0x402180  piece_pos          0.44%
0x41d5c0  SearchPv           0.31%
0x40b300  discovered_check   0.17%
0x416ce0  MakeMove           0.09%
0x4063e0  HashProbe          0.09%
0x404c80  get_ncnt           0.09%
0x41b140  sort.constprop.0   0.04%
0x41a580  NewBoard           0.04%
0x416dc0  MakeDrop           0.04%

静止探索で半分以上消費している。ピン情報の更新も結構時間を食っていることがわかった。

2012/05/13

第22回世界コンピュータ将棋選手権バージョン公開

http://blog.gigacraft.net/download.htm

駒落ちには対応していません。稲庭将棋は対策をしていません。詰将棋モードは動作しません。

2012/05/06

油断大敵

第22回世界コンピュータ将棋選手権1次予選は4勝3敗で10位となり、2次予選には行けなかった。

棋譜はこちら

少し分析

勝った対戦:平均消費時間8分16秒,平均73.5手

負けた対戦:平均消費時間16分52秒,平均116手

先手勝率:0.5

後手勝率:0.667

勝った戦型:横歩取り,角換わり,居玉の矢倉(?)

負けた戦型:居玉の四間飛車(?),相矢倉,美濃に囲った四間飛車

急戦にはめっぽう強い。

対技巧戦

第5戦、先手はMiyako Shogi System。

59手でMiyako Shogi Systemが銀を追い払う5六歩と打ったところ。

こちらは銀を金にぶつける△66銀▲66銀△66歩▲57金△65桂▲58金△52飛▲63銀△56飛

と読んでいるが、実際には、

△6六歩▲7七金△6五桂と銀取りを気にせず調子よく攻められ、

70手で

と、潰されたうえに、意味不明の▲7五歩(思考中断でスコアをINFにハッシュ登録するパスがある?)

を指して、一気に寄せられてしまった。

投了図

なんか、初歩の一手問題で、「銀取りの歩を打たれましたがどうしますか」で

「銀取りにかまわず、△6六歩▲7七金△6五桂で後手勝勢です」のような感じだ。

なぜこのような無様な読みをしたかは帰ってからよく考えてわかった。そのうちこの理由を書くことにしよう。

2012/05/02

選手権1次予選前日のセッテイング風景

パソコンの電源ケーブルを忘れるという大失態がありましたが、

電通大伊藤先生に貸してもらいセッテイングすることができました。感謝です。

自分の席より

向かいのでかいマシンはSelene。隣はApery。斜め向かいは、なのは。

「このシマは(1次)全部抜けるぜ」と言われていたのですが...orz

私の跡地には2次予選でクマ将棋が入りました。

席の配置

2012/04/30

本日発送

連休中なので、5/2必着なら、4/30発送が確実だそうなので、本日、調布に向けてコンピュータを発送。

2012/04/28

今頃になって...

現在、時間管理をスレッドにしていて、思考開始でスレッド開始、思考中止でスレッド停止していたため、相手の指し手がすぐに返ってきたときなど、スレッド停止が間に合わず、二つの時間管理スレッドが走ったりと、問題が多いので、スレッドをやめ、ノードの最初に時間管理の関数を呼ぶタイプに書き換える。

まだ間に合うか。

2012/04/22

コンパイラ比較(バグ発見)

次の一手問題を解かすと、VC、MinGW、gccではノード数が同じなのだが、iccでは違うノード数となり、違う環境、違うコンパイラで、同じ結果にならないときは、難儀なバグがあるとみた。

探索のダンプを取り、静止探索が違う値を返すところまで追い詰めた。結局、静止探索内で使う差分計算用の変数を初期化するところで、配列の添え字越えを発見、それを直したところ、ノード数はピタリ同じとなった。

コンピューター将棋の進歩2より次の一手問題第1問。反復数=6終了時の値。今のバージョンでは反復数=5で正解(▲7四歩)を返す。

CPU:AMD PhenomII X2 BE555 (3.8GHz)

コンパイラ総思考時間[ミリ秒]NPS
VC++2008 (WindowsXP32bit)2312445538
MinGW4.6.2 (WindowsXP32bit)2109486266
icc 12.1 (Ubuntu64bit)2101482015
icc 12.1 (Ubuntu32bit)2201470998
gcc 4.6.1 (Ubuntu64bit)2002502079
gcc 4.6.1 (Ubuntu32bit)2102480610

open64はやめました。gcc4.6の最適化はすばらしい。

ノード数

PV非PV静止探索
508232486266

昔のバージョンと比べると大幅に高速化している。手生成、オーダリング、探索、ハッシュテーブルをコツコツ、チューニングしていった結果だ。

惜しいことに、このバグは評価関数の学習データに影響があるはずで、今から学習をやり直していては選手権に間に合わない。うーん、どうするか。

追記:gcc4.7が出ているので測定。

コンパイラ総思考時間[ミリ秒]NPS
gcc 4.7.0 (Debian64bit)2035493068

さらに追記:ついでにclangも測定。

コンパイラ総思考時間[ミリ秒]NPS
clang 2.9 (Ubuntu64bit)2202469210
リンクはご自由に (Miyako Shogi System Kyoto Japan)

ダウンロードのページ

Lighttpd

DreamPlug