「コンピュータ将棋のアルゴリズム」増刷されます
…と言っても、入手が簡単になったりとかするわけでもないんでしょうけれど(--;
とりあえず、増刷にあたり『ちょびっとだけ』バグと誤植の修正を行う感じです。
あぁ、CSAにバグ修正版のライブラリ登録をしないとー…。
| 固定リンク
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/148072/17035579
この記事へのトラックバック一覧です: 「コンピュータ将棋のアルゴリズム」増刷されます:








コメント
入手困難なんですか?
町の本屋さんにはJava将棋と両方置いてありますけど。
財政難につきもう一冊はスルーの方向でw
投稿 かず | 2007年11月12日 (月) 23時09分
すげぇ!<その本屋
私の近所では2冊とも見かけたことがありません(笑)。
私の知っている範囲で置いてある場所は、新横浜と溝ノ口の文教堂、八重洲ブックセンター、新宿の紀伊国屋、位です…。
多分、池袋のジュンク堂にもあると思いますが。
投稿 うさぴょんの育ての親 | 2007年11月13日 (火) 00時59分
「コンピュータ将棋のアルゴリズム」購入しました。
内容で気になった点があります。
「二次元配列より一次元配列のほうがアクセスが速い」
と書いてあるのを見ましたが、今どきのコンパイラでは
そんなことはないですよね?
投稿 IM | 2007年12月 3日 (月) 02時11分
…時と場合によります(苦笑)。
Java将棋のアルゴリズムには書いたのですが、
盤を例えば、
ban[y][x]
と表すとすると、
ban[y*16+x]
とこのままなら速度に差はありません。(いまどきのコンパイラなら最適化してくれるから。)
ですが、これに例えば駒の利きを考えると、diff[dir]で駒の利きの方向を表すとして…
ban[y+ydiff[dir]][x+xdiff[dir]]
のようなコードが
ban[y*16+x+diff[dir]]
で済むのはメリットが大きいです。
投稿 うさぴょんの育ての親 | 2007年12月 3日 (月) 02時29分
ban[256]
ban[16][16]
どちらでも
*(y*16+x+diff[dir])
でアクセスできますよね。
投稿 IM | 2007年12月 4日 (火) 19時22分
*(ban+y*16+x+diff[dir])
でした。
投稿 IM | 2007年12月 4日 (火) 19時23分
えーと、『そう使うのなら』2次元配列にしなくていいじゃん、という気が(苦笑)。
でも、速度の問題じゃなくて「どっちが可読性が高いだろう」と言う話になりますね、確かに(--;
投稿 うさぴょんの育ての親 | 2007年12月 5日 (水) 00時34分