象歩将棋
Webと将棋で何か具体的なもの作って行こうとしてます。
投稿フォーム:
お名前: ニックネームでも何でもかまいません(必須)
パスワード: なりすまし防止のため利用できます(任意)
記事:
 
キャンセル
313 pon #d00b615 2005/11/18 21:51 prob:%
>>312 ところでこのページ(一般になんて呼ぶのかいまだによくわかりません)も雰囲気がでてきましたね。 修ちゃんのいうDBとは概念的な話ですね。それをメモリで実装しようがディスクでやろうがかまわないという。また、そういうツールもあるのでしょうね。 考えてみると将棋ではその局面-実際はコンポーネントで構成される-がどのような経緯で出現したものであろうとお構いなく、最短手順で玉を詰ませればお役ゴメン。つまり対局とは"局面の集合である"という定義は、現在の(コンピュータ)リソースを無視すれば面白い考え方かもしれません。 そして局面間でベクトル的に近いとか遠いとかのメトリクスを持たせることができればさらに面白い。 ていうかそんなことばかり考えていては日が暮れますので^^;
312 shu #f0c10dc 2005/11/17 23:06 prob:%
>>311 突き詰めれば局面データベースの話だと思います。 既存のDBから類推すれば検索やソートなどが必要な機能になると思われます。 このとき必要なのがインデクスですが、オブジェクトに対して可逆的なキーを作ればいろいろ使い回しできます。 局面を可逆的でかつ有意なインデクスにマッピングすることは、実装において一つの胆だと考えてます。 ただし *同一局面で無い* ことを判定するには少し冗長です。 インデクスをハッシュ値に変換すれば、(ヒットしない == 同一局面で無い)ことが光速&高確率で得られます。 千日手の判定で少し得するんでは無いかい、とか云う話。それだけです。 魔法の杖は探してますが、残念ながらまだ見付かりません。
311 pon #d00b615 2005/11/17 00:09 prob:%
>310 全然勘違いでした。 局面のハッシュ値を生成するのも、オブジェクト比較と処理的に変わりがありません。 Javaではうまく設計すればオブジェクト比較だけで済みそうなので、コードが楽です。 ハッシュ値だと計算時に多分回さないとだめではないですか? 処理時間は少し上がるかもしれませんね。 魔法の杖かと一瞬喜んだのですが・・・;; それともパイソンでは魔法の杖があるのでしょうか? その局面が同一であるかの判断は、どうしてもその中身を見るしか方法はないはずでしょう。 等しいかどうかの判断に事前に処理済みの結果(ハッシュ値)を使うかだけの違いしか ないように思うのですが・・・
310 pon #d00b615 2005/11/16 20:51 prob:%
>309局面のハッシュ値を保存して無いってことですか? あっ、知らない内に必要性があってやってました。^^; その方がもっと簡単ですね。 ラベルひくーい、シェシェm(__)m
309 shu #f0c10dc 2005/11/16 01:14 prob:%
>>308 ルールは全部教えたつもり すんごいね^^ 負けそうです_(.".)_ >>単純なオブジェクト比較でできない 局面のハッシュ値を保存して無いってことですか? # うちもしてないけど;; JAVA なら適当にでっちあげれば良さそうな気もする。。。 リファクタリングする前に一応の形を作った方が楽かも。 # 釈迦になんとか;;
308 pon #d00b615 2005/11/16 00:15 prob:%
>307 "同一局面連続王手4回"は仕様は簡単ですが、今の仕様では単純なオブジェクト比較で できないので手間がかかることがわかりました。全体のコードが乱れそうなので、また どこかでリファクタかけてからやることにします。 これでルールは全部教えたつもりです。(もっとスリムにした~い)
307 anonymous #3230134 2005/11/16 00:03 prob:%
5.合駒利かず 第009手目: 手番=先手, X=2,Y=2,駒=馬, (王手!)X=3,Y=2,駒=王 第017手目: 手番=先手, X=2,Y=4,駒=飛, (王手!)X=2,Y=2,駒=王 第031手目: 手番=先手, X=1,Y=4,駒=飛, (王手!)X=1,Y=2,駒=王 ★★★★★★★★★★★★★★★★★ ★ 詰み!!:X=1,Y=2,駒=王 ★★★★★★★★★★★★★★★★★ 処理時間:131ミリ秒 手合割:平手 第031手目: 手番=先手, X=1,Y=4,駒=飛 9 8 7 6 5 4 3 2 1 +----+----+----+----+----+----+----+----+----+ |香↓|桂↓|銀↓| | | | |銀↓|香↓| 一 +----+----+----+----+----+----+----+----+----+ | | | |金↓| | |金↓|飛↓|王↓| 二 +----+----+----+----+----+----+----+----+----+ |歩↓|歩↓|歩↓|歩↓|歩↓|歩↓|桂↓|歩↓| | 三 +----+----+----+----+----+----+----+----+----+ | | | | | | | | |飛↑| 四 +----+----+----+----+----+----+----+----+----+ | | | | | | | |桂↑|歩↓| 五 +----+----+----+----+----+----+----+----+----+ | | |歩↑| | | | | | | 六 +----+----+----+----+----+----+----+----+----+ |歩↑|歩↑|銀↑|歩↑|歩↑|歩↑|歩↑| | | 七 +----+----+----+----+----+----+----+----+----+ | | |金↑| | | |金↑| | | 八 +----+----+----+----+----+----+----+----+----+ |香↑|桂↑| | |王↑| |銀↑| |香↑| 九 +----+----+----+----+----+----+----+----+----+ ----------- 駒台:先手 () ---------- 角 歩x2 ----------- 駒台:後手 () ---------- 角 歩
306 shu #f0c10dc 2005/11/14 23:29 prob:%
>>305 Windows系はやはりだめですか でしょうね;; >>304 性能を見ます 面白くなって来ました^^ ポンちゃんは双玉で試してるみたいなので期待してます。 こちらも詰将棋専科じゃなくて実戦向きにしたいと考えてます。 終盤をうまく作れれば、半ばできあがりなのかもしれませんね。
305 pon #d00b615 2005/11/14 06:34 prob:%
ところでブラウザfirefoxにしたのですが、フォントのずれ直りませんね。 Windows系はやはりだめですか。orz
304 pon #d00b615 2005/11/14 06:30 prob:%
>300-303 後は、  ・連続王手4回  ・合駒利かずの先読み をやればほとんど終わりですが、これらも目処は立ってます。 結局、道具用意だけで2ヶ月かかりました。 なんだかんだ結構めんどくさいですね。^^; この後、いよいよ性能を見ます。 (先は長いっす。) 来週は観光しますので、もしかしたらしばらくお預けかも。 でもイブには是非詰め将棋の性能で修ちゃんと戦いたいですね!