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

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

「Puella αのソース公開」されました!
http://aleag.cocolog-nifty.com/blog/2013/08/puella-620e.html

ほんのちょっとしか見ていませんが、やられたなぁと思ったこと(いえ、別にやられていないのですが)。
それはrotated bitboardの演算にAVXを使い 64bit×4 で1度で演算していること。

ローカルなBonanza改は真似師真似蔵さんの書き込みhttp://www.yss-aya.com/bbs_log/bbs2007.html#bbs19を参考にして、file を 63bitに押し込んで64bit演算、diag1 と diag2 を 49bit×2 に押し込んでdiagの演算をSSEを使い、64bit×2でやっていました。
rank も 63bit に押し込めば cross もSSE化できて、演算2回でできるなぁと思ってはいたんですが、やっていませんでした。orz

それはそうと「Bonanzaの王手生成」で指摘のバグは直っていませんでしたw
http://d.hatena.ne.jp/hiraoka64/20110923

うちにAVXが使える環境がないんだよなぁ…。Win7SP1はCore i5-520MでAVXなし。AVXが搭載されている AMD FX-8350はOSがWindowsXP x64で未対応….orz

※変なコメントが多いため、この記事へのコメント禁止にしました(2014/1/19)
PR
CSAサーバに繋げて指定回数だけ対局可能なUSI対応のGUIにプチ将棋やUSI将棋があります。
(将棋所は指定回数ができない?)
で、LAN内で試すとかなりの頻度で Game_Summary に対して AGREE を返さず、何度もサーバー側を微調整しながら確認をしていたのですがうまくいかず、USI将棋はソースが公開されていたので見てみました。
ソースを見てみると「BEGIN Game_Summary」から「END Game_Summary」を1度の受信処理で受け取らないと AGREE を返さないようになっていました。

ということで、ちょっとした変更ですが、USIshogi.cs の initNet() 内の「string recv = recvData();」の部分を「recv += recvData();」に変更して while の外に「string recv="";」を置いてやります。
Visual C# 2010でビルドしてやり、USIshogi.exeを置き換えます。
これで今のところ問題なく動くようになりました。

■USI将棋
http://www.geocities.jp/shogi_depot/USIshogi.htm

USI将棋が連続対局で停まらなくなったので、PentiumG620(2.6GHz)上で1スレッド思考1秒のBona6が激指10のレーティング戦でどのくらいになるかやってみました。
⇒たいたい四段くらいでした。

Bona6_1c1s.PNG
ときどき読みがおかしいので、下回りを中心に動作を検証していく中でバグを発見しました。
こないだの第22回にも入っています。
こんな基本的なところを間違っているなんて…。

で、発生する局面は下記。図は進歩本2のYSSのデータ構造開設用局面を一部変更(オリジナルは後手玉に王手がかかっているため)。
8五の地点のSEEで、先手からは桂、銀、角、飛の順、後手からは香、金、飛の順になる。しかし、後手からの順が香、香、金となっていました。香と飛の位置が逆の場合は金、飛、飛の順。
つまり、陰の利きのときに駒種類を間違っていました。
これを直して性能アップ!と思ったら、さほど変わらず…。



なんか、考えてみたら成がある場合や玉が交換に絡む場合が考慮から漏れていそう。

ついでに、終盤の定跡2の局面で浅い読みのときに評価値が負け(ほぼマイナス3万)で、さらに読ませるとプラスになる局面を見つけました。
おそらく静止探索の中で詰んでしまったのだと思われ、静止探索で詰みを見つけたときに詰みを返してはいけないということなのかもしれない。

やっぱり、末端付近はボロボロなのかも??
次回に向けてのアイテム:

■シングルスレッドでより強く!(+R400)
 ・ 探索の改善
 ・ 静止探索の改善
 ・ 詰み部分木
 ・ Ponder
 ・ 思考時間の改善
 ・ 入玉対応
 ・ 千日手対応(王手千日手対応)
 ・ 水平線対策
 ・ 高速化

■思考のマルチスレッド化(+R200)
 ・ YBWC

■自前学習(脱Bonanzaライブラリ)
 ・ ボナメソ

■詰み探索の強化(±R0?)
 ・ ミクロコスモス

■費用捻出
 ・ 選手権用
 ・ New PC用(+R100)

■実戦でのテスト
 ・ 早めのfloodgate投入
 ・ オープン戦参加

■GUI改善
 ・ いろいろ

以上で、+R700を目指す!

5月3日から5日の第22回世界コンピュータ将棋選手権に参加してきました。

初日の一次予選では2回戦の途中でプログラムが落ちるというとんでもない事態が起きましたが、原因不明のまま対策らしきことをして祈り、その後は落ちることなく最後まで進みました。
一次予選は落ちた対局とSelene戦で負け、5勝2敗の2位で通過。

二日目の二次予選では途中で若干のプログラム変更とぶっつけでのオーバークロック(400MHz向上)をして、前日の事態が起きないように祈りながらの対局でした。
一次予選通過組みとの対局は4戦4勝、二次シード組には5戦1勝4敗でトータル5勝4敗の勝ち越しを決め、9位のBonanzaに次ぐ10位になり、シード権が確保できました。

実は、心願成就の御守りの中身に「世界コンピュータ将棋選手権 一次予選突破&二次シード以上&独創賞」と書いてありました。
一次予選突破と独創賞は前回達成し、今回シード権確保できたので、書いた内容がすべて叶ってしまいました!!

この御守り、スゴイ効果あるよ!!(アマゾンではもうないみたいですが)
ちゃんと文字にするというのも大事だと思いましたw

せっかくなので、今までの成績をグラフにしてみました。
7262b595.png
このグラフを見てもやる気が湧いてくるなぁ。

今回は気持ちが萎えかけたときにはAKB48の「チャンスの順番」を聞き、気持ちを奮い立たせていました。
次回は決勝組に「追いつき追い越せる」ようにがんばって行きたい。
ついでに今回の選手権ではパソコンのスペックが比較的低く2chでもネタにされたので、次回は15万くらいかけてパワーアップしていきたい。


忍者ブログ [PR]
カレンダー
02 2017/03 04
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 31
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[01/20 Bradleyevece]
[01/19 TimothyErund]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析