忍者ブログ
コンピュータ将棋など…。
[61] [60] [59] [58] [57] [56] [55] [54] [53] [52] [51]
局面を一意に符号化すると何バイトに収められるんでしょう?
とっさに思いつくのは

  40枚×(7bit+1bit+1bit)・・・7bit:位置or持駒、1bit:成/不成、1bit:先後

で360bit=45バイト(手番自体はどこかの空きに割り当てるとして)。

持駒の優越関係のように冴えたやり方がありそうなものだけど…。
PR

コメント
無題
駒の種類別にハフマン符号化(歩は数が多いので短いビット列で、他の駒は長めに)することで、256ビットには割と簡単に収まります。
そこから3ビットくらいはさらに減りますが、それ以上は結構面倒かも。
【2009/01/27 01:03】 NAME[山田 剛@CSA] WEBLINK[URL] EDIT[]
ハフマン
かなり試行錯誤して設計上はなんとか256bitに収まりました。
ハフマンは可変長のbit演算を多用するので遅そうで試したことはないのでまともに動くコードに落とせるかどうか(苦笑)。
【2009/01/28 00:01】
Re: ハフマン
遅そう…ということは、もしかして探索プログラムに使うんでしょうか?
さすがにハッシュ値を計算するよりだいぶ重くなると思います。
【2009/01/28 00:23】 NAME[山田 剛@CSA] WEBLINK[URL] EDIT[]
Re: ハフマン
用途は定跡ルーチンです。
【2009/01/28 00:26】
定跡
定跡の手を指させる場合は、対局前にハッシュ表に定跡の局面を記録させておく方が、高速で実装も容易ではないでしょうか。
【2009/01/28 21:02】 NAME[山田 剛@CSA] WEBLINK[URL] EDIT[]
Re:定跡
そうですね。
乱数表を固定にして、そのようにしますか。
【2009/01/29 04:01】


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


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