sakurapyon’s blog

sakurapyon’s blog

bitboard

メモリ喰い

bitboardで何かやろうとすると、大抵の場合 位置情報*ビットボードサイズ分のメモリを喰う。下手すると位置情報^2*ビットボードサイズとか。前者の場合、81*32bit*3=972bytes、後者なら78,732bytes。今のところ最大なのは飛車や角の利きを求める配列で、81*1…

Kindergarten Bitboards マジ素晴らしい

Kindergarten Bitboardsの将棋への応用 - コンピュータ将棋開発中 ツツカナのkindergerten bitboardの飛車の縦利き - ながとダイアリー chessprogramming - Kindergarten Bitboards chessprogramming - Congruent Modulo Bitboards 苦心して作った rotated b…

bitboard版(0.003) 手法

とりあえず、落ちずにfloodgateで対戦できるようになったようだ(まだ非合法手が残ってるな…) 探索速度が20倍ぐらい遅いのと、sakurapyon-44の機能を全部もってこれてないのでヨワヨワである。 (まだ駒得バージョンにすら追いついていない(R200差)。フルバー…

難航中

全部作り直そうとしたのがハードル高かったかな。みなさん簡単に?作り換えされててすごいなーと思う。ようやく落ちない・非合法手を指さない状態で一局指せるようになったけど、NPSが激減してる(5Knpsとか@_@;) ここからどうやったら100倍ぐらい高速化でき…

角筋

rotated bitboard から索引を求めるシフト量を最適化するレイアウトにすればよかったかも…いまのレイアウトだと2二角は一等地にいるけど、8八角は僻地なんだよな。 角の存在確率の高い行がbitの若いところにくるような配置にすれば、ほーんの少し速度が稼…

Rotated bitboard角筋メモ

基本的な話はちゃんと下記に書かれていますが、自分なりに理解するために書いたメモ(理解できているかは謎だがいちおう動いた) Using Bitboards for Move Generation in Shogi 2009-11-12 - Rotate Bitboards 事始め 1 - 忘れた頃に、また忘れる 2009-11-13…

はえええ

合法手が生成できるだけの版が出来たので、指し手生成祭り局面を試したら1M回/秒ぐらい出るようだ。駒打ち展開してないから駒打ちが50%ぐらい喰ってるし、実行時間をあまり考えずに素直に書いてるから、いじれば倍ぐらいになる……といいなあ? その前に王手回…

マジ難しい

まだ変だなあ。辺にいる時の利きがおかしいのか。 角に至っては原理はわかるがどう書いていいかわからん。 * 龍の利きチェック 後手:white 後手の持駒: 角二 金四 銀四 桂四 香四 9 8 7 6 5 4 3 2 1 +---------------------------+ | ・ 龍 ・ ・…