忍者ブログ
コンピュータ将棋など…。
[1] [2] [3] [4] [5] [6] [7] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

floodgateでの棋譜がコンピュータ将棋対局場の棋譜倉庫からダウンロードできます。
この棋譜の中でレーティング上位同士の対局だけ集めてBonanzaの学習に使える形式にまとめるソフトを作成しました。

ダウンロード(zip;103KB)


図のように同じフォルダ内にダウンロードしたファイルとfloodgateの棋譜を展開します。
抽出したいソフトを同梱のplayer.txtのように記載し、コマンドプロンプトから展開したフォルダに移動して

fggather player.txt wdoor2014

のように実行すると同じフォルダにrecords0.csaというファイルに集約されます。
ここで、player.txtは抽出したいソフトのリスト、wdoor2014はfloodgateの棋譜を展開したフォルダを指定します。

なお、同梱のplayer.txtは2月1日のfloodgateレーティング長期間の2800以上を入れています。
これで、2014年の棋譜からは9677局分の棋譜が抽出できました。
PR
Visual Studio Community 2013が公開され、Professional 相当の機能が使えるようになったので、PGOをやってみました。

参考:ガイド付き最適化のプロファイル

Ver.0.2.1.1のなのはminiソース版のMakefile.vsを参考に。

手順
1.VS2013 x86 Native tools Command Prompt (または VS2013 x86 Native tools Command Prompt)を起動します。

2./GL オプションをつけてソースをコンパイルします。

3./LTCG:PGI オプションをつけてオブジェクトをリンクし、実行ファイルを作ります。

4.実行ファイルを適当に動かします。
       すると アプリ名!#.pgcというファイルができます。#は1からの連番

5.pgomgr /merge アプリ名.pgd とすると、4で作られたpgcファイルが集約されます。

6.pgomgr /summary アプリ名.pgd とすると、プロファイル情報が表示されます。
       ファイルにリダイレクトしてボトルネック解析にどうぞ。

7./LTCG:PGO オプションをつけてオブジェクトをリンクし、実行ファイルを作ります。

以上。

ちなみにnanohamini.exeでは手順6で
                                     entry  static       dynamic     %     run
Function Name                        count   instr         instr  total   total
Thread::idle_loop                     2133     127   10728720947   20.1   20.1
Position::evaluate                 2512306     218    8087292496   15.2   35.3
Position::make_list                2511982     616    4634873412    8.7   43.9
Position::do_move                 12360003     608    2171309712    4.1   48.0
Position::undo_move               12359908     627    1732426533    3.2   51.3
のような感じの結果が得られ、Position::evaluate関数で15.2%の時間がかかっているということがわかります。
なのはmini公開します。
配布や使用に関しては GPL に従います。…といっても、当人がよくわかっていないので、違っているところがあればやさしくご指摘ください。

Ver.0.2.1.1
ダウンロード バイナリ(約2MB)
ダウンロード ソース(約193KB)

Visual Studio 2013 の Visual C++ 再頒布可能パッケージ  ←バイナリの実行に必要です

「この程度なの?」とか「これならもっとすごいものが作れる!」とか思ってくれる人がいればいいなぁと思います。コンピュータ将棋の裾野が広がるので。
でも、pgrとかはご勘弁を…。

■旧版
Ver.0.2.1
ダウンロード バイナリ(約2MB)
ダウンロード ソース(約194KB)

無料素材倶楽部の将棋駒と将棋盤の画像が更新されて成香と成桂の区別がつくようになりました!
この場を使って御礼を言います。ありがとうございました!

この素材は商用利用も可なので、万が一電王戦に出ることになってもライセンス的にクリアな状態になりました。
(この画像を使ったソフトを有償配布も可能ってことですねw)

ちなみに以前も書いたように、将棋所が使っている駒画像は駒職人様作成のものでクリエイティブコモンズライセンスで提供されていて「非営利 — あなたは営利目的でこの資料を利用してはなりません。」という項目があるため、電王戦で使うのはライセンス違反に当たると僕は思います。

一次予選第3局のaimaxとの対局でなのはは2手指しによる反則負けをしました。
ponderからみのバグでした。

ponderは自分の手を送るときに相手の応手を予想して、その続きの自分の手を考えるものです。
USIでは下図、本来あるべきシーケンスのように自分の次の手が決まっても相手からの手を待ってから自分の手(XX03)を送るのですが、2手指しをしたシーケンス(バグ)のように相手の手を待たずに自分の手を送っていました。
これは普通のときは相手の応手を待っていたんですが、詰みを見つけたときは待つ処理が抜けていて、「相手がこう(YY02)やってきたら、XX03で詰むやん!」と喜び勇んで手を送っていました。orz

「何か小さい子の将棋を見ているようで微笑ましいです(^^ゞ」というコメントをいただきましたが、これはちょっと…。



忍者ブログ [PR]
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新TB
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析