HOME | ドキュメント |  ブログ  |  BBS  |  瓦版  | 将棋プロジェクト |  物置小屋   

ドキュメント 象歩 Web瓦版
 BBSボード RDF
こんにちは (23)
おためし板 (321)
質問箱 (94)
テスト (30)
You散歩 (4)
建築 DIY (6)
MTB (32)
(9)
節電対策 (2)
このサイトに関する話 (186)
Linux (396)
PC用ハードウェア (6)
Vine Linux 野良系 (64)
PC 工作 (31)
ドローン (0)
自家製GAFA (0)
BBS の改良 (105)
Vine Seed (520)
Zope とプロダクト (95)
Web の利用技術 (131)
DB とファイルシステム (63)
Python と C/C++ と... (29)
Zopeプロダクト開発メモ (3)
UTF-8 化 (42)
Mail 環境 (8)
COREBlog (109)
Zope3 (51)
Windows 64bit (18)
Mac (2)
Squeak スクイーク (67)
Django ぶらり一人旅 (3)
64bits (52)
Mono 思いにふける (10)
Mint Linux (7)
CentOS (2)
ディスクトップ (4)
象歩将棋 (478)
将棋よもやま (210)
サイトのデザイン (31)
心配な話 (66)
うそ (21)
うそ総集編 (0)
昔のゲストブック (20)
ボート部 (23)
Web 日記 (199)
 スパム
逮捕しる (20)
スパムお溜り (47)
ごみ箱 (6)
 リンク
kiyoさんのサイト
ペンタ郎の漫漕ブログ
端艇部員日記
TIT漕艇部の練習動画 @YouTube
墨堤の雄 @FaceBook
ペンタ(五大学ミドル) @FaceBook
Facebook
Vine Seed パッケージビルド状況
Vine Linux パッケージ情報
VineLinux バグトラッキングセンタ
VineSeed 開発用 Trac
VineSeed Specs
RPMパッケージの作成方法
Linux Standard Base
Planet Vine
Vine Linux ユーザーフォーラム
Vine Users ML アーカイブ
VineSeed ML アーカイブ
twitter#VineLinux
勝手に将棋トピックス
詰将棋おもちゃ箱

象歩将棋

Webと将棋で何か具体的なもの作って行こうとしてます。


全476件 - 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
317  shu  2005/11/30 23:16 id: 3BVR6NRi4pQ  prob: 9.7%
見知らぬ方から11手詰め頂きました。

自然でエレガントで、しかも面白うございます。
ありがとうございました。

実はしばらく前に投稿されていたのですが、
もったいないので、こちらにも載せることに。
316  pon  2005/11/24 23:40 id: 480oHczCgMM  prob: 0.0%
今日暇で2ちゃん見てたら、どっかのサイトでパクったソースがC#でもGUI抜きで1Kとのことでした。やっぱ自分のは無駄が多すぎるので書き直すことにします。
今さら人まねは嫌なので、大体イメージもつかめたし。
でもしばらくやる気しないので修ちゃんみたいにアイデアだけ考えるモードに入ろうと思います。年っすかね??
ちなみにボナの評価関数は1個だそーです。序盤、中盤、終盤で分けてないらしいっす。
315  shu  2005/11/19 01:39 id: 3BVR6NRi4pQ  prob: 1.9%
>>314 インデクスとはオブジェクトにおけるシリアライズのことでは
そうそう、最近の言語で実装されてる。
ただ一般的なシリアライズだと無駄が多いのも事実。
たとえば C++ クラスのデータ部がそのままインデクスになれば良いと思うし、
python あたりならお好みでシリアライズメソッドを実装できるかもしれない(試してません)。

>>かなり制約された世界でしか通用しない
既存のソフトは条件分岐の化け物のような気がするし、
ボナンザはその反対に大きなインデクス空間で勝負してるらしい。
僕はそれらとは違うものを作りたい。

>>明日は観光
どうぞ光を観て来てください。観音様拝めると良いですね^^
314  pon  2005/11/18 23:26 id: 480oHczCgMM  prob: 5.0%
>>312 補足です
恐らくインデクスとはオブジェクトにおけるシリアライズのことではないですか?
シリアライズされた結果もしくはシリアライズ処理そのものにあるアルゴリズムで変換することを指していると思います。もしそうだとすれば仮に局面の数が有限としても2のN乗で収まるかどうかがポイントになるわけですが、ということはかなり制約された世界で
しか通用しない処理(性能はだせるでしょう)になりますか。
(全然的外れのときはm(__)m)
連続王手の話だけに限れば、今の仕様でも少しだけいじればオブジェクト比較できると思いますので、兎に角やってみます。
明日は観光ですので近いうちに・・・
313  pon  2005/11/18 21:51 id: 480oHczCgMM  prob: 13.6%
>>312
ところでこのページ(一般になんて呼ぶのかいまだによくわかりません)も雰囲気がでてきましたね。

修ちゃんのいうDBとは概念的な話ですね。それをメモリで実装しようがディスクでやろうがかまわないという。また、そういうツールもあるのでしょうね。
考えてみると将棋ではその局面-実際はコンポーネントで構成される-がどのような経緯で出現したものであろうとお構いなく、最短手順で玉を詰ませればお役ゴメン。つまり対局とは"局面の集合である"という定義は、現在の(コンピュータ)リソースを無視すれ
ば面白い考え方かもしれません。
そして局面間でベクトル的に近いとか遠いとかのメトリクスを持たせることができればさらに面白い。
ていうかそんなことばかり考えていては日が暮れますので^^;
312  shu  2005/11/17 23:06 id: 3BVR6NRi4pQ  prob: 0.2%
>>311
突き詰めれば局面データベースの話だと思います。
既存のDBから類推すれば検索やソートなどが必要な機能になると思われます。
このとき必要なのがインデクスですが、オブジェクトに対して可逆的なキーを作ればいろいろ使い回しできます。
局面を可逆的でかつ有意なインデクスにマッピングすることは、実装において一つの胆だと考えてます。

ただし *同一局面で無い* ことを判定するには少し冗長です。
インデクスをハッシュ値に変換すれば、(ヒットしない == 同一局面で無い)ことが光速&高確率で得られます。
千日手の判定で少し得するんでは無いかい、とか云う話。それだけです。

魔法の杖は探してますが、残念ながらまだ見付かりません。
311  pon  2005/11/17 00:09 id: 480oHczCgMM  prob: 0.5%
>310
全然勘違いでした。
局面のハッシュ値を生成するのも、オブジェクト比較と処理的に変わりがありません。
Javaではうまく設計すればオブジェクト比較だけで済みそうなので、コードが楽です。
ハッシュ値だと計算時に多分回さないとだめではないですか?
処理時間は少し上がるかもしれませんね。
魔法の杖かと一瞬喜んだのですが・・・;;
それともパイソンでは魔法の杖があるのでしょうか?
その局面が同一であるかの判断は、どうしてもその中身を見るしか方法はないはずでしょう。
等しいかどうかの判断に事前に処理済みの結果(ハッシュ値)を使うかだけの違いしか
ないように思うのですが・・・
310  pon  2005/11/16 20:51 id: 480oHczCgMM  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: 480oHczCgMM  prob: 1.2%
>307
"同一局面連続王手4回"は仕様は簡単ですが、今の仕様では単純なオブジェクト比較で
できないので手間がかかることがわかりました。全体のコードが乱れそうなので、また
どこかでリファクタかけてからやることにします。
これでルールは全部教えたつもりです。(もっとスリムにした~い)
全476件 - 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49