おまいら最強の将棋プログラムしてみろよ part6at TECH
おまいら最強の将棋プログラムしてみろよ part6 - 暇つぶし2ch846:789
08/06/02 01:58:32
あっ。844は842の双方連続王手のことか。

いま検討していたのだが、双方連続王手は普通の将棋の駒では実現できないようだ。

847:デフォルトの名無しさん
08/06/02 02:02:19
いや、だから A→B→A が連続逆王手のループだとして
A は自分の手番、B は相手の手番だとして
C → B → A → B → A → B → A
と進めば次で B を指せないからこれは自分の負け
D → A → B → A → B → A → B
と進めば次で A を指せないからこれは自分の勝ち

だったら A とか B は自分の勝ちなのか負けなのか

848:デフォルトの名無しさん
08/06/02 02:05:39
>>846
んーそれはほんとなのかな

849:789
08/06/02 02:07:46
>>848
本当だ。俺には証明はスマートには出来ないが。

850:デフォルトの名無しさん
08/06/02 02:21:39
>>849
出来る気がする。考えてみよう

851:789
08/06/02 02:26:14
>>850
俺が1分も考えて出来ないと結論を出した。間違いなく出来ない。

852:デフォルトの名無しさん
08/06/02 02:29:56
>>849
スマートでなくてもいいから証明してくれ


853:789
08/06/02 02:46:56
>>852
王手の種類を
(A) 王の移動による王手
(B)駒を打つ・移動させることによる王手とにわける。

Aは、大駒の利きが王によって遮断されて敵玉をにらんでいる状態でなければならない。
しかし、…(中略)で、そのように配置することは不可能である。

Bは、その駒を打つ・移動させることが直前の王手を防ぐ手になっていなければならない。
しかし、直前の王手を、(A)、(B)それぞれの場合について場合分けして考えると
…(中略)でこれまた不可能である。

よって、双方連続王手は不可能である。

854:789
08/06/02 02:57:31
853補足。大駒には、複数マス進める駒で香も含む、としてくれ。

> しかし、…(中略)で、そのように配置することは不可能である。

この部分は、王の影になっていたのが直進できる駒かそうでないかで場合分けするんだ。

もっとスマートに証明出来るかどうかは知らん。

855:デフォルトの名無しさん
08/06/02 03:02:13
あらゆる局面(駒配置)にラベルを付けられると仮定して
一手目の局面もラベルがつくのかな?

856:デフォルトの名無しさん
08/06/02 03:14:04
人が居るみたいだから質問。
最近ブックを実装したんだけどブックにはどんな情報を保持すればいい?
今のところ自分はハッシュ値と評価値とそれを算出した読みの深さと勝ち負けなんかのフラグ。


857:855
08/06/02 03:17:02
>>856
ごめんよワシには判らんし明日仕事だからもう寝る

858:デフォルトの名無しさん
08/06/02 03:18:48
了解
お休み

859:789
08/06/02 03:24:02
>>855
> 一手目の局面もラベルがつくのかな?

839の話をしていて、「一手目の局面」が初期陣形のことを指しているなら、
初期陣形にも勝ち/負け/引き分けのいずれかのラベルが付く。



860:デフォルトの名無しさん
08/06/02 03:26:26
局面の出現確率がないと古い定跡やマイナーな変化に進んでいきそうではある

861:デフォルトの名無しさん
08/06/02 03:39:08
4649

おまいら最強のシストレFXプログラムをしてみろよ
スレリンク(tech板)

862:デフォルトの名無しさん
08/06/02 10:06:32
>>861
理詰めゲームとサイコロ賭博は全く違う話ですから食いつかないかと

863:デフォルトの名無しさん
08/06/02 22:53:42
未来の名人戦は振り駒というランダム要素を
4回取った方が勝ちというゲームですが何か

864:デフォルトの名無しさん
08/06/03 00:28:09
未来将棋は同時指しでしょ

865:デフォルトの名無しさん
08/06/03 00:55:47
戦争シミュレーションにターンとかわけワカランよな。
リアルタイムだろどれもこれも。

866:デフォルトの名無しさん
08/06/03 02:26:47
局面の遷移履歴によって持駒が変わると思う
そうすると次に遷移可能な局面の集合が変わる
局面の履歴か持駒のバリエーションを考慮する必要がある


867:デフォルトの名無しさん
08/06/03 21:16:32
今頃読んだけど、
>>819
データベースを作ったとして、実際に使う時には経路があるにこしたことはないよね。

例えば、データベースには負けと書いてあっても、実際に指し続けて、もし証
明木のどこかで今までに3回あらわれた局面を通過すれば引き分けになるから。

反対意見ではなくて、経路の活用の余地について関連コメント。

868:デフォルトの名無しさん
08/06/03 22:22:40
>>867
そんなデータベースは現実的に作れる規模ではないというのはおいとくとして・・・
一体、おまいは何の経路をデータベースに保存しとこうと思うんだ?

与えられた局面から勝ちまでの手順か?勝ちまでの手順は木になってるわけで、
そんなものは全部保存しておけるわけないだろ。

しかし、仮にストレージが無限にあって保存できるとしよう。

では、初期局面から勝ちまでの手順をデータベースから取得しようと思うと、
それこそ終局までのありとあらゆる変化を含んだ木が得られるわけだよな。

これがメモリに入るか?宇宙に存在する原子の数より多いんだぞ。

869:デフォルトの名無しさん
08/06/03 22:25:47
868の続き。

でも、仮に、無限にデータの入る秘密の箱があって、メモリに読み込まなくてもいいとしよう。

この木のなかに、その局面に至るまでに3回現れた局面があるかどうか調べるのに
どれだけのコストが必要になる?仮に現れていることがわかったとして、ではその局面を
回避して勝ちに行く経路があるかどうかをどうやって調べるんだ?

それってこのAND/OR木を探索しているのと同じだけコストがかからないか?

うまくすれば探索しなくてすむとは思うが、1つの局面に対して莫大なindexを貼る必要があるだろ。
宇宙に存在する原子の数の2乗や3乗で済まないと思うぞ。

870:デフォルトの名無しさん
08/06/03 22:36:23
まあ、そんな完璧なデータベースがあれば、コンピュータは神様と同じ棋力があるわけで、
人間みたいな間違いだらけの棋力の低い将棋を神様に指継いでもらうということ自体が失礼ってもんだ。

でも、もうちょっと建設的な意見を。

勝ち/負け/引き分けをラベリングするときに、勝ち/負けなら「何手で詰む」というのを記録しておけば、
与えられた局面から終局への距離がわかるから、与えられた局面から終局に近くなるほうに向かって、
「3回あらわれた局面を通過」しないように勝ちを探して探索すればいい。

そうすれば、その探索の深さの範囲内では「3回あらわれた局面を通過」しない勝ちを探すことは出来るだろ。
このときの「探索の深さ」が深ければ深いほど正解に近くなる。この手法のほうが経路なんかをデータベースに
保存するよりよっぽどいい。


871:デフォルトの名無しさん
08/06/03 23:41:19
>>870
チェスのエンディングデータベースですな
3回あらわれた局面を通過しないように、なんて考える必要はないですよ

872:デフォルトの名無しさん
08/06/04 03:15:23
局面を遷移するときの線に条件が必要だな
例えば桂馬を持っているとか香車が5マス勧めるとか

873:デフォルトの名無しさん
08/06/04 06:23:31
>>871
俺も「3回あらわれた局面を通過しないように、なんて考える必要はない」派だが、
867が考えたそうだったので、考えてみた。

874:デフォルトの名無しさん
08/06/04 20:37:53
867では相手が勝を逃した時に千日手で逃れるには経路が必要になると言ったが、
そんな状況を考える必要はないという立場ならそれでいいよ。

現実的には局面だけのデータベースもストレージに載らないので初めから架空
の議論だと思っていたが、俺が何か前提を見逃しているのかな。
気分を害したなら謝るよ。


875:デフォルトの名無しさん
08/06/04 22:46:21
データベースを一つのPCで全て持っておく必要はないので
分散格納して連携するとか解決策は考えられる

利用するときはデータベースそのものじゃなくて
それを使って調べた結果が判ればいいので
通信手段があれば良い

分析も分割して調べた結果を統合するとか方法はいろいろあるんじゃね?

876:デフォルトの名無しさん
08/06/04 22:55:40
>>874
867は、データベース上に詰みまでの経路を保存する話に見えたので
868-870のような反応になったのではないかな。

どのみち「経路」(勝ち/負け/引き分けを調べたい局面にいたるまでに3回出現した局面のリスト?)
情報があったとしても、それを用いて引き分けに持ち込むにはデータベース上のラベリングされた節点に
対して、AND/OR木を探索するような処理は必要になるけど。

>>875
分散格納しようにも、格納すべきデータ量が宇宙に存在する原子の数を超えるので、
1つの原子に1bitのデータを書き込めるとしても宇宙すべての物質にデータを書き込んでも足りない
という状況になるのだけど。1つの原子に、もっとたくさんの情報を記録できるような技術があれば
また違ってくるのかも知れないけど。

877:デフォルトの名無しさん
08/06/04 23:36:29
歩とか同種類の駒は区別しないとか
いろいろ工夫する余地はあると思うけどな

全局面がむりなら必要度の高い局面とそれに関係する局面を抽出するとか

878:デフォルトの名無しさん
08/06/05 00:01:17
>>877
筋違い角とか角換り腰掛け銀とか変化が狭い戦法/すぐに終盤になる戦法は
詰みまで調べてデータベース化する価値は十分あるだろうね。

詰みまで調べられないとしても事前に十分時間をかけて探索して、懸案の局面付近の
最善手(だと思われる手)だけでも持っていればずいぶん違うだろうね。

20年後ぐらいには角換り腰掛け銀なんかはコンピュータによって結論が出てるんじゃないかな。

879:デフォルトの名無しさん
08/06/05 00:16:28
>874 >876
将棋データベースの問題を考える時は
(特に断らなくても)記憶容量と計算量が
実用的限界に納まらない事は当然の前提
として良いと思う。

それでも将棋の局面データベースを
(特に現在の局面状態だけに基づいて
最善手を与えるデータベースを)
本当に作れるのか?
と言うのは理論的に面白い問題だと思う。

880:デフォルトの名無しさん
08/06/05 01:55:46
どれだけ圧縮できるかというのも気になる
主成分分析/判別分析の固有ベクトルが分かったら評価関数に使えるし

881:デフォルトの名無しさん
08/06/05 22:51:27
>880
主成分分析か、大学の時にちょっとだけやったなぁ。
将棋の評価に必要な次元がそんなに落とせるのかどうか?

882:デフォルトの名無しさん
08/06/06 00:17:05
そういう特徴(ベクトル)を探すのに使えそうだから
今は完全に試行錯誤だから,それよりはマシになるかな,と

883:デフォルトの名無しさん
08/06/06 01:02:06
9x9の将棋(本将棋)だとデータベースがでかくなりすぎて
実現できないのは分かりきっててモチベーションが下がるので
まずは5x5将棋辺りからできないかなって考察するのが良いのかも。

もしできたら、それの性質を見ながら本将棋への類推と応用を考えると。

884:デフォルトの名無しさん
08/06/06 01:47:09
チェスですら終局までの完全なデータベースって無いのね。
将棋なんてまだまだ遙か彼方だな

885:デフォルトの名無しさん
08/06/12 21:05:59
チェスなら駒が減る一方だから終盤のデータベースは作れたけど、
将棋は駒減らんからな。5五将棋ですら無理じゃね?

886:デフォルトの名無しさん
08/06/13 08:28:00
んー、でも昨今のCPUの性能を考えると、どこぞのスーパーコンピュータを借り切ったら、
谷川九段を光速でやっつけることができそうな気がするのですが。

887:デフォルトの名無しさん
08/06/13 08:44:46
>>886
それが出来るのはスーパーコンピュータの性能のおかげではなくて
最近の谷川の性能のおかげなんじゃないだろうか

888:デフォルトの名無しさん
08/06/13 08:45:21
時とは残酷だな・・・

889:デフォルトの名無しさん
08/06/13 09:03:05
スーパーコンピュータの性能をなんだと思っているのだろう。
1台辺りの性能で言えば、高々補助単位一個分の違いでしかないのだが。
# それが充分大きいのは事実だとしても。
手の数の爆発はそんな規模ではないからね。

890:デフォルトの名無しさん
08/06/13 16:24:12
今だったら並列処理の方が単体のスパコンより、
処理速度が上げられる事実。

891:デフォルトの名無しさん
08/06/15 23:45:31
単体のスパコンって何だ?
今時、スパコンはスカラー型でもベクトル型でも大抵クラスターだぞ。

892:デフォルトの名無しさん
08/06/17 01:09:40
NECのSXシリーズのCPUなんて2GHzしかない。
ベクトル演算がどんなに速くても将棋じゃ使わない。

COM将棋で必要な整数演算で比較したらSXシリーズは、
個人で買えるCore2Duo3GHzより遅い

ちなみにクラスタ構成にしても将棋は速くならない
(選手権にクラスタで参加しているチームはない)


893:デフォルトの名無しさん
08/06/17 03:29:42
>>323まで読んだ。あとは流し読み。
将棋の完全解析プログラム検証向けの「最小セット」を考えてみた。

駒種全部再現のために自陣、敵陣の概念と全駒種を用意。
桂馬成らずや、角、飛、香の全種類の動きを再現するために横3列*縦5行は必要。
両者に玉がないといけない。
打ち歩詰めと二歩の再現のために盤上に歩が2個以上ないといけない。
するとこうなった。
┌─┬─┬─┐
│▽香│▽王│▽角│
├─┼─┼─┤
│▽金│▽歩│__│
├─┼─┼─┤
│__│__│__│
├─┼─┼─┤
│▲銀│▲歩│__│
├─┼─┼─┤
│▲飛│▲玉│▲桂│
└─┴─┴─┘
自陣、敵陣が3行づつだから中央は自陣でもあり敵陣でもある。
ただし、歩は敵陣の2段目まで入り込まないと成ることはできないものとする。
駒割りが異なるが飛側が先手、角側が後手とする。

これが先手必勝、後手必勝、引き分けのどれなのか完全解析頼む。
先手必勝か後手必勝になった場合は、あえて最善手より少しだけ悪い手を指したときに陥る引き分けのパターンの解析もよろ。
*千日手手順のアルゴリズム入れる必要があるので重要*

これで将棋の完全解析のためのアルゴリズムは全部入れられると思う。
やりにくかったら駒の配置は適当に並べ替えても可。
俺ど素人なんで変なこと言ってたら咎めておくれ。

894:デフォルトの名無しさん
08/06/17 03:50:41
先手から突っかけざるを得ず、
それに乗じて3三から玉頭を攻めて後手勝ち
のような気がする

895:デフォルトの名無しさん
08/06/17 05:50:44
かくしてこのスレは
「おまいら最強の将棋解析理論提案してみろよ」
スレとなりました。

896:デフォルトの名無しさん
08/06/19 02:30:48
局面の評価値を格納するデータベースのことだけど
局面を識別する番号とかと、その評価値が判ればいいので

同じ評価値のものをまとめて記録すればいい
例えば、先手勝ちは、100,000番~4290,000番って感じ
上手く識別番号を付けることが必要になるかも知れないけど

あと仮に評価値が(先手勝ち、引き分け、先手負け)の場合
一番頻度の高いものは記録せずに、見つからなかった場合の規定値にするとかで容量を減らせると思う

897:デフォルトの名無しさん
08/06/19 02:48:08
>上手く識別番号を付けることが必要になるかも知れないけど
無理


898:デフォルトの名無しさん
08/06/19 15:33:04
age

899:デフォルトの名無しさん
08/06/19 20:14:10
>>896
つかさ、先手勝ち・引き分け・先手負けの3つの領域を作って、評価値に応じた領域に保存すりゃよくね?
まぁ、そーゆー事して多少容量減らしても焼石に水なんだが。

900:デフォルトの名無しさん
08/06/19 20:18:27
>上手く識別番号を付ける
これを行う関数は評価関数と等価


901:デフォルトの名無しさん
08/06/19 21:23:35
>>897-900
なんで?

902:デフォルトの名無しさん
08/06/20 07:00:02
ボナンザなどのSIKOU.DLLを補助するDLLを作れば簡単に強くできそう。
たとえば定跡手はボナンザに考えさせなくていいし、 一手目の候補手だけは
ボナンザより良い生成が出来るなら、一手進めた局面をボナンザに考えさせる。

903:デフォルトの名無しさん
08/06/20 07:08:11
フリーで、棋譜ファイルから指し手の登録が出来て、激指やAIやボナンザに変換出来るか、
それらの思考ルーチンを乗っ取って、定跡ならそのまま指し手を返すように出来ない?

904:デフォルトの名無しさん
08/06/20 08:39:06
定跡だけ指すプログラムとその定跡ファイルはこちらで作りますから
コンバートまたはSikou.dllに対応させる部分を作ってもらえないですかね?

905:デフォルトの名無しさん
08/06/20 08:53:33
>>902-904
既存のDLLをソースもないのにどうやって修正するんだ。
直接patchを当てるのか?誰がそんなことすると思うんだ?

902-904は本当にプログラムが一行でも書けるのか?

俺には902の意味自体よくわからないのだがボナンザにしても定跡DBにあるものは
思考していないが、それと何が違うんだ?


906:デフォルトの名無しさん
08/06/20 08:57:03
>>905
定跡フォーマットが公開されていなくて、個人が追加することが難しい。
あと、共通の定跡ファイルが使えるようにすること。
Sikou.dllの仕様は決まっているので、
定跡用のSikou.dll → (リネームなどして)思考用のSikou.dll
と呼び出せば、様々な思考に対応出来る

907:デフォルトの名無しさん
08/06/20 09:07:07
>>906
>>905

908:デフォルトの名無しさん
08/06/20 09:11:01
>>906
ああ、そういう意味か。

定跡を別途用意するんだな?
そしてそれは「柿木将棋」の定跡形式か何かと考えていいんだな?
定跡の指し手を返す部分は、>904によると用意してくれるんたな?

定跡手なら、それをそのまま指して、そうでないならボナンザのSikou.dllを呼び出せばいいんだな?
904のプログラム(定跡だけ指すプログラム)が書けるのに、これの何が難しいんだ?20行ぐらい書くだけじゃないか。

本当に、904のプログラムを用意してもらえるのか。そこんとこどうなの。

909:デフォルトの名無しさん
08/06/20 09:16:32
不可能か、難しい点。 

製品版の思考の乗っ取り(仲介) (あとbonanza.exeの制御も)
製品版の定跡ファイルへのコンバート
GUIインターフェースで棋譜などを追加するツール作成

910:デフォルトの名無しさん
08/06/20 09:21:06
可能なこと。

指し手確率のある定跡ファイルフォーマットを定めて、
それに将棋倶楽部24 、将棋祭り、2ちゃんなどネットのプロ棋譜
を登録すること。

911:905
08/06/20 09:22:28
俺、905 = 908ね。

>>909
> 製品版の思考の乗っ取り(仲介) (あとbonanza.exeの制御も)

これは製品版でもボナンザは、Sikou.dllを用いていて、このインターフェース自体は
CSAで標準化(?)されているものと同じだろうから、自前でSikou.dllを用意すればいいということなのでは。

> 製品版の定跡ファイルへのコンバート

それはしないでいいのだろう。

> GUIインターフェースで棋譜などを追加するツール作成

902は、たぶん、柿木将棋か何かでやるのだろう。
柿木将棋用の定跡フォーマットなら優秀な定跡を公開している人は結構いるのでそれをそのまま使うのかは知らないが。

912:デフォルトの名無しさん
08/06/20 09:24:55
将棋倶楽部24で50万局、プロの棋譜で5万局 ほどありますから柿木だと処理しきれないと思います

913:905
08/06/20 09:34:58
>>912
定跡部分なんだから、序盤はほとんど重複してるし、将棋倶楽部24のも
ボナンザより弱い人が指してるようなの入力しても仕方でしょうに。

せいぜい入力するのは5万局ぐらいでしょ。それなら柿木で十分処理できるよ。

そもそも、1局処理するのに1分としても1日8時間かけて480局しか処理できないよ。
そんなペースで100日やり続けても48000局。これ、誰がやるの?自動で処理するプログラム書くの?


914:デフォルトの名無しさん
08/06/21 07:12:12
ボナの定跡ファイルはいじれるんだからコンバートプログラム書けば終了だろ

915:デフォルトの名無しさん
08/06/21 17:42:26
提案ですが、現在は激指や東大将棋などはプロの実践譜を解析して
適当に定跡ファイルを作成していますが、それだとどうしても優劣のつく局面まで
登録されてしまいますが、プロの実践譜をコンピュータで形勢判断させて
コンピュータが互角と評価できるところまで自動抽出できるようにすれば、
形勢互角と思われる定跡ファイルを作れるのではないでしょうか?
ソフトによって形勢判断に違いがあるので個性が出そう


916:デフォルトの名無しさん
08/06/21 19:22:50
>激指や東大将棋などはプロの実践譜を解析して適当に定跡ファイルを作成しています
開発者が怒りそうな分だなw

917:デフォルトの名無しさん
08/06/21 20:30:18
>>916
あなたは激指や東大さらにボナの定跡ファイルを見て何も思わないですか?
これは1局じゃないだろ?って思わないですか?

918:デフォルトの名無しさん
08/06/21 22:21:18
経路君の次は定跡君かよw

919:デフォルトの名無しさん
08/06/22 02:44:04
データ記録形式だけど
XMLを特定領域のデータを記述できるようにスキーマを作ることが多いと思う

こんな感じ
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

これの棋譜版を定義できれば、各アプリ等でデータ交換が容易になると思う


920:905
08/06/22 03:15:51
>>919
xmlのparserを書くのが嫌。ファイルが肥大化するのが嫌。ベタテキストで十分。

921:デフォルトの名無しさん
08/06/22 07:22:57
>>902-904
何か、誰が何を言ってるのかいまいち良く分からんのでアレだが
フリー版で公開されてるボナンザVer2.1ならsikou.dllのソースも
定跡のフォーマットも公開されてるじゃマイか?

sikou.dllは思考部本体ではなくCSA将棋から呼び出されて
本体(bonanza.exe)を呼び出すだけの中継用DLLだけど
bonanza.exeを呼び出す際のインターフェースも公開されて
いるのでかなり好き勝手に操れるはず。
(CSA将棋->sikou.dll:CSA将棋がインターフェースを定義、DLL呼び出し)
(sikou.dll->bonanza.exe:Bonanzaの独自定義、anonymous pipe経由)

実際にbonanza.exeを自在に操るソフト(GUI?)を書いて
みたわけでは無いけれどhackフォルダー以下を見るとそう思える。
商用版(Ver2.1や3.0)では呼び出し方など仕様がちがうのかね?

ボナンザ以外(激指やAIなど)と言うか何にでも共通に使える
定跡ファイルの仕様を定めようとか言うんなら、それぞれの
仕様がどこまで公開されてるのか知らないので良く分からん。

922:デフォルトの名無しさん
08/06/22 08:12:05
>>920
parserは既存のを使えばいい
データ属性の変更や他のXMLベースのユーティリティを使えない

923:デフォルトの名無しさん
08/06/22 09:33:26
>>922
C++から使えてportableでfreeで商用利用可能で省メモリでファイルをシステムメモリに丸読みしないような
xml parserの実装があるなら是非教えて欲しい。

924:デフォルトの名無しさん
08/06/22 09:44:51
ワラタ

925:デフォルトの名無しさん
08/06/22 13:04:43
それぞれの思考に未着した定跡ファイルを一般化して統一し。
無理に使用したところで思考部分が弱くなるだけで意味が無い。

926:デフォルトの名無しさん
08/06/22 18:53:51
>>923
DOMとかない?

927:デフォルトの名無しさん
08/06/24 09:33:47
>>926
DOMなら、通常DOMツリーとして扱うだろ。あれはファイル全体をメモリ上に丸読みする必要がある。

そもそも、923で書いたような軽量なXML parserの実装はこの世に存在しないんだよ。
XMLは大きなデータを扱うのに適していない。

将棋の定跡なんてたいしたデータ構造ではないし拡張するわけでもないし、
parseが難しいわけでもないから、そんなところにXMLを採用するのは
XMLのことを知らない馬鹿のすることだとしか言いようがない。

928:デフォルトの名無しさん
08/06/24 21:56:41
他人のふんどしで、楽がしたいだけだろ。

929:デフォルトの名無しさん
08/06/24 22:36:46
つーか、現状をどう認識していてその上で何がしたいのか
もうちょっとハッキリさせてもらわないと賛成も反対も
協力もできそうにないわ。

930:デフォルトの名無しさん
08/06/25 02:13:04
>>927
SAXは?

931:デフォルトの名無しさん
08/06/25 02:19:09
>>928
parserを作るとか、データ交換の仕組みを作るとかそういうのが目的なら
自分で作ってもいいけど
目的は違うんじゃないの?
だったら目的と違う部分は既存のものを使ってもいいんじゃないかな

他の用途で作られた機能を利用することもできるんだし
それで足りなくて必要になったらその部分を作ればいいだけ

全て自分で作ることにこだわる必要はないと思うけど?

932:デフォルトの名無しさん
08/06/25 05:49:19
>>930
SAXはinterfaceの規定だけ。どの実装のことを言ってるんだ?

923で書いたような実装があるなら是非教えて欲しい。
あと文字コードもUnicodeとShift_JISが扱えるやつな。

だいたいな、部分的に読んで行こうが、10MBぐらいで済むはずの定跡ファイルが
XMLで書くと200MBぐらいになるんだよ。それでいてparserが書きやすいわけでもない。
読み込み時間も書き出し時間も長くなる。

自分の作る将棋ソフトからそんなファイルを実行時に読み込むわけにもいかず、
別途自分のソフト用の定跡フォーマットを用意しなければならない。

これではメリットがどこにもない。

最初から標準化された小柄な定跡データフォーマットがあれば、自分のソフト用の
定跡フォーマットもそれを使えばいい。parserを二つも書く必要がなくなる。

933:デフォルトの名無しさん
08/06/25 12:52:09
評価の観点はいろいろあるから932が示した要件を満たさなくても利点は有ると思うけど
使いたくなければそれでいいと思う
時代に取り残されるかも知れないけど

934:デフォルトの名無しさん
08/06/25 12:56:52
>>933
本当にあんた、一行でもプログラムが書けるのか?寝言はいい加減にしてくれ。

935:デフォルトの名無しさん
08/06/25 18:54:04
未知なものへの拒絶反応だな


936:デフォルトの名無しさん
08/06/25 18:58:03
モノも論理も出さずよく言うわ


937:デフォルトの名無しさん
08/06/25 20:47:39
つーかさ、定跡って本当に必要なのか?
いっさい使ってなくても別にこまらんのだが。

938:デフォルトの名無しさん
08/06/25 23:08:19
喪前の思考アルゴリズムが定跡を活かせないタイプのものだからじゃね?
一般に強いとされるゲーム用AIは相当数の棋譜を記憶しているもんだが



939:デフォルトの名無しさん
08/06/25 23:16:33
定跡を暗記させているわけでもないのに、
どんな状況でも、自動的に定跡を導いちゃうアルゴリズムは凄い

是非公開してくれ

940:デフォルトの名無しさん
08/06/25 23:49:22
チェスでは普通にコンピュータvsコンピュータから
新しい定跡ラインが登場したりもする。

941:デフォルトの名無しさん
08/06/26 00:02:33
URLリンク(www.google.com)


942:デフォルトの名無しさん
08/06/26 01:11:43
将棋の存在しうる盤の状態は10^150通りらしいぞ
囲碁は10^365な

オセロは6x6までなら完全に解明されている
チェスを完全に解明したという論文があったけど、続報を聞かないし嘘かいな

943:デフォルトの名無しさん
08/06/26 01:14:47
解明されたのはチェッカーじゃなくて?
チェスは聞いたことない。


944:デフォルトの名無しさん
08/06/26 07:00:25
>>941
プログラムが一行も書けなくて自分で検証する能力もないくせに
わけもわからず検索して貼り付けなくていいよ。

945:デフォルトの名無しさん
08/06/26 21:18:53
>>902-904
マイボナの作者がu2bというUSIとBonanzaのsikou.dllの橋渡しをする
プログラムのソースを公開している

そのソースを改造すれば、オリジナルの定跡を指させたり、
Bonaがやってないルートで詰め将棋ルーチンを呼ぶといった改造はできる。


946:デフォルトの名無しさん
08/06/30 12:53:46
だから将棋はなぜ詰めるのかを数学的に解ければその結果を利用して最強になれるんだって、
だれか本気で詰め将棋を研究すれば人間では勝てなくなるようなプログラムが作れるはず。

947:デフォルトの名無しさん
08/06/30 13:21:32
既にほとんどの人間は勝てないけど。。。

それよりも一般的に効率よくゲームが強くなる方法があればいい。
まぁ「唯一の確かな基準である勝敗」が調べやすい局面を研究するというのは分かるが。

948:デフォルトの名無しさん
08/07/01 01:50:36
>>946
詰め将棋は既に本気で研究されてますよ
dfpnでググってみて


949:デフォルトの名無しさん
08/07/01 20:56:29
いくら読んでも詰みがみつからない序盤から中盤はどうすんだよ
序盤で劣勢になったらプロレベルは挽回不可能

950:デフォルトの名無しさん
08/07/04 03:52:20
そこで定跡の登場たい

951:デフォルトの名無しさん
08/07/05 10:35:14
>>946
> だから将棋はなぜ詰めるのかを数学的に解ければ

二人零和有限確定完全情報ゲームだから?


952:デフォルトの名無しさん
08/07/05 12:15:20
千日手があるから詰めない状況もあるんじゃ?

953:デフォルトの名無しさん
08/07/05 13:25:33
>>952
千日手は攻めてる側が手をかえなきゃならない....と思ってたんだが、
念のためwikipediaを見てみたら

>手番が全く同じ状態が1局中に4回現れると千日手になる。
>千日手になった場合はその勝負をなかったことにする。

ってなってた。そうか、ノーゲームにできるのか。



954:デフォルトの名無しさん
08/07/05 13:41:51
手を変えなきゃいけないのは連続王手の千日手だろー

955:デフォルトの名無しさん
08/07/05 14:54:29
攻めてる側が手を変えるというルールはずっと昔のものだ。

956:デフォルトの名無しさん
08/07/05 15:38:28
つか明文化されたルールってないよね<将棋

957:デフォルトの名無しさん
08/07/05 16:12:09
>>956
URLリンク(d.hatena.ne.jp)

> 私 「将棋の公式ルールを明文化したものはどこかにありますか?」
> 神吉「将棋のルールは、日本将棋連盟発行の将棋ガイドブックにあります。」



958:デフォルトの名無しさん
08/07/05 16:25:41
どんなゲームにだって、ローカルルールがあるのさw
将棋における日本のローカルルールは 日本将棋連盟が明文化しているらしい。

959:デフォルトの名無しさん
08/07/05 16:30:53
>>958
明文化しているけれど非公開らしいね

ガイドブックのやつは一般向けのルールってことで
穴を指摘されても修正しません、ということらしい。実際穴はたくさんある。

960:デフォルトの名無しさん
08/07/05 16:43:37
日本将棋連盟によるルールと、俺んちのルールはちげーんだよ!
って言う方ですね?

961:デフォルトの名無しさん
08/07/06 12:01:49
>959
ルールにはっきりした穴があると思うなら日本将棋連盟にメールか何かで指摘してあげたら?
俺が認識してるルールの多少なりとも曖昧な点は双方入玉時の持将棋宣言くらいだが。

962:デフォルトの名無しさん
08/07/06 17:52:26
持将棋のルールの不備はここが詳しいよな
URLリンク(kofu.cool.ne.jp)

禁手の定義も不備があるね。
詰め将棋くらいにしか影響が無いとはいえ、
言葉で修正がきく部分なんだから弁護士でも入れて修正すればいいのに。

963:デフォルトの名無しさん
08/07/06 22:09:31
>>962
ゲームのルールを改訂すると、過去の棋符に影響するんじゃないの?
その辺どうなのかな?

 まあ、過去は過去ってルールーにしちゃえばいいんだけどねw

964:デフォルトの名無しさん
08/07/07 14:54:48
ルールーwww

965:デフォルトの名無しさん
08/07/07 17:19:21
このスレでは、コンピュータ将棋協会の対戦ルールで十分だと思われ。
他のルールはスレチ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch