[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 15:39 / Filesize : 284 KB / Number-of Response : 966
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おまいら最強の将棋プログラムしてみろよ part6



1 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 15:33:11 ]
できたらよろこんでやる。
前スレ
おまいら最強の将棋プログラムしてみろよ part5
pc11.2ch.net/test/read.cgi/tech/1109307327/

279 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:38:49 ]
>>277
>>206


280 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:41:11 ]
>>279
そのアンカじゃループしてるよ
何か別の事言ってよ

281 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:48:05 ]
>>274
>>259


282 名前:248 mailto:sage [2007/07/28(土) 06:50:04 ]
>206の言ってる事はずっと以前からループしてるんだよ。
区別は必要ないから区別しなくて良いってずーっと。

283 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:51:05 ]
>>259
>>261

284 名前:248 mailto:sage [2007/07/28(土) 06:55:40 ]
あー、疲れた。
この議論だけで徹夜しちまったよ。

285 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:56:36 ]
反論が無くなったようだしとりあえず寝るか
何かあればまた今夜にでも参加するよ
みんなお疲れ

286 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:57:56 ]
>>284
俺もだ
土曜出勤なのにな

>>276に長レスを書いてたんだけどバカらしくなってきた

ああやって「これにレスできないとバカだ」みたいな言い方をするのは
釣り師が一般人を議論に引きずり込むときの常套手段なんだよなあ

287 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:00:10 ]
>>278>>280
>>276
よろしく。



288 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:00:41 ]
>>276
可能

289 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:01:35 ]
あ、定義もか
誰か出してなかったっけ

290 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:03:19 ]
>>248>>278>>280
>>269にも回答よろ。


291 名前:248 mailto:sage [2007/07/28(土) 07:05:31 ]
皆さん、お疲れさま。
付き合ってくれてアリガトン。

292 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:06:06 ]
「局面情報と手番と手順と結果」を持つ表を作れる事が完全解析ができるということ

293 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:11:27 ]
自分も寝る
おやすみ

294 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:12:23 ]
なんか急に伸びすぎワロタwwww

295 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:32:27 ]
俺は松原先生の本を昔図書館で何冊か読んだ程度で
ゲームの数学は全然わからないからあれだけど
記号や用語などもたぶんでたらめ

状態変数X1、X2、…、Xnはそれぞれ
有限集合A1、A2、…、Anに値をとる変数として

直積A := A1×A2×…×Anの要素 X = (X1, X2, …, Xn) を
このゲームの状態という

Aから、Aの部分集合全体P(A)への写像 M がある(可能な着手)

Aから集合R:={勝ち, 負け, 引き分け, それ以外}への写像Vがある

Aの元X0があり、これを初期状態という

k手からなる手順Fとは、Aのk乗の元 ( X1, X2, …, Xk ) であって
 X1 は M(X0) の元
 Xi は M(X[i-1]) の元 (i = 1, 2, …)
をみたすもの

Aの元Xが到達可能であるとは、あるkが存在して、Xk=Xとなる
k手からなる手順が存在すること

到達可能な元の全体からなるAの部分集合をA'とする

ゲームが添え数づけ可能とは、A'からN以下の自然数への写像
Sがあって、すべてのA'の元XとすべてのM(X)の元Yとに対して
 S(X0) = 0
 S(Y) = S(X) + 1
となること

296 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:33:13 ]
以下添え数づけ可能なゲームを考える
将棋は「局面の出現回数の総和」で添え数づけ可能

k手からなる手順が終わる手順であるとはV(Xk)が勝ち、負け、
引き分けのいずれかであること

あるKが存在して、k>Kのときk手からなる手順は存在しない

完全解析WとはA'からRへの写像で次をみたすもの

 V(X) が勝ち、負け、引き分けのいずれかのときは
 W(X) = V(X)

 S(X)が偶数で、かつ、集合M(X)のSによる値域S(M(X))が
 勝ち、負け、引き分けだけからなるとき、それが
   ・勝ちを含むならば、W(X)は勝ち
   ・勝ちを含まず引き分けを含むならば、W(X)は引き分け
   ・それ以外はW(X)は負け

 S(X)が奇数で、かつ、集合M(X)のSによる値域S(M(X))が
 勝ち、負け、引き分けだけからなるとき、それが
   ・負けを含むならば、W(X)は負け
   ・負けを含まず引き分けを含むならば、W(X)は引き分け
   ・それ以外はW(X)は勝ち

次が成り立つとき完全解析が存在する(十分)

 A'の元Xについて、Xは次のいずれかを満たす
   ・M(X)は空ではない
   ・V(X)は勝ち、負け、引き分けのいずれか

証明はS(X)の有限性による

297 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 08:04:52 ]
>>206はごちゃごちゃ言いすぎ。
完全解析を「すべての局面の勝ち負けか引き分けかを決定すること」と
手順を含まずに定義したんだから、解析後に手順が関係ないのは、自明。
この定義で、解析後に手順がどうのと文句つけるのがアホ。

>>292のように、
>「局面情報と手番と手順と結果」を持つ表を作れる事が完全解析ができるということ
と定義に、手順を入れれば、解析後も手順も関係するが、こんな定義初めて見たよ。



298 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 08:24:01 ]
>>295, >>296 打ち込みサンクス!!

それによると、A'は履歴を含んでいるわけではないのだから、
やっぱり「完全解析」の定義は、局面だけであって、履歴は関係ないんだね

上の議論は、将棋固有のルールを反映したものではないけれど、
将棋もまた上の数学の枠内でのものなのでしょう

「M(X)は空ではない」ってのは、例えば両方ともパスするしかないような
状況はありえないって事だよね?更に勝ち・負け・引き分け以外の
終わり方は、将棋ではあり得ないから、やっぱり将棋は局面だけで、結論がでているんだ

299 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:21:25 ]
途中まで人間が指して、そのあと最強ソフトが指すならデータベースは使えないってことだろ
千日手があるから・・・

全局面をNとしたとき、その局面が何回現れたかを記録した
0から3までの数字列N個分を保持していなければならない

最終的には4のN乗程度の状態を保持しなければ、途中差しは出来ないって事だ

300 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:36:00 ]
>>297
いやいや、>>292などは既存の常識に疑義を言ってるのだから、
「初めて見る」は非難にはならないよ

>>298
数式に惑わされたらだめだろ
>>295-296は何も新しいこと言ってないぞ

そしてさりげに>>295のAは履歴も含んでるよ
Sは手数とか言ってるしな
履歴を持ってないとVが千日手を判定できない

最後の条件は、勝敗未定ならば有効な手がある
ということ
たとえばもしルールでステールメイトを負けにするのを
忘れていたりすると、
M(X)が空(有効な手がない)で、しかも
勝ち負け引き分けのいずれでもない
という状況が発生するね

301 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:45:39 ]
>>295, >>296 の論法で完全解析が可能であるというには、
駒の配置に加えて「この局面が何回目か」というパラメータも
ノードの状態変数として加える必要があるということ。
完全な履歴は必要ないが、何回目かは必要となる
これが「局面の出現回数の総和で添え数字づけ可能」の意味と理解した。

だとすると、途中で人間×2からコンピュータ×2に交代するとして、
全ての局面の出現回数を保持していなくても「この局面は何回目です」と
だけ伝えればいいんでないかい?後は事前に完全解析された結果に基づいて、
最強ソフトが「先手の勝ちです」「後手の勝ちです」「引き分けです」
とだけ伝えてオシマイになるはず。少なくとも十分条件としては。

302 名前:デフォルトの名無しさん [2007/07/28(土) 11:47:24 ]
>>301
勝ち負けの決まっている手順の途中に千日手が現れる可能性有り

303 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:53:02 ]
>>299
将棋というゲームの正しいイメージはこうかもしれないな

N個のマスと、それらをつなぐ線があり
マスのうちいくつかは赤か青に塗ってある

二人が交互にマスに石を置いていく

一つのマスには3個まで石を置ける
4個目の石を置いたら引き分けで終了

赤のマスに石を置いたら先手の勝ち
青のマスに石を置いたら後手の勝ち

ただし直前に相手が置いたマスから
線でつながっているいマスにしか置けない

304 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:11:18 ]
>>300
だいぶ問題が絞られてきたね。

確かに、Aが履歴を含むのかどうかで、話は全く変わってくる。
Aに出てくるnって何だ?漏れはX1, X2が、例えば各駒の場所の様な変数で、
nが駒やボードに対応するものかと思った。で、その直積であるAは
履歴を含んでいないな、と。それだと千日手の判定が出来ないから、
少なくとも、「この局面が何回目か」という情報をAnとして加えてやれば、
完全解析の対象になる、という意味だと理解したんだが。

そしてある局面が何度でてくるかという情報は、手順から
考えれば何通りでもありそうなものだが、完全解析の対象としてみた場合、
最善の選択をして射影していくのだから、S(X)が決まってくるのかなと
思ったのだけど?

突き詰めると、やっぱり
> 将棋は「局面の出現回数の総和」で添え数づけ可能
のところが漏れには解らない。

うーん、難しいね、Anの意味とS(X)の意味、もし良かったら教えて

305 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:18:15 ]
>>302
人間が指す以上、必ずしも最善手の連続ではないから、
それまでの履歴に、「完全解析」では出てこない履歴があって、
以後の手順に千日手をもたらす可能性がある。
そのため事前に用意した「完全解析」のテーブルが必ずしも
使えなくなる、でいい?

だとすると、これって結局、GHIの問題とほとんど同じだね
GHIの場合は、探索アルゴリズムが完全でないことに起因、
人間からコンピュータに替わる場合は、それまでの履歴が最善手でないこと
(勝ち負けを見落として、無駄な経路を辿っている)ことが原因
しかしこれらが、将棋の完全解析の可能性を排除するものではない

って、これでいいのかな?

306 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:25:55 ]
>>304
今から出かけるから手早いけどごめん

X1、…、Xnが駒の場所などの変数で、
A1、…、Anがその値集合

たとえばX1は「先手玉の場所」で
A1は{「1一」、「1二」、…、「9九」}
みたいな感じ

それで、「同一局面4回」のルールを記述するために
(立会人に見せて「引き分けですね」と言ってもらうために)
局面の出現回数も、X1、…、Xnの中で持ってなきゃいけない

俺もおまいさんと多分だいたい同じ考えだよ

でも全部の局面の出現回数を持たなきゃいけないと思ってる

問題図までを指すのは神ならぬ人間なのだから、
神様に言わせれば変な手などもあるはず

そこから神様が引き継いだとして
勝つつもりで指してたら、途中で「その局面は4回目ですよ」
といわれて引き分けになっちゃうかもしれない

そんなわけでXnの中にはすべての(膨大な数の)局面に対して
その出現回数をあらわす変数が含まれてる
ことを俺は想定してた

307 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:29:34 ]
>>306の続き

S(X)は「今の状況までの初手からの手数」で、
どうせ有限なのだからそんなの持ち出さなくてもいいのだけど
議論を簡単にするために出してみた

千日手がある以上、無限に多くの手数は指せない
だから手数の多いものから逆にさかのぼって
2000手以上は解明済み… 1000手以上は解明済み…
などとすることができる


>>305
たとえば簡単な状況で、自玉は必至、相手玉には
3種類の詰みが見えてるとする

ここで、もしその詰み手順の途中の局面が
3回出現済みだったら、自分は相手玉を詰めれない

だから千日手引き分けになる

もちろんそうでなければ勝ちになる
これは履歴が結論に影響を与えてるんじゃないかな



308 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:49:16 ]
>>306
なるほど「局面の出現回数の総和」って「全ての(膨大な数の)局面に対してその出現回数」
っていう意味にも読めるね。確かにこれを全て保持したとしても、局面の数が有限であり、
千日手ルールで頭が押さえられているから、それを状態変数とみたてても、取る値は
高々有限集合になって、>>295 の条件を満たす

人間から神様に交代する場合は、確かに全部保持している必要があるだろうね。
先にも書いたように、勝ちの見落としがあるから、GHI問題と同じ現象が生じる。

で、問題なのは「将棋が完全解析されるには、状態変数として、その局面の出現回数だけで
良いのか、それとも全ての局面についての出現回数が必要なのか?」ってところに絞られてきた。
>>296 氏がさらりと書いた、『将棋は「局面の出現回数の総和」で添え数づけ可能』って
いう命題、この証明を載せた文献とかが解れば、それ見てはっきりするんだが

今から出かけるってことだけど、また暇な時に相手してね、サンクス

309 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:17:27 ]
ところで、完全解析って、すべての局面の「勝ち」「負け」「引き分け」の
他に、「何回間違うと状態が変わるか」って情報いらないの?

対局は、必ず「詰み」まで指すものする。

神Aと神Bが対局して、神Aが先手。先手必勝と分かっている場合、神Aは単に「勝ち」を
選んでいけばいいが、「負け」しか選べない神Bはどんな情報を基にたくさんの「負け」の
中から手を選ぶのかな?

また、形勢差がついている局面から「人間vs神」が指し継ぎ、神が神が判断して形勢不利側を持つ。
このとき神は、差を詰めなければいけない訳だが、どんな情報を基に手を選ぶのかな?

310 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:25:12 ]
よく考えたら、その局面の出現回数だけ保持していたとすると、
状態が遷移したとき、次の状態が何回目かなんて解りっこない

したがって、あるノードの千日手判定はできるが、そこから一つ前の手順に
後退解析することすら不可能になってしまう。なぜなら、ノードは
その局面の出現回数しか保持していないため、

局面A(1回目) → 局面B(4回目) → 千日手で引き分け

といったツリー構造があれば、

局面A(1回目) → 局面B(1回目)
局面A(1回目) → 局面B(2回目)
局面A(1回目) → 局面B(3回目)

というツリー構造も必ず存在するわけだから。したがって、全ての局面に
ついての出現回数がないと、そもそも完全解析の際に千日手に至る
手順を落としていくことが全く不可能になってしまう。

結論は「棋譜としての履歴は必要ないが、全ての局面についての
出現回数を保持する必要がある」ってことになりそうだ。

311 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:25:53 ]
(つづき)
でも全ての局面について出現回数を保持するのは、理論的には簡単であっても、
現実的にはまず不可能。で、結局は順番はともかくどういった局面がこれまでに
出てきたか、その回数と共に保持していくことになる(これは実装上の問題であって、
理論的には全ての局面についての出現回数保持と同じ)。

最後の問題は、なぜ全ての局面の出現回数を保持しておけば、
将棋が添え数づけ可能になるかってことだ。>>296 の後半にある
「次が成り立つとき・・・」以下を証明なしに受け入れるとしても、
ここが争点として残る。でないと「以下添え数づけ可能なゲームを考える」
という前提から崩れてしまう

松原先生の本には、この辺の理論は載っているのかな?

312 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:27:04 ]
>309
それを考慮するためには同じ「勝ち」「負け」「引き分け」の結論でも
どんな結果が「勝ち」 or 「負け」側にとってより良いとされる手なのか
その価値基準を事前に定義しておく必要があるよ。

つまり「勝ち」「負け」が既に分かっている局面で、形勢差はどう定義
されるべきなのか?

313 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:29:43 ]
>>309
うーん完全解析の立場からいえば、その時は神様が「負けました」って
頭を下げるんだよ。で、ヘボな人間がキョトンとするという。
したがってその問題は、完全解析の枠内では無いと思うぞ
実際のプログラムを作る場合には、非常に重要になるには違いないが

余談だけど、プロ棋士も、負けのときに形を作って投げるよね

314 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:34:53 ]
>>313
> うーん完全解析の立場からいえば、その時は神様が「負けました」って
> 頭を下げるんだよ。で、ヘボな人間がキョトンとするという。
これって、笑い話だよね?
結果は分かっているから「いきなり投了」ということで、実際は、指せば指せるよね?
指せないとなると、それはそれで変。

315 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:35:53 ]
>>309
囲碁やオセロなどは目数や石数によって勝ち(負け)の価値が決められるけど、将棋は?

316 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:41:52 ]
>>315
>囲碁やオセロなどは目数や石数によって勝ち(負け)の価値が決められるけど、将棋は?
相手玉を詰ませば勝ち。



317 名前:312 mailto:sage [2007/07/28(土) 13:42:14 ]
>315
詰め将棋に準じて考えれば勝つ側はなるべく短い手数で勝つ手を選び
負ける側はなるべく長い手数で負ける手を選ぶべきなのだろうが、
結論が引き分けの時は???

また手数が同じならすべての手順は価値が同じなのか?

私には良く分からない。



318 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:44:13 ]
>>314
笑い話かどうかともかく、相手のミスをどれだけ仮定するかは、実際の将棋対極では
非常に重要な要素に思うぞ、プログラム開発に限らず。いわゆるハメ手ってやつね。
相手がヘボなら、ハメ手を使って早々に対極を終わらせるだろうし、相手が上手ければ
ハメ手を見透かされて逆に咎められるだろうから、そんな手は使わないだろう。

ハメ手は、素人相手の、相手のミスを前提とした手法だが、プロでも形勢が悪いときは
それに近いことをするようだ。たとえば米長さんの本に、状況がこちらに不利であると、
ギャンブルっぽい手をあえて選ぶと書いてあった。

319 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:55:13 ]
神はどう相手にミスを期待して、手を選ぶのか。
神が神でいられるのは、初期局面だけなのだろうか・・・


320 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:02:00 ]
子ノードの勝ち手順の多寡かなぁ・・・
でも手順は少なくても簡明な勝ちもあるだろうし・・・

321 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:14:10 ]
そうか
この議論は>>162-163に対する>>164のレスから始まってるのか

322 名前:180 mailto:sage [2007/07/28(土) 14:27:08 ]
>321
そう。そして私が>165の意見に対してキツイ事を書いて
これだけ燃え上がってしまった。

今思えば、彼が考えていた前提(神様同士が初手から対局したと仮定)が
分からなかったとは言え、失礼な書き方をしてしまった。

>165さん 
今更ですが済みません。ゴメンナサイ!

323 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:29:27 ]
>>317
昔、ちょっとGAをやったとき、生き残り戦略はそんな感じにしてた。
引き分けの時、手数が同じ時は、駒得している手数が長いほうが有利としてた。

324 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:27:51 ]
くどいようだけど、最後に一言だけ言わせて。

既存のゲームの理論を用いて、将棋の完全解析可能性を証明するには、
将棋が添え数づけ可能であることを示す必要があるのだろう。そして局面に、
全ての局面についての出現回数を保持すれば、それが添え数づけ可能になるようだ

しかし、それは「将棋が完全解析可能か」という命題には答えても、
我々が議論してきた問題とは微妙にずれているような気がする。
我々は「将棋を完全解析するのに、局面の出現回数(=履歴)を保持する必要があるのか?」
という問題を議論してきたはず。これは「将棋は完全解析可能か?」とは違う。

「局面だけで完全解析が出来るか?」という命題は、>>296の理論にもとづいて
行おうとする限りにおいては、千日手の判定ができないため>>300 氏の言っている理由により
証明出来ない。しかしこれは、他の理論で証明することまでも不可能であると言っている訳ではない。

もし局面だけで完全解析が可能だとすると、少なくとも出現回数付きの完全解析から、
一意に射影できるはず。なぜなら後者は前者に情報を追加したものだから。
もし前者で完全解析が可能であるなら、追加した情報(=局面の出現回数)は
余分な情報であって、後から射影作業によって取り除ける。

325 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:28:32 ]
(つづき)
とりあえず「局面の出現回数つきのノードで考えると、完全解析が可能」を認めるとしようや。
上の「局面の出現回数」は、そのノードの出現回数だけではなくて、全ての局面の出現回数ね。
ここで、次の問題を考えてみる。

(*)出現回数つきの状態で考えて、完全解析した状態ツリーを得たとする
このツリーに含まれる状態のうち、出現回数の項目だけ違っていて駒の配置が
同じものは、同じ結果(勝敗および千日手)がマークされているのか?

ここで、人間の勝ち筋見落としやGHI問題、また「その局面に至る途中で、
千日手の局面を経由した恐れがある」というツッコミは、不要。ミスなしは
前提であるし、「GHI」や「途中の千日手」といった問題は、出現回数つきの
状態ツリーではそもそも存在しえない。なぜなら、今議論の出発点としているのは、
回数まで出現回数まで含んだノードなんだから、「途中で千日手」を経由していないのは、
出現回数の情報から明らか。

326 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:29:13 ]
(つづき)
何が言いたいかというと…

状態図にループ構造があると、数学的に完全解析の存在の証明が非常に難しそうだ。
で、状態変数に、全ての局面についての出現回数を保持するのは、そのループ構造を
千日手に至るまでの手順で展開し(添え数づけ可能にし)、数学で知られている
既存の完全解析の理論に乗っけるための便宜的な手法に過ぎないんじゃないかと。

もし(*)が満たされれば、勝ち負けの情報を一意に保ったまま、折りたたんで、
局面だけの完全解析に移行できるように思うのさ。折りたたむと、当然ツリーから
ネットワーク構造(ループ含む)となる。

この段階で「局面だけだと、途中の千日手を経由しているかも」と議論するのは不要。
なぜなら、もともと出現回数つきのツリーから折りたたんでいるんで、先に述べた
理由から、考える必要がない。そして勝ち負けがつく局面(ノード)以外は、全て千日手の
局面のはず。当然、千日手の局面は千日手の局面で、閉じたネットワークを作る。
勝ち負けが決定したノードが千日手に繋がってないんだから。もはや勝敗・千日手とも
出現回数の差異によって、その間のツリー・ネットワークの交叉が変化しないのは明らか。
これはあくまでも、(*)の前提が満たされた場合の話ね。

でだ、(*)の問題について、誰か解るヤシはおらんか?これが鍵になる気がする。
何らかの簡単な論理で言及できそうにも思うのだが?

327 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:54:30 ]
>>324-326

(*)については「出現回数の項目だけ違っていて駒の配置が同じもので、
結果が異なることはある」でしょ。

それも「しばしば経験する」からこそ、みんな困っていて、
transposition tableにやむを得ず経路を入れなくちゃいけないわけで。





328 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:04:55 ]
>>327
きっとプロの方すね、了解しました
これで漏れの中では解決
サンクス!!

329 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:08:38 ]
>>327
それGHI問題じゃないの?

330 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:13:16 ]
>>327
反例を棋譜で示せる?

331 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:20:35 ]
>>329
GHI問題だよ。

GHI問題は「駒の配置が同じなのに、経路によってその局面の
勝ち負けのラベル付けを変えなければならないことがある」ということだよ。
まさに325の(*)の話でしょ。

325が議論していた数え上げ方の言葉で説明するなら、
「aの局面が3回出現している状態でのbの局面は負けだが、
aが2回しか出現していない状態でのbの局面は勝ち」ということがしばしば起きる、
というのがGHI問題。


332 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:24:45 ]
>>331
だとすると、GHI問題は、必ずしも探索アルゴリズムの問題とは限らなくて、
完全な探索を行ったとしても、局面から以前の局面の出現回数を取り除いたことに
起因して起こる、より本質的な問題だということになるのですね

上の方に出てきたPDFの説明では、この辺りがハッキリしない
それとも、そういった問題を総称して「GHI問題」っていうのが普通なんですか?

333 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:28:14 ]
>>331
>ここで、人間の勝ち筋見落としやGHI問題、また「その局面に至る途中で、
>千日手の局面を経由した恐れがある」というツッコミは、不要。ミスなしは
>前提であるし、「GHI」や「途中の千日手」といった問題は、出現回数つきの
>状態ツリーではそもそも存在しえない。なぜなら、今議論の出発点としているのは、
>回数まで出現回数まで含んだノードなんだから、「途中で千日手」を経由していないのは、
>出現回数の情報から明らか。
ここ読んだ?
ここが間違ってるの?

334 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:32:26 ]
>>333
漏れが意図したのは、探索アルゴリズムの問題による、見かけ状のGHI問題
PDFの2ページ目での説明では、こっちがメインだった
>>332 で書いたように、 完全な探索を行った上でもGHIが生じるのであれば
そっちのGHIは>>325 で書いたGHIには含まれないと解釈してくれ。
少なくとも、漏れが書いた意図としてはそう。

335 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:35:02 ]
>>330
岸本さんに言えば出てくるかもしれないとは思うけど、自分では持ってないなぁ。
例えば234の論文の図3「続詰むや詰まざるや」42番が、
GHIを考えなければ間違えちゃうわけだから、
その証明木の中のどこかに(*)が満たされない部分があるということでしょ。

>>332
何かの探索アルゴリズムに起因した問題ではないよ。
「同一駒割の局面が必ずしも同じ局面としては扱えない」という問題の総称が
GHI問題、ということでしょう。


336 名前:デフォルトの名無しさん [2007/07/28(土) 17:45:14 ]
(*)の反例は>>307の後半?

337 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 19:40:47 ]
自分も状態変数には出現回数が必要だと思ってるけど
不要だっていう意見の人まだ居る?



338 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 19:55:14 ]
>>324
すまん。

命題:「○○は△△△である」
→真 or 偽

の形で整理してくれないか?
問題がいくつあるのか、結論がなんなのか、結論の出ているもの、出ていないものがよく分からん。


339 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 08:20:49 ]
>>337
そもそも「双方が最善を尽くす」という前提があるので、
「引き分け」でない局面の出現が一回目ではない、というのは、
前提条件を崩しているので議論の余地はないのでは?


340 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 09:22:22 ]
>>339
一見すると、千日手のループであっても、入る場所が異なると
千日手と判定を下すタイミングが異なってくる。
したがって、ある手順では千日手のループの一部であっても、
別の手順で別の入り口から入ると、それが勝ち筋に必要な手順の一部となる。
いままでの議論を注意ぶかく読んで、 >>234 のPDFを見たらたぶん
そういう結論に至ると思うぞ。

341 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 09:29:58 ]
>>339
あと、「最善を尽くす」ために、今すべての状態遷移についての
ツリーを作ろうとしていることも忘れないでくれ ツリーの一本一本は
必ずしも「最善」に絞られて作製しなくてはならないわけではない

342 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 10:05:36 ]
簡単のため将棋ではなく、>>234 のPDFの図1で考える
二度同じ局面が出てきた場合に千日手(引き分け)とするルールを考える
まず最初に、すべての局面の出現回数を含めたツリーを考えるとし、
その出現順序をABCDEFGHの順にならべて、カギ括弧の中に書くとする

あるツリーでは、以下の手順で千日手(今は2手だけど)が成立する

手順1) A[10000000]→B[11000000]→E[11001000]→H[11001001]→E[11002001]

H[11001001]はE[11002001]しか行き先がない。E[11002001]は千日手だから、
後退解析によりH[11001001]は千日手だ。しかし以下のツリーを考えると、

手順2) A[10000000]→C[10100000]→F[10100100]→H[10100101]→E[10101101]→G[10101111]

H[10100101]は明らかに勝ち筋に必要な局面だ。

もしカギ括弧をとっぱらったとすると、手順1)では千日手としか結論づけられない局面Hが、
手順2)では勝ち筋の一部。

したがってGHIがある限り、カギ括弧付きのツリーから、カギ括弧なしへのツリーは、
一意に射影できない。重複した写像のなかから、与えられた局面に対する正解
を選び出すには、結局、なんらかの方法でカギ括弧と同じ情報をツリー検索に
加えないと駄目。これがGHI問題の本質だと漏れは理解している。

343 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 10:16:58 ]
>>340>>341>>342は、頭がおかしいんだろ
探索した手と、指された手が区別できていない


344 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 10:28:24 ]
どんな指し手にも対応できるように、
すべてを検索してしまえって話をしているのだから、
区別する必要はないように思うぞ?それとも釣りかな?

345 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 10:56:37 ]
>>340
じゃあ、言い方を変えます。
そもそも「双方が最善を尽くす」という前提があるので、
「引き分け」でない局面の出現が一回しかないのは明らかなので、
完全解析後のテーブルとしては、すべての局面(手番込み)の
「先手勝ち」「後手勝ち」「引き分け」の状態のみ持てばよいのでは?
ということです。

>自分も状態変数には出現回数が必要だと思ってるけど
当然のことながら、完全解析中のテーブルとしては必要です。
あなたの書き方は、「どのテーブルに、状態変数が必要か」が、あいまいです。

346 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 10:59:30 ]
>>343
探索で考える手順と、実際に指される手順を区別しないと、
千日手の発生状況が異なるから、意味がないっていいたいのか?
それは「カギ括弧無しには一意に射影できない」といっているのと同じだぞ

もちろん実際に指される手順は、括弧付き(括弧の情報を含む)なんだよ。

「括弧無しで議論して、手順1)での探索から、手順2)のHまで千日手と結論づけてはいけない」

といっているんだよ。
おまいさんは、カギ括弧無しで考えていて、手順1)を「探索した手」と呼び、
手順2)を「指された手」と言っているように思うんだが?

347 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 11:03:51 ]
>>346は完全な釣りですから・・・相手にするのはやめましょうね



348 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:05:00 ]
俺は門外漢なんで申し訳ないが

>>331
325が議論していた数え上げ方の言葉で説明するなら、
「aの局面が3回出現している状態でのbの局面は負けだが、
aが2回しか出現していない状態でのbの局面は勝ち」ということがしばしば起きる、
というのがGHI問題。

というのがサッパリわからない

ここで言うaとかbとかってそれぞれ同じ局面なんでしょ?
なんで勝ち負けが変わったりするの?

349 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:06:40 ]
>345
>そもそも「双方が最善を尽くす」という前提があるので、
>「引き分け」でない局面の出現が一回しかないのは明らかなので、

この『「引き分け」でない局面』でいうところの、「局面」は、
今までの全ての局面の出現回数を、情報として持っている?持っていない?
漏れの説明もあいまいだったかも知れんが、そちらの質問もまた漏れには
あいまいにうつってる。悪いが、言葉を補ってくれ。

350 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:13:55 ]
>>349
完全解析後のテーブルとしては、持っていません。
ただし、対局である以上「棋譜」が生成されているので、
棋譜を見れば、その対局での「局面」の出現回数は分かります。


351 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 11:14:08 ]
>>348
同一局面が4回現れると引き分けで指し直しになる
引き分けにあえて持ち込むか、勝ちを狙うかという違いが出てくる

352 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 11:16:29 ]
途中から、人間→CPUに切り替える場合のみ局面の回数が必要
はじめからCPUなら同一局面はあり得ない(単に手を延長するだけでしかないため)

353 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:16:40 ]
>>351
>>339


354 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 11:18:58 ]
>>352
>>339
「人間→CPU」は、対局上「双方が最善を尽くす」ではない。


355 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 12:36:08 ]
そもそも千日手で引き分けは王手とか詰み回避の時しか成立しないじゃなかったか?
何の意味も無い議論をしてるようにしか見えないのだけど。

356 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 14:10:13 ]
まあ、完全解析自体が計算量的に不可能なんだから
千日手を巧いこと処理して、1万倍の速度で解析したところで
全然意味ないし、始めから机上の空論なわけですよ。

357 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 14:15:14 ]
机上の空論もなかなか楽しいもんだぜ?



358 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 14:21:59 ]
ja.wikipedia.org/wiki/%E5%8D%83%E6%97%A5%E6%89%8B
千日手のルールって結構最近出来たものなんだね

359 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 14:44:00 ]
>>180は、「例え将棋の神様であっても」といってる
理論と現実の区別もついてなかったのか・・・
妙に納得


360 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 15:07:08 ]
因みに地球上の全ての原子に1ビットづつ記録しても、
全ての局面を記憶することはできないし
かと言って量子コンピューターで将棋ができる時代の遥か以前に
名人は負けてるでしょうし。彼は何が言いたかったんでしょうね

361 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 15:11:28 ]
>>351
24でR2300ていどのヘタレの意見だから的外れかもしれないけど


同一局面が出てきた場合、そこで千日手か打開かの選択が生まれるってのは
対局中よくある話なんで理解できる

ただ、331は引き分け(千日手)or勝ち(打開)じゃなくって
負けor勝ちというふうになってる

そこが理解できない

362 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 15:32:27 ]
>>361
連続王手の千日手なら引き分けじゃなくて負けになるよ。

363 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 16:20:51 ]
>>362
するどいね。ただ>361 の意見にも一理あって、
>351 に、引き分けも加えるべきだろうね

それと「最後の審判」っていう詰め将棋の問題があるようだ
現在の将棋のルールには不備があって、
必ずしも勝ち・負け・千日手で閉じるわけではない

打ち歩詰めのルールは、やや特例的なものだから、
仮に全部探索したところで、このルールを適用すると、
一部の状態ノードの勝ち負けが重複してしまう

現状の詰め将棋のプログラムに「最後の審判」食わせたら、
ただしく「不定です」って答えるのかな?

364 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 19:28:20 ]
後手が王手を防ぐために打つあい駒の歩が逆王手になっている。
先手がそれを取って王手をすると千日手になってしまい先手は取れない。
しかしその局面は先手が歩を取れないと、先手玉は歩打ちで詰んでる。

365 名前:364 [2007/07/29(日) 19:30:41 ]
個人的な意見だけど、詰め将棋としては歩詰みで、対戦としては後手の勝ちでいいんじゃない?
同一局面が2回しか出ていないなら王手を外せるんだから

366 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:30:46 ]
>>364
打ち歩詰めで後手の負け

367 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 19:33:47 ]
作者の作意では、歩の合駒が出来ないから(打ち歩詰め)後手の負けって事らしいね



368 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 19:35:59 ]
>>366
先手の方から、同一局面への王手を外せるんだから
先手が繰り返す方が悪い

369 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 19:45:37 ]
>>366
麻雀でいう形式テンパイを認めるっていうやつと同じだ
盤面をみただけでは打ち歩詰めではないのだからOKにしようぜ!

370 名前:名無しさん@そうだ選挙に行こう [2007/07/29(日) 20:17:17 ]
>>366
これ嫁 
千日手の定義より、打ち歩詰めの定義の方が優先されている
歩で王手する手は、ルールによれば、打ち歩詰めの規定には当てはまらない
しかし、歩を取る4度目の王手は千日手の規定に当てはまる 後手の勝ちだ


「特に決められた禁手事項」
(将棋世界平成5年1月号付録の'93年版 将棋ルールブック)

3.打ち歩詰
持駒の歩を打って王手をした局面で
王手を解除することが不可能な状態になる時、その歩を打つ手

5.連続王手の千日手
一局中同一局面の最初と4回目の局面の間の
一方の指し手が王手の連続であった時、
王手をした側にとって4回目が出現したときの局面。

371 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 20:55:46 ]
将棋のルールってこんなに複雑だったんだね

372 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 22:10:18 ]
最初から完璧に考え抜かれて作られたルールじゃないから
想定外な状況に対処するために後付けルールを足して複雑になって来ている訳か

まるでこれは

373 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 23:46:53 0]
まるでこれは・・・何?

374 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 00:03:11 ]
続きはWEBで

375 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 00:05:43 ]
   〃∩ ∧_∧
   ⊂⌒(  ・ω・)  はいはいわろすわろす
     `ヽ_っ⌒/⌒c     
        ⌒ ⌒

376 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 02:02:41 ]
>>350
ああ、やっと言いたいことが解った。
お互いが最善手を尽くせば、同一局面は二度あらわれないってのが
間違いだと思うぞ。それだと千日手に陥る局面というのはそもそも存在しない。

実際には、千日手ルールを無視した最善手だと千日手になってしまう局面が、
詰め将棋にあって今それを議論している。そして千日手は避けないといけないから、
それを効率よくコンピュータで処理する方法はどうかって話。

初期局面からの完全解析は当然無理だが、これは詰め将棋の問題を内包するし、
詰め将棋を適切に解く技術は、将棋のプログラム開発に必要

千日手になるタイミング云々の話は、そうしたことは当然わかっているものとして、
答えたんだよ

377 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 02:19:16 ]
どういった解釈が正しいかについては、議論があるだろうが、
いずれにせよプログラム開発の段階では、各ノードの結論として、
「先手勝ち」「後手勝ち」「千日手」に加え、「先手打ち歩詰め」と
「後手打ち歩詰め」を考慮しないと駄目だろうね。



378 名前:180 mailto:sage [2007/07/30(月) 02:34:52 ]
>359-360

私のこの問題に関する(このスレでの)これまでの発言は

>180 >183 >185 >191 >199 >203 >211 >218 >223 >228 >233
>242 >248 >260 >263 >268 >275 >282 >284 >291 >312 >317
>322

言いたい事はこれがほぼ全てなのでそこから判断してください。

ちなみに「例え将棋の神様であっても……分からない」と言う意味は
人間、あるいは何も考えてないプレーヤー(機械を含む)が指した
将棋を途中から将棋の神様が引き継いだとしたら、それまでに
どの局面が何回現われたかと言う情報なしに指し継いだのでは
最善手が何か決められないし、千日手かどうかの判断もできない
と言う事です。

なぜなら、元々の話題が将棋の神様同士が対局した場合に現われる
局面だけではなく、理論上考えられるあらゆる局面に対して「勝ち」
「負け」「引き分け」の結論を出そうと言う話なのでそういうふうに
解釈したと言う事です。

379 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 02:41:23 ]
もひとつ追加すると、さっきも言ったが、「引き分け」の局面かどうかは、
その千日手ループにいつ突入したかで替わってくる。千日手判定が下る瞬間が違うんだから。
出現回数を保持していない局面のみの情報では、それが「引き分け」かどうか解らない

だから、

>「引き分け」でない局面の出現が一回しかないのは明らかなので、
> 完全解析後のテーブルとしては、すべての局面(手番込み)の

上記の「『引き分け』ではい局面」の、「局面」には出現回数を含ませる必要があって、
それなしには「引き分け」かどうか解らず、そして出現回数によって結果が違っているから、
出現回数の情報を単純にとっぱらうことは出来ない

おまいさんの言っている「解析中のテーブル」を「括弧付きのテーブル」、
「解析後のテーブル」を「括弧なしのテーブル」と読み替えて、>>340, 342 を見てくれ

それと>350で

1)「完全解析後のテーブルとしては持っていません」
2) 「ただし対局である以上「棋譜」が生成されているので、
棋譜を見れば、その対局での「局面」の出現回数は分かります。 」

棋譜の情報を保持していれば、出現回数が解るので、1)と2)は両立しないよ
もし仮に2)が実際の対局を想定していっているのであっても、
参照先である「完全解析後のテーブル」が、1)によって情報を失っているので、
付き合わせることは出来ない。ないのと一緒だ

380 名前:デフォルトの名無しさん [2007/07/30(月) 02:51:14 ]
>>180は釣りか、解析後と解析中は判っていない

381 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 02:54:22 ]
>378

あんまし気にしない方がいいと思うよ、ここ2chだし
ちなみに量子コンピュータ関係で言うとね、まるで量子コンピュータが完成すれば
今コンピュータで扱っている問題がすべて並列に瞬間的に解けるとする
言説がまかり通っているけど、それは勉強不足

量子コンピュータでは、解きたい問題ごとにアルゴリズムを考える必要がある
自分の知る限り、Shor, Grover以外に、パッとする実用的な話はないのが現状
量子コンピュータで、例えば3x3オセロでも解くアルゴリムを作ったら
そりゃ後世に名を残す、いい仕事になると思う

だから仮に量子コンピュータデバイスが実現したとしても、
それを使って将棋を解くアルゴリズムが見つからない状況になると思うぞ
将棋は人間が作ったゲームだから、問題設定が非常に複雑だ

382 名前:180 mailto:sage [2007/07/30(月) 03:10:50 ]
ついでに今、私の頭の中で整理されている(つもりの)イメージを
お話しますと局面と指し手の組の集合が3種類あります。
(細かく分けると4種類)

O(1):将棋の神様同士がお互いに最善手を指し合った場合の集合

O(2):将棋の神様が勝てる側(先手必勝なら先手、後手必勝なら後手)を
   持って相手があらゆる手を指して来た場合に対応して勝つ手の集合。

   結論が引き分けなら相手があらゆる手を指して来た場合に
悪くとも引き分けに持ち込む(相手がミスをすれば勝つ)手の集合。
   
O(3):ルール上許されるあらゆる手で初期局面からたどり着ける局面
   及び指し手の集合(局面は指し手によりメッシュ状に連結される)

明らかにO(2)はO(3)の真部分集合であり、O(1)はO(2)の真部分集合です。
さらに

O(3)':ルール上許されるあらゆる手で初期局面からたどり着ける局面
   をそこに至る手順で区別したもの及びそこからの指し手の集合
   (局面と指し手は木構造で表現できる)

これまでこのスレで問題となっているのは「勝ち」「負け」「引き分け」の
区別を局面にラベル付けするにはO(3)の中で話しが閉じるのか、あるいは
O(3)'の集合に移行しなければならないのかと言う事ですよね。

私はGHI問題が存在するために局面を探索する途中のみならず、
その結果を保持するためにもO(3)'の集合上で表現しなければならない
(でなければ必要な情報が欠落する)と考えているわけです。

383 名前:デフォルトの名無しさん [2007/07/30(月) 03:26:02 ]
可能な局面数 Nにたいし、3回訪れた、0-2回訪れたという情報を持っていれば完全に解ける

2のN乗局面調べればいい

384 名前:180 mailto:sage [2007/07/30(月) 03:31:22 ]
>381
いえ、私はほとんどたった一人の人を相手に話をしているつもりなのです。
それは将棋板の「将棋って数学に似てるの?」スレ

game12.2ch.net/test/read.cgi/bgame/1136526660/

で私とずっと議論を戦わせてた人(276)。この人に納得してもらいたい。
ちなみに私はそのスレで281の発言をした者です。

で、>359-360及びこのスレの>206他はその人の発言なんじゃないかな?と
もし違っていたらゴメンナサイ、誤ります。

385 名前:デフォルトの名無しさん [2007/07/30(月) 03:44:29 ]
>>384よ、
可能な局面(N個とする) ごとに、3回訪れたかどうかの情報を持ち、かつ
局面データがあれば完全にとけているんだ 意味わかるか?
これ以上のことはないだろが どこが不満だ?
道筋は全く関係ない

まずは、初手からならば局面だけ持っていればいいことは判っているのか??

386 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 04:08:11 ]
>385
私も解析対象の局面に至る手順の情報全てを保持しなければならないとは
思ってません。ある程度(かなり?)、圧縮は効くでしょう。
ただ、実際に解析する際の手順としてはO(3)'上でゲーム木を展開するのが
いちばんシンプルで分かりやすいと思います。探索すべき局面は増えますが。

また初手から神プレーヤー同士が対戦するならば純粋な局面情報のみ保持
すれば良い、即ちO(1)上の結果にGHI問題が発生しないのは分かります。
まだ、いまいち良く分からないのはO(2)上の結果もそうなのか? 
こちらの結果も経路により区別する必要は無いのか?と言う事です。

387 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 04:15:33 ]
>>378
ごめんね。

>>359は、>>355-357に対して、>>180をみれば「理論」の
話をしているのは分かるのに、「理論」だからこそ、
みんな付き合っているのに、「実行不可能」とか言い出すから、
いまさらそんなことを言うやつが出てくるのか、といった
意味合いの発言でした。
>>180に言ったわけではないです。

>妙に納得
は、
>>170と同じようなニュアンス。

ちなみに
> 人間、あるいは何も考えてないプレーヤー(機械を含む)が指した
> 将棋を途中から将棋の神様が引き継いだとしたら、それまでに
> どの局面が何回現われたかと言う情報なしに指し継いだのでは
この情報とやらは、棋譜で十分では?
それと、無責任なことはするなよ?
と思わなくもないのですが。



388 名前:378 mailto:sage [2007/07/30(月) 04:25:19 ]
>387
ああ、そういう意味でしたか。それはこちらこそ失礼致しました。

引き継ぐべき情報はもちろん棋譜で十分ですね。
無責任な行為かも知れませんが、任意の局面に結論を出すためには
そのような仮定が必要になると思います。

389 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 04:33:22 ]
>>388
またまた、ごめん。

>それと、無責任なことはするなよ?
は、>>378に言ったのではなく、話の内容で、対局を引き継ぐのに
「千日手になるかならないかの瀬戸際で交代するなよ。せめて二回目の
局面で交代してやれよ。」と言う意味でした。

他の人もそう思ったかな?

390 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 04:52:43 ]
>>388
ちなみに
> 引き継ぐべき情報はもちろん棋譜で十分ですね。
とのことですので、>>379と意見が異なると言うことですよね?

>>379は、まったく、困ったもんですよね。

391 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 12:46:16 ]
>>378さん(>>379さんもかな)

>>217を、もう一度よく読んでみてください。
よく読むとわかると思うのですが、初期局面の駒配置については、
何の言及もされていないのです。
これは、「初期局面として、任意の局面を指定可能」という事でしょう。
上での議論は、「理論上考えられるあらゆる局面」を十分含んでいるので
心配しないでください。

392 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 13:04:15 ]
将棋の完全解析って言うのは初手から終局までのすべての手筋を網羅した地図を作ることだろ?
当然そんなことは出来ないし意味が無いから勝敗に関係の有る部分だけ解析すればいいだけであって、
人間相手に最強を目指すなら同じ局面が何度来ようがその時に可能なベストの手を打ち続ければいいはず、
結果的にそれが千日手になっても将棋のルールに不備がある部分に達しても負けはしない。

393 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 13:09:16 ]
うん
それが何か?

394 名前:デフォルトの名無しさん [2007/07/30(月) 18:44:34 ]
>>381
その通りで、量子コンピュータが実現すれば既存のコンピュータで難しい問題が
なんでも一瞬で解けるようになると思っている人間がいるから困る。
量子アルゴリズムがあって初めて高速な計算が可能になる。
ゲーム木の探索なんて量子アルゴリズムとは相容れないだろう。

395 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:41:16 ]
>>376>>379
あなたは、>>345>>350の内容を全然理解していないことがわかりました。
基本的に、話の発端である>>165と同じことを言っているんですよ?

あと、詰め将棋のルールと、指し将棋のルールが違うことを知っていますか?
ルールが違えば、検索方針も違うんですけど?

>>180の方は、
>引き継ぐべき情報はもちろん棋譜で十分ですね。
と納得したようですが、あなたは理解できましたか?

396 名前:デフォルトの名無しさん [2007/08/02(木) 14:41:33 ]
>>394
>量子アルゴリズムがあって初めて高速な計算が可能になる。
高速な計算とは言わないだろ、手順を経て組み立てる計算なら高速であるが
局所的な超同時な仕組みでは計算しているというより状態の合成をしている
に過ぎないよな。
そもそも計算は「計って」、「数を算する」ことであて量子コンでは
計ってもないし、数も扱っていない。
量子コンピュータで致命的なものはソフトウエア、つまりプログラムの
仕組みが存在しないことだよな。
超同時演算にソフトウエアが存在したら、それが足を引っ張り
早いどころか亀速度になるw

量子コンピュータが学者の間で注目されないのは、ハードウエアとして
存在しなければいけないという前提があるからだろ。
電子回路な計算機で、ソフトウエアなしの計算機では利用価値などない。
「ソフトウエア」がどれだけ重要な発明であるか理解しておいたほうがいい。

397 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:48:22 ]
>>392
>将棋の完全解析って言うのは初手から終局までのすべての手筋を網羅した地図を作ることだろ?
「巡廻セールスマン問題」で完全解析を行ったというような話と同じだよな。
最適解だと証明したようなことを言う奴はいるが、結局は抜けが発生する。

類似問題を全数を判断せずに証明したと言い張るDQNがいるが、
科学では仮説と実証だけでは、科学ではない。
仮説→実証→複数の反証で多面的に検証できなければ証明したことにはならない。
原理を解明したとか信じるヴァカも多いよな。まさしく宗教の域。



398 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:57:04 ]
>>396
禿げしく胴衣

399 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:24:09 ]
>>396
別にソフトウエア無でも超高速なデータベースとして機能すれば十分だろ
大体、計算機という翻訳語が変で、コンピューターは演算する機械だよ
つまり状態の合成をしているだけなんだがw



400 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:50:10 ]
>>396
量子コンピューターに対してどんだけ無学なんだよ、中学生か?

401 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:54:27 ]
何の指摘にもなってないよ

402 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:25:22 ]
量子デバイスでだって量子ゲートは設計できる。
即ちチューリングマシンが構成できるし、メモリーだって作れるので
原理的に現代のノイマン型コンピュータで可能な事はなんでもできる。
ただ量子エンタングルメントを利用した長いキュービットによる
超並列演算をしないと、現代のコンピュータより圧倒的には
速くならないと言うだけで。

長いエンタングルメントしたキュービットの列で
特殊用途の専用アキュムレータ(と専用アルゴリズム用特殊ハードウェア)を
構成して今のノイマン型コンビュータアーキテクチャの一部として
埋め込む事も出来るんじゃないかな?
周りのノイマン型の部分は既存のデバイスでも量子デバイスでも良いだろうし。

いずれにしろ、まだろくに存在していないものを
あれが出来てこれが出来ないと言うのは早計じゃないか?
アルゴリズムが無ければキュービットアキュムレータが働かない
(超並列演算が出来ない)のはその通りだろうが。

403 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:01:57 ]
>即ちチューリングマシンが構成できるし、メモリーだって作れるので
それではチューリングマシンであって、量子コンピュータではないだろ
頭変になったのか?

404 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:24:09 ]
量子チューリングマシンと言うのが定式化されている。

405 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 00:34:50 ]
>>404
あたま悪そうだな。チューリングマシンの手順式手法に戻るのなら
従来技術に激しく勝てず、量子の意味すらなくなる。
手順式は手順を超える演算はできないんだよ。

量子チューリングマシンでは量子コンピュータが得意とする因数分解が
出来なくなるw
これでは古典的コンピュータの因数分解専用の演算回路に下った
たんなる量子トランジスタレベルだろう。

仕組みを手順通り行うという概念の壁が越えられないからこそ
古典的コンピュータには性能の限界があることすら知らないようだなw


406 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 04:20:58 ]
>405
量子チューリングマシンは古典的(決定論的)チューリングマシンとは
その動作原理自体が異なる。
決定論的チューリングマシンのアルゴリズムは量子チューリングマシン上では
(そのままでは)使えないだろうが、むしろ使う必要が無いとも言える。


参考:
results.atr.jp/atrj/ATRJ_25/08/main.html

407 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 17:57:47 ]
>>406
あたま悪いな。論理手順が存在する限る原理が異なろうが
手順を省略できないわけだ。手順が省略できなければ順番に実行する
以外ありえないわけ。勉強になった?



408 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 18:00:07 ]
>>406
そもそもチューリングマシンは命令語を受け取りそれを手順どおり実行する
タイプだろ。電送時間が存在しれば遅延する。
これでは古典的コンピュータが速度を上げられない理由と同じで
電送経路があるかぎり従来技術にはコスト的についてこれない。
つまり永久に開発されない。

409 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 19:36:23 ]
量子チューリングマシンは古典的チューリングマシンが持つ能力を
全て保持しながら、なおかつ量子コンピュータ固有の機能も持っている。

量子ゲートに与えるデータ次第でどちらの働き方もできる。

量子チューリングマシンは計算可能性と言う点で
古典的チューリングマシンと全く同等であるが、
問題によっては(まさに)桁違いの計算能力を発揮する。

410 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 19:46:16 ]
どうでもいいけど将棋の話題しない?

振れるようなネタはないのだけど。

411 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:07:00 ]
うーん、難しいな。
Lispで将棋ブログラミングしたいと思っててまだ始めてないし。

と言うか、Schemeで書くべきかCommon Lispで
始めるべきかで早くも悩んでるしw。

412 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:14:26 ]
非決定的チューリングマシンの話は出ないのか?
これが量子チューリングマシンで実現できればメチャ嬉しいのだが

413 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:54:06 ]
量子コンピューターが出来る前に光子コンピューターの方が早く出来るでしょ。

414 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 17:16:07 ]
量子コンピュータでチューリングマシンはできる、しかし現状の性能には
激しく達し得ないというのでFA。
まあマヌケ君はできないことを誇張するのが得意だから、またデンパするんだろう



415 名前:宮本 [2007/08/08(水) 17:37:03 ]
www.geocities.jp/rysyy913/kakinokijyoseki.html
URLに「宮本定跡が激指5に使われている」とありますが、本当でしょうか。
事実なら「激指6」ではどうなっているのでしょうか。
なるべく詳しい事情を知りたく思います。

416 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:39:38 ]
>414
誰が正しいかでは無くて真実は何なのかを知ろうとする方が有益だぞ。

417 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 07:09:58 ]
スレ違いかどうか気づける能力を持つ方が重要だ。



418 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:43:22 ]
最近はスレ違い、スレ違いとやたらうるさい人が居るな。
まるで縦割行政が好きな役人か自分の専門分野にコモッテル蛸壷学者だ。
そういう考え方からは学際領域にある分野が発展する事は決してあり得ない。

419 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 14:02:16 ]
とは言うものの量子コンピュータ及び分子コンピュータや
光コンピュータなどに関するスレを新たに立てた方が
良いかとも思ったが、どの板に立てたら良いのか良く分からん。

それとも既にどこかにあるのかな?

420 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 14:27:17 ]
量子コンピュータ 3qubit
science6.2ch.net/test/read.cgi/sci/1171629018/

過疎ってるな

421 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:16:55 ]
>>418
お前がスレ違いだろ。別に学問を発展させようなんて思ってない

422 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:37:44 ]
>>418
お前こそ将棋のプログラマじゃないだろ

423 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 22:19:33 ]
>420 Thanks

物理板か。
しかも寂れていると言うか荒れているようだな。

計算理論やアルゴリズム論、計算量理論から見た
量子コンピュータ スレがあっても良い気もするな。

424 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 22:41:47 ]
量子コンピュータなんてやっている奴は約1名の2ch中毒ニート以外
いないだろ。

425 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:54:00 ]
量子コンピュータまず量子縺れ状態のシュミレーションから、かなり高度な量子力学の知識が必要。
どちらにしても量子コンピューターシュミレーターってあるらしいけど一般公開して無いだろ、動かすのにたぶんスパコン必須?

426 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 08:39:18 ]
みんなで激指を買って遊ぼうよね♪( ^ω^)

激指 定跡道場

商品紹介
2005年世界コンピュータ将棋選手権で全勝優勝を飾った「激指」のシリーズ最新作。
序盤戦術を体系立てて学習できるモードを搭載、最強の思考エンジンに加えて学習補助機能が充実しました。
定跡講座は所司和晴七段が全面協力、プロ将棋の最先端を無理なく身につけることが出来ます。


427 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:40:57 ]
コピペうぜぇ氏ね



428 名前:デフォルトの名無しさん [2007/08/12(日) 13:28:16 ]
量子信者はカエレ!

429 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:26:06 ]
町はずれの教会をシルクのような霧雨が包んでいます。
傘も差さずにレンガの階段にもたれていると
遠い町明かりがいくつも輝いては滲んで行きます。
あの人はガードレールをのりこえて空の向こうに何を見たかったのでしょうか。
あの人が星になったなんて嘘ですよね?

430 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:30:19 ]
ポエムはポエム板でおk

431 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:17:58 ]
>>429
我々は重要な事を見逃していたようだ、

このポエムの中に封印された古代の将棋の英知が詰まっているのだよ!!(AA略)

432 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 12:04:06 ]
だから量子コン厨は物理板で爺でもしておけ。
スレ違いだよ、キミのような量子ウンコは

433 名前:デフォルトの名無しさん mailto:sagesage [2007/08/14(火) 12:40:05 ]
>429
リョウコ信者w
最近の厨はググって出てこないと何も調べられないのか

434 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:09:55 ]
夏厨の季節

435 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:38:58 ]
>>429 これかww ttp://jp.youtube.com/watch?v=_QV7UrAW5vU

436 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:35:39 ]
うはぁ、なんという音程……

437 名前:デフォルトの名無しさん [2007/09/10(月) 08:35:42 ]
量子って、武豊の嫁?




438 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 10:29:21 ]
銀星将棋おもろいな。思考タイプに強引、慎重なんてのがあって
強引にすると思考レベル最低でも強引に攻め込んでくる。
ずっとこういうの待ってたんだよな。重みのさじ加減弄るだけで
技術的にはなんも難しくないのになぜ今までなかったのかが不思議なくらいだ。
全AIにこのオプションをつけてくれ。

439 名前:デフォルトの名無しさん [2007/09/14(金) 17:19:50 ]

B-TRONの体験版・・・(超漢字のご先祖)

1B/V3体験版のご案内
www.personal-media.co.jp/tron/1bv3_taiken.html
ftp://ftp.personal-media.co.jp/pub/1b/p971212.exe

1BV3体験版
tat.soga.in/btron/modules/bwiki/index.php?OS%2F1BV3%C2%CE%B8%B3%C8%C7
「超漢字」を体験させてほしい
homepage1.nifty.com/isdknit/_tqFOnLE.html

オープンギャラリー:1B/V3の環境
www.ne.jp/asahi/open/gallery/1bv3/1bv3.htm

オープンギャラリー:プラットフォームコーナ
www.ne.jp/asahi/open/gallery/platform.htm


440 名前:デフォルトの名無しさん [2007/09/18(火) 10:52:04 ]


441 名前:デフォルトの名無しさん [2007/09/18(火) 18:49:11 ]
しゅ、しゅって言いたい訳じゃないんだからねっ!

442 名前:デフォルトの名無しさん [2007/09/19(水) 10:05:02 ]
ぬは、書かれちまったw

443 名前:デフォルトの名無しさん [2007/09/19(水) 17:25:23 ]
ダリか初心者にも分かるように
評価関数における評価項目のつけ方まとめてもらえませんか

444 名前:デフォルトの名無しさん [2007/09/19(水) 19:32:30 ]
>>443
・駒割
・王将8近傍の敵・味方の利きの数
・王将との相対位置による評価
って感じの情報でいいのか?

445 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:56:23 ]
玉の安全度を考えるをON/OFFで自己対戦すると27勝3敗だった。
終盤は駒得より完全に玉の安全度だね。

446 名前:デフォルトの名無しさん [2007/09/19(水) 20:44:00 ]
>>444
>>445
ありがとうございます。
評価項目の全体的な全体的な優先順位や
細かい設定などはありますか?

447 名前:デフォルトの名無しさん [2007/09/19(水) 20:58:55 ]
優先順位ってのは評価項目の重みの事?
序盤は駒得や囲いが重要だけど、終盤は王将の安全度の方が重要だろうし・・・
大雑把な方針としては、試行錯誤して最適な重み・設定を見つけるか、学習で何とかするかの二択じゃないかな。
自分の棋力とかコンピュータ将棋にかけれる時間と相談しながら決めてくれい。



448 名前:デフォルトの名無しさん [2007/09/19(水) 21:34:35 ]
>>447
分かりました!がんばります!!

449 名前:デフォルトの名無しさん [2007/09/25(火) 12:35:31 ]


450 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 03:26:24 ]
し ひゅうま

451 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 04:25:07 ]


452 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:40:34 ]


453 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:53:49 ]


454 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 10:12:06 ]


455 名前:デフォルトの名無しさん [2007/10/01(月) 11:07:00 ]


456 名前:デフォルトの名無しさん [2007/10/01(月) 19:46:05 ]
あたぁ!

457 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 20:38:46 ]
[人工知能]革新AI囲碁ソフト『Crazy Stone』@モンテカルロ法
game12.2ch.net/test/read.cgi/gamestones/1191324848/
[人工知能]"Crazy Stone"@モンテカルロ法
game12.2ch.net/test/read.cgi/bgame/1190942764/



458 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:23:13 ]
> これまでのアルゴリズムとは異なり、モンテカルロ法のアプローチでは
> 非常に簡単に並行処理ができるので、
> 新世代プロセッサーのマルチコア構造を活用できる。

459 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 09:36:05 ]
モンテカルロ法自体は並列化しやすいだろうが、
それとともに使われて成果を上げているUCT(だっけ?)
とか言う探索アルゴリズムは並列化しにくいらしいよ。

460 名前:おおおおおおおおおおお mailto:っっっっっっっっっっっっっっっっっK [2007/10/03(水) 11:17:54 ]
ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ

461 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 19:13:43 ]
今このスレを読んだ。「完全解析」について。

チェッカーや6x6オセロで言う「全探索」や「完全解明」は
ゲーム開始時の局面から始めた場合の話だよね。
合法な任意の局面からというのは解かれていない。
でも、このスレを見てきたところ、
将棋では任意の局面からの場合を考える人が結構いる。
任意の局面から始められるものとして詰将棋があるからかな。

何だか文化の違いのようなものを感じたので感想を書いた。
チラ裏ですまん。

462 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 20:59:46 ]
ゲーム理論はどうも胡散臭い。
見直してその有効範囲を確認する必要がある。

463 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:49:49 ]
>>461
バカですか?

464 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:55:12 ]
しっ
触れるな

465 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:44:08 ]
ワラタw

466 名前:デフォルトの名無しさん [2007/10/10(水) 22:04:46 ]
>>463-465はツンデレ

467 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 10:13:58 ]
おまえは最近ツンデレという言葉を知ったばかりの初心者



468 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 01:14:43 ]
確かに。
俺もツンデレとは違うとおもた。

469 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 21:41:58 ]
ttp://minerva.cs.uec.ac.jp/~uec55/
誰か出る?

470 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 01:27:58 ]
>>469
準備期間短すぎ

471 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 08:55:01 ]
55将棋って以前権利をめぐってもめてなかった?

あれどうなったんだろう?

472 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 11:31:33 ]
よく判らんが、これが発案者のサイトかな?
www.geocities.co.jp/Playtown-Spade/8662/
電通大ではまったく無視しているようだけど。
minerva.cs.uec.ac.jp/~uec55/

473 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:03:05 ]
>472
無視してるのか、一応話しは通してあるのか見ただけじゃ分からんだろ?

474 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:28:20 ]
>>473
普通話を通すと言うことは、断り書きを入れる方向で落ち着くもんだ。
断り書きもなしに無条件に許可するようならば、森田将棋に噛み付く筈も無かろう。

475 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:31:10 ]
ゲームのルールはアイデアだから
ルールの記述文をぱくらない限り問題ないよ

476 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:49:03 ]
こんなんめっけ
ttp://524.teacup.com/yss/bbs?M=ORM&CID=1088&BD=3&CH=5

マジですか?!って感じだねえ、ほんとならやばくて手が出せないっつうか出したくないw

ココはひとつチャネラーで新しいミニ将棋ルールー作ろうぜ


477 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 15:45:27 ]
7七将棋とか…
駒の種類も本将棋と変わんない。けどちょっと大きいかな。

   7    6    5    4    3    2    1
┌──┬──┬──┬──┬──┬──┬──┐
│▽桂│▽飛│▽銀│▽玉│▽金│▽角│▽香│一
├──┼──┼──┼──┼──┼──┼──┤
│▽歩│▽歩│▽歩│▽歩│▽歩│▽歩│▽歩│二
├──┼──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│__│三
├──┼──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│__│四
├──┼──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│__│五
├──┼──┼──┼──┼──┼──┼──┤
│▲歩│▲歩│▲歩│▲歩│▲歩│▲歩│▲歩│六
├──┼──┼──┼──┼──┼──┼──┤
│▲香│▲角│▲金│▲玉│▲銀│▲飛│▲桂│七
└──┴──┴──┴──┴──┴──┴──┘



478 名前:477 mailto:sage [2007/10/13(土) 17:51:08 ]
全駒総動員の方向で、一度も動かさない駒とかを無くしたいね。
で7七将棋のルール案を。

1.相手陣は「三段分」
 ※桂馬の成・不成の選択を残したい

2.味方玉が相手陣の一段目に到達すれば、相手玉を詰まさなくても「勝ち」
 ※参考:トライルール

3.千日手はどんな場合でも4回目の同一局面を出現させたほうが「負け」にしたいけど、
 棋譜をきちんと取らないと判断しづらいから難しいかな

479 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 20:52:27 ]
   4    3    2    1
┌──┬──┬──┬──┐
│▽香│▽桂│▽王│▽銀│一
├──┼──┼──┼──┤
│▽歩│▽歩│▽歩│▽銀│二
├──┼──┼──┼──┤
│__│__│__│▽歩│三
├──┼──┼──┼──┤
│▲歩│__│__│__│四
├──┼──┼──┼──┤
│▲銀│▲歩│▲歩│▲歩│五
├──┼──┼──┼──┤
│▲銀│▲玉│▲桂│▲香│六
└──┴──┴──┴──┘

これどうよ、評価よろしく

480 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:05:40 ]
>>479
大駒がないのと、銀があって金がないのが気になった。

481 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:10:20 ]
>>480
大ゴマは盤面が狭いのでこの際無くていいだろうという判断
金は、ほしけりゃ敵陣に乗り込んでひとはた揚げて帰って来いということでゲーム性を面白くするためわざと無くしました


482 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:57:47 ]
駒の動きは本将棋と同じじゃなくてもいい?例えば八方桂とか。

483 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:00:19 ]
44将棋はさすがに簡単すぎるんじゃねーか?
たぶんすぐ解明されそう。


484 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:01:48 ]
46だった orz

485 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 22:09:27 ]
>>483
解明されたら告ぎ考えるから是非解明してくれ

486 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 00:54:30 ]

将棋板から拾ってきた
あっちにはこいつの対局スレがあるぞ


   6   5   4   3    2   1
┌──┬──┬──┬──┬──┬──┐
│▽飛│▽桂│▽銀│▽王│▽金│▽角│ 一 
├──┼──┼──┼──┼──┼──┤    
│▽歩│▽歩│▽歩│▽歩│▽歩│▽歩│ 二
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│ 三
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__| 四
├──┼──┼──┼──┼──┼──┤
│▲歩│▲歩│▲歩│▲歩│▲歩│▲歩│ 五
├──┼──┼──┼──┼──┼──┤
│▲角│▲金│▲玉│▲銀│▲桂│▲飛│ 六
└──┴──┴──┴──┴──┴──┘


487 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 13:57:04 ]
ああ?おお?



488 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 15:25:05 ]
知障のふりで「将棋界の○○」「ああ?」という言い回しを使う奴には要注意だ。


489 名前:デフォルトの名無しさん [2007/10/16(火) 23:25:27 ]
>>486
香車がいないのはさびしいな。

490 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 00:09:51 ]
むしろ大駒がいらないんじゃね
どうせ盤面は狭いんだし

代わりに酔象を入れようや
裏は太子で

   6   5   4   3    2   1
┌──┬──┬──┬──┬──┬──┐
│▽銀│▽金│▽象│▽王│▽金│▽銀│ 一 
├──┼──┼──┼──┼──┼──┤    
│▽歩│▽歩│▽歩│▽歩│▽歩│▽歩│ 二
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│ 三
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__| 四
├──┼──┼──┼──┼──┼──┤
│▲歩│▲歩│▲歩│▲歩│▲歩│▲歩│ 五
├──┼──┼──┼──┼──┼──┤
│▲銀│▲金│▲玉│▲象│▲金│▲銀│ 六
└──┴──┴──┴──┴──┴──┘

491 名前:デフォルトの名無しさん [2007/10/21(日) 23:05:06 ]
金玉象はまずいんじゃないか? エロ的な意味で。

492 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 23:25:44 ]
ここも糞スレになったな

493 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 08:48:58 ]
フェイクができないアルゴリズムなんて、負けるのは当たり前。
勝負というのは先の読み合いで、決定されたものではないだろ。

つまり先が読めないからこそ勝負なわけであって、
相手の行動を予測し、相手に勝つのではなく相手に負けてもらうのが筋ってものさ。

眼力の無いやつは空気読めないから計算、つまり理屈だけで勝とうとする
理屈だけな奴ほど勝つのは楽なことを知っていた方がいい。
理屈な行動は、相手からは完全に予測される行動だからだ。
勝ち手を譲れば、100%の確率で勝ち手を奪うのが理屈というもの。
それがフェイクだと気がつかなければ相手の負けは決まる。

494 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 13:52:07 ]
日本語でおk

495 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 14:20:17 ]
>492
とっくの昔から糞スレだボケ。

496 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 17:20:26 ]
完全情報ゲームでフェイクとか言ってもな。

497 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 18:19:15 ]
>>493
いや、言ってる事はよくわからんがとにかく麻雀やポーカーのスレじゃないからここ



498 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 19:34:12 ]
493じゃないが、例えば自王は放置すれば20手詰めと言う場合

1、放置すれば相手王に必死を掛けられる。
  相手が詰みに気付かなければ勝ち。
2、受けると長引くがジリ貧。

こういう場合コンピューターだと2を選んだり、
持ち駒使い果たすまで王手掛けたりすることが多いわな。

com同士だと意味ないだろうけど、人間同士だと1が有効なことが有る。

499 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 22:31:43 ]
>498
それを実現するには自分の読みと相手の読み及び評価関数を区別して扱う
「相手モデル探索」が必須だな。

で相手が人間かコンピューターか、どれくらいの棋力かに応じて使い分ける。

500 名前:デフォルトの名無しさん [2007/10/22(月) 22:38:02 ]
圧倒的に強ければ、相手は関係ない 強ければそもそも20手詰めの局面へは進まない

501 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 22:47:56 ]
おれも>>500と同意見。
結局、相手の思考を予測するってのは、自分の思考に自信が無い時の小手先の対策なんじゃね?

502 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 23:21:25 ]
>>498-499
相手のアルゴリズムを読んだとしても、その相手はこっちを騙すためにわざと気付かないふりをして
弱く見せかけているのかもしれないぞ
相手を見て判断するのは対人戦での面白さを出すには重要なとこではあるけどさ

503 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:00:10 ]
>500-501
人間のトッププロにはなかなか勝てない(全体的な実力では上回れない)
からこそ、そういう戦略に価値があるのでは?

例えばコンピュータ将棋は詰みのある局面でそれを発見するのが
やたら速いが、相手(人間)もそうだと仮定していたらその利点は
あまりうまく生かせずに>498の挙げたような状況に陥るかも知れない。
詰みを正確に速く見つける能力がむしろ弱みになってしまう。

>502
特定の相手の指し方を事前にじっくり研究していたらどうかな?
たとえば対渡辺竜王を想定して。

ディープブルーも実はカスパロフの指し手を事前にたっぷり研究して
相手の指し方のモデルを持ってたと言う話だし。

504 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:08:06 ]
>>503
個人的には、そういう方向性が好きなのだが、
こと「プロに勝つ」という目的においては、>>500が正しいと思う。
というか>>503の方法でプロに勝つには、とてつもないプログラム技術と
ハードウエア能力が必要になって現実的でない。

プロに勝つというのは、ほっといても100年後には達成できるけど、
楽しめる、指導してくれる、というコンピュータ将棋が今後の課題やね。

505 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:25:15 ]
>504
その考えが甘いとしたら。

つまりコンピュータが人間のトッププロより圧倒的に強くなると言う事は
相手がどんな指し手で来てもそれに対して正しく応手できると言う事だが
将棋と言うゲームがそう御しやすいもので無いとしたら厄介だぞ。

その可能性は多いにある……と俺は思う。

それよりは対戦相手のモデルを持っておいて相手の思考の癖(隙)を突いて
序盤からジワジワ優位を築いて行く方がまだ望みがありそうに思える。
確かにセコイ方法だけどなw。

506 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:57:32 ]
>>505
確かに俺の考えが絶対に正しいとは言えないが、
相手モデルとかでプロに勝てるなどというのは
とんでもなく甘い考えだと思う。

>>505がセコイ方法だとは全く思わない。
実現できたら本当に素晴らしいが、実現が難しすぎる。

507 名前:デフォルトの名無しさん [2007/10/23(火) 02:07:42 ]
{41, 85, 45, 12, 02, 77, ・・・}  (これがひとつのデータです) という可変長データが複数あるとします
これらを効率よくメモリに記録するにはどうしたらいいですか?



508 名前:デフォルトの名無しさん [2007/10/23(火) 02:08:36 ]
場所まちがえました すみません

509 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 03:07:52 ]
あんまりセコクない対人戦略だと、
短時間の勝負ほどコンピュータ有利であることを考えて
時間攻めがいいんじゃないかな?

極端な例だと、80台パソコンを連結して並列に先読みさせる。
可能な相手の指し手が80ある局面なら、人間の思考時間に全部考えて、
ほぼノータイムで指すこともできるはず。
そうされると持ち時間2時間でも、正味1時間位に感じるんじゃないかと。

あるいは、"少しよくなるけど局面を単純化する手"より
"よくもわるくもならないけど局面を複雑化する手"を優先する方針にする。
そうすると選択肢が多くなり、人間側の読み筋から外れる率が高くなる。

人間の場合かなり前から現在の局面のことを考えているので、
先読みを空振りさせた場合の負担は、コンピュータよりずっと重いはず。
一から考え直すことになって、かなり苦しくなるじゃないかな。

510 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 10:16:44 ]
竜王と対戦したボナンザも、予測読みが当たればノータイムで指した。
また、ボナンザは人間なら早期に枝刈りしてしまう手を指すこともあったので
読みを空振りさせるという点でもそれなりにできていた。
80台のパソコンというリソースがあるなら、普通にやらせても強くなるから
下手な小細工では意味がないということになると思う。

いや、、アイデアを否定してばかりであれだが、
実際そういうアイデア自体は貴重だし、生かしていくべきだと思う。
ただ、それはすごく難しい(だからこそ素晴らしい)と言いたかった。

511 名前:デフォルトの名無しさん [2007/10/23(火) 10:27:47 ]
相手の指しやすい手から調べるのはかなり有効な手法だよ プロの棋譜、定跡を使うのはその為
個人に限定してもよい

512 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:25:07 ]
>>510
持ち時間1時間として
コンピューターが3回に1回ノータイムでも、1時間つかいきれば
人間側の思考時間は、自分の持ち時間と合わせて2時間ある
コンピューターが全部ノータイムの超早指すると
人間側の思考時間は、自分の持ち時間の1時間しかない
読みを空振りさせる回数が3回位増えると
1回あたり数分位とられるから10分くらい損する
ぜんぜん違うと思うんですが‥

結局、80台を良い手を捜すためにつかっても、2割位しか
最前手が変わらないなら、時間攻めで人間が間違うのに
かけた方がお得なように思うわけで

実際、複数台での並列先読みや、局面の複雑度を測ったりするのは、
相手の指し手の傾向をつかむより遥かに容易じゃない?
自分のプログラムはまだ弱いのでそんな段階ではないけど。
誰か人柱にならないかなあ。


513 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 20:42:31 ]
台数が80倍になると、一般的に思考時間を9倍にしたくらいの強さになる。
つまり、思考時間:1分、強さ:1台9分相当を選択するか、
思考時間:0分、強さ:1台1分相当を選択するかという問題になる。
(人間が常に同じ時間を消費するという前提)

コンピュータよりも人間の方が持ち時間の価値が高いことを利用するわけだ。
悪い手は切り捨てて愚直に80手読まないようにするなどの工夫もできる。
そうなると普通の予測読みとの境界がぼやけてくる。
俺は、通常の予測読みがいいと思う。俺も実測してないのでこれしか言えない。

514 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:44:59 ]
あの自演犬やってないと言い張ればいいと思ってるな
バレてないと思ってるのは自分だけだぞw


515 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:22:32 ]
ああ?おお?

516 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:48:45 ]
ボナンザVS勝負脳―最強将棋ソフトは人間を超えるか
www.amazon.co.jp/dp/4047101079/

517 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 04:01:56 ]
将棋のプログラム作っている人の開発環境が気になります。
VC6++っていうのは古いでしょうか?



518 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 08:18:42 ]
将棋ならコンパイラやIDEは関係ないと思うが、
VC2005EEがある今、VC6を使う理由がない。

519 名前:デフォルトの名無しさん [2007/12/04(火) 08:33:00 ]
VC++6は軽い

520 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 09:39:10 ]
VC++6ってインテリセンスのだいぶ貧弱だったような

521 名前:デフォルトの名無しさん mailto:誤字はわざと [2007/12/04(火) 19:52:33 ]
まぁ、x64がコンパイルの出来ないでいいならVC++6でいいんじゃね。

522 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:33:57 ]
>>518-521
みなさんどうもありがとうございます。
VC++6でもよさそうですね。

523 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 01:05:57 ]
VC++6はバグが多くて嫌

524 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 11:00:20 ]
つーか、>518を読んでどうしてそういう結論になるのか判らん。
まぁ、VS6の正規ユーザで尚且つ時代遅れのPCを使っているというなら止めないが。

525 名前:デフォルトの名無しさん [2007/12/07(金) 00:45:10 ]
VC6は2004にバージョンアップ版が出ている
新しいVistaつかうより、バージョンアップされたXPの方がいいということもある

526 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 10:48:37 ]
仕事じゃなければ好きなのを使えばどれでもいいさ

527 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 12:17:57 ]
VC6なぜか人気あるが自分の経験から言うとあまり印象よくないな。
特に付属のSTLかなりバグがあってひどかった。




528 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 00:17:48 ]
今となってはかなり古いコンパイラだから
テンプレートのサポートが微妙だったりするけど
自分の使い方では2003よりもよかったよ
インストール早いし、起動軽いし

STLはSTLPORTいれて使うもんだと思ってる。

そんな私も2005に移行しましたが。

529 名前:デフォルトの名無しさん [2007/12/14(金) 14:21:23 ]
VC6の怖いとこは
一見するとコンパイル通って正常に動作しているようでも
トンデモな解釈をコンパイラがしている箇所があったはず。

std::cout << typeid(1.0F==1.0F).name() << std::endl;
std::cout << typeid(1==1).name() << std::endl;

仕事だからVC6とかいう発想は
無責任もいいとこ。

まともなコンパイラの機能テストをしていれば
Noob以外はそのような発想はしないでしょう。


530 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:57:57 ]
ぼ、Borland C++ Builderは? いいの?

531 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 11:59:41 ]
USIプロトコルの info コマンドって、minmax探索に偏ってるね。
MC+UCTだと info string ばっかになりそう。
もうちょっと融通利かせないとUSIプロトコル使う意味なす…

532 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:08:28 ]
>>531
setifnomenuコマンドなんてのが必要かもね。

533 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:12:16 ]
setinfomenuだった。

534 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 23:38:23 ]
info pvで「最後のモンテカルロシミュレーションの手順」でも送ってやればいいんじゃね。
GUIがちゃんと対応出来るかどうかは知らん。

535 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 01:29:44 ]
最強じゃなくてもいいからだれか大局将棋実装しておくれw

536 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 19:45:25 ]
やるからには最強を目指す!
ところで大局将棋ってナニ?

537 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 20:11:06 ]
ttp://taikyokushogi.hp.infoseek.co.jp/tkintro.html



538 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:05:25 ]
ttp://www.chushogi-renmei.com/images2/taikyoku-s.jpg
やる気しねえw

539 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:32:19 ]
ごめん、やっぱムリ。
てか、駒の動かし方全部把握してるヤツ居るのか、これ?

540 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 00:20:09 ]
仮に把握できたとしても、動かす気になれねぇ。

541 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:23:18 ]
ttp://taikyokushogi.hp.infoseek.co.jp/tkpieces.html
>>537のサイトに駒の説明があるけど

ページなげえw

542 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:50:51 ]
game14.2ch.net/test/read.cgi/bgame/1163033955/
最長テンプレだと聞いた。

543 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 05:23:40 ]
スレを立てるたびに貼る必要はあるのか…
最長の地位を保つための儀式なのか…

544 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 07:43:19 ]
こんなのランダムに動かしてれば人間の方が飽きて投了するだろw

545 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 14:41:35 ]
大局将棋はゲーム性が低いな

546 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 19:35:41 ]
ゲームと言うより占いの儀式みたいなものだったって聞いたような気がした(うろ覚え)。

547 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 11:05:39 ]
>>537
テレビ番組で、プロ棋士同士が対局してたな
駒の動かし方は本を見ながら確認してたw
1日では勝負がつかず、3日くらいかけていたと思った



548 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 11:27:29 ]
トリビアだな

549 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 12:28:25 ]
森羅万象棋作ろうぜ

550 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:31:07 ]
「バーサーカーソウル!」

551 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:43:31 ]
市販の将棋強すぎだろ。なんか将棋もプログラミングもやる気ナクナタ・・・

552 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:23:59 ]
おまいが弱いだけ

553 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:01:55 ]
前回のGA見てみろ。やる気沸くぞ。

554 名前:デフォルトの名無しさん [2008/01/17(木) 07:02:17 ]
もっとこのスレ盛りageようぜ

555 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 02:12:54 ]
【訃報】チェス元世界王者、ボビー・フィッシャーさん死去 64歳
mamono.2ch.net/test/read.cgi/newsplus/1200665136/

556 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 14:49:16 ]
C言語でやってる人いる?
C++の方がいいのかな?


557 名前:デフォルトの名無しさん [2008/01/20(日) 14:56:43 ]
C++の方がいい
部分的にC言語やアセンブラも使える



558 名前:デフォルトの名無しさん [2008/01/27(日) 14:07:14 ]
スレッド使ってますか?

559 名前:デフォルトの名無しさん [2008/01/28(月) 16:28:29 ]
使ってますがなにか?

560 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 17:11:16 ]
もう、ブルージーンで最強のチェスプログラムできちゃったので将棋プログラムは興味ないわ

561 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 18:20:44 ]
門外漢がよーいうわ

562 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 19:46:33 ]
作ってる人近況報告してよ

563 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 20:34:23 ]
強化学習してる。死にそう。

564 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 20:45:55 ]
いちから作り直してる。

565 名前:563 mailto:sage [2008/01/28(月) 21:01:55 ]
>>564
ばかやろう、俺なんてマイナスからの出発だぞ。

566 名前:564 mailto:sage [2008/01/28(月) 21:16:24 ]
>>565
なんだよ、マイナスってw

以下、マジレス。
おとといのUSIエンジンの登場でモチベーションがかなり上昇した。
弱くても、勝てなくても、笑われても、それでもいいからとにかく形にすることに決めたよ。

567 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 22:13:56 ]
>>566
ランダムざしに負けるのがマイナスじゃね?



568 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 23:16:28 ]
俺も強化学習やってる
俺よりは強いんだが・・・

569 名前:563 mailto:sage [2008/01/28(月) 23:20:41 ]
パソコンぶっ壊れたから修理するところから。
あと、部屋が汚くてどこに本があるか分からないから掃除するところから。

>>567
負けそうだから怖い。

570 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 23:21:31 ]
>>568
出現頻度の低いパラメータって学習が遅くね?
なんか対策考えないとなぁ。

571 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 23:32:52 ]
>>570
自分は出現頻度が低いパラメータは保持したまま
別のパラメータが変わるような局面に分岐させたりしてる
ちなみに効果の程は測ってないけど

572 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 23:45:18 ]
7五玉で投了

573 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:40:24 ]
>>571
なるほど、賢いなぁ。
俺は猿だから対局数でごまかそうかなっと。

574 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 20:51:11 ]
れさライブラリ使ってる人いる?

575 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:10:40 ]
あの! Delphiで将棋作るとC++より速度遅いですか?

576 名前:デフォルトの名無しさん [2008/02/07(木) 16:07:46 ]
ボーランド製品ならどう速度だろ

577 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:13:51 ]
あの! Delphiで将棋作るとVisual C++より速度遅いですか?



578 名前:デフォルトの名無しさん [2008/02/07(木) 16:16:26 ]
最適化や個人の技術によるが同程度ならVCの勝ち

579 名前:デフォルトの名無しさん [2008/02/09(土) 21:48:35 ]
あの! Delphiでインラインアセンブラだけで将棋作るとC++より速度遅いですか?

580 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:10:11 ]
並列化のことで何年か前にYSS掲示板で議論になってましたけど

すごく初歩的な話なんですがrootでsplit(分割)する/しないってのは
どういう意味だったんでしょうか?

最初の深さ1だけは読んで、そのそれぞれの(1手読みの)手を並列化するのが
「rootでsplitする」でいいのかな?

しない、ってのはどういうことなんでしょう?


581 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:43:52 ]
YSS掲示板で訊いた方がいいんじゃね?

582 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 09:44:18 ]
あまりに初歩的すぎかなとおもって・・・

583 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 11:46:16 ]
真面目に質問すれば大丈夫

584 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 11:48:45 ]
あ,ここより将棋板の方が人(実際に作ってる人)が多いから
そっちでもいい alternative だったか,開発者用のスレがある

585 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 13:40:49 ]
32bitパソコンを使ってますがintでなくcharを使うと
メモリの節約にはなるが速度は遅くなるのですか?

586 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 13:45:01 ]
メモリアクセスが減るから速くなるケースもあるかもしれません。
要は、一概には言えないのでテストケースを充分絞って実験してみることです。

587 名前:デフォルトの名無しさん [2008/02/11(月) 14:21:17 ]
char や floatが遅いというのはデマ
キャッストに時間がかかるというのはデマ



588 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:22:39 ]
へぇ〜今調べて自己解決しますたと言うところだったんですが
一概に言えないのですか。へぇ〜

589 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 15:06:51 ]
そりゃそうだろ。メモリ2GB程度のパソコンごときで1G件のデータを扱おうとしたら
charじゃないとswapしまくりで遅くてしゃぁない。

590 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 15:18:39 ]
将棋では1Gも使わないでしょう。
ところでYSSの人は配列は2のべき乗にすると速くなると言ってますが
みなさんそうしてるのですか?

591 名前:デフォルトの名無しさん [2008/02/11(月) 15:22:57 ]
それはデマ スワップが発生しないように最低限の確保が速い

592 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 16:05:18 ]
へぇ〜デマばっかりなんですね。
今のパソコンと将棋ソフトでスワップはないと思いますが。
でもそう言うには相応の理由があると思いますが、
実際に実験してないけど理論的には速いはず、というところでしょうか。

593 名前:デフォルトの名無しさん [2008/02/11(月) 16:07:36 ]
512や1024ならスワップ起こるよ
OS、ほかのプログラムが動いているとハッシュテーブルがメモリ外に出ることがある
するととても弱くなる
たとえばボナンザで実験するとわかる

594 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:13:57 ]
>>580
rootでA,B,Cと候補手があるとして
BやCの評価値の評価値を並列に探索して求める場合はrootでsplit。
Bの評価値が確定してからCを探索する場合はrootではsplitしていない。

595 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 20:56:25 ]
>592
デマというか、ハードウェアとかコンパイラに依存するので時代によって……

596 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:41:19 ]
>>594
ありがとうございます

>BやCの評価値の評価値を並列に探索して求める場合はrootでsplit。

というのは直観的に理解できそうです
rootでとりあえず指し手を列挙してみて
おらこれとこれとこれがあるから行ってこいやぁ、みたいなw

でも
>Bの評価値が確定してからCを探索する場合はrootではsplitしていない。

というのがよくわかりません
この場合、どこで並列処理(並列化)をしているのでしょうか?

597 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:35:35 ]
Bにも子供たちが…



598 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:46:07 ]
てことは……

深さ0(? 現局面のこと)で指し手を列挙して
おのおのの指し手について並列するのがrootでsplit

深さ0で指し手を列挙したあとその指し手の1つをまず取り出して
そこからの指し手(深さ1以下の指し手)について並列するのがrootでないsplit

ってことですか?

実際の方法論としては
たとえば候補手が50個並んでいて
CPU1が候補手aを、CPU2が候補手bを読んでいって
先に終わったほうが候補手cを読む……という「仕組み」自体はいっしょで
それをrootでやるかそうでないかだけが違う(というかYSS議論では違ってた)
ということでしょうか?

599 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:48:08 ]
>>598
深さ0で指し手がA0、B0、C0と3つあるとすると、今のプログラムは
A0の手を調べるのに全体の50%の時間を使ってしまいます。
そこで、A0の探索が終わった後に、B0、C0の2つの手を並列に探索します。
その方がA0の探索の結果を使えるので効率がいいためです。

A0の手の下にはA01、A02、A03の3つの手があるとすると、
A01の手を調べるのにこれまた50%の時間がかかります。
そこで、A01の探索が終わった後にA02、A03の探索を並列に行います。

こうやって延々続いていきます。
深さ0でも並列に探索するのが「rootでsplit」で
深さ0でのみ並列に探索しないのが「rootでsplitしない」です。
「rootでsplitしない」場合でも深さ1、深さ2、、、、ではsplitします。

600 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 10:33:34 ]
並列化ド素人の自分だが
Aspiration searchの真ん中の値で二分すれば
単純に二倍速くなりそうという感じは受ける。
ちょっと試せないので分からないけど。

ボナンザも歩の交換値2つぶんでAspiration searchをやってるらしいので。。

やっぱり問題はその次からの一回の探索を分ける方法だねえ。

601 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 11:08:15 ]
>>599
なるほど・・・
ありがとうございました

602 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:38:42 ]
>>600
お前コンピュータ将棋もど素人だろ。
ウィンドウを2分割すれば探索ノードもキレイに2分割できると思ってる?

603 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:47:26 ]
逆に他の手法はきれいに二分割できるの?やろうとしてるの?

604 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:43:40 ]
ただのPVS使ってるが少なくとも600のやり方よりは効率がいい。
ついでに書くと、MTD(f)の探索木みれば600がいかに効率悪いかわかる。
まぁ、俺は選手権の対局より強化学習の方を高速化したいから、並列探索は手抜きだがな。

605 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:49:22 ]
書き忘れてた。>>604のPVSはPV Splittingの方。

606 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:30:13 ]
あーなるほど、2つほど勘違いしてた。
600をやって他もできると思ってたら、できないねえ。
ノード数が二分できないのではなく、ノードが二分できないのか。
同じ局面を二回作ってるから二で割って一と。

607 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:44:07 ]
そーゆー事だ。



608 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:48:54 ]
>>599に補足すると、「rootでsplitする」場合だと、B0とC0を並列に探索するのでB0,C0の評価値が求まるまでの時間は長くなる。
「rootでsplitしない」場合だと、B0の子ノードOR孫ノードORもっと先のノードで並列化するので、B0の評価値は「rootでsplitする」場合より速くも止まる。
んで、仮にA0の評価値<B0の評価値だと、B0の探索終了時に「B0は(最善手ではないかもしれないが)少なくともA0よりは良い」と分かる。
なんで、「rootでsplitしない」場合は、「仮の最善手」が速く決まる可能性が高い(YSSの掲示板だと「見切り発車」とか表現してた)から、思考時間に制限がある場合にちょっとお得、と。

609 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:49:53 ]
すまん、二行目の「も止まる」は「求まる」だった。
死んできます。

610 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:58:06 ]
まあ、そんなに簡単なら話にも出てこないか。
でも並列化ってイメージしにくいような気がする。
頭を両手で同時に洗うのは並列化?

611 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:31:48 ]
もちろんそうだが,タスクの分割が自明な例だな

612 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:04:11 ]
例えばフライを揚げる時、衣付ける人と揚げる人の二人でやる事あるだろ?
そういうのが並列処理。

613 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:19:45 ]
その例えは誤解の元

614 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:52:42 ]
>>612
それはCPUのパイプラインだ。
並列処理なら、フライパンを二つ用意しなきゃ。

もっとも、将棋の場合は揚げなくてもいいものがあるから、
二つ用意しても倍は速くならないのだ。

615 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:54:02 ]
>613
どういう点が…と聞いてみようと考えたら分かった。
>612の例えは「並列処理」と言うより「パイプライン処理」だ。

616 名前:615 mailto:sage [2008/02/13(水) 19:54:54 ]
あ、先に言われてしまったw。

617 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:06:09 ]
パイプライン処理も並列処理みたいなもんでしょ。
依存関係があっても適用できるわけだし

そういう細粒度の並列処理を
ソフトウェアでうまく書く方法ってある?

手の生成→並べ替え→手を打つ
     手の生成→並べ替え→手を打つ
          手の生成→並べ替え→手を打つ

手を打たないと、次の手の生成ができないから無理か orz






618 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:22:52 ]
>パイプライン処理も並列処理みたいなもんでしょ。
ぷぎゃー

619 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:41:25 ]
いや、言いたいことはわかるよ

620 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 16:51:24 ]
>617
普通のPCハードウェア(CPU)じゃ無理だね。
パイプライン処理(それも将棋専用の)が可能なCPUじゃないと。

だから「A級リーグ指し手1号」と言う名前で専用プロセッサを
FPGA使って開発してる人が居るわけで。

621 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 18:28:27 ]
パイプラインによるオーバーラップさせた処理は並列処理の一種

622 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 18:31:21 ]
マルチコア環境ではハードでなきゃ無理ということはないと思う
例えばPS3/Cellにはそういう形(パイプライン)の並列処理の枠組みが用意されてる
もちろんアルゴリズムは自分で考えるのだが

623 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:07:21 ]
>622
へー、CellB.E.(SPU?)にそんな仕組みがあるの?
単なるSIMD演算器がさらに8個並列で存在するだけかと思ってた。

個々のSPU内の演算器を自分好みのパイプラインに仕立てられるのか?

624 名前:623 mailto:sage [2008/02/14(木) 19:37:44 ]
>622
もしそういう機能が本当にあれば非常に興味深い(使ってみたい)ので
どのドキュメントに載っていてどんな名前で呼ばれている機能か教えてくれ。

「Cell Broadband Engine アーキテクチャ」Ver1.01 (by ソニー)
をざっと眺めてみたが見つけられなかった。

625 名前:623 mailto:sage [2008/02/14(木) 20:06:15 ]
>622
もしかしてSIMD演算機能あるいはSPUを仮想化してマルチスレッド
ソフトウェアを走らせる機能を(ハードウェア)パイプライン機能と
混同してない?

普通の(IntelやAMDのx86)CPUもある種のパイプライン(スーパースカラー)
機能はあるけどプログラマが意識的(明示的)に操れるわけじゃないし。

626 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:11:56 ]
622じゃないけど、

PS3のCellで囲碁をパイプラインってこんなの?
www.geocities.jp/hideki_katoh/publications/gpw2007/gpw07-private.pdf

αβ探索じゃなくて、モンテカルロならパイプライン可能かもな
要はスレッド間の同期をとるだけじゃん


627 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:20:01 ]
>>625 スーパースカラーはパイプラインじゃないよ

フェッチ→デコード→演算→レジスタ書き出し
     フェッチ→デコード→演算→レジスタ書き出し
          フェッチ→デコード→演算→レジスタ書き出し
               フェッチ→デコード→演算→レジスタ書き出し

こういうのがパイプライン。
スーパースカラは複数の命令を同時に実行できる機能




628 名前:623 mailto:sage [2008/02/14(木) 21:20:17 ]
スレッド間同期とパイプライン処理は違うでしょ?

629 名前:623 mailto:sage [2008/02/14(木) 21:27:37 ]
>627
スーパースカラー=パイプラインじゃないけど、現在主流のCPUで言う
「スーパースカラー」はパイプライン処理が前提なんだけど。

すなわち複数命令を(同時実行できるものは)同時発行しておいて
さらにそれらをパイプライン化された処理装置に叩き込む。

詳細はWiki等を参照してくれ。

630 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:30:02 ]
どの命令が並列処理できないかコンパイル時点で分かるよね?

631 名前:623 mailto:sage [2008/02/14(木) 21:34:30 ]
>630
??? 何が言いたいの?
コンパイラに並列化を任せて明示的に(機械語レベルで)複数命令を
並列実行するならVLIWアーキテクチャだね。Itaniumみたいな。


632 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:59:56 ]
ちなみに普通の(VLIWでない)CPUはコンパイラが並列処理可能な
命令を見つけたとしてもそれをマシン(CPU)に伝える手段が無い。

633 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:37:59 ]
さらにちなみにベクタープロセッサ(ベクター型CPU)はひとつの
演算処理(たいていは積和算)そのものを複数のステージに細切れに
分けてパイプライン処理する。したがって同じタイプの演算命令が
次々と間を空けずに来る事が前提。

なのでベクター(行列)の処理に向くと言うか、それにしか向かない。

634 名前:622 mailto:sage [2008/02/15(金) 02:16:07 ]
およよ,思いっきり勘違いされた
>マルチコア環境ではハードでなきゃ無理ということはないと思う
と書いた時点でソフトの枠組みの話をしてることが分かると思ったのだが
分かり難くてスマソ

635 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:11:57 ]
>634
いいたいことは分かった。
スレッド同士のバケツリレー的なことを API でサポートしてるってことね。きっとイベントキューとかメッセージボックスとか使うんでしょ。
って >622の文脈であの書き方じゃわかるわけねーよ!

636 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:54:51 ]
俺は使ったことがないが,API より上のレベル,
フレームワークが提供されていると聞いている
>じゃわかるわけねーよ!
読み直してみると確かに分かり難い.改めてすまんかった

637 名前:623 mailto:sage [2008/02/15(金) 22:45:43 ]
やっぱりソフトウェア(開発ツール)レベルでパイプライン(的)
処理をサポートする枠組みがあると言う事だったのか。

>634を読んでしばらく考えてようやく意味が分かったよ。

確かにCellのSPUならマルチスレッド(マルチコア処理)で
パイプライン(的)処理をする仕組みを作りやすいかも知れないな。
キャッシュなしのローカルストレージのみで動くから
インストラクションの実行時間を確実に見積もれる。

そういう話を聞くと>617が書いてるようなパイプライン処理を
Cell(PS3)上で実現できないか、ちょっと考えてみたくなるな。
タスクをそれぞれ均等な実行時間を持つステージに分割できるか、
通信オーバーヘッドがどれくらいあるかが問題だけど。



638 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:00:36 ]
概要レベルだが
ttp://research.cesa.or.jp/pdf/shiryo6-2-2.pdf
にCellの並列化のPipelineモデルとかStreamingモデル等の話が載ってる
(日本IBMの東京基礎研の人の講演)

639 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:43:39 ]
>>638 THX 勉強になった

>>626 のPDFを見ても、cellってMBOXでSPUが通信できる仕組みみたいだねえ

ハードのパイプラインはクロック同期と思うが、
ソフトでも負荷の無い同期方法ってないもんか?
Stramingモデルってのが面白かった


640 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:16:34 ]
>負荷の無い
ってどういう意味?
libspe2 には mbox と signal しか用意されてないけど
自分で作るのもあり

641 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:30:35 ]
>>639
ハードウェアのクロック同期だって負荷があるだろ。
1クロックよりずっと短い処理だってクロック同期を待たなければならないんだから。
それでもCISCの頃よりは計算資源のアクティブ率は上がった。
ソフト側も同様にプロセッサの稼働率を上げていけばよい。

642 名前:デフォルトの名無しさん [2008/03/18(火) 10:22:07 ]
保守

643 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:05:55 ]
4/6(日)開催予定のオープン戦案内メールをもらった。
しかしソフトはまだ全然出来ていない。
将棋を指す骨組みと通信部分だけくらいは何とかその日までに
完成させて一回は通信対戦テストをしておきたいのだが。

このままじゃ、ぶっつけ本番になってしまいそうだ。

644 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:46:00 ]
オープン戦に間に合わなければ、
wdoorでテストしておけば?
CSAの対局サーバーとは細かい違いはあるようだが……

がんばれ



645 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:05:20 ]
あげ

646 名前:デフォルトの名無しさん [2008/03/23(日) 13:05:40 ]
てなかった

647 名前:デフォルトの名無しさん [2008/03/23(日) 15:10:42 ]
ボナンザについて解説してるサイトがあったら教えてください><



648 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 15:55:11 ]
>>647
作者のサイトの GPW 2006 発表資料 には目を通した?
あの説明で何かわからないことある?

649 名前:647 mailto:sage [2008/03/23(日) 17:44:26 ]
>>648
見てなかったです.
読んでみます.
サンクスです.

650 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 23:56:08 ]
>648
あれ読んでも具体的に何と何を入力パラメータとして
選んだのか今一良く分からないんだよね。

各駒種に対してその位置(升目)ごとに重み付けしていって、
それを2個以上の駒の位置関係にまで広げていったら、
あっと言う間にパラメータは1万個どころか百万個以上に
なりそうだし、学習を進めると結局、棋譜に現れたもしくは
探索済みの特定の局面に評価値を与えるだけになりそうな気が。

つまり一般化能力なんか全く無さそうな気がするんだが、
私が何か勘違いしてるのかね?
コンピュータ将棋に詳しくないために。

651 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 00:38:13 ]
>>650
その論文読んでないけど、テレビでやってたやつ見た限りだと
その発想そのままだと思う。

ボナンザの初期バージョンでは数手先まで読むように拡張してみたところ
うまく読み取れない局面があることがわかった。

そこで、ある程度(?)評価の悪い枝についても読むようにしたところ
かなりよくなった。

完全に総当りじゃなくて、ある程度評価がいい手の中でも
多少悪いぐらいでは枝狩をしない
また、相手の手版のときに、多少悪いぐらいの手をさしてくることを
考慮して読んでおくことで、時間を有効に使う

一般的にどうこうするっていうのではなくて
特定の場合に愚直な実装して、枝狩りの閾値さげたら
割とうまくいきました っていう感じだと思う。
他の検索系のやつもそうだけど
この手の総当りが必要そうなものについて、愚直に実装して
動かしてみたら案外うまくったってのが、最近の傾向じゃないかな
人間があーだこーだ考えるよりPCに考えさせたほうが
早いっていう。

だから一般化というより、ある特定のルールのときに
CPU時間を有効に使えるように変えてみたら
アルゴリズムは今までとほとんど同じだけど
勝率があがりました って思ってるけどこれも違うかな?
あくまで素人の意見なんですが。


652 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 01:16:23 ]
>>650
> それを2個以上の駒の位置関係にまで広げていったら、

広げない。

将棋は、自玉、敵玉に対する位置関係は重要だが、それ以外の2駒の相対的な位置関係は
あまり重要なゲームではないからだ。

例えば以下の記事が参考になるだろう。
d.hatena.ne.jp/yaneurao/20080406

ただし、銀の退路が歩で遮られていないかだとか、歩越しになっていないかだとかは重要なので、
Bonanzaでもそこは考慮に入れていたはず。

653 名前:650 mailto:sage [2008/04/11(金) 01:30:39 ]
あり? 良く考えてみると二駒の絶対位置関係の
全ての組み合わせにそれぞれ点数を付与して
行ったとしても、二駒のペアは自由に選べるわけだから
特定の局面に対して点数を付けて行くのとは違うな。
汎化能力はあるか、俺が勘違いしてたわ。

それにしてもパラメータ数が膨れ上がると言う謎は残るな。
愚直にやると駒のペア×位置(マス目)×位置(マス目)で
40×39÷2×83×83で500万以上にもなるか?

654 名前:デフォルトの名無しさん mailto:650 [2008/04/11(金) 01:38:22 ]
>652
なるほど、サンクス!
もうちょっと考えてみよう。

655 名前:デフォルトの名無しさん [2008/04/11(金) 01:39:58 ]
>>654教授か研究者の方?

656 名前:654 mailto:sage [2008/04/11(金) 01:52:32 ]
>655
いえ、違います。
ただ単にコンピュータ将棋に関心があって
(できれば自分でも作りたいと思ってる)
ボナンザメソッドに興味を持った
一介のアマチュアです。

657 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 05:57:50 ]
最善手を求めるときって、引き分けがある場合はちょっと工夫が必要なのかな?
反復進化で求めると思うんだけど、その時未知の局面が現れた場合、引き分けの値との関係が難しい。
負け<引き分け<未知<勝ちという図式になると思うんだけど、未知の局面の値は相手から見ても引き分けより
大きくなければならないので、単純に符号を変えるという普通の方法が使えないわけですが
何か一般的な手法があるのかなと思って聞いて見た次第です。



658 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 06:05:36 ]
>>657
未知の局面て何よ?

未探索で評価値がわからないなら探索して決めればいいじゃん。
終端ノードなら、静止評価すればいいじゃん。

そんなの反復深化とも引き分けともなんも関係ないよ。


659 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 06:26:40 ]
えっと、負け<引き分け<未知<勝ちから分かる通り
未探索の局面を全て調べる必要がないわけですが、深さを制限しないで調べるのが一般的でしょうかね。

660 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 07:03:41 ]
>>659
> えっと、負け<引き分け<未知<勝ちから分かる通り

何が言いたいのかさっぱりわからんよ。

基本的なことを確認するが、あんたは普通のαβや反復深化は理解していて
自分でそのプログラムぐらいはすぐに書けるんだろな?

あんたの言う「未知」って何よ?置換表に登録されていないの意味か?

そしてその「引き分け」っていうのは、なによ?

評価したい局面で引き分けにする指し手が見つかっているのか、
それとも「引き分け」というのが存在する将棋みたいなゲームでの
一般的な探索メソッドについて話しているのかどっちなのよ。


661 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:48:08 ]
>>653
例えば相対位置を使ったり

662 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:16:32 ]
上の方にあった千日手関係の話?

663 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 10:38:11 ]
で将棋に関するGHI問題の話の結論はどうなったの?

664 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:23:06 ]
>>663
このスレでは >>234 の論文以上の進展はないと俺は理解している。

665 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:18:03 ]
>663-64
結論は既に出てると思うが?
GHI問題と言うのは証明アルゴリズムの不完全性などに起因するのではなくて、
千日手などのそこまでの指し手に依存して勝ち負け(引き分け含む)が決まる
タイプのルールを持つゲーム(将棋、チェスなど)には必然的に生じる問題。

即ち、ある局面からの勝ち、負け、引き分けを厳密に判定するにはその局面に
至るまでの経路(指し手の履歴)も考慮する必要があると言う良く考えれば
ごく当たり前の話に過ぎない。

666 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:19:36 ]
上のアンカーは >663-664 の書き間違い。

667 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:33:23 ]
>657の言う「未知」と言うのは千日手になるかも知れないが初手からの
完全な履歴は残してないので厳密に考えると「千日手になるかどうか不明」
になると言う話なのかな?

しかし「相手から見ても引き分けより大きくなければならない」と言うのが
良く分からんな。不明な局面の場合「悪くても引分け(千日手)」に持ち込める
と言う保証なんか無いわけだから。不利な状況から千日手に持ち込もうとしても
出来ないかも知れない。




668 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:27:01 ]
うさ将棋本に局面で乱数xorを用いるhash(zobrist hashのことだろう)を、乱数ではなく
もう少しいい方法があるらしいことが書いてあるのだが、誰か情報求む。

与えられた数列集合の要素同士のxorを何回かとるときに
なるべく衝突しないような数列を数学的に決定する方法があるのか、
それとも衝突しにくい組み合わせを事前にrandomで選んだ数列集合のうち
良いものを探してみましょう、程度の話なのかどちらなのだ?

669 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:46:14 ]
その本のは知らないけど、以前読んだ何かのプログラムのソースでは
個々の乱数を生成したら立ってるビットの数はチェックしていたな。
うろ覚えだけど16±5くらいの範囲に収まってるかってのだったかなぁ。
この範囲に無ければ再生成。

670 名前:デフォルトの名無しさん [2008/04/13(日) 16:32:31 ]
ボナンザでいくつか質問があるんだけど,
・静的評価関数はminimax探索で利用されるんだよな?
・最適化の数値的手法1のスライドの関数f(p,ν)って何?

人工知能は学部で多少勉強した程度で将棋プログラムの経験もないんでとんちんかんなこと
聞いてるかもしれないけど,教えてください

671 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:52:30 ]
>>669
ああ、なるほど。1のビットの数はチェックしたほうが良さそうだね。

672 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:13:14 ]
他の乱数とのハミング距離が小さいのは捨てる
というのもあった(時間掛かるけど最初だけだからOK)

673 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:42:55 ]
>>672
ああ、それもいいね。

674 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:07:55 ]
>670
良く嫁。同じスライドの下に式があるだろう>f()

675 名前:デフォルトの名無しさん [2008/04/17(木) 20:19:52 ]
序盤、中盤、終盤はどのように判定したらいいんですか?
50手で終盤の事もあるし、200手で中盤の事もあるので手数とは関係ないと思います
考えられるのは、玉の危険度で測るのがいいと思いますが定番のやり方ってありますか?

676 名前:デフォルトの名無しさん [2008/04/17(木) 20:23:10 ]
>>668
数学的な方法って無いと思いますよ 
自分でやってみた方法は、プロの 棋譜を読み込んで衝突が起こりにくい乱数を決めておくって方法です
実際に起こりえない局面で衝突が起こらなくても意味がないので

677 名前:675 [2008/04/17(木) 20:27:40 ]
読み無しで、玉が詰みそうかどうかを判定する方法がわかれば良いのですが



678 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:04:04 ]
>>677
> 玉が詰みそうかどうかを判定
これを読みって定義するんじゃないか?

679 名前:675 [2008/04/17(木) 21:31:52 ]
危険度を数値化(危険度の評価関数)するって事ですよ
詰みそうならば詰め将棋を読んで、詰まないことが局面だけから判断できるなら詰め将棋をしなくて済みます
玉の逃げ道の多さが危険度に関係ありそうですけど、穴熊だとうごける所は0なのに堅いです
どのように危険度を判定するといいですか

680 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:10:47 ]
それこそ開発者各々の know-how の部分だろ.
まずは定番の「コンピュータ将棋の進歩」シリーズを読む.
続いてゲームプログラミングワークショップの予稿集を読む.
CSA に入ってトーナメントに参加し,他の開発者から色々教わる.
本格的な議論は将棋板のコンピュータ将棋関係のスレッドで

681 名前:デフォルトの名無しさん [2008/04/17(木) 22:19:20 ]
将棋板には人いません

682 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:40:25 ]
>>675
成駒の数とか敵陣にいる駒の数、あとは王将と攻め駒の距離とかかな。
適当に考えただけだから、実装して上手くいくかどうかはわからんが。

683 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:42:44 ]
>679
この辺で聞くと役に立つアドバイスがもらえるかも知れないよ。
GA将!!!さん運営の「コンピュータ将棋等の掲示板@入門編」
www4.rocketbbs.com/741/comsyogi.html

あるいは超有名なYSSの山下さんところの
「コンピュータ将棋や囲碁の掲示板」
524.teacup.com/yss/bbs

最近、掲示板@入門偏は話題が無くて止まってるからちょうど良いかも。
ちなみにダブルポストすると注意されるから気を付けてね。

684 名前:デフォルトの名無しさん [2008/04/17(木) 23:05:52 ]
サンクス

685 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:22:10 ]
>679
ちなみに「うさぴょん本」にちょっとだけ書いてあるのを紹介すると

・玉の危険度
「玉の周囲に敵の利きがどの程度あるか、敵の駒がどの程度の距離に迫っているか」

結局、自陣(自玉周囲)にどの程度敵方の駒が利いているかが判定のキモだと思うな。
自陣に利いていても、玉ではない味方の駒で敵の駒の利きを受け止めているんなら
まだ固いと判断できるし、何にも無い空間にバシバシ利いているんなら(裸玉)、
もう詰められる寸前だろうし。

固さと玉の逃げ道の広さは当然、矛盾するところがあるので難しいところだけど。

686 名前:デフォルトの名無しさん [2008/04/18(金) 00:04:17 ]
しかし、玉の危険度と、通常の評価関数の二つがあると、どちらを優先したらいいのか混乱しますね
統合した評価関数が出来れば一番良いのですが

687 名前:デフォルトの名無しさん [2008/04/18(金) 00:49:07 ]
プロの棋譜で、2回以上現れる局面で必然手のない局面は、互角であると思います。
これを基準にして評価関数を調整するといいと思うのですが…
しかし、問題があり、2手以上出てくる中盤までしか調整が出来ません。
プロが指した手が最も得点が高くなるように調整すれば全局面に対応出来ますが
例えば、10手読みを入れた結果だとすると、評価値の値を間違えることになります。
しかし、何手読んだのか知ることは出来ず、常に一手読みとして学習したら駄目でしょうか?



688 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:53:31 ]
>686
??? そりゃ、両方をひとつの評価関数として統合しないと。
と言うか、玉の危険度も通常は評価関数の一部だよ。
いろんなパラメータを重み付けして足して行くわけだ。

だから手動で調整するとバランスを取るのに四苦八苦するわけだが。

689 名前:デフォルトの名無しさん [2008/04/18(金) 01:06:48 ]
>>688
序盤か、終盤か、は通常の評価関数では知ることは出来ないと思います。 
互角であっても終盤である事があります。
終盤であることを知るにはどちらかの玉が危険であると知ることが必要と思います。
そのため、玉の危険度と通常の評価関数がないと終盤がわかりません。

690 名前:689 [2008/04/18(金) 01:20:20 ]
先手の得点A、後手の得点Bに対して、評価関数をA/(A+B)とするならば
MAX(A,B)の値によって終盤判定が行えると思います。


691 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:45:16 ]
>689
(通常の評価関数の一部としての)玉の危険度と
局面の進行度(終盤度)を計るための玉の危険度の話が
ゴッチャになっているね。(私が誤解したのかも知れない)

後者は例えば
序盤度×パラメータA+中盤度×パラメータB+終盤度×パラメータC
と言うような重み付け係数として組み込む事になると思う。

玉の危険度は終盤度(進行度)と通常の(有利不利を見る)
評価関数の一部としての両方に表れて良いと思うけど、
進行度の方はあまり凝った評価はしなくて良いんじゃ無いかな?

お互いの陣地に成り込んだ駒の数とか持ち駒の数くらいで。
飽くまで私見ですが。

692 名前:デフォルトの名無しさん [2008/04/18(金) 01:51:46 ]
5対5でも、8対2でも、最善手を指せば駒交換などの後、数手以内なら状勢は変わらないはずですね。
ボナンザはその前後で評価値が変わらないとして学習しているって事ですか。
何手先の局面と評価が一致するのかが重要ですが。

693 名前:デフォルトの名無しさん [2008/04/18(金) 02:15:05 ]
>>691
玉の危険度を正確に評価することは重要と思います。
正確に判定できれば、終盤用の指し手がさせますし、詰め将棋を調べず高速に危険度が求まります。

>>692の続きですが、評価値が保たれている局面を把握する方法は、既に知られているんですか?
ネットで見る限りでは、駒交換だけ進める様な感じと思いますが… 
しかし、それでは飛車・角・香の利きが良く利いているなどの情報は失われます。

694 名前:693 [2008/04/18(金) 02:26:04 ]
例えば、銀は取られて、と金が作れて互角になったり、
桂は取られるけど、飛車がいい位置に移動できて互角になったりすると思います。
あとお互いに飛・角がいい位置に移動して互角になることもあります。
静止探索では、飛車が好位置に移動することも考慮しますか?




695 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 10:59:14 ]
>>693
> 正確に判定できれば、終盤用の指し手がさせますし、
> 詰め将棋を調べず高速に危険度が求まります。

あんた、ほんとに将棋弱いんだな。

少しでも将棋が指せるなら、持ち歩の一歩の違いだけで
詰む/詰まないが変わることなんてしょっちゅうあることは
わかりそうなものなのに。

結局、ここからもわかるように
単純な関数で正確に評価することは出来ない。

詰め将棋なんて、静止評価に比べれば終端ノードの評価に
計算量を要しないので、詰む可能性が高そうな局面は全部調べればいいじゃん。


696 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:03:09 ]
>>694
> 静止探索では、飛車が好位置に移動することも考慮しますか?

したければすればいいし、したくなければしなければいい。

その手の評価関数を副作用なしに書くことは非常に難しいので
シンプルな評価関数にして先読みできる量を増やしたほうが
棋力は向上すると思うがな。


697 名前:デフォルトの名無しさん [2008/04/18(金) 11:05:35 ]
例えば、三手後に詰みそうな局面が出てきたとします。
先手と後手の指し手が20通りずつあって、そのうち正解手は一手だけとして
その400通りの全てで詰め将棋を0.5秒つかったらそれだけで3分以上かかります。

静止探索でググると「 関連検索: bonanza 静止探索 」というのが出てきます。
みなさん bonanzaの 静止探索に注目してるんですね…





698 名前:デフォルトの名無しさん [2008/04/18(金) 11:25:43 ]
>>696
評価関数を書くのではなく、評価関数を自動で調整する為に静止探索をつかうんです。
プロの指し手は最善だとすると、静止の局面から、次の静止の局面への評価値に変化はないと仮定できると思います。
2つの局面で評価値が変化しないようにパラメータを決めるんです。
そのため静止局面が正しく判定出来ないと弱くなります。

699 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 12:04:29 ]
野暮な突っ込みだけど
>その400通りの全てで詰め将棋を0.5秒つかったらそれだけで3分以上かかります
0.5秒は遅すぎです。正確な時間は分からないけど1ミリ秒でも
遅いと思います。

700 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:20:03 ]
>>697
> 例えば、三手後に詰みそうな局面が出てきたとします。

だから「三手後に詰みそう」だとどうやって正確に判定すんの?

言っとくけど王の近傍だけでは判定できないし、敵王の近傍に
自駒がたくさん利いていても、その利きによって打歩詰めになるかも
知れない。利いてりゃいいってもんでもない。

正確に判定したければ、実際に3手読むほうがよっぽど速い。

> 先手と後手の指し手が20通りずつあって、そのうち正解手は一手だけとして

即詰に関しては平均合法手は20もない。6,7ぐらい。

> その400通りの全てで詰め将棋を0.5秒つかったらそれだけで3分以上かかります。

日本語が意味不明なんだが、3手読むのに要する時間は1ms以下だと思うのだが。
一体、何の話をしてるんだ?


701 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:26:14 ]
>>698
> 評価関数を書くのではなく、評価関数を自動で調整する為に静止探索をつかうんです。
「評価関数を自動で調整する為に静止探索をつかう」なら
その「静止探索」で使うための評価関数がいるだろ。

> プロの指し手は最善だとすると、静止の局面から、
> 次の静止の局面への評価値に変化はないと仮定できると思います。

できない。少なくとも投了の数手前には形勢はどちらかに大きく傾いてる。

あんた本当にプログラム1行でも書けるのか?
プログラムの書けないキチガイの戯言ならこれ以上付き合わないぞ。


702 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:40:38 ]
>>701

> あんた本当にプログラム1行でも書けるのか?

今頃気づくなよw
どう考えても最初から素人の妄言だろ

703 名前:デフォルトの名無しさん [2008/04/18(金) 13:42:36 ]
>>701
中・終盤で2対8でもいいんです。
双方が最善を指したならば数手以内なら2対8が保たれるはずです。
例えば、いったん飛車がとられるけど、金と桂を取り返せて
初めの静止局面から、次の静止局面の評価はほぼ等しくなるはずです。
プロがミスをしないものとします。

704 名前:デフォルトの名無しさん [2008/04/18(金) 13:46:39 ]
>>700
ルートでは詰みはないけれど、探索中の3手後に詰みそうな局面が現れたとします。
このとき、全てに対して詰め将棋を計算するのは効率は悪いって事ですよ。
だから、局面から危険度が求まれば、詰め将棋をしなくて良い場合がでてくるかもしれないってことです。

705 名前:703 [2008/04/18(金) 13:48:52 ]
ボナンザの場合、基本は一手後と評価値の変化はないものとして、駒交換が起こる場合は進めた局面と比較するって事でしょう。

706 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:01:02 ]
>>703-705
あんたがプログラムが一行も書けない
掲示板をsageることすら知らない
日本語がままならないキチガイだって
ことはよくわかった。

プログラムが書けないなら、プログラムの勉強から先にやりなよ。
あんたが小・中学生ならいまからでも遅くはないだろう。


707 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 16:44:04 ]
え、痴呆、知的障碍でなければプログラミングなんて
いつからだって間に合うでしょう。。



708 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 19:50:23 ]
>>707
もちろんその通りなのだが、703の場合は日本語の勉強とかインターネットを使う勉強とか
たくさん他に勉強しないといけないことがあるように思ったんでな。

709 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:57:18 ]
こいつはリバーシ1くさいな

710 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:30:25 ]
いや30過ぎてからでは難しいと思うぞ<プログラミング

711 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:56:48 ]
どうなんだろうな
一種の芸術技能だと考えると確かに30越えはきつそうだが…

712 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 07:07:00 ]
すみません、詰め将棋のプログラムつくっているんですけれども、
無駄合いの判断でつまっています。なにかいい考え方はありますでしょうか?

713 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 10:06:31 ]
>>712
「コンピュータ将棋の進歩」の1を読んだらどうだ?


714 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 13:04:34 ]
>712
うさ親さんの「コンピュータ将棋のアルゴリズム」にも解決法が
示されているよ。「王手を掛けた駒で合い駒を取り、その合い駒を
玉方にすぐに返した時にそれでも詰むならばそれは無駄合いである」
と言う考え方らしい。

「柿木のアルゴリズム」と呼ばれるのだそうな。

715 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 13:24:07 ]
玉側の利きが無くて玉の周囲で無い駒はりは無駄合いの確率が高い。
まとめると、引きつけておいて、その駒が取れて逃れられるケース以外は無駄合いらしいということ。

716 名前:デフォルトの名無しさん [2008/05/03(土) 14:34:10 ]
homepage.mac.com/junichi_takada/wcsc18/

717 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:50:00 ]
アマチャンピオンがAIに負けたようだな



718 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:14:30 ]
山下BBSで初心者が完全スルーされててワロタ

719 名前:デフォルトの名無しさん mailto:age [2008/05/11(日) 23:19:58 ]
皆さんに教えてください。 思考部分の将棋ソフトを作ろうと考えていますが。
GUIに「CSA将棋」を使うか「将棋所」を使ったほうがいいか考えています。
他に何か良さそうな物が有れば教えてください。
行く行くはコンピュータ将棋選手権に出たいと考えています。

720 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:35:19 ]
どちらでもいい。思考本体さえ出来れば入れ替え簡単

721 名前:デフォルトの名無しさん mailto:age [2008/05/11(日) 23:39:10 ]
了解しました。では、サービスがよい「将棋所」で作ります。ありがとうございました。

722 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:22:35 ]
将棋所ってはじめて知った。USI対応のGUIなんてあったんだ。
俺も将棋プログラムしてみようかな…

723 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 18:07:38 ]
>>718
こいつ?

2回目以降の探索の確率は 投稿者:初心者 投稿日:2008年 5月 7日(水)03時15分22秒    編集済
2回目以降の探索の確率は、どうやって決めますか?
1回目の探索で、たとえば、王手やそれをかわす手、飛車取りやそれをかわす手などは
高い確率にするのは当然と思いますが、2回目は得点に応じて確率を割り振りますか?
しかし、得点比率で割り振ると飛車が逃げる手が10通りあってどれもがほぼ同点だと
重要な手なのに、割り振る値は小さくなってしまいます。
かわす場合は特別で、一手であるかの様に扱うとかわしてすぐに取られてしまう手にも
高確率を与えてしまう事になります。
あと初期の確率は、完全に無視して、得点だけにするかどうかもはっきりしません。

かわす手はその時点で、一番高い一手のみを採用して、あとは無いものとして扱って
確率を分配すれば良さそうですね。その手を使って不利にならなければそのままで良いし
無視したほかの手より得点が下がればそちらを採用すればいいので。



724 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 18:46:41 ]
将棋所のLaramieとか序盤がめっちゃくちゃで萎える・・・
そのくせ駒がぶつかると強くなる 将棋の勉強にちっともならない

725 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 19:26:59 ]
CPUで勉強しようとする頭がオカシイんだよ^^たまには外でなよ><

726 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 01:06:52 ]
逆に考えるんだ。
序盤なんてどうでもいいんだと

727 名前:デフォルトの名無しさん mailto:SAGE [2008/05/20(火) 13:34:56 ]
yaneuraoの宣伝ブログの裏側はこうなっています。
www.pressblog.jp/static/pressblog.aspx
yaneuraoのブログを訪問したり、コメントしたりすると、原稿料がアップする仕組みです。



728 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:16:25 ]
原稿料の算定基準が掲載されていないな

729 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:30:15 ]
>>727
キチガイ帰れ

730 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:31:21 ]
727は
d.hatena.ne.jp/yaneurao/20080510
弓月とか言うキチガイの模様。

731 名前:デフォルトの名無しさん mailto:SAGE [2008/05/20(火) 14:46:03 ]
集客力のあるブロガーほど報酬が高いのは当たり前

732 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:53:37 ]
731は弓月とか言う知能障害者っぽいな
d.hatena.ne.jp/yaneurao/20080509


733 名前:デフォルトの名無しさん mailto:SAGE [2008/05/20(火) 14:57:35 ]
ここのところ屋根裏は毎朝宣伝こいてるな

734 名前:デフォルトの名無しさん mailto:SAGE [2008/05/20(火) 14:59:45 ]
集団ストーカー激指&やねうらおはもはや有名

735 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 15:02:56 ]
弓月とか言うキチガイは、あの天下のやねうらお様に遊んでもらえて幸せだな。

736 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 15:04:16 ]
>>733-734
お前はお前用のキチガイスレに帰れ
love6.2ch.net/test/read.cgi/sf/1177547691/


737 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 15:05:50 ]
>>736
この弓月とか言う精神障害者用のスレは、こっちじゃね?
science6.2ch.net/test/read.cgi/sci/1165122111/




738 名前:デフォルトの名無しさん mailto:SAGE [2008/05/20(火) 17:54:45 ]
以上、集団ストーカーの実演でした。

739 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:30:36 ]
>>738
お前は、半角入力すら出来ない知能障害者

740 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:34:00 ]
なるほど。
--
727 名前:デフォルトの名無しさん[SAGE] 投稿日:2008/05/20(火) 13:34:56
yaneuraoの宣伝ブログの裏側はこうなっています。
www.pressblog.jp/static/pressblog.aspx
yaneuraoのブログを訪問したり、コメントしたりすると、原稿料がアップする仕組みです。

731 名前:デフォルトの名無しさん[SAGE] 投稿日:2008/05/20(火) 14:46:03
集客力のあるブロガーほど報酬が高いのは当たり前

733 名前:デフォルトの名無しさん[SAGE] 投稿日:2008/05/20(火) 14:57:35
ここのところ屋根裏は毎朝宣伝こいてるな

734 名前:デフォルトの名無しさん[SAGE] 投稿日:2008/05/20(火) 14:59:45
集団ストーカー激指&やねうらおはもはや有名

738 名前:デフォルトの名無しさん[SAGE] 投稿日:2008/05/20(火) 17:54:45
以上、集団ストーカーの実演でした。
--
判りやすいと言うかなんと言うか……

741 名前:デフォルトの名無しさん [2008/05/20(火) 19:11:12 ]
やねうらおは明日も宣伝をこく。きっとこく。

742 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 19:26:30 ]
全角の人以外に空欄はいないので(略)

743 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 20:23:39 ]
>>741
お前激しくスレ違いだから以下の精神病患者スレに移動願う。。
love6.2ch.net/test/read.cgi/sf/1177547691/
science6.2ch.net/test/read.cgi/sci/1165122111/

744 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 20:27:46 ]
なんだこいつ・・・きめえ・・・


745 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:35:45 ]
詰め将棋を研究して数学的になぜ詰めるのかが分かればその延長線上に最強プログラムがあると思うよー
あとチェスでいうオープニングの研究もしたほうがいいと思うよー

746 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:43:47 ]
詰め将棋は既に十分に強いんです

747 名前:デフォルトの名無しさん mailto:age [2008/05/22(木) 15:13:43 ]
ki2 書式の質問です。
▲7六歩 △3四歩 ▲2六歩 △4四歩 ▲2五歩 △3三角
▲4八銀 △4二飛 ▲6八玉 △3二銀 ▲7八玉 △7二銀
▲5六歩 △4三銀 ▲5八金右 △9四歩 ▲9六歩 △6二玉
▲5七銀 △6四歩 ▲3六歩 △7一玉 ▲8六歩 △5二金左
▲8七玉 △7四歩 ▲7八銀 △8四歩 ▲3八飛 △3二飛
▲6六歩 △5四歩 ▲6七金 △6三金 ▲6八銀 △8二玉
▲7七銀右 △4五歩 ▲7九角 △5五歩 ▲3七桂 △5四銀
▲5五歩 △同 角 ▲5六金 △4四角 ▲5八飛 △2六角
▲4五金 △5三歩 ▲5四金 △同 歩 ▲4三銀 △3三飛
▲5四銀成 △同 金 ▲同 飛 △3七角成 ▲4六角 △3六馬
▲4四飛 △4三歩 ▲6四角 △7三銀打 ▲4六飛 △6三馬
▲4二角成 △5二金打 ▲3三馬 △同 桂 ▲3一飛 △2五桂
▲3四飛成 △3七角 ▲5四金 △6二馬 ▲2五龍 △5三歩
▲5五金 △1九角成 ▲6五桂 △4六馬 ▲同 歩 △5七飛
▲5八歩 △1七飛成 ▲3三角 △6七香 ▲5九金 △6八歩
▲1八歩 △3七龍 ▲1五角成 △3九龍 ▲4八馬 △1九龍
▲3七馬 △3九龍 ▲4八馬 △同 龍 ▲同 金 △6九歩成
▲6七銀 △7九と ▲2九龍 △8九と ▲同 龍 △5四歩
▲7三桂成 △同 馬 ▲6五金 △5三桂 ▲5四金 △5五桂
▲7八銀 △2七角 ▲5三金 △同 金 ▲6五桂 △5四角成
▲5七金 △6四馬上 ▲5六香 △6三金 ▲8八玉 △7三桂打
▲2一飛 △6五桂 ▲同 歩 △同馬右 ▲6六銀打 △6四桂
この棋譜において最後の行の△同馬右です。これは△同馬直と書くのが正しいと思うのですが。
柿崎将棋では正しく処理されています。何故なのでしょう?
右と書いて右に無ければすぐ下を探すというのが正しいのですか?
ちなみに直と書き直しても正しく処理されました。



748 名前:747 mailto:age [2008/05/22(木) 16:01:10 ]
自己レス。同じような記述を複数見つけ、これが正しいと理解しました。 お騒がせしました。

749 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:06:45 ]
>>745
色々考えた結果、最強はデータベースっぽいアプローチなのかなと思った。

750 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:12:38 ]
chessは序盤と終盤がデータベースで済むんだが……

将棋は中盤に入ると毎回、一度も過去に出ていない局面が毎回大量に出てくるので、
100TBぐらいでは全然歯が立たないみたいなんだよな
データベースに全部収まるとカッコイイんだが

要は、ある局面を評価できればいいだけなので、
データベースとしてデータを持っておくことに意味があるわけではない……


751 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:24:13 ]
チェスの終盤は、ポーン2個vsポーン2個くらいの状況でも
普通のコンピュータで完全に読みきることは出来ないくらい難しい。
データベースがあると終盤をかなり上手く指すようになるけど
思考力は人間の半分以下

752 名前:デフォルトの名無しさん mailto:age [2008/05/26(月) 03:00:37 ]
ネタ提供? 2ch棋譜の内40433件の分析したデータ
*:先手の勝ち数:後手の勝ち数:*:*:戦型
1:739:626:0:0:その他の戦型
2:1282:1131:0:0:横歩取り
3:1994:1785:0:0:中飛車
4:4975:4259:0:0:矢倉
5:4208:3825:0:0:四間飛車
6:1647:1608:0:0:相掛かり
7:516:378:0:0:角交換腰掛銀
8:37:33:0:0:袖飛車
9:928:749:0:0:向飛車
10:1699:1679:0:0:三間飛車
11:646:617:0:0:相振飛車
12:114:121:0:0:右四間飛車
13:847:754:0:0:角換わり
14:737:822:0:0:ひねり飛車
15:40:43:0:0:筋違角
16:123:81:0:0:右玉
17:297:227:0:0:陽動振飛車
18:56:38:0:0:5筋位取り
19:139:144:0:0:角交換その他
20:50:60:0:0:角換わり棒銀
21:34:17:0:0:角換わり拒否
22:18:13:0:0:風車
23:38:20:0:0:棒銀
24:29:23:0:0:タテ歩取り
25:93:98:0:0:雁木


753 名前:デフォルトの名無しさん mailto:age [2008/05/26(月) 03:04:33 ]
*:先手の勝ち数:後手の勝ち数:*:*:棋戦
1:968:881:0:0:王位戦
2:5715:5183:0:0:順位戦
3:837:764:0:0:NHK杯
4:1525:1229:0:0:竜王戦
5:146:128:0:0:日本シリーズ
6:228:196:0:0:朝日オープン
7:1438:1385:0:0:その他の棋戦
8:788:680:0:0:棋王戦
9:71:65:0:0:達人戦
10:1503:1308:0:0:棋聖戦
11:741:745:0:0:銀河戦
12:133:107:0:0:レディースオープン
13:865:820:0:0:王座戦
14:653:540:0:0:新人王戦
15:269:212:0:0:名人戦
16:40:43:0:0:朝日アマ名人戦
17:249:230:0:0:勝ち抜き戦
18:127:125:0:0:女流王将戦
19:102:99:0:0:倉敷藤花
20:490:434:0:0:早指戦
21:1122:943:0:0:王将戦
22:116:108:0:0:女流王位戦
23:212:203:0:0:女流名人戦
24:73:80:0:0:近将カップ
25:130:96:0:0:三段リーグ
26:101:104:0:0:早指新鋭戦
27:10:9:0:0:中学生名人戦
28:20:28:0:0:アマ王将戦
29:10:21:0:0:赤旗名人戦
30:59:53:0:0:全日アマ名人戦


754 名前:デフォルトの名無しさん mailto:age [2008/05/26(月) 03:06:15 ]
30:59:53:0:0:全日アマ名人戦
31:13:22:0:0:平成最強戦
32:31:25:0:0:グランドチャンピオン
33:55:63:0:0:鹿島杯
34:25:30:0:0:アマ竜王戦
35:604:538:0:0:全日プロ
36:28:22:0:0:レーティング選手権
37:2:4:0:0:学生王将戦
38:12:20:0:0:小学生名人戦
39:19:15:0:0:学生名人戦
40:11:13:0:0:女流アマ名人戦
41:13:25:0:0:IBM杯
42:177:170:0:0:天王戦
43:95:84:0:0:若獅子戦
44:411:333:0:0:名将戦
45:430:309:0:0:十段戦
46:48:41:0:0:若駒戦
47:76:94:0:0:連盟杯戦
48:19:16:0:0:名棋戦
49:100:100:0:0:奨励会
50:43:53:0:0:最強者決定戦
51:27:16:0:0:古豪新鋭戦
52:82:87:0:0:九段戦
53:19:44:0:0:東京新聞杯
54:36:40:0:0:支部対抗戦
55:4:1:0:0:学生女流名人戦


755 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 03:07:24 ]
56:1:0:0:0:新春お好み対局
57:1:0:0:0:細:九段設定戦
58:8:10:0:0:アマ女王戦
59:10:7:0:0:育成会
60:47:61:0:0:都名人戦
61:8:4:0:0:高校竜王戦
62:1:3:0:0:その他の棋戦     
63:28:18:0:0:大和証券杯
64:1:0:0:0:NHK杯      
65:0:2:0:0:順位戦       
66:38:30:0:0:朝日杯
67:22:31:0:0:マイナビ
68:0:1:0:0:倉敷藤花戦


756 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 03:09:33 ]
*:先手で勝ち数:先手で負け数:後手で勝ち数:後手で負け数:名前
1:585:178:491:253:羽生善治
2:644:304:539:378:谷川浩司
3:187:180:155:208:島  朗
4:119:87:122:108:三浦弘行
5:105:88:83:95:畠山成幸
6:258:130:229:176:郷田真隆
7:216:163:203:206:南 芳一
8:90:62:82:77:真田圭一
9:128:92:132:105:中田宏樹
10:341:156:272:202:森内俊之
11:260:103:237:180:丸山忠久
12:208:125:180:150:藤井 猛
13:533:332:468:370:中原 誠
14:363:173:307:224:佐藤康光
15:57:41:62:44:松尾 歩
16:102:83:93:105:日浦市郎
17:97:96:98:69:畠山 鎮
18:179:121:150:143:阿部 隆
19:108:57:115:56:渡辺 明
20:155:104:155:115:中川大輔
21:39:57:29:59:伊藤博文
22:226:205:189:243:桐山清澄
23:169:110:153:130:先崎 学
24:84:58:69:82:北浜健介
25:94:44:96:55:山崎隆之
26:67:85:56:100:前田祐司
27:184:206:145:204:青野照市
28:68:52:58:61:石橋幸緒
29:49:52:53:55:矢内理絵子
30:59:39:53:46:近藤正和
以下省略

757 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 02:43:54 ]
>>752みて思ったんだけど将棋の戦型って曖昧だよな
四間飛車だけだと先後どちらが振ったか分からないし、角換わりだけやたらと分類されてたり
もっとスマートに記述する方法はないの?



758 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:12:53 ]
定跡データベースの樹形図で葉の数が均等になるようにすればよい

759 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:58:58 ]
DNAの解析を各自のコンピュータで分析した結果をあつめて
実現しようっていうのがあったとおもうけど
それと似たように分散している計算力をあつめて全ての局面を評価するってできない?


760 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:53:19 ]
分散処理は既に行われてるが全ては無理


761 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 23:53:06 ]
将棋も囲碁もその場が今どちらが有利かなんて人によって考えが違うに決まってる

だから色んな人工頭脳をもった将棋プログラムを作ればいいと思う

俺には無理だけど

762 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 23:57:37 ]
ログも読まず低レベルながらに頑張って口出ししては消えていく
そういう輩が時々現れるよね

763 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:05:53 ]
9x9の盤面に8種類のコマが自分と相手の分あって、あとは空だから
81**(8*2+1) で、ルールの制約があるからこれよりもっと少ないと思う
www.google.co.jp/search?hl=ja&rlz=1T4GFRD_ja___JP238&q=81**%288*2%2B1%29&btnG=%E6%A4%9C%E7%B4%A2&lr=

それまでの手がどうであってもルール上許される配置のどれかになる
でルール上許される全ての局面に評価値をつける

勝敗が微妙な局面もあるけど、そこから
自分の勝ちの局面に少ない手で到達できるとか
相手の打ち方によらず確実に勝ち局面に到達できる手とか
があるほど評価値を高くするって案はどう?



764 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:24:12 ]
>>763
成りがあるから81**29か
www.google.co.jp/search?hl=ja&rlz=1T4GFRD_ja___JP238&q=81**29&lr=

で特定局面から持ち駒も含めて別の局面へ遷移する手を考える
つまり各局面間の遷移に分割して解析する

765 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:43:55 ]
>>764
ちがうわ 29**81かw
81C40 * 29**40 でもいいか?

766 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:47:39 ]
81C40 * 29^40 = 6.65363027 × 10^81
www.google.co.jp/search?hl=ja&q=%2881+choose+40%29*29%5E40&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=


767 名前:デフォルトの名無しさん mailto:age [2008/06/01(日) 10:47:51 ]
このスレの過去スレを読みたいのです。どこかで見れますか?
又は、持っている方UPお願いいたします。



768 名前:デフォルトの名無しさん [2008/06/01(日) 12:29:25 ]
つ usapyon.dip.jp/shogi/computer/index.htm

769 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 15:21:19 ]
ありがとうございます。

770 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 15:27:02 ]
どういたしまして

771 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:14:07 ]
仮にすべての局面を評価できるとしたら、投了直前の局面をすべて生成して勝ち負けつけて
開始局面に向かって戻っていくだけだから、連続的な評価値なんて不要

772 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:16:13 ]
>>771
戻して行く?
どこで手駒を使ったかまで遡れるのか?

773 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:24:15 ]
>764
(現在の)局面状態だけを見て各局面への遷移を分類するのは難しい。
あちこちにループが発生する。詳しくはこのスレを頭から良く読んでね。

774 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:31:23 ]
>771と>772が想定している「全ての局面」の意味が違うようだな。
つまり、その局面に至る経路情報を含めて分類してるのか、
経路情報は捨てているのか?

775 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:57:50 ]
将棋でこういうデータ調べてる人っているの?
www9.atwiki.jp/othello/pages/27.html

776 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:11:20 ]
>775
居ないんじゃないかな?
オセロや囲碁と違って将棋は終盤がなかなか収束しない。
終局図が何通りあるのかも良く分からんし。

777 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:26:01 ]
>>771
投了局面から「詰めろ?」を遡ることで
投了局面より前の局面の勝敗を決定できるのは確かだと思う

だけど更に遡ると、遡ったのとは違う経路で将棋が進んで
違う結果の局面になることがあると思う
一手で形勢逆転するような手があると思う

>>773
ループは枝刈りするとか対策は考えられるんじゃないかな

目標の中間局面に到達するまでの手の経路は
手数が多くても少なくても勝敗には関係ないよね
最短でなくて遠回りしてもいい

さしてるうちに、最初目標としていた中間局面じゃなくて
自分に有利な別の中間局面に変えてもいいし



778 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:36:36 ]
・ルール上可能な局面(駒の配置図)はそれぞれがネットワーク状に「手」で繋がる
・局面のサブセットにだけ勝敗の評価が決まっているものがある
・局面の遷移がかなり限定されていれば(詰めろみたいに)勝敗の評価を決められる
・そのほかの局面は手によって評価が変わる
って感じのイメージを持ってる

779 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 21:47:41 ]
上の方で議論になっているけど
将棋の「局面」を見て形勢を判断するためには
単なる盤上や駒台の様子だけではなく
その局面に至るまでの経緯も必要

極端な話、たとえば指しかけを引き継いだとして
「この盤面は敵玉に詰みがあるぞ!」と思っても
それは千日手の4回目かもしれないとかそういうこと

780 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 21:49:46 ]
>777-778
末端局面から遡って勝ち、負け、引き分け(千日手)で
確定的にラベル付けするだけじゃなく、
途中局面に中間的な評価値を付けようって事?
おもしろい考え方だが、一体どうやって?


781 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 21:54:38 ]
末端局面からさかのぼるのなら途中も当然
「勝ち」か「負け」か「引き分け」になるだろうって

782 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:01:06 ]
>>779
> それは千日手の4回目かもしれないとかそういうこと

(現在の技術で可能かどうかは知らんが)データベースを引くのだから、現在の局面に
至るまでに詰みがある局面を逃しているはずはないと仮定できるだろう。

だから、連続王手の千日手のことは考慮しなくて良いと思う。




783 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:03:41 ]
>>779
ソフトが「この盤面は敵玉に詰みがあるぞ!」と思って指したら。
システムから千日手で引き分けと言われるだけで。その事にソフトは何の関係が無いわけ。
それを操作した人間が、あちゃ〜〜前に勝ってたのか、と思うだけ。
それに何の問題があるのか?


784 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:05:15 ]
引き継ぐ前の事を意識する必要は無い。

785 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:05:59 ]
>781
もちろん、そうなんだが >777-778が何か面白いアイデア持ってないかな?と。
例えば勝ちに至る経路の広さや近さで評価値を付けるとか。

786 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:06:55 ]
なんかminmax法も分かってない奴がいるな

787 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:16:22 ]
>>786
いや、「神ならぬ人間がその盤面を引き継いだとして
どれほど勝ちやすいか」っていう評価値じゃね?



788 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:21:04 ]
>>782
自分についてはそういう仮定を置くのもアリかもしれないけど
少なくとも相手のことについてはまずいだろう

「うむ、俺が勝つにはこの手しかない!
 でも相手にこう王手されるとまずいな…
 しかたない。勝ちはあきらめて千日手に持ち込むか…」

というようなケースってあるじゃんか

ところがこの相手の王手が千日手の4回目かもしれない

789 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:27:28 ]
>>788
与えられた局面が勝ちか負けかを判定するデータベースを構築する話をしているんだろ?

相手がポカして相手が勝てる局面を(その勝ちのための指し手を連続王手の千日手で)負けの状態に
してようが、それはデータベース構築には何の関係もないことだろ。


790 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:27:50 ]
引き継いだ前の人間の意識を、引き継いだソフトは考慮する必要は無い。
もし考慮して欲しいなら、その旨のインターフェースを作るべき。
しかしその人間の目的を読み取る機能は、最強の将棋ソフト作るより遥かに
困難な人工知能が必要。

791 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:34:58 ]
いや、なんかおまいら話が変な方向へ
ひとまず>>165-395あたりは読んでくれ

792 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:37:17 ]
>789
実はそのデータベースを構築する事そのものが、その局面に至る経路を考慮する事を要請する。
さもないと探索あるいは末端局面からの遡りが止まらなくなる。

良く考えてみないと分かりにくい事だが、なぜ千日手のルールがあるのかを考えてみよう。

793 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:37:36 ]
>>789
「それは関係ないことだから関係ないのである。」
では説明になってないぽ

794 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:38:32 ]
だからさ、一連の流れのある局面が、他の流れのある局面と同じと言う事は無いのかと、言う事だろ。

795 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:44:14 ]
流れとか「局面」とか、意味のあいまいな言葉を無定義で使うなよ

796 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:48:07 ]
隣の将棋盤の駒の配置と持ち駒の数や種類が、その隣の違う対局の数時間前のときの全く同じ将棋盤の駒の配置と持ち駒の数や種類がある手において、同一だったと言う事は無いのかと言ってる。

797 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:55:09 ]
>795
「流れ」と言うのはある局面から別の局面に至る経路の事だよ、多分。
>794じゃないけど。

で、違う経路から見かけ上同一の局面に至る事は
それこそ幾らでもあるし、ループする事もある。



798 名前:デフォルトの名無しさん [2008/06/01(日) 23:03:43 ]
評価値として
勝ち、負け、千日手、勝ちか千日手、負けか千日手
を定義すれば局面評価DBを作る点では問題無くない?

799 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:11:41 ]
>>798
問題ないかどうかは、どういう目的で作るのかによるけど

そもそもそのような評価が、駒配置だけを見て可能か
ということに対して懐疑的なんだと思うよ

800 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:14:47 ]
今の指し将棋プログラムは現状の局面状態(駒割と駒の配置)だけで持って、
盤面を評価してるように見えるから >789のように勘違いする人も居るんだよね。
ところがその評価はかなり荒い近似に過ぎないから通用するのであって、
厳密に確定局面から遡って評価しようとするとそこに至る経路情報が必須になる。

詰め将棋プログラムは確実に経路情報を考慮してるし、しないと答えを間違う。
いわゆるGHI問題。

801 名前:デフォルトの名無しさん [2008/06/01(日) 23:29:54 ]
経路情報は局面間を結ぶ有向線として持てると思う
勝ち負けの決まる局面は確かに存在する
これらの情報で中間局面をどう評価するかだけど
相手の手が何であっても勝ち局面に遷移できる局面は勝ちたが
相手の手によって勝ち千日手負けのいずれも有りうる局面もあると思う
そんな局面は勝ちやすさで評価する
勝ちやすさは例えば勝ち評価値の局面への距離とかで決める
そんな単純じゃないと思うけどね

802 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:19:51 ]
>>800
俺はコンピュータ将棋の開発者で、GHI問題はもちろん知っている。
GHI問題を正しく理解していないのはお前のほうだろ。

詰みのあるすべての局面の集合から逆算してんだぜ?
GHI問題なんか起こるわけないだろ。

ただしそこに至るまでに同一局面が3回以上出てきていないという条件が必要だが。
(連続王手の千日手を発生させないため)

803 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:21:54 ]
>>802
>ただしそこに至るまでに同一局面が3回以上出てきていないという条件が必要だが。

おいおいw

804 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:24:48 ]
>>803
お前、頭おかしいんじゃねーの?

805 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:28:27 ]
> 俺はコンピュータ将棋の開発者で、

権威づけか

806 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:29:35 ]
>>805
実際に作ってもない/作れない/作ったことがない奴に言われたくないね。

807 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:32:17 ]
作ってるのに理屈がわかってないんだとしたら
そっちの方がよっぽど問題のような…

そんなに俺様の言うことを聞けって言いたいなら
コードの断片でもうpしてからにしろよ

できないならおとなしく名無しに戻っとけ



808 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:35:10 ]
>>807
理屈がわかってないのはお前。

お前はGHI問題が何故発生するのかわかっていない。

809 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:37:14 ]
>俺はコンピュータ将棋の開発者
イタイ奴が来たなwww

頭おかしんじゃね?

810 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:38:47 ]
>807
詰め将棋解法プログラムのような答えが
厳密に求められる問題に取り組まないと
開発者と言えども勘違いする可能性はあるな。

811 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:39:57 ]
>>810
お前もGHI問題が何故発生するのか理解できていない。

812 名前:807 mailto:sage [2008/06/02(月) 00:40:44 ]
>>808
いや俺は横から茶々を入れてるだけで
何も言ってないんだけどな

自分以外(正確には自分に異論をいう奴)を全部
一人の人間だと思っちゃうっていうのは
ありがちなことなんだけどかっこよくはないよ

GHI問題については>>191あたりから始まって
>>234とかの議論でさんざんがいしゅつなんだけど
もちろんそのへんはログ読んだ上でのレスだよな?

しかも「お前はわかっていない」とかじゃなくてさ、
だったらちょっと簡単にでいいから説明してみろよ
ほら

813 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:43:39 ]
経路君のソフト楽しみにしてます^^

814 名前:789 mailto:sage [2008/06/02(月) 00:44:07 ]
>>812
詰み局面から逆算するんだぜ。GHI問題なんか起こらないよ。
GHI問題が起きるのは、探索中の循環を即、不詰めと判定するからだ。

GHI問題でよく話題になる図を勝ちの局面であるIから逆算して行くとわかる。

815 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:45:06 ]
お前ら、シャープの亀山工場で液晶を組み立ててる工員が
みんな液晶の仕組みを理解してるだなんて思ってないだろ?
そういうことだよ

816 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:48:23 ]
>814
どのように逆算するの?
つまりその逆算する時に経路情報を考慮するの?しないの?


817 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:49:31 ]
>>814
あー詰み局面から逆算していく話が続いてたのか

その場合で、局面というのは駒配置だけじゃなくて
局面の出現回数も持たなきゃいけないよな

そうしないと、千日手になるはずの手順は
永遠に「勝ち」とも「負け」とも塗られないことになる

ような気がするんだが



818 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:52:52 ]
○→○→○→○→○
        ↑      ↓
        ○←○←○

こういうループだけじゃなくて

○→○→○→○→○
↑      ↓
○←○←○

こういうループもあるよな

819 名前:789 mailto:sage [2008/06/02(月) 00:53:08 ]
>>816
経路情報を考慮しないし、する必要はない。
ただし循環は検出する必要がある。

具体的に書くと

Iが勝ちとわかっている局面。よって、直前のGも勝ち。その直前のEも勝ち。
Eに至る手順はB,K。Bは相手の手番なのでDを選択されて負け。よってBは負け。(勝ち局面の集合にBは含めない。)
Kは勝ち。たどって、Jも勝ち。Hも勝ち。Hに至るのはE,F。

Eは自分の手番だし、勝ちだとわかっている局面。よって、Eのほうの探索はここで打ち切り。
残るはF。Fは勝ち。その直前のCも勝ち。その直前のAの局面は自分の手番なのでCを選んで勝ち。

よってAは勝ちの局面。GHI問題なんか発生していないし正しくAの局面の勝ちを判定できている。

820 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:55:09 ]
ちなみに>>789は意地悪だから図を書いてくれないけど
>>234のPDFを参照な

821 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:56:26 ]
>>818
        ./ニYニヽ
 r、r.rヽ.  / (0)(0)ヽ
r |_,|_,|_,|/  ⌒`´⌒ \   で?っていう
|_,|_,|_,|_,| , -)    (-、.|   
|_,|_,|_人 (^ iヽ__ ノ l |
| )   ヽノ |  `ー'´   /
|  `".`´  ノ
   入_ノ
 \_/
   /
  /

822 名前:789 mailto:sage [2008/06/02(月) 00:56:33 ]
>>817
> あー詰み局面から逆算していく話が続いてたのか

続いているも何も、最初から最後まで、詰み局面をデータベース化しよう、という話なのだが。

具体的には、これだ。
d.hatena.ne.jp/KZR/20080531/p1



823 名前:789 mailto:sage [2008/06/02(月) 00:57:20 ]
>>820
すまない。俺は意地悪なんじゃなくて図とか苦手なんだ。ほら…わかるだろ。

824 名前:789 mailto:sage [2008/06/02(月) 01:02:58 ]
>>817
> その場合で、局面というのは駒配置だけじゃなくて
> 局面の出現回数も持たなきゃいけないよな

「局面の出現回数」は持たなくてもいい。

>802で書いたが
「ただしそこ(判定したい局面)に至るまでに同一局面が3回以上出てきていないという条件が必要」だが、
これを前提条件とできるなら「局面の出現回数」のデータベースへの記録は不要。

ただし、勝ち/負け/引き分けとラベリングされた局面はすべて記録(データベース上に保持)していることが前提。


825 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:03:49 ]
>>882
あれ、与えられた局面が勝ちか負けかを判定するデータベース
つまり必勝定跡を構築する話をしているんだと思ってたんだが

そして、その「局面」というのが駒配置だけでよいのか、それとも
駒配置の出現回数も持っていなきゃならないのかだと思ったが

経路という言い方をするからGHI問題と絡んでいるように見えて
いろいろみんな混乱したるんじゃないかな


それで、仮に、駒配置だけで勝ち負けが決まるのだとしたら
もちろん「この局面は千日手」というラベルを貼られる
局面(駒配置)もあると思うのだけど、
詰み局面(駒配置)からたどっていったとき
千日手のラベルを貼る機会というのはどういうとき?

826 名前:789 mailto:sage [2008/06/02(月) 01:04:53 ]
あと、終盤のデータベース化については >822 以外にも

d.hatena.ne.jp/mkomiya/20080601/1212289142
d.hatena.ne.jp/yaneurao/20080602

このへんも参考にしてくれ。


827 名前:789 mailto:sage [2008/06/02(月) 01:06:49 ]
>>825
> あれ、与えられた局面が勝ちか負けかを判定するデータベース
> つまり必勝定跡を構築する話をしているんだと思ってたんだが

その過程で引き分けデータベースも出来るだろ。

> そして、その「局面」というのが駒配置だけでよいのか、それとも
> 駒配置の出現回数も持っていなきゃならないのかだと思ったが

俺の言う 局面 とは 盤上の駒配置・手番。その局面の出現回数は関係ない。




828 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:17:58 ]
>>824
あー、その条件があればたぶんそうだよな
でも前に進むなら、ループしたら「千日手」、でいいと思うけど
後ろに戻っているのだから難しい気が

まあ、どうせ局面(駒配置)の数は有限なのだから
全部調べて「勝ち」にも「負け」にもならなかったものは千日手
でいいのかもしれないけど

829 名前:789 mailto:sage [2008/06/02(月) 01:20:12 ]
>>825
> 詰み局面(駒配置)からたどっていったとき
> 千日手のラベルを貼る機会というのはどういうとき?

いま、 A,Bが未ラベルとする。Aは自分の手番、Bは相手の手番とする。
このとき A→B→A のような循環を発見した。

AからB以外に行く手は負けとする。
BからA以外に行く手は勝ち(=相手の負け)とする。

このとき自分にとっても相手にとっても千日手を選択するのが最善だからA,Bの局面の最善は引き分け。

このように未ラベルの局面同士の循環を発見して、この循環がお互いの最善であるときこれらの局面を
引き分けのリストに追加する。

825はどうも勘違いしているようだが、このA,Bの局面の「出現回数」を記録しておいてもこの循環の検出の役には立たない。

830 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:21:27 ]
>>818
下の図は「双方最善を尽くしたら出現しないはずの詰み形」かな
つまりループからしか到達できない詰み形

でもそれを排除してしまったら次の一手解答マシンとは言えないよ

831 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:27:55 ]
>>829
あー、うんそれならいいよ
ようするに>>828の後半と同じことだな

神ならぬ人間から盤面を引き継ぐことはない、という前提なら
たぶんそれでいいんじゃないかと思う

「勝ち筋があるけど、引継ぎ元が棋譜汚しをしてくれたせいで
千日手になるからそれは指せない」とかは考慮しないということで

832 名前:789 mailto:sage [2008/06/02(月) 01:28:14 ]
829の続き。

引き分けの検出のために、局面の循環を発見する方法は別の方法が必要だ。

例えば、次の例を考える。
A,B,Cが未ラベルで、Aは自分の手番、B,Cは相手の手番とする。

・AからB,Cに遷移でき、それ以外は負け
・B,CからAに遷移でき、それ以外は勝ち(=相手の負け)

この場合も双方、千日手にするのが最善である。

この循環を検出するためには、AはポインタでありB,Cをポイントしており、
B,CもそれぞれAをポイントしていると考え、JavaVMなどで見られる
garbage collectorのようなものを実装する必要がある。(この説明でわかってもらえるだろうか?)


833 名前:789 mailto:sage [2008/06/02(月) 01:31:04 ]
832に書き忘れた。

garbageが起きて回収されるなら、それは循環参照がされていたということだ。
garbage collectorの実装はいろいろあるから、詳しくはその手の本を見てくれ。

834 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:31:38 ]
>>832
あー、GCが循環参照を発見する方法か

でも、現実的な時間にリアルタイムで計算するのではなくて
巨大な次の一手解答集を用意するイメージなのであれば
勝ちでも負けでもないものは引き分け、でいいような

835 名前:789 mailto:sage [2008/06/02(月) 01:33:45 ]
>>834
おまい、なかなか頭がいいな。
コンピュータ将棋の開発者だな?大会で待ってるぜ!(`ω´)

名無しに戻る。長々と失礼した。

836 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:36:56 ]
いや、俺は松原先生の本を昔図書館で何冊か読んだ程度で
ゲームの数学は全然わからない素人だからあれだが

寝るぽ


837 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:39:22 ]
>830
そうだよな。
>829の話は尤もらしいのでつい信用しそうになったが、
先手後手双方、最善を尽くした場合の局面だけでなく、
任意の局面にラベリングしようと思ったら
扱えない局面が出て来そうな気がする。

詰み局面から逆算してデータベース化するだけであって、
そんなもの知らないってんなら、それはそれで良いけど。



838 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:41:33 ]
ループ内に王手が存在するかどうか吟味しなきゃならないから
>>834の方法はそのままでは駄目だな

839 名前:789 mailto:sage [2008/06/02(月) 01:45:11 ]
>>837
> 任意の局面にラベリングしようと思ったら

「1手詰みの局面」のすべてを表す集合から逆算するって話なんだぜ?

任意の局面にラベリングできるよ。
将棋の初期陣形とは何の関係もない。

詰みに至ることが出来る局面の解は(無限のメモリと無限の計算時間があれば)
すべて求めるに決まってるじゃないか。


840 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:47:59 ]
盤面が有限だから有限でいいけどな

841 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:52:00 ]
「どうやっても連続王手の千日手に持ち込まれてしまい負け」が処理できない

842 名前:789 mailto:sage [2008/06/02(月) 01:52:19 ]
>>838
それはその通り。

検出された循環(DCG)内で、連続王手にならないループが一つもなければないほうの負け。

双方が王手しあうループしかない場合、互いに逆王手を繰り返すことになるのだが、これは
よく知らないが、将棋のルールでは引き分けなんじゃないかと思う。


843 名前:789 mailto:sage [2008/06/02(月) 01:53:07 ]
>>841
>>842

844 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:56:21 ]
千日手になるときに手を変えなきゃならないだから
その4回目に登場する局面を指す方が負けか

すると、「どの地点からループに合流したか」が
重要になってくるような気も…。

845 名前:789 mailto:sage [2008/06/02(月) 01:57:15 ]
>>844
>>824


846 名前:789 mailto:sage [2008/06/02(月) 01:58:32 ]
あっ。844は842の双方連続王手のことか。

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

847 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 02:05:39 ]
>>846
んーそれはほんとなのかな

849 名前:789 mailto:sage [2008/06/02(月) 02:07:46 ]
>>848
本当だ。俺には証明はスマートには出来ないが。

850 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 02:21:39 ]
>>849
出来る気がする。考えてみよう

851 名前:789 mailto:sage [2008/06/02(月) 02:26:14 ]
>>850
俺が1分も考えて出来ないと結論を出した。間違いなく出来ない。

852 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 02:29:56 ]
>>849
スマートでなくてもいいから証明してくれ


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

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

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

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

854 名前:789 mailto:sage [2008/06/02(月) 02:57:31 ]
853補足。大駒には、複数マス進める駒で香も含む、としてくれ。

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

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

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

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

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


857 名前:855 mailto:sage [2008/06/02(月) 03:17:02 ]
>>856
ごめんよワシには判らんし明日仕事だからもう寝る



858 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 03:18:48 ]
了解
お休み

859 名前:789 mailto:sage [2008/06/02(月) 03:24:02 ]
>>855
> 一手目の局面もラベルがつくのかな?

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



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

861 名前:デフォルトの名無しさん [2008/06/02(月) 03:39:08 ]
4649

おまいら最強のシストレFXプログラムをしてみろよ
pc11.2ch.net/test/read.cgi/tech/1211790540/

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

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

864 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:28:09 ]
未来将棋は同時指しでしょ

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

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


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

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

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



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

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

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

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

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

869 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:25:47 ]
868の続き。

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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



888 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 08:45:21 ]
時とは残酷だな・・・

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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




898 名前:デフォルトの名無しさん mailto:age [2008/06/19(木) 15:33:04 ]
age

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

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


901 名前:デフォルトの名無しさん [2008/06/19(木) 21:23:35 ]
>>897-900
なんで?

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

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

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

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

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

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


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

907 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:07:07 ]
>>906
>>905



908 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:11:01 ]
>>906
ああ、そういう意味か。

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

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

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

909 名前:デフォルトの名無しさん [2008/06/20(金) 09:16:32 ]
不可能か、難しい点。 

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

910 名前:デフォルトの名無しさん [2008/06/20(金) 09:21:06 ]
可能なこと。

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

911 名前:905 mailto:sage [2008/06/20(金) 09:22:28 ]
俺、905 = 908ね。

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

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

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

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

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

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

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

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

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

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


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

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


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

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



918 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:21:18 ]
経路君の次は定跡君かよw

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

こんな感じ
ja.wikipedia.org/wiki/Office_Open_XML
ja.wikipedia.org/wiki/OpenDocument

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


920 名前:905 mailto:sage [2008/06/22(日) 03:15:51 ]
>>919
xmlのparserを書くのが嫌。ファイルが肥大化するのが嫌。ベタテキストで十分。

921 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん [2008/06/22(日) 08:12:05 ]
>>920
parserは既存のを使えばいい
データ属性の変更や他のXMLベースのユーティリティを使えない

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

924 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 09:44:51 ]
ワラタ

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

926 名前:デフォルトの名無しさん [2008/06/22(日) 18:53:51 ]
>>923
DOMとかない?

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

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

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



928 名前:デフォルトの名無しさん mailto:age [2008/06/24(火) 21:56:41 ]
他人のふんどしで、楽がしたいだけだろ。

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

930 名前:デフォルトの名無しさん [2008/06/25(水) 02:13:04 ]
>>927
SAXは?

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

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

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

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

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

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

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

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

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

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

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

935 名前:デフォルトの名無しさん [2008/06/25(水) 18:54:04 ]
未知なものへの拒絶反応だな


936 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:58:03 ]
モノも論理も出さずよく言うわ


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



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



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

是非公開してくれ

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

941 名前:デフォルトの名無しさん [2008/06/26(木) 00:02:33 ]
www.google.com/search?num=30&hl=ja&rls=com.microsoft:*:IE-SearchBox&rlz=1I7GFRD&q=XML+SAX+C%2B%2B&revid=1306684249&sa=X&oi=revisions_inline&resnum=1&ct=broad-revision&cd=7


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

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

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


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

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

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


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

947 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 13:21:32 ]
既にほとんどの人間は勝てないけど。。。

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



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


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

950 名前:デフォルトの名無しさん [2008/07/04(金) 03:52:20 ]
そこで定跡の登場たい

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

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


952 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:15:20 ]
千日手があるから詰めない状況もあるんじゃ?

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

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

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



954 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:41:51 ]
手を変えなきゃいけないのは連続王手の千日手だろー

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

956 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:38:28 ]
つか明文化されたルールってないよね<将棋

957 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:12:09 ]
>>956
d.hatena.ne.jp/yaneurao/20080405

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





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

959 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:30:53 ]
>>958
明文化しているけれど非公開らしいね

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

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

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

962 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 17:52:26 ]
持将棋のルールの不備はここが詳しいよな
kofu.cool.ne.jp/mozuyama/mozuiro/moromoro/

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

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

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

964 名前:デフォルトの名無しさん [2008/07/07(月) 14:54:48 ]
ルールーwww

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef