象歩将棋
Webと将棋で何か具体的なもの作って行こうとしてます。
-
312
shu
2005/11/17 23:06
id: 3BVR6NRi4pQ
prob: 0.2%
-
-
>>311
突き詰めれば局面データベースの話だと思います。
既存のDBから類推すれば検索やソートなどが必要な機能になると思われます。
このとき必要なのがインデクスですが、オブジェクトに対して可逆的なキーを作ればいろいろ使い回しできます。
局面を可逆的でかつ有意なインデクスにマッピングすることは、実装において一つの胆だと考えてます。
ただし *同一局面で無い* ことを判定するには少し冗長です。
インデクスをハッシュ値に変換すれば、(ヒットしない == 同一局面で無い)ことが光速&高確率で得られます。
千日手の判定で少し得するんでは無いかい、とか云う話。それだけです。
魔法の杖は探してますが、残念ながらまだ見付かりません。
-
311
pon
2005/11/17 00:09
id: .T8utNC06Zk
prob: 0.5%
-
-
>310
全然勘違いでした。
局面のハッシュ値を生成するのも、オブジェクト比較と処理的に変わりがありません。
Javaではうまく設計すればオブジェクト比較だけで済みそうなので、コードが楽です。
ハッシュ値だと計算時に多分回さないとだめではないですか?
処理時間は少し上がるかもしれませんね。
魔法の杖かと一瞬喜んだのですが・・・;;
それともパイソンでは魔法の杖があるのでしょうか?
その局面が同一であるかの判断は、どうしてもその中身を見るしか方法はないはずでしょう。
等しいかどうかの判断に事前に処理済みの結果(ハッシュ値)を使うかだけの違いしか
ないように思うのですが・・・
-
310
pon
2005/11/16 20:51
id: .T8utNC06Zk
prob: 1.0%
-
-
>309局面のハッシュ値を保存して無いってことですか?
あっ、知らない内に必要性があってやってました。^^;
その方がもっと簡単ですね。
ラベルひくーい、シェシェm(__)m
-
309
shu
2005/11/16 01:14
id: 3BVR6NRi4pQ
prob: 0.1%
-
-
>>308 ルールは全部教えたつもり
すんごいね^^
負けそうです_(.".)_
>>単純なオブジェクト比較でできない
局面のハッシュ値を保存して無いってことですか?
# うちもしてないけど;;
JAVA なら適当にでっちあげれば良さそうな気もする。。。
リファクタリングする前に一応の形を作った方が楽かも。
# 釈迦になんとか;;
-
308
pon
2005/11/16 00:15
id: .T8utNC06Zk
prob: 1.2%
-
-
>307
"同一局面連続王手4回"は仕様は簡単ですが、今の仕様では単純なオブジェクト比較で
できないので手間がかかることがわかりました。全体のコードが乱れそうなので、また
どこかでリファクタかけてからやることにします。
これでルールは全部教えたつもりです。(もっとスリムにした~い)
-
307
anonymous
2005/11/16 00:03
id: ulI1lBqN6AQ
prob: 16.7%
-
-
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
2005/11/14 23:29
id: 3BVR6NRi4pQ
prob: 1.8%
-
-
>>305 Windows系はやはりだめですか
でしょうね;;
>>304 性能を見ます
面白くなって来ました^^
ポンちゃんは双玉で試してるみたいなので期待してます。
こちらも詰将棋専科じゃなくて実戦向きにしたいと考えてます。
終盤をうまく作れれば、半ばできあがりなのかもしれませんね。
-
305
pon
2005/11/14 06:34
id: .T8utNC06Zk
prob: 2.1%
-
-
ところでブラウザfirefoxにしたのですが、フォントのずれ直りませんね。
Windows系はやはりだめですか。orz
-
304
pon
2005/11/14 06:30
id: .T8utNC06Zk
prob: 1.8%
-
-
>300-303
後は、
・連続王手4回
・合駒利かずの先読み
をやればほとんど終わりですが、これらも目処は立ってます。
結局、道具用意だけで2ヶ月かかりました。
なんだかんだ結構めんどくさいですね。^^;
この後、いよいよ性能を見ます。
(先は長いっす。)
来週は観光しますので、もしかしたらしばらくお預けかも。
でもイブには是非詰め将棋の性能で修ちゃんと戦いたいですね!
-
303
pon
2005/11/14 06:16
id: .T8utNC06Zk
prob: 3.0%
-
-
4.巻き戻し(例.89手目)
第102手目: 手番=後手, X=2,Y=7,駒=金, (王手!)X=3,Y=8,駒=王
第106手目: 手番=後手, X=6,Y=7,駒=馬, (王手!)X=4,Y=9,駒=王
第122手目: 手番=後手, X=3,Y=8,駒=銀, (王手!)X=4,Y=9,駒=王
第125手目: 手番=先手, X=2,Y=2,駒=角, (王手!)X=1,Y=1,駒=王
処理時間:160ミリ秒
表題 :順位戦名局
対局日:2005/11/4
棋戦 :順位戦C1組
手合割:平手
第089手目: 手番=先手, X=6,Y=9,駒=龍
9 8 7 6 5 4 3 2 1
+----+----+----+----+----+----+----+----+----+
|香↓|桂↓| |歩↓| |歩↓| |桂↓|王↓| 一
+----+----+----+----+----+----+----+----+----+
| |飛↓| | | |銀↓| | |香↓| 二
+----+----+----+----+----+----+----+----+----+
| | | | |歩↑|角↓| |金↓|歩↓| 三
+----+----+----+----+----+----+----+----+----+
|歩↓|歩↓| | |歩↓|角↓|歩↓|歩↓| | 四
+----+----+----+----+----+----+----+----+----+
| | |歩↓| | |桂↑| | |歩↑| 五
+----+----+----+----+----+----+----+----+----+
|歩↑| |歩↑| | |銀↑|歩↑| | | 六
+----+----+----+----+----+----+----+----+----+
|香↑|歩↑| | | |銀↑| | | | 七
+----+----+----+----+----+----+----+----+----+
| | |金↑| | |金↑|王↑| | | 八
+----+----+----+----+----+----+----+----+----+
| |桂↑| |龍↑| | | | |香↑| 九
+----+----+----+----+----+----+----+----+----+
----------- 駒台:先手 (山崎隆之) ----------
銀 歩
----------- 駒台:後手 (渡辺明) ----------
金 歩x2
|