2012-01-01から1年間の記事一覧

打ち歩詰め……

pin と 空き王手の候補のbitboardを使うところで、どうもどちらの玉に対する pin や空き王手なのか、ちゃんと考えずに実装してたみたいだ。一杯直すところあるぞ。。。 でもこんなのでも実戦ではだいたい上手く動いてるんだよなぁ。

一手詰めがバグだらけ

今度は pin や空き王手の判定がバグっていることが分かった。 今までまともに動いてなかったと言えるくらいヒドイ。

一手詰め修正

Bitboard GoldCheckTable[ColorNum][SquareNum] で移動王手可能な金の位置をマスクしているが、 初期化にバグがあり機能していなかった。 修正し、一手詰め関数で金の移動王手を正しく判定出来るようになった。

反復深化(将棋では無い)

今日あるファイルを探そうと思ったけど、find コマンド打っても一生終わらないだろって言うくらいファイルが一杯あって困ったので、反復深化してみた。for i in $(seq 10); do find . -maxdepth ${i} -name "hoge"; doneファイル見つかった。PV(ファイルパス…

電王戦の記者会見

明日15時からか。ソフトの中の人も皆さん参加されるようで、すごく楽しみ。そして本気で羨ましい。

どうでも良い事

Twitterに書く程ではない、どうでも良い事はブログに書こうか。

PV(将棋では無い)

ページビュー表示してみた。 表示してから数えるのかよ! 少な過ぎて恥ずかしかったら消そう。

棋譜の選別

こんな感じのスクリプトで 2chkifu.csa からトッププロ同士だけの棋譜を選別する。 棋士名の配列に名前足していけば、それらの全ての組み合わせに該当する棋譜を取得出来る。 #!/usr/bin/env ruby # -*- coding: utf-8 -*- if ARGV.size != 2 puts "USAGE: "…

補足

環境により大きく指し手生成速度が変わるので、 私が分かっていることだけは書いておきます。・Cygwin はすごく遅い。vmware で Linux 動かしてる位遅い。 ・32bit OS はすごく遅い。64bit 演算が多いので仕方ない。 ・g++4.4 は make sse とかで SSE 使うと…

指し手生成コード公開します。

magic bitboard を使って指し手生成する所までのコードを公開します。正直引くほど Stockfish 真似てます。 何か問題あれば連絡頂きたいです。 特にライセンス上の問題があれば速やかに対応致します。http://dl.dropbox.com/u/51381925/apery_generateMoves.…

floodgateで同じ名前を使ったときのバグ

実は Apery はどこかのタイミングで floodgate にログインするときの trip を間違えてしまったみたいで、 現在2つのAperyがratingされています。 昔のAperyがこちら 今のAperyがこちら 昔の方のは随分前からログインしていません。 しかし、昔の方のAperyの…

Bonanza 6.0 のビルドエラー

Bonanza 6.0 をビルドする際、20分ほど嵌った。 環境は Ubuntu 12.04, gcc4.6.3, GNU Make 3.81gcc で Bonanza をビルドするコマンドは $ make gcc で良いけれど、sqrt や pthread_create が見つからないとかで gcc に怒られる。 ちゃんと math.h や pthread…

Ubuntu12.04 インストールしてみた。

Ubuntu12.04 で将棋所を動かすまで。 インストール直後の状態。Ubuntuはどんどん美しくなりますね。 Ubuntu10.04ではなぜかFull HDのモニタのサイズを認識しなくて、 選手権で横に伸びた将棋盤をお見せしましたが、 12.04ではちゃんとFull HDになりました。 …

世界コンピュータ将棋選手権に参加してきた。

面白かった。夢のような時間だった。 他の開発者や運営の方々に会うのも初めてな訳だけど、 沢山話すことが出来てよかった。皆素晴らしい友人だ。 今年は一次予選をなんとか突破して、 二次予選では力の差を見せ付けられて、 大会前の期待通りの結果となった…

スマートフォンでBonanzaのソースを読む方法

スマートフォンを買ったので、 スマートフォンでどこにいてもBonanzaのソースコードが読めるようにする方法をご紹介。1. Cygwin か Linux か Mac を用意。 2. Dropbox を入れる。 Linux 用コマンドは以下のコマンドを打ち、後は適当にやれば出来ます。 cd ~ …

アピール文書

適当に書いた。 本当に今年はアピール出来るようなことは 正直言って無いなって思ったので、 「ルール通り動きます。」と一行だけ書こうかと考えたが、 ルール通り動くことを保証するのは無理だなって思って止めといた。 反則負けしないとは限らないからなー…

mate_weak_or

以下、Bonanza v6 の mate_weak_or() の一部を掲載。 if ( turn ) { if ( IsDiscoverWK( from, to ) ) { return 0; } pc = -BOARD[from]; pc_cap = BOARD[to]; MOVE_CURR = ( To2Move(to) | From2Move(from) | Piece2Move(pc) | Cap2Move(pc_cap) ); if ( ( …

Dropbox

Dropbox の中で git 使いながらプロジェクト管理しているんだけど、 Dropbox のフォルダより上位のフォルダを rm -rf やってしまった。 消している途中でヤバイと思ってコマンドを中断した結果、.git 内の大量のファイルが消え、中途半端に一部のファイルが…

今日はデバッグだけで終わった。

なんとなく落ちずに動いている様子。 探索のバグは本当に分かりにくいことを実感。 デバッグもなんとなく。 原因が分からないセグフォは、 無関係と思われる他のバグ潰してたら無くなった。 こんなんじゃダメだろうな〜。

Aperyの90%は

三駒評価に時間を費やしています。差分評価もまだしてないしなー。

あと3ヶ月

第22回世界コンピュータ将棋選手権に Apery というソフトで出場します。 精一杯本番まで頑張ります。 Apery とは 1.Bonanza の fv.bin をまるっとそのまま使用します。 2.チェスの Stockfish をよく参考にしています。 3.将棋ではまだまだ少数派である Magic…

申し込んだ

やばいやばい

間に合わない……

全然出来てないけど、 本当に参加したいのでとりあえず申し込まなくては。直前になってやっぱり間に合わなくて欠場したらすみません(>_