1 :
名無し名人:
2 :
名無し名人:2007/04/01(日) 23:02:39 ID:KgcVLla5
特2なし
3 :
名無し名人:2007/04/01(日) 23:07:13 ID:2tG93GwE
3ざん既出
4 :
1:2007/04/02(月) 01:12:14 ID:0VRwItwu
誰も書いてくれないので私がボナスレを読んで考えた事をちょこっと書きます。
命題1:完全な静的評価関数を持てればソフトは一手先を読むだけで良い。
命題2:任意の局面から最終局面まで完全探索できれば評価関数は不要である。
勝ち、負け、引き分けの評価がゲーム木の末端やノードにラベル付け
されるだけである。
すなわち、評価関数と先読みはCPU時間を奪い合う背反な関係にある。
したがって凝った(=計算時間を必要とする)評価関数はそれにより
大幅な前向き枝狩りが有効になるほど正確な、読み抜けを起こさない
ものでないと価値が無い。
よって現状ではボナンザのような全幅探索を基本にしたソフトの方が有望である。
5 :
1:2007/04/02(月) 01:25:23 ID:0VRwItwu
しかし、もし将棋を完全探索したゲーム木が入手できたとすると
末端には「勝ち」「負け」「引き分け」の三通りしかないが、
途中のノードには単なる三種類のラベルではなくそれぞれ点数を
付ける事もできなくは無いと考える。
例えば、ある局面から「勝ち」に至る手の広さ(多さ)、近さに応じて
高い点数を付け、逆に「負け」に至る手の広さ、近さに応じて低い
(マイナスに大きい)点数を付ける。
そのような確定的な評価値は存在するが、正確な値は不可知であると考え
将棋を決定論的ゲームというよりは確率的ゲームとみなして、その未知の
評価値を統計的(ベイズ推定のよう?)に推定すると言う考え方は
できないだろうか?
6 :
名無し名人:2007/04/02(月) 02:09:19 ID:UmxG5FTK
>>4 > よって現状ではボナンザのような全幅探索を基本にしたソフトの方が有望である。
ボナンザの作者の保木さん自身、全幅が有望かどうかはコンピュータチェスの世界でも
結論が出ていないと言っているのでそれは違う。
>>5 > 評価値を統計的(ベイズ推定のよう?)に推定する
現状のコンピュータ将棋でやっている終端ノードでの静止評価でも点数をつけて
やってるわけだけど、それとはなにが異なるの?
7 :
名無し名人:2007/04/02(月) 04:47:18 ID:oGttpn8J
「全幅探索」と「全幅探索ベース」の境界が、いまいちハッキリしない。
8 :
名無し名人:2007/04/02(月) 10:22:54 ID:qeJuYY5J
全幅検索っていうと、ホントに全部の手をバカ正直に数え上げて・・・って感じかな
全幅検索ベースっていうのは初めて聞いたけど、返ってくる結果が全幅検索のそれと同じもの、ということでいいの?
前にちょっと出てた話だけど、αβとかって、「結果としては全幅検索と同じ回答を得られる」ものなんだよね
確かに評価値で枝刈りしてるから「それ全幅じゃないぢゃん」って誤解されちゃうのはわかるんだけど
全幅検索っていうのはあくまでも探索の方法であって、最終的な目的は「その中でどれがいい手か?」を探すこと
全幅検索の場合は、全部の手を調べてその全部の手に点数をつけて、最後にそれらの点数を比較して一番いい点数を指し手とする
αβの場合は、調べた手の点数をその場で調べることで枝刈りをするから、いくつか枝刈りができる
αβは「全部の指し手をきちんと読む」わけではないけど、「結果として出てくる回答は全幅検索の結果と同じものがでてくる」っていうことだね
・・・うん、話が違うねorz
9 :
名無し名人:2007/04/02(月) 18:31:21 ID:dQd4TR4n
αβは全幅検索だよ。
MINMAXのことを全幅検索って言ってるんだろうけど、どっちも全幅。
αβの場合は最善手以外の手については、最善手より劣るということしか分からないけど
MINMAXだと最善手以外の全ての手の評価値も正確に分かるってところが違う。
10 :
名無し名人:2007/04/02(月) 20:48:01 ID:mojA+oNd
評価関数が正しけりゃ全幅検索にもなるけど、
だいたい評価関数が正しけりゃ検索する必要などない
なんかゲーム理論の適用方法が根本的に間違ってるから
オバカな勘違いつー奴
11 :
名無し名人:2007/04/02(月) 21:05:53 ID:rlYCcYaa
一人で考えたこと垂れ流してないで
専門書嫁
先人に敬意を払え
12 :
名無し名人:2007/04/02(月) 22:03:13 ID:qeJuYY5J
>>9 αβは「後ろ向き枝刈り」とでも言った方がいいんじゃないの?
全幅ではないけど、全幅と同じ結果が出る、という方法でしょ
>>10 わからないかなぁ・・・
全幅でも最後は評価関数を使って指し手を決めてるでしょ
だから全幅とαβとの違いに評価関数の正確性はある意味無関係だよ
・・・違う話をしたいのかもしんないけど
13 :
名無し名人:2007/04/02(月) 22:23:29 ID:mojA+oNd
>>12 評価関数が最善手と評価する手を互いに指しても、評価値が上下するでしょ
5手先読みにminimax使おうとしても、その間に評価値が上下してるでしょ
最善手指し続けたら評価値は、先手勝ちか後手勝ちか、どちらかに収束していかないとminimax使えないんだよ
君は、将棋プログラマーが全て解った上で、仕方なくやむなく、現状にあるマシな方法をとっている事を、
勝手に、完璧な方策をとっていると善意で?勘違いしてるだけ
minimaxの説明に使われる絵の枝に割り振られてる数字の大きさが進行方向で常に減り続けずに、
上下しながら減ってるんだよ
下手をすると5手先で却って増えているかもしれない
14 :
名無し名人:2007/04/02(月) 22:35:37 ID:dQd4TR4n
MINMAXを何か勘違いしてるようだけど、
MINMAXってのはただ単に5手先の評価値を、読み始めた局面まで持ち上げる方法のこと。
だから1手進めてまた5手読みしたら、評価値が上下するのは当たり前。
ただ1手進めてから次に4手読みをしたら、当然その前の評価値と正負を逆にした点数が帰ってくる。
あるいは2手進めてから3手読みしたら2手前に5手読みしたときと同じ評価値が帰ってくる。
15 :
名無し名人:2007/04/02(月) 22:42:16 ID:0VRwItwu
その疑問は私にもあるんだよね。
現状の指し将棋プログラムは何手か先を読んだ末端の評価値を確定的な値だと
仮定し、MinMax法ではそのまま上のノードの評価値として持ち上げて行く。
αβカットはそれをより効率良く行い、同じ結論を得る手法なわけだ。
しかし良く考えると数手先を読んだ末端のノード(葉)の評価値は
ある種の推定値なわけだ(本当の値は不明)。だから末端の値を比較して
そのまま持ち上げる手法では途中のノード(同じノード)の値が
何手先までを読んで評価するかでガクガク変わっているのかも知れない。
16 :
名無し名人:2007/04/02(月) 22:46:02 ID:mojA+oNd
>>14 > MINMAXってのはただ単に5手先の評価値を、読み始めた局面まで持ち上げる方法のこと。
それバツ
MINMAXは得点の定められた選択ゲームに於ける選択戦略の一手段
これを将棋プラグラムの先読みに適応している時点で大きな勘違い
妥協でやむなく採用されている現状を、勝手に完璧な方策をとっていると君が勘違いしている
> だから1手進めてまた5手読みしたら、評価値が上下するのは当たり前。
じゃなく、互いに最善手を指した5手の間に評価値が上下するのが現状
minimaxを無理に適応して手を選んでも、切り捨てられた手の評価値がその後に高くなることが頻繁に有り得る
そうでないなら評価関数は完全に信頼でき先読みの必要はない
初手から評価値が最大値の手だけ指していれば必勝
17 :
名無し名人:2007/04/02(月) 22:48:35 ID:0VRwItwu
[続き]
値が変わるだけなら良いが大小の順序関係が途中で変わっていると
間違った枝狩りをして間違った指し手を選んでいる可能性があるのでは
無いだろうか?(5手前に読んだ時はカットしてしまっていた指し手が、
同じ手数まで来て、改めて5手先まで読んだら実は最善だった。
しかし実際にはもう、別の指し手を選んでいる)
というわけで、上に書いたような有利な局面に至る手の広さ、近さなどを
考慮した重み付けをしながら末端からノードの評価値を計算していけば
ある程度、評価値のブレを抑えられるのでは無いかとちょっと思っている。
ただし、そうすると当然αβカットは不可能になり完全探索(有りうる
すべての指し手の探索と評価)が必要になると思う。
18 :
名無し名人:2007/04/02(月) 22:51:08 ID:mojA+oNd
>>14 > ただ1手進めてから次に4手読みをしたら、当然その前の評価値と正負を逆にした点数が帰ってくる。
> あるいは2手進めてから3手読みしたら2手前に5手読みしたときと同じ評価値が帰ってくる。
5手読んだら、最善手を選んだ場合は、その5手の間に評価値が上がり続けなければ(下がり続けなければ)minimaxは適用できないよ
19 :
名無し名人:2007/04/02(月) 23:11:39 ID:dQd4TR4n
> 切り捨てられた手の評価値がその後に高くなることが頻繁に有り得る
こんなの当たり前だろって言ってるの、最後まで読みきってないんだから。
何を言いたいのか分からない。
全部読みきれないから途中で打ち切ってMINMAXを適用してるだけで。
それとこれの意味が完全に分からない。
> 5手読んだら、最善手を選んだ場合は、その5手の間に評価値が上がり続けなければ
20 :
名無し名人:2007/04/02(月) 23:29:48 ID:mojA+oNd
>>19 じゃあ3手読みで考えてみて
互いに最善手を選んだ場合に評価値が上下したらminmax適応できないのが解りやすいから
最善手を選び続けて評価値が上がり続ければ(下がり続ければ)評価関数は完璧だから、先読み不要だし
21 :
名無し名人:2007/04/02(月) 23:31:41 ID:NBa2zKSI
22 :
名無し名人:2007/04/02(月) 23:32:58 ID:t6K/jtFL
> 間違った枝狩りをして間違った指し手を選んでいる
この枝狩りってのはアルファベータの後ろ向き枝狩りのことだと思うけど、
結局途中で枝狩りしようがしまいが同じ手が選択されるから、どのみちその間違いは避けられない。
それとは別に、先読みの信頼性を上げるために途中のノードの点数も考慮する方法もある。
その途中のノードの点数というのは下から上げられてきた点数ではなく、
その場で1手読みなりして求めた評価値で。
>>20 理解できないからもういいです。
23 :
17:2007/04/03(火) 00:08:06 ID:6KUdGBFN
>22
「途中のノードの点数も考慮する方法がある」事を教えてくれてありがと。
いずれにしろ、上に書いた愚直な探索をして評価値を決める方法は自分で
プログラミングしてみて効果があるか無いかやってみたいと思ってるんだ。
将棋プログラムをまだ、書いた事無いから本当にやれるかどうか
分からんけど。
それとはちょっと違う話だが、これからの将棋プログラムは機械的な
強さを求めるよりもっと人間的な指し手を指せる方向に向かうべき
なんじゃないかなと思ってるんだ。いろんな理由で。
「言うは安く行うは難し」の典型だけども。
24 :
名無し名人:2007/04/03(火) 00:10:20 ID:zCNSqj14
何でミニマックスなんて使用できるの?
25 :
名無し名人:2007/04/03(火) 03:52:54 ID:ZkFAqACS
ソフトはソフトっぽい手を指すしかないんじゃないの
26 :
7:2007/04/03(火) 04:31:43 ID:pzNJOGr2
>>8 亀で申し訳ないけど、レスありがとう。
チェスでは「全幅探索」が主流として表現されているけど、
実際には、いろいろな前向き枝刈りが実装されている。
それを「全幅探索」といっていいのかどうかが疑問だったんですよ。
つまりは「全幅」が何を指しているのか、と考えたんだけど、
「ある局面において、参照もしくは参考にすべきデータが無い時、合法手全て探索する」
(実際には後ろ向き枝刈りで全て探索することはないと思うけど)
ということになるのかな?
27 :
名無し名人:2007/04/03(火) 08:48:15 ID:+aPCWnmO
28 :
名無し名人:2007/04/03(火) 14:48:42 ID:7DgK6NC+
ミニマックス法という言葉がダメなのかな?
ミニマックスアルゴリズム(Minimax algorithm)?
ミニマックス探索(Minimax search)?
29 :
名無し名人:2007/04/03(火) 15:03:14 ID:+aPCWnmO
素朴な疑問なんだが、
例えば、相手の手番から考えて、minimax原法で相手のmax手(1手目)を予想して、その中でのmini(2手目)を選んで、、
その時点で切り捨てられた枝が、3手目に最善局面になってることは普通にあると思うけど
最善手を選び続けても評価関数の評価値が上下する現状ではminimaxはダメじゃないの?
もっとも、最善手を選び続けて評価値が一方向に増加(減少)するなら先読み不要で、現局面で最善手選択してれば無敵だし
30 :
名無し名人:2007/04/03(火) 15:33:12 ID:+aPCWnmO
自分の手番から考えても同じね
2手目の相手のmax手を予想して、それをminiにする1手目を選んで、、
選ばなかった枝が3手目に最善局面になるのは普通にあるんじゃない?
31 :
名無し名人:2007/04/03(火) 16:13:32 ID:vy22AJ6T
Minimaxとαβは結果は一緒
評価関数が正しい事が(本来は)大前提
実際は誤差が多いから強くならない
だからボナの評価関数の自動作成が有効だったわけだ
また,評価関数がある程度良くてCPUが速ければ
ヒューリスティクスによる(ある意味いい加減な)前向き枝刈りは
やらない方がいいんじゃないかしらむ
32 :
名無し名人:2007/04/03(火) 16:52:20 ID:+aPCWnmO
将棋プログラム作者が、全てわかった上(評価関数の不完全さにより読み漏れ多し)で、現状ではやむなく、枝刈り採用してるのに、
「αβは全幅だよ」とか言い切るから混乱が生じる
評価関数が完全なら、αβは全幅と同じ出力をするけど、
評価関数が完全なら、先読み自体が不要になる
33 :
名無し名人:2007/04/03(火) 16:59:52 ID:HzBREXoZ
評価関数の精度に関係なく出力は同じ。(ゲーム木探索の文脈では)
ただこの人の場合ミニマックスというのを完全な局面評価ができるか
最後まで読みきって用いる手法だと定義しているようだから
そう定義すると違った結果になるね。
34 :
名無し名人:2007/04/03(火) 17:09:30 ID:HzBREXoZ
もしかしたら「全幅」というのを全深さという意味で使っているのかな?
そうだとしたら確かにαβは「全幅」ではないね。
35 :
名無し名人:2007/04/03(火) 17:11:46 ID:+aPCWnmO
>>33 >>30の例は?
minimax2回適用して3手目まで読んでも完全に読み漏れ
3手目まで全幅検索すれば、もちろん読み漏れなし
36 :
名無し名人:2007/04/03(火) 17:19:35 ID:HzBREXoZ
>>35 よくわからないから簡単なゲーム木を書いて画像でも上げてほしい。
何が読み漏れであって、何が読み漏れでないとかが分からない。
37 :
名無し名人:2007/04/03(火) 17:31:44 ID:fv5mNKL8
38 :
名無し名人:2007/04/03(火) 17:36:26 ID:7DgK6NC+
>>35 minimaxを2回適用?
>>29-30もどうかと思うけど、都度一手読みになっていて、
且つ1手進めると「後戻りが出来ないという状況」になっている気が。
探索におけるminmaxは各節ごとに下を見て、単に最小値or最大値を選択する方法。
ttp://en.wikipedia.org/wiki/Minimax リンク先のページのExample(中段付近)の図で説明。
深さ4に辿り着いて初めて4手読みとして評価値を得ることができる。
図中の○□内の値は、全て深さ4(最下段)から上に伝播されたもの。
深さ3の各節では、自分に繋がっている深さ4の各節で得られた値の最小値を選択、
深さ2の各節では、自分に繋がっている深さ3の各節で得られた値の最大値を選択、
深さ1の各節では、自分に繋がっている深さ2の各節で得られた値の最小値を選択、
深さ0では、自分に繋がっている深さ1の各節で得られた値の最大値を選択、
深さ0の -7 はそうやって取捨選択を繰り返されて深さ4から伝播された値。
ここでようやく最善手順が決定され、深さ0における最善手が青矢印(右方向)になる。
深さ4で得られる評価値がゲームにとって最善かどうかは問わない。
あくまで、深さ4で得られる評価値を最小値or最大値で取捨選択して深さ0に伝えていくだけ。
深さ4で得られる評価値の信頼性が上がれば、
探索における最善手順がゲームにおける最善手順に近づく。
39 :
名無し名人:2007/04/03(火) 17:52:51 ID:+aPCWnmO
俺の勘違いがあった
minimaxは2手ペアで読む手法と思っていた、学生時代に読んだ原著ではそうなっていた
5手読みの場合はminimaxを何回か適用するとの勘違い
5手分丸ごとminimaxを適用するのね
40 :
名無し名人:2007/04/03(火) 18:20:20 ID:+aPCWnmO
ゴメンね、原著の最初の例題が、相手と同時にカードを出して、その組み合わせで得点が決まるゲームだった。
41 :
名無し名人:2007/04/03(火) 19:25:33 ID:zCNSqj14
βカットなんて当たり前すぎて探索法の進歩なんて今後はないだろうよ
結局は評価関数の精度が全てだよ
42 :
名無し名人:2007/04/03(火) 22:25:15 ID:pHED4oai
>>32 誰も「αβは全幅だよ」とは言ってないと思うぞ
「αβで返ってくる最善手候補(そのソフトが考えた最善手)と全幅で返ってくる最善手候補は同じ」
というのとそれとは話が違う
43 :
名無し名人:2007/04/03(火) 22:28:27 ID:pHED4oai
>>34 全深さ、というよりは全はば、かなw
まさに全幅
要するに、その局面で考えられる指し手を「必ずすべて」検索するのが全幅検索
αβは、枝刈りをしても全幅と同じだけの効果が必ず得られる検索(節約)方法
でいいんだよね
ボナスレにも書いたけど、みんなうさ本くらい読もうよ・・・orz
44 :
名無し名人:2007/04/03(火) 22:33:39 ID:UTcshk1H
45 :
名無し名人:2007/04/03(火) 22:35:09 ID:pHED4oai
>>29 全幅とαβの違い、ってのを論ずるときには、評価関数が正しいかどうかって言うのはあんまり関係ないよ
>例えば、相手の手番から考えて、minimax原法で相手のmax手(1手目)を予想して、その中でのmini(2手目)を選んで、、
>その時点で切り捨てられた枝が、3手目に最善局面になってることは普通にあると思うけど
っていうケースはもちろんあるよ。いっぱいあるw
けど、それはαβ「だから」読み逃す、ってわけじゃない
全幅検索をしてても、同じ評価関数を使ってる以上その手は最善手だと判断できない
切り捨てられた、という表現だから誤解を持っちゃうのかもしんないけど
αβで言う「切り捨て」「枝刈り」って言うのは
全幅検索をしたとしてもこの枝(指し手)は候補に選ばれることはない、だから読む必要がない、っていう意味の切り捨てなのね
人間が考えるような、この手は損だから先を読むのをやめよう、っていう意味の「切り捨て」じゃないの
そこを混同しちゃいけない
46 :
名無し名人:2007/04/03(火) 22:44:19 ID:pHED4oai
>>44 「後ろ向き枝刈り」をしてる、ってことかなw
あくまでも個人的な感想だけど、やっぱ「全幅」っていうのは全く枝刈りしないで全部読む、みたいな感じで使いたい
山下さんは
全幅=前向き枝刈りをしない
αβとかはだから全幅に入る
私
全幅=前向き枝刈りも後ろ向き枝刈りもしない
αβとかはだから全幅に入らない
という感じかなぁ
言葉のイメージの問題なんで、私の感覚は間違ってるのかもしんない
全譜君のヘルプを見ると「全幅探索 full-width search」ってあるしなぁ・・・
47 :
名無し名人:2007/04/03(火) 22:53:27 ID:UTcshk1H
当然後ろ向き枝狩りはしてるよcraftyは
というかαβを使わないプログラムなんて存在しないはず
同じ時間で倍の深さまで読めるのだから
それと全幅探索の間の探索のことをbrute force、
前向き枝狩りが入る読みはselective searchともいうと思った確か
ルートから何手かはbrute force、そこから先はselective searchってのがよくある方法だと思う
48 :
名無し名人:2007/04/03(火) 23:01:08 ID:zCNSqj14
おまいら何言ってんだよ
ミニマックスで全幅検索するときに、αβなんて知らないし聞いたこともなくとも、普通は誰でも同様に行うだろ
単に誰かがαβって命名しただけで、全幅検索と同値だよ
49 :
名無し名人:2007/04/03(火) 23:14:58 ID:pHED4oai
それはさすがにないw
50 :
名無し名人:2007/04/03(火) 23:18:17 ID:Wxr3Nvz7
深さ10までの全分岐を探索するのと、カットするのでは結果は変わるだろ
51 :
名無し名人:2007/04/03(火) 23:42:59 ID:UTcshk1H
αβは普通に使ってるよ
詰将棋なんかやってるときでも、ある局面まで読んでそこで相手がある手を指したとき
こちらが相手を詰ませられないことが分かったときに
その局面で相手の残りの別の手なんて考え出さないでしょ
52 :
1:2007/04/03(火) 23:45:09 ID:6KUdGBFN
MinMax法とαβカットと全幅探索の話だけでここまで議論が長くなるとは。
こりゃ確かに他のスレでやると敬遠される(嫌がられる)だろうな。
ここでは皆、遠慮しないでやってね。(言われなくてもやってるようだがw)
53 :
名無し名人:2007/04/03(火) 23:50:06 ID:UTcshk1H
それが全て同じものなのに違うと思ってる人が
後から後から出てくるから延々とループしつづける
54 :
名無し名人:2007/04/03(火) 23:53:52 ID:6KUdGBFN
ま、そのうちどこかに議論が収束するだろう(と期待します)。
55 :
名無し名人:2007/04/04(水) 00:25:49 ID:3j4A5iof
56 :
名無し名人:2007/04/04(水) 00:44:13 ID:3j4A5iof
つまり、そのように人間(プロ棋士)の指し手をなるべく真似するように
調整されているから「次の一手問題」で正解率が何パーセント上がったと
言うような事が上達(能力向上)のバロメータになるんだろうね。
初めから人間の指し方なんか無視してアルゴリズムを作っているなら
「次の一手問題」が当たろうが当たるまいが関係ないだろうから。
57 :
名無し名人:2007/04/04(水) 08:29:16 ID:6X+LquE5
なんだ、ボザンナの学習は糞だな、永久に人間に勝てないじゃん
58 :
名無し名人:2007/04/04(水) 22:50:35 ID:IqMWPtyb
おまいには勝てるんだからいいじゃんw
59 :
名無し名人:2007/04/04(水) 22:53:25 ID:3j4A5iof
今にして思えばかなり前、どっかのスレで私が「うさぴょんの育ての親」さんに
言ってみた
「将棋の完全ゲーム木は作れなくとも、今まで指されたあらゆる(プロ棋士の?)
棋譜をすべてひとつにくっつけてゲーム木として表現し、その上をプログラムが
行ったり来たりしながら評価関数の最適化を行う」
と言う提案とほぼ等価な事を既に?実現してたわけだね、ボナンザは。
(その時ボナンザあったっけ?)
その時「うさぴょんの育ての親」さんの答えはそんなに長時間PCを
振り回したら電気代と騒音で家の方にとても許してもらえそうもない
と言うものだったと思う。
まあ、静的評価関数の最適化をしようと思ったら誰が考えても、現状
いちばん手近で信頼できそうなのはプロ棋士の棋譜にある指し手だよね。
60 :
名無し名人:2007/04/05(木) 00:27:29 ID:v3xOyXun
なんか、ここまで来たら後はもう機械学習にどんな理論的枠組みおよび
テクニックを使うのか、どうやってハードウェア・アクセラレーションするか
あるいは多数のCPUまたはネットワークに分散したPC上で効率よく実行するか等
の勝負になりそうだね。
最適制御理論だろうがニューラルネットだろうが強化学習だろうが
統計的学習マシンなのは一緒(だと思う)。
根本的に違うやり方を取るとしたら、人間(プロ棋士)の指し手を正解と
する事自体をやめるしかないが今のところそれでうまく行きそうな方法は
無いよなあ?
61 :
名無し名人:2007/04/05(木) 07:51:27 ID:Mff1ySJf
>>59 実際ボナの時は3ヶ月かかったとか言ってなかったっけ?
62 :
名無し名人:2007/04/05(木) 13:51:33 ID:QFyrkpfL
棋譜には通常、敗着手があるんだが、
それも含めて最善手局面としてパラメータ係数を学習調整しているのか?
中盤の指手で少しでも人間に近づいて、終盤の読み合いで人間側の読み抜けがあればPC勝てると
63 :
名無し名人:2007/04/05(木) 14:44:41 ID:+jt6iE/H
静的評価関数の最適化ってのがイメージできないんですけど
どういう意味があるんですか?
64 :
名無し名人:2007/04/05(木) 15:12:07 ID:QFyrkpfL
たぶんパラメータがイッパイあって
A:駒得、実際はズット細かく分れてると思う
B:手番
C:玉形
D:角道が通っている
その他、もろもろ100個以上
評価値 = aA^2+bA+cB^2+dB+eA・7B+kC^3+lC^2+mC+nA・D+・・・・
とかで、パラメータ、a,b,c,d,e,f,,,,,の値を理想に近づけて行く
65 :
名無し名人:2007/04/05(木) 18:18:46 ID:+jt6iE/H
>>64 評価関数のパラメーターを100個にしてあの計算速度が出るのが不思議
66 :
名無し名人:2007/04/05(木) 21:09:19 ID:fEU93NKz
Bonanzaの評価パラメータは10000個以上じゃなかったかな。
線形和パラメータの最適化にPCで3ヶ月かかったもんを
ニューラルネットで似たような事やろうとしたら最適化にどれほど
コストが掛かることやら。
67 :
名無し名人:2007/04/05(木) 21:13:18 ID:zSbThvTD
なんだ線形和なのか、
相手が飛車持ってるときには陣形低い方が良いとか評価できるのか?
68 :
名無し名人:2007/04/05(木) 21:30:36 ID:fEU93NKz
>>67 そういう組み合わせの評価項目を追加するなら線形和のままでもそれなりに行けるかもしれんけどね。
69 :
名無し名人:2007/04/05(木) 22:02:07 ID:v3xOyXun
>66 >68
ボナの評価関数ってパラメータの線形和なのか?
単なる線形和じゃ評価関数として何の役にも立たないんじゃないか
と言う先入観(偏見?)があるんだが。
私がニューラルネットを少しかじったくらいしか知らないせいかね?
70 :
名無し名人:2007/04/05(木) 22:35:03 ID:fEU93NKz
>>55 を読んだ限りは線形和だと思ったのだが、
間違っているようなら指摘してもらえるとありがたい。
71 :
名無し名人:2007/04/05(木) 23:04:38 ID:v3xOyXun
>70
6ページ目の「最終的な目的関数の表式」
J(P0,...,ν)= …… と言う奴が結局最小化したい評価関数(?)なわけだろ。
で、その中にl(P,ν)と言う項の線形和が有るが、これは
ξ(Pm,ν):minimax探索の評価値
と呼ばれる形式不明の関数に対してさらにT(x)と言う明らかな非線形関数を
適用してから、それらの総和を取っているように見えるのだが。
誰か良く分かってる人、分かりやすく教えてくれないかなあ?
72 :
名無し名人:2007/04/06(金) 01:42:14 ID:J0cZoRsz
評価関数がなぜパラメータの単純な線形和じゃダメなのかようやく思い出した
(気がする)。
もしもそれが線形和で F(X1,X2,..XN)=A1(X1-B1)+A2(X2-B2)+……+AN(XN-BN)
と言うような形式をしていたとするとそれ(評価関数値)を最大(あるいは最小)
にするにはそれぞれのパラメータを単にその条件(局面)で許される範囲の
一方の端に振れば良いだけになってしまう。
答えはいちいち試行錯誤で値を代入し結果を計算してさらに他の値と比較する
(つまり手を探索する)までもなく自明であり、またあるパラメータ値は
ある程度大きい方が良いが大きすぎてもまたいけないというような
「中庸」の必要性が全く表現できなくなってしまう。
と言うような理由だったと思う。
73 :
名無し名人:2007/04/06(金) 01:52:23 ID:h0pAGAOq
weigtを|a|+|b|+|c|+・・・=1
a*a+b*b+c*c+・・・=1にしろ
74 :
名無し名人:2007/04/06(金) 10:20:46 ID:aTbICOKf
1次関数ですこまで行くなら、PCも人間もたいしたことないって事?
神様からは程遠い
神様が指したら1局に20手位の羽生マジック飛び出しそう
もちろん、人間の感覚では鬼手・想定外って事で、神様にしたら当然の最善手
75 :
名無し名人:2007/04/06(金) 10:41:49 ID:J0cZoRsz
と言うか1次関数で表現できるような問題なら、制約条件は多少ややこしくても
とっくに前向きの計算だけで解ける、試行錯誤なんか必要ない規模の問題だと思う。
で、(多分)将棋はそれほど簡単に解ける問題じゃないんだよ。
76 :
名無し名人:2007/04/06(金) 14:51:44 ID:MyimGS54
>>74 難しいことを考えつくからすごい、というんであれば、PCの将棋は評価されないよね・・・
例えば羽生マジックでもこないだの△3九龍でもいいけど
読みがもっと深ければ、現在のボナ*程度の*評価関数でもその手に気づくかもしれない
指されてみればなるほどね、というわけで、10数手先にはその手が好手だという理由がもっとわかりやすくなるだろうから
まぁ、かもしれない、なんだけどねw
人間とか神様?がすごいのは、その嗅覚というか、先を予見する力であって
(もちろん違う側面もあるんだろうけど、それはちょっと脇へ置いといて)
PCはそんな力を身につけようというわけじゃない
「遠い先」を力任せに読むことで、それを「近い将来」にすることができる
で、「近い将来」であれば、そんなに正確な評価関数でなくても、かなり正しい評価ができる
判りやすく優劣のついている局面だろうからね。たとえて言えば、ボナ先手優勢5000とかw
PCが目指してるのはそういう強さ
そうじゃない、そんなんじゃない強さがいい、なんて人もいっぱいいるけど
PCらしい強さ、PCにしかできない強さというのはそういう強さ
77 :
名無し名人:2007/04/06(金) 15:19:24 ID:J0cZoRsz
>74
もしかしたら誤解されてるかも知れないので私の理解(考え)を書いておくと
人間が指す将棋も現在のコンピュータ将棋が指す将棋も評価関数が線形(一次)
関数で済むような簡単な手法で指し手を決めているわけじゃないと言う事だよ。
もし関数表現するなら多価(多変数)で高次の非常に複雑な関数の最大値
(or最小値)を与えるパラメータを探索している事になる(と思う)。
つまり人間も現在のコンピュータ将棋もすごく難しい計算?をしているのだが
それでも将棋の神様には遥か遠く及ばない(のだろう)。
78 :
名無し名人:2007/04/06(金) 15:33:45 ID:aTbICOKf
中盤と終盤で別の関数使えば、共に1次でも全体的には線形じゃないわけで
その場合は局面進行を評価する別の関数も必要になるよな
79 :
名無し名人:2007/04/06(金) 17:11:28 ID:vgs4ClrG
100個の変数で2次関数なら100*99/2=4950個もの二次の項が出て大変そう。
80 :
名無し名人:2007/04/06(金) 21:35:51 ID:pONmCGVx
100*100/2 じゃないのか??
81 :
名無し名人:2007/04/06(金) 22:15:05 ID:GI5LEuAG
101*100/2じゃない?
82 :
名無し名人:2007/04/06(金) 22:17:15 ID:pONmCGVx
>79 には二次の項って書いてあるぞ
83 :
名無し名人:2007/04/06(金) 22:19:56 ID:GI5LEuAG
適当に書いたんだけど二次の項って何?
84 :
名無し名人:2007/04/06(金) 22:24:28 ID:pONmCGVx
変数がX、Y、の時
aX^2、aY^2、aXY、が2次の項だろ
aは任意の係数ね
85 :
名無し名人:2007/04/06(金) 22:25:38 ID:0amPJFmZ
a,b,cはweight、x,y,zは変化する数値
一次式 ax + by + cz + ・・・
二次式
a(0)xx + b(0)xy + c(0)xz + ・・・
a(1)yy + b(1)yz + ・・・
a(2)zz + ・・・
3変数ならば 3 + 2 + 1個のwightが出てくる
n変数ならば n + ・・・ + 3 + 2 + 1個のwightが出てくる
n(n+1)/2が正解
86 :
名無し名人:2007/04/06(金) 22:25:48 ID:Z/TiTEnK
線形とはそういう意味か?
調整したいのは高次元係数空間の係数であって係数の一次式で表すというものだと思ってた。
最小自乗法の線形・非線形の意味とは違う考え方なんだね。
87 :
名無し名人:2007/04/06(金) 22:26:11 ID:GI5LEuAG
88 :
85:2007/04/06(金) 22:26:40 ID:0amPJFmZ
間違えた
n(n+1)/2 + n (プラス一次の項)
89 :
名無し名人:2007/04/06(金) 22:36:30 ID:pONmCGVx
>>88 そこまで数えて何故にゼロ次の項を数えない
n(n+1)/2 + n + 1(プラス ゼロ次の項)
90 :
名無し名人:2007/04/06(金) 22:44:59 ID:Z/TiTEnK
ボナンザの評価関数で係数はたくさんあるけど変数の値域はほとんど0または1じゃない?
0と1は何乗しても変わらないからほとんどの2次以上の係数は無意味では?
91 :
名無し名人:2007/04/06(金) 22:49:31 ID:pONmCGVx
変数H:持ち駒の歩の枚数
0枚 H=0
1枚 H=3
2枚 H=4
3枚 H=5
4枚以上 H=6
とかじゃね?
92 :
名無し名人:2007/04/06(金) 22:53:02 ID:Z/TiTEnK
>>89 ゼロ次の項は先手番と後手番の評価で相殺されるはず。
93 :
名無し名人:2007/04/06(金) 22:56:10 ID:pONmCGVx
>>92 うん、序盤から終盤、終局まで同一の評価関数で済めばゼロ次項は考慮外だよね。
94 :
名無し名人:2007/04/06(金) 23:00:48 ID:Z/TiTEnK
>>93 ん?
序盤、終盤、終局を違う評価関数でやってもそれぞれのゼロ次項は考慮外では?
95 :
名無し名人:2007/04/06(金) 23:08:43 ID:Z/TiTEnK
>>91 ボナンザの場合は
0枚 H=0
1枚 H=h1
2枚 H=h2
3枚 H=h3
…
ていう風に係数を分けていたと思う。
これは歩の枚数に関して各評価値を通る高次の関数を表わしているとは言えまいか?
96 :
名無し名人:2007/04/06(金) 23:15:12 ID:Z/TiTEnK
あ、私がずれた事を書いてることに気が付いた(´・ω・`)ショボーン
97 :
名無し名人:2007/04/07(土) 04:15:12 ID:5pbRcHq0
ボナンザのアルゴリズムって局面を静的評価関数で数値化して次の局面への最善手?を全幅検索してるの?(ここからよく分からん。)
でも静的評価関数のベクトル?(特徴空間 Q値みたいなもの?としたらある局面における最善手の評価値の集合)を求めるにはパラメータが多すぎるので
機械学習させましたと。 その後最適制御を用いてってあるけど、どうみても実際の手とボナンザの手との誤差を最小にしてるようにしか思えない…
よく分からない… 後は目的関数に高速条件と化学習を防ぐ項を加えて、誤差が最小になるベクトルを6万局面回して学習させ、
特徴空間を作った。かなぁ?
ようするに学習によって6万局面での最適手の集合を学習させ、全幅検索で運用したら強かったってことかな
正直分かりません。(><) 特に最初の一行が間違ってたらグダグダなんで、もしそうなら教えて
98 :
名無し名人:2007/04/07(土) 05:25:50 ID:bm/D1RCj
いい加減、手筋おぼえさせろよ
99 :
名無し名人:2007/04/07(土) 15:47:59 ID:VIohEhPi
若干、スレの主旨から外れるかもしれないが、
評価関数を検討する上で関連があると思うので、プロ棋士の感覚について書かれている本を紹介。
[読みの技法]
ある局面について、羽生、佐藤、森内の三者が自分の読み筋を解説する本。
非常にハイレベルな内容。プロ棋士の読みの深さや広さを知って驚いた。
[森内俊之の戦いの絶対感覚]
[佐藤康光の戦いの絶対感覚]
[羽生善治の戦いの絶対感覚]
[谷川浩司の戦いの絶対感覚]
絶対感覚シリーズ。読みの技法の各個人版。
これも非常にハイレベル。レベルが高すぎて付いていくのは難しい。
[注釈 康光戦記]
佐藤康光の自戦記。この本もプロ棋士の凄さを垣間見ることが出来る本。
対久保戦の玉頭戦が一番面白かったが、対藤井戦の「将棋を創っていく感覚」や、
対谷川戦の超ハイレベルな終盤戦も面白かった。
また対羽生戦(佐藤負け)の羽生完勝譜は圧巻。
[上達するヒント]
羽生が書いたアマ初段〜二段ぐらいが対象。
大局観を養うことを目的としている本で、将棋の考え方が書かれている。
この本を読んで初めて、羽生がとてつもなく強いことを実感した。
[羽生善治の終盤術(1) 攻めをつなぐ本]
終盤の考え方が次の一手形式で書かれた本。これまた非常にハイレベル。
羽生マジックの何たるかもおぼろげながら知ることができる。
決して「5手目に有利になる鬼手」ではないと思った。
そもそもマジックではないのだが、あえていうなら「局面のテーマに沿った手」か。
100 :
名無し名人:2007/04/07(土) 16:35:39 ID:qTCng5mM
ボナの評価関数は,各特徴ベクトル自体が非線型性を持っているので
全体としては非線型.学習させる都合で最終的な形は線型和を使ってる.
もう一つ特徴的なのは,評価関数の最適化と探索アルゴリズムが無関係でないこと.
両者を組み合わせた探索の結果がプロの棋譜と(できるだけ)一致するように
係数を調整してる.これまでの評価関数の自動学習と異なるのはこの点.
運動制御(軌道=探索経路)の最適化というのはこういう意味.
101 :
名無し名人:2007/04/07(土) 17:16:29 ID:th9auBDC
探索アルゴリズムは関係ないんじゃないの?
1手読み+静止探索で一致するようにしてるんでしょ
102 :
100:2007/04/07(土) 17:31:20 ID:qTCng5mM
違う.本人と話したから間違いない
103 :
名無し名人:2007/04/07(土) 17:36:04 ID:th9auBDC
具体的なやり方は?
つーかあのpdfに書いてある方法では今はやってないってこと?
104 :
100:2007/04/07(土) 22:10:01 ID:qTCng5mM
いや,あの pdf の発表の時(GPW)そう言ってた
読み違えてるんじゃね?
105 :
名無し名人:2007/04/07(土) 22:15:21 ID:XInrmziw
,とか.とかの特徴的な句読点の使い方は・・・・・・
106 :
100:2007/04/07(土) 22:22:17 ID:qTCng5mM
>>105 当たり!w
>>103 補足 これ書くの二度目だと思うけど
9頁の左下の玉頭の歩の重みがゼロになってるのが探索アルゴリズムの影響だと言ってた
107 :
名無し名人:2007/04/07(土) 22:29:03 ID:th9auBDC
玉の1つ上の敵の歩だよね
王手がかかっている局面は末端にならないとかじゃないん?
よくわからんけど
108 :
100:2007/04/07(土) 22:37:02 ID:qTCng5mM
スマソ 詳しい話は忘れた
109 :
名無し名人:2007/04/07(土) 22:44:28 ID:rUFtoDB0
>>99 で、どれが一番ハイレベルなの?
一冊だけ読んでみたいんだが
110 :
名無し名人:2007/04/07(土) 23:05:36 ID:VIohEhPi
>>109 あえて一冊に限定するなら「読みの技法」。
111 :
名無し名人:2007/04/08(日) 01:19:32 ID:x0FT4aZb
なぜ地平線効果の単語が出てこないんだ?
112 :
名無し名人:2007/04/08(日) 01:23:33 ID:T7kKcR5O
>111
どういう意味?
ボナがどうやって地平線効果を解消しようとしてるか知りたいって事?
113 :
名無し名人:2007/04/22(日) 03:04:54 ID:yeUgcST0
ホシュ
114 :
名無し名人:2007/04/22(日) 23:24:26 ID:feJvW8ke
ま、いちおう言っとくけど、
a+bx+cx^2+dx^3... (1)
も線形と呼ぶ。
なぜなら、
入力は
x=(1,x,x^2,x^3...)
というベクトルであらわせて、
係数ベクトルを
w=(a,b,c....)とすれば
(1)はxとwの内積で表現できる。
だから、線形と呼ぶ。
ボナンザの場合、
x^2とかそういうのはなくて、なんらかの特徴量が入力ベクトルになる。
例えば、(3,4)に飛車がいたら1いなければ0
みたいなね。
だから、この特徴量の選び方がとても重要になってくる。
無限個の特徴量を作っていいなら、
全てのパターンを記憶できるので、
最適戦略を表現できる。
ただし、その分だけ学習データが必要になる。
ノイズを除去するためにも、自由度(パラメータ数)の2倍程度は
学習データが必要かもね。
あと、線形モデルの場合、いわゆる最小2乗法と同じで
最適なパラメータは一発で出るけど、
ボナンザの場合、学習データから直接評価値が求まらないから、
ごちゃごちゃしてる。
それじゃ
115 :
名無し名人:2007/04/22(日) 23:38:26 ID:feJvW8ke
>>97 だいたいそんな感じ。
特に間違ったことは言ってない。
制御とか関係ないよ。
116 :
名無し名人:2007/04/23(月) 10:10:23 ID:vLqjvJFp
>制御とか関係ないよ。
全然分かってないな
例えば、腕を動かす時最終位置だけでなく途中も最適にするのが運動制御
Bonanzaは探索の途中の経路も含めて学習するために制御理論を使ってる
保木氏がこれまでの評価関数の学習方式に納得できずに自ら考案した
これまでの学習方式とは基本的な考え方から違ってる
117 :
名無し名人:2007/04/24(火) 00:59:10 ID:XpOobzY2
>探索の途中の経路
棋譜にそんなデータないのにどうやって学習してるの?
118 :
名無し名人:2007/04/24(火) 02:15:17 ID:+v30Ewos
>114
関数が線形である(線形和である)と言うためには普通、係数ベクトルと
掛け合わされる方のベクトルが全て一次独立である(互いに従属でない)
と言う条件が必要だと思うが。つまりは基底ベクトルの線形和と言う事で
あり、そのベクトルで張られる超空間内の超平面で表現できると言う事。
そういう制約が全く無しにパラメータ(ベクトル)がどんな高次で
かつ互いに複雑な相関が有っても良いのならそれが例え、どんな関数で
あっても(見かけ上)線形和で表せるのは当たり前だと思うが。
しかし、通常そういう場合には最小二乗法とか線形計画法とかの
分かりやすい解法は使えないと思われる。
119 :
名無し名人:2007/04/24(火) 11:55:40 ID:qv92jsas
>>118 関数が線形であるというのは、
例えば、f(x+y)=f(x)+f(y)。
関数モデルが線形というのは、
f(x;w)+f(x;z)=f(x;w+z)
ということ。wとzは係数。
xとx^2は基底関数として独立だよ。
>どんな関数であっても(見かけ上)線形和で表せるのは当たり前だと思うが。
例えば、マクローリン展開とか、フーリエ級数展開ね。
だけど、有限個の項で近似する場合、誤差がでてしまう。
その誤差を最小にしようというのが、最小2乗法。
最小2乗法は、例えば勾配法などを使って解くことができるけれど、
線形モデルの場合は、1回の行列計算で解析解が求まる。
関数近似じゃないけれど、
2次計画法を使って係数を求めるサポートベクターというのもある。
機械学習では、基底関数と係数を同時にデータから決めるということをやっていて、
そういうのではEMアルゴリズムがよく使われる。
どれも、誤差関数を最小化するための、最適化アルゴリズム。
線形計画法も最適化アルゴリズムだけれど、学習に使われることはあまりない。
参考書としてelement of statistical learningがおすすめ。
120 :
名無し名人:2007/04/24(火) 12:06:03 ID:qv92jsas
>>116 >例えば、腕を動かす時最終位置だけでなく途中も最適にするのが運動制御
>Bonanzaは探索の途中の経路も含めて学習するために制御理論を使ってる
学習データとして、
局面:p
手:m
の組み合わせの集合{(p,m)}が与えられてるわけだよね。
これはつまりオススメ合法手の集合です、と。
今、評価関数f(p,m)を簡単に作る方法を考えたい。
学習データに含まれているp,mに対して、
f(p,m)=1
それ以外でf(p,m)=0
となるような関数を作ることを考えれば、
経路も同時に最適化される。
これが普通の機械学習だと思うのだけれど、
これに対してボナンザはどこが新しいの?
121 :
名無し名人:2007/04/25(水) 00:32:20 ID:fmOV/nxf
>120
自分で(評価関数の)学習をやってみりゃ分かる
>f(p,m)=1
>それ以外でf(p,m)=0
なんてやり方じゃうまく行かないから
122 :
名無し名人:2007/04/25(水) 00:33:25 ID:fmOV/nxf
あ忘れてた
>となるような関数を作ることを考えれば、
>経路も同時に最適化される。
>これが普通の機械学習だと思うのだけれど
全然違う
123 :
名無し名人:2007/04/25(水) 01:41:23 ID:ABRLTXgS
>>121 全然うまくいかない理由は?
ゲーム木探索をしない場合は、俺が書いた
「普通の機械学習法」の方が上手くいくよ。
例のスライドの
ξ(p_m,v):minmax評価
を
f(p,m;v):ただの局面評価
だと思えば、Jの最小化は最小2乗法もどき。
(pが局面、mが手,vがパラメータ)
Tの形が階段関数の場合、
「棋譜で指された手よりも良く判断してしまった合法手の数」
の最小化をすることが明記されてる。
それから、Tを1次関数にすれば、最小2乗法と一致する。
学習データに含まれるものをf(p,m)=1とし、
学習データに含まれないものをf(p,m)=0とすることと、
正規化項をつけることは等価。
ξ(p_m,v):minmax評価
は解析的な関数じゃないので、最適化しにくいけどね。
スライドによると、なんらかの近似をしてる。
(次の局面の評価値か?)
>>122 何と何が違う?
上記したものは、「普通の機械学習」だけど。
124 :
名無し名人:2007/04/25(水) 01:47:35 ID:ABRLTXgS
ここまで書いて思ったんだけど、
普通に機械学習すれば
ボナンザより強いプログラムできるんじゃね?
ξっていう、minmax評価値の方をあえて最適にしようとしてるけど、
次の局面の評価値f(x,m)を近似として使ってるなら、
ダイレクトにf(x,m)を学習するのとほとんど変わらない。
あとは学習データをどれだけ用意できるかと、
どのような特徴量の線形和を考えるかが肝ってことかも。
125 :
名無し名人:2007/04/25(水) 12:37:03 ID:3jB4XF4R
ボナの学習最適化の手法には数十万の棋譜が必要みたいだね。
プロの棋譜だけで学習すればいのにという話に、それでは棋譜の数が全然たりない
という話があった。江戸時代の棋譜を使ったのもとにかく大量の棋譜が必要
だったからかと。
126 :
名無し名人:2007/04/25(水) 13:06:07 ID:dWZH9X0q
>>125 ボナって大量の棋譜をつかって平均化したわりには
個性的な将棋を指すよねw
127 :
名無し名人:2007/04/25(水) 20:45:40 ID:fmOV/nxf
>全然うまくいかない理由は?
それが分かればとっくに強いソフトができてるはずだろ。
長い間多くの人が評価関数の学習に取り組んでものにならなかったという歴史がある。
だから保木さんの手法が革新的なの。
128 :
名無し名人:2007/04/26(木) 00:58:15 ID:MD5qPfGU
129 :
名無し名人:2007/04/26(木) 12:01:15 ID:9/smLHTq
>>125 スライドにはプロ3万局と、将棋クラブ3万局、と書いてあるけど。
学習データの量と強さは直結するから、多ければ多い程いい。
>>127 >長い間多くの人が評価関数の学習に取り組んでものにならなかったという歴史がある。
線形モデルを使った例があるなら、ソースキボンヌ
上記したとおり、ボナンザのやり方と、
通常のやり方に大きな差はない。
>>128 解説して損した気分だ。数式を読む力もないみたいだね、彼には。
130 :
名無し名人:2007/04/26(木) 12:03:50 ID:/u2MAJTb
昔の学習は自分自身同士を延々と戦わせて評価関数を調整するという感じじゃなかった?
人間の高段者の棋譜をもとに評価関数を作ったのってボナンザ以前にあったっけ。
131 :
名無し名人:2007/04/26(木) 12:08:02 ID:tld2SRdq
>>130 お前は一体何を言っているんだ。
初期のころの柿木将棋ですらプロの棋譜から駒の価値を求めているんだが?
132 :
名無し名人:2007/04/26(木) 12:21:49 ID:9/smLHTq
133 :
名無し名人:2007/04/26(木) 12:22:33 ID:9/smLHTq
134 :
名無し名人:2007/04/26(木) 15:01:09 ID:tld2SRdq
>>133 1985年当時の「マイコン」(←これが雑誌名)
と「コンピュータ将棋」 サイエンス社, 1990
135 :
名無し名人:2007/04/26(木) 17:23:26 ID:Q4wB7M8B
Bonanzaの新しい点の一つは学習対象のパラメータが万を越えること
今までにはこんなむちゃくちゃな数を用意したものはなかった
136 :
名無し名人:2007/04/26(木) 23:23:55 ID:urlyc4ZH
穴熊で一手一手で受けがなくなるパターンとか
一手稼げるパターンをデータベースに出来ないものだろうか。
137 :
名無し名人:2007/04/27(金) 01:37:51 ID:xWLRlAGV
>>134 そのソースはたどれないな。
まあ、DeepBlueにも学習機能はあったらしいけど、
どこまで「まとも」かは・・・。
まあ、過去についてぐだぐだ言っても意味ないので
この辺で打ち切りますか。
機械学習のアルゴリズムが統計の専門家以外でも使えるように
整備されてきたのは2000年前後だと思うので、
ボナンザ出現のタイミングは妥当と言えば妥当かも。
138 :
名無し名人:2007/04/27(金) 02:54:45 ID:jf6G61T/
>>137 >>まあ、DeepBlueにも学習機能はあったらしいけど、
あったらしいけどって・・・いやありますよ確定事項で。
チェスでは評価関数は自動学習が当たり前。
終盤は駒が減って組み合わせが減り、かつDB化もなされている。
なので終盤については評価値を正確に求められ評価関数の適切な学習が可能だった。
そこで終盤の評価関数を定め、次にこれを使って中盤の評価関数を学習し・・・
というやり方で逆にたどる事で世界チャンピオンを超えるレベルに到達している。
将棋ではそんな手法は当然使えないのでこれまでは人間が評価関数を作っていた訳。
139 :
名無し名人:2007/04/27(金) 06:21:54 ID:8LiAeih9
>>126 そんなもんだろ。平均化といっても、かなりの広範囲に渡ったものを独自の視点で解釈したわけだし。
140 :
名無し名人:2007/04/27(金) 11:06:52 ID:HwIl6Grd
>139
「解釈」はしてないと思う、少なくとも保木さん自身は。
そういう人間(開発者)の好みが入らないのがボナのみそだと思われ。
自動学習してるうちにその学習によって出来上がった評価関数が
勝手に解釈し始めたと言う可能性はあると思うが。
141 :
名無し名人:2007/04/27(金) 11:18:42 ID:xWLRlAGV
>>138 チェスでは当たり前なのか。
まあ、発想は当たり前なので、
まともなアルゴリズム=線形回帰+最小2乗が使われているかが問題かな。
>終盤は駒が減って組み合わせが減り、かつDB化もなされている。
>なので終盤については評価値を正確に求められ評価関数の適切な学習が可能だった。
>そこで終盤の評価関数を定め、次にこれを使って中盤の評価関数を学習し・・・
なるほどね。
将棋は王をとった/とられた瞬間の評価値しかわかんないからねぇ。
そういう意味で、チェスに比べて、将棋の方が
評価関数の学習が重要になるわけね。
142 :
名無し名人:2007/04/27(金) 11:25:24 ID:xWLRlAGV
俺も学習する将棋作ってみようかな。
でも、時間も棋譜もないなぁ。
143 :
名無し名人:2007/04/27(金) 11:37:41 ID:HwIl6Grd
書いててフト疑問に思ったんだが、ボナはプロの棋譜中に現われる特定の
局面の指し手に対して何らかの重み付けを与えて学習させてるんだろうか?
例えばより高段者の指し手に対して重み付けを高くするとか、考慮時間の
長い対局ほど高くするとか。
あるいは同一局面について複数の指し手が出てくる場合は単に頻度のみで
選んでるのか?
うまい事重み付けしないとボナの評価関数は平均的なプロ棋士の
棋力を(原理的に)上回れなくなりそうな気がする。
それでも、この学習された評価関数の汎化能力は非常に驚異的だと思うが。
144 :
名無し名人:2007/04/27(金) 11:50:08 ID:HwIl6Grd
>142
棋譜に関しては「棋譜」「データベース」で検索すればWebのあちこちに
転がってると思うが。そういう方法ではなく真正面からプロ棋士の棋譜を
(対価を支払って?)入手する方法があるのかどうか俺は知らない。
将棋の定跡データベースだったら、以前日本将棋連盟の新潟支部か
どこかが(有償で?)配布してたと思うがまだやってるのかなあ?
145 :
名無し名人:2007/04/27(金) 12:04:31 ID:gRmufzdS
棚瀬将棋、柿木将棋がボナと同じ学習させたらしいと
どこかのブログにかいてあった。
146 :
名無し名人:2007/04/27(金) 12:05:49 ID:pcDnM8ko
将棋年鑑をスキャン&OCR
147 :
名無し名人:2007/04/27(金) 12:12:03 ID:HwIl6Grd
>145
そういう話は良く聞くけど、どこまで本当かなあ?
ボナ流の評価関数を使うと言う事は今までの人間(作者)が評価関数を考えて
与えるやり方を一度捨ててしまわないと不徹底なものになる。
今まで苦労して作ってきた自分のそう簡単に捨てられるものかねえ?
また、今更ボナと全く同じような学習をして同じような手を指すソフトを
発表しても意味無いだろうし。評価関数のパラメータ選びに工夫の余地は
あるかも知れないが。
148 :
名無し名人:2007/04/27(金) 13:17:11 ID:HwIl6Grd
書いてて、またまたフト思ったが途中(一定深さ)まではボナ流儀の
全幅探索と評価関数で押し切っておいて、しっかり考え込みたい(怖い)
局面まで来たら人間(プログラマー)が考えた評価関数で大幅に前向き
枝狩りしながら、さらに深く読むと言うやり方はあるかも知れんな。
ボナ自身、竜王と対決したバージョンには全幅探索した局面から、
さらに深く前向き枝狩りしながら読む手法を付け加えていたそうだし。
どうやってさらに深く読みたい局面だと判定するのかは知らんけど。
149 :
名無し名人:2007/04/27(金) 21:18:14 ID:ptD0IES8
150 :
名無し名人:2007/04/28(土) 00:32:16 ID:F20F8f3n
>>149 GJ!!
キレイに学習ってなんだよって突っ込みは当然あったんだよねwww
>>148 >ボナ流の評価関数を使うと言う事は今までの人間(作者)が評価関数を考えて
>与えるやり方を一度捨ててしまわないと不徹底なものになる。
人間の書いた評価関数をデータ(棋譜)で修正することはできるけど、
大量にデータがある場合は、そんなことする意味は全くない。
ハンドコーディングの評価関数はなるべく使わない方がいいだろうね。
>>143 その指摘は正しい。
ボナの中の人もきっと悩んでると思う。
実際には、勝った側の手筋が+1、負けた側の手筋が-1みたいなことになってるはず。
でも、高段者同士なら、+1と+0.9とかが本来の重みになる。
そういう意味で、今は人間の指し手を学習して、
探索で稼いでる面が大きいと思う。
151 :
名無し名人:2007/04/28(土) 17:32:33 ID:KV5Bc6h9
はぁ、また半可通か
152 :
名無し名人:2007/04/28(土) 17:47:16 ID:U7iYhmSo
>151
何となく気持ちは分からないでもないが、おかしいと思うところがあれば
具体的に指摘してもらえると有り難い。スレもにぎわうしw。
多少、カドが立つかも知れんが他人に分かるように書いてるうちに
自分の考えが整理されてくると言う事(利益)もあるよ。
153 :
名無し名人:2007/04/28(土) 18:29:27 ID:H2QsQun4
だれか、このスレで今まで議論してきた議題と争点を整理してもらえないか?
議事メモ的なものがあると、ありがたいのだか。
結論が出ているか、出ていないか、はっきりするし。
154 :
名無し名人:2007/04/28(土) 20:17:24 ID:ucSaBMGz
議論なんかで結論が出るわけないじゃん
155 :
名無し名人:2007/04/28(土) 20:32:16 ID:H2QsQun4
結論を出すのは鉄則だって。結論があやふやで終わったら、議論の意味がないから。
まあ、結論保留なら、それはそれで、そう書かれていればいいよ。
ポイントはステイタスをはっきりさせるってところに尽きるわけね。
156 :
名無し名人:2007/04/28(土) 20:47:15 ID:Vg6v1eR2
157 :
名無し名人:2007/04/28(土) 21:22:57 ID:NwAohz5r
横からスマソ
>> ID:H2QsQun4 がバカな事だけは解った。
158 :
名無し名人:2007/04/28(土) 21:26:00 ID:H2QsQun4
そうだね。
159 :
名無し名人:2007/04/28(土) 21:26:31 ID:U7iYhmSo
いや、別に議論したくて、ましてやそこから何らかの結論を導き出したくて
このスレを立てたわけではないんだが。
これは社会学とか政治などの話じゃないので議論しての結論より証拠が一番。
そういう意味じゃ自然科学に近いと思う。議論の論点を整理するのは皆に
分かりやすくて良いかも知れないが、それを書く人が相当良く分かってないと
的ハズレになりかねないからねえ?
私は自分の疑問を口にでき、自分の知りたい事を遠慮なく質問する事ができる
(あるいは勝手に答えを誰かが書いてくれる)ようにスレを立てました。
後は各自、興味があれば自分で調べるなり試しにプログラムを作るなりして
みれば良いかと(エエ、純粋に利己的な動機からですw)。
160 :
名無し名人:2007/04/28(土) 21:35:15 ID:F20F8f3n
最近このスレに住み着いてる俺w
疑問にならなんでも答えるお。
f(x,w)は
x=(x_1, x_2, x_3...x_N)
w=(w_1, w_2, w_3...x_N)
というベクトルを考えていて、
線形モデルは
f(x,w)=Σw_i×x_i
ということ。
ここでxというのは局面の情報で
例えば、x_1は(1,1)に歩があるかないか、みたいな感じ。
どうやってデータからwを決めるかについては、参考書を読んでみて。
理解するのは簡単じゃないから、説明しても無意味だと思うので。
例えば
データ学習アルゴリズム 渡辺澄夫
これは絶対買った方がいい。
英語が読めるなら
element of...
も買うべき。
161 :
名無し名人:2007/04/28(土) 21:38:54 ID:F20F8f3n
>だれか、このスレで今まで議論してきた議題と争点を整理してもらえないか?
>>1-1000
162 :
名無し名人:2007/04/28(土) 21:39:50 ID:NwAohz5r
自分でやれよアフォウ!!
163 :
名無し名人:2007/04/28(土) 21:41:35 ID:F20F8f3n
マジレスすると
全部答えてやるから、疑問を全て箇条書きにしてこい!!
164 :
名無し名人:2007/04/28(土) 21:50:18 ID:NwAohz5r
>>163 ボナンザは中盤で何手先まで読んでるの?
5手先?
ボナンザ同士を対戦させて評価関数の優劣評価が逆転するのは何故?
互いに5手読んで最善手指して、5手以内に優劣評価が何故に逆転するの?
165 :
名無し名人:2007/04/28(土) 21:53:59 ID:U7iYhmSo
>161
ヘッヘッヘ! それで全部じゃないんだな。
このスレの議論は「ボナンザ Bonanza 専用スレ 8手目」後半(600辺り)
http://game12.2ch.net/test/read.cgi/bgame/1168758137/ からの話の流れをそのまま引き継いでいる。
このスレだけ読んでも話の流れは完全には分からないんだな。
>163
そう慌てなさんなって。アナタにはいろいろ教えてもらって感謝している。
ただ正しい質問を投げるためにはこちらも相当、問題を理解していないと
不可能なんだと言う事を配慮してもらえるとアリガタイ。
(要はユックリ付き合って欲しいと言う事ダナ)
166 :
名無し名人:2007/04/28(土) 21:58:24 ID:F20F8f3n
>ボナンザは中盤で何手先まで読んでるの?
設定による
>ボナンザ同士を対戦させて評価関数の優劣評価が逆転するのは何故?
評価関数が間違ってるから
>互いに5手読んで最善手指して、5手以内に優劣評価が何故に逆転するの?
評価関数が間違ってるから
167 :
名無し名人:2007/04/28(土) 22:03:04 ID:U7iYhmSo
>164
ボナンザ同士(かつ同じバージョン)を対戦させて本当にそんな事起きる?
もし起きるとすると両者の評価関数または探索の深さがどこかで異なって
いない限り有り得ない気がする。
先手後手の立場が違えば時間の使い方の関係なんかでそういう事も起こり得る
のかなあ?
君、やってみた?
168 :
名無し名人:2007/04/28(土) 22:04:06 ID:NwAohz5r
>>166 同一の評価関数(完璧ではないのは当然)で最善手を指して、その同一の評価関数の評価が5手以内に逆転するのは何故?
169 :
名無し名人:2007/04/28(土) 22:05:02 ID:F20F8f3n
170 :
名無し名人:2007/04/28(土) 22:09:30 ID:NwAohz5r
>>167 ID:U7iYhmSo さんは OK
>> ID:F20F8f3n さんは、
> マジレスすると
> 全部答えてやるから、疑問を全て箇条書きにしてこい!!
とか書いてたけど、やっぱりアフォウ
試してゴメンネ。
171 :
名無し名人:2007/04/28(土) 22:09:35 ID:Vg6v1eR2
>>160 Thx
>> マジレスすると
>> 全部答えてやるから、疑問を全て箇条書きにしてこい!!
保木さんチャートの読み方を教えてくれ
http://www.geocities.jp/bonanza_shogi/gpw2006.pdf ・beta cut ていうのは αβ と同じ?
・futility pruning とは?
・Bitboard? Aspiration search? PV search? 0.5手延長?
再帰的反復深化?SEE? stand pad?
・通常探索と静止探索ってどう違うの?
・拘束条件?ペナルティー?
172 :
名無し名人:2007/04/28(土) 22:12:23 ID:F20F8f3n
わからない理由も書いてくれたら、真剣に答えるお
173 :
名無し名人:2007/04/28(土) 22:15:27 ID:Vg6v1eR2
>>172 理由も何も用語を知らないからな
>>168 それは局面が進んで5手前より読みが深くなったから
174 :
名無し名人:2007/04/28(土) 22:19:33 ID:F20F8f3n
175 :
名無し名人:2007/04/28(土) 22:25:03 ID:U7iYhmSo
>173
オイオイ! >168は >164で
「ボナンザ同士を対戦させて評価関数の優劣評価が逆転するのは何故?」
と書いてある。こっちの方が問題だろう?
対戦相手がボナ自身でないなら(極端な話、渡辺竜王など)相手の読みが
ボナを上回れば、評価関数の優劣評価が逆転するのは幾らでも起こり得る話だ。
176 :
名無し名人:2007/04/28(土) 22:25:53 ID:NwAohz5r
>>173 >
>>168 > それは局面が進んで5手前より読みが深くなったから
うん、それが正解と思う。
177 :
名無し名人:2007/04/28(土) 22:39:34 ID:U7iYhmSo
178 :
名無し名人:2007/04/28(土) 22:48:24 ID:Vg6v1eR2
じゃ勘で書くから訂正してくれ
・beta cut --> αβ. 最善手 a0 に対して他の手 a1...an を読むときは a0 の
ときより点を悪くするような相手の応手 b1...bn があること以外は読まなくてよい
・futility pruning --> 相手の悪手っぽい手(評価が明らかに落ちる手)は読まない
・Aspiration search? --> search window を制限して読みを絞る?わからん
・反復深化--> iterative deepening. 時間の許す限り読みの深さをあげていく
・Bitboard --> データ構造
まだよくわからない用語
・0.5手延長? SEE? stand pad?
・通常探索と静止探索ってどう違うの?
・拘束条件?ペナルティー?
179 :
名無し名人:2007/04/28(土) 22:55:16 ID:U7iYhmSo
>174
こういう専門用語の意味が解説されてる参考文献をいくつかリストに挙げて
あげたら?英語の文献しかないかも知れんが。
俺も助かる(ソレガホンネw)。
180 :
名無し名人:2007/04/28(土) 23:04:37 ID:Vg6v1eR2
>>168 >>175 評価関数っていうのは局面に対して定義されるわけだけど
画面に出てくる値っていうのは読みを入れて計算するわけだよ
いま50手目なら例えば55手目まで双方が最善手を指した局面の評価関数の値を表示している
55手目まで進んだら今度は60手目の局面の値になるんだから結果が違って当然
181 :
名無し名人:2007/04/28(土) 23:23:57 ID:U7iYhmSo
>180
いや、それは前提として分かってるって。ただし >168は
「"同一の評価関数"で最善手を指して、その"同一の評価関数の評価"が5手以内に逆転するのは何故?」
と書いてるわけだ。つまりボナならボナの同じバージョン同士と言う事だろう。
その条件下で互いに指してるうちに途中で評価値が本当に逆転するとしたら
(先手有利、後手不利 -> 先手不利、後手有利あるいはその逆)
その理由はもう少し微妙(込み入った話)だろう。
182 :
名無し名人:2007/04/28(土) 23:34:41 ID:O6XfH7iA
どういう状況かいまいち理解できない。
先手が5手読み→最善手がAで評価値+10→そのAを指す
後手が5手読み→最善手がBで評価値-7→Bを指す
先手が5手読み→最善手がCで評価値+2→Cを指す
後手が5手読み→最善手がDで評価値+4→Dを指す
先手が5手読み→最善手がEで評価値-6→Eを指す
このケースを5手以内に逆転してるって言ってるの?
183 :
名無し名人:2007/04/28(土) 23:39:37 ID:Vg6v1eR2
>>181 そうだろうか?
本当にお互いに最善手しか指してなくても
評価関数(55手目局面) ≠ 評価関数(60手目局面)
はありえるでしょ。評価関数というのは間違っているわけだから
184 :
名無し名人:2007/04/28(土) 23:44:40 ID:U7iYhmSo
>182
ウン、多分そう言う意味だと思う(と私は解釈している)。
ただし、そういう事が>164 ID:NwAohz5r の言う通り、ボナの同一
バージョン同士を戦わせて本当に起こるのかどうか疑ってもいる。
実際に実験しないで思い込みかヒッカケで書いたんじゃないかなー?と。
185 :
名無し名人:2007/04/28(土) 23:48:08 ID:O6XfH7iA
これだったら起こるのかどうかじゃなくて
起こらない方が不思議なくらい当然なことなんだけど。
これが理解できないなら話にならないような。
186 :
名無し名人:2007/04/28(土) 23:51:47 ID:U7iYhmSo
>183
評価関数は間違っている(完全じゃない)のは当然としても
先手と後手双方が同じその「間違った評価関数」を使って
同じ手数だけ先読みしたら読み筋が互いに一致するんじゃないか?
それなのに評価値が途中で逆転するとはどういう事だろう?
先手・後手は互いに自分の手番に来た時に一手ずつ深く先を読んで行く
わけだから水平線効果が起きるような指し手があれば起こり得るかな?
187 :
名無し名人:2007/04/28(土) 23:53:58 ID:O6XfH7iA
いや一致しないから。
次の読みを4手読みに減らしたら評価値と読み筋も一致するけど。
188 :
名無し名人:2007/04/28(土) 23:57:16 ID:Vg6v1eR2
>>185 でもこれくらいも説明できないってのも…
もう一回別の言い方で説明するぞ
・理想的な評価関数は理想の最善手を指すかぎり値が変化しないのが正しい
・ボナの評価関数はボナが思う最善手を指しているかぎり値が変化しないべきだとも思う
でも現実の評価関数ではそのどちらの性質も成り立たないんだよ
現実の評価関数っていうのは持ち駒の数とか駒の位置関係で適当に決めてるだけ
なんだから手数が進めばほとんどランダムに値が変わっちゃうわけ
当然値の+−が変わっちゃうこともありうるんだけれど…どうわかった?
189 :
名無し名人:2007/04/29(日) 00:06:55 ID:zQNCZOs2
>187 >188
原理的には確かにそうだと思うが、ボナの指し手同士がそんなに頻繁に
読み筋が食い違うほど評価関数が不正確かねえ?
実際には一局の中でも一回あるかないかくらいの見つけるのも大変な現象なんじゃ
なかろうか?そんな事、実験して追跡してみた事無いから分からないけど。
さてぼちぼちいいかな
>>152 半可通って言葉の意味を辞書で調べてみろ
それで俺の言いたいことは分かるはずだ
話はそれからだ
今まで何度も相手してきたが
お前には他人の言葉を真剣に聞こうという態度が見られん
学習に関しては本をたくさん読んで勉強しているようだが
それを実際の応用に適用してアルゴリズムさらにプログラムにするという
産みの苦しみを知らん奴が保木さんの成果を貶めるのには我慢がならん
191 :
名無し名人:2007/04/29(日) 00:36:25 ID:R6Dz3/aA
ところで渡辺戦の終盤の一手一手が見えない問題っていうのは
どう解決すればいいのか結論は出てる?
・評価関数で一手一手局面を判断→難しそう
・枝刈り読みで最後まで読む→時間がかかりそう
ということで今までの手法じゃ難しそうだと思うんだが…どうだろう
詰みまで読めなくても「一手一手局面である」ことだけを判断して
それを評価に入れるというようにはできないのだろうか?
192 :
名無し名人:2007/04/29(日) 00:37:37 ID:zQNCZOs2
>190
エー、おれの事?
自分が「半可通」なのは認めるがおれは保木さんの事をこれまで貶した
つもりは無い。むしろ非常に尊敬している。ボナの事を良く知らなかった
何ヶ月も前なら不遜な事を言ってしまっていたかも知れないが。
誰か他の人の発言とゴッチャにされとるようだな。
でもそれが誰かを言うとそれもまたカドが立つので言わないけど。
193 :
190:2007/04/29(日) 00:48:50 ID:ApA4U70U
保木さんの学習方式を「普通」と言ってたのはお前さんじゃなかったか?
もしそうなら確かに俺がごっちゃにしてたことになる
言葉の使い方が似てるから同一人物だと思ってしまった
謝罪する
194 :
152:2007/04/29(日) 00:55:10 ID:zQNCZOs2
>193
いや、全然別人。大体、俺は「普通」の学習方式がどんなものか良く知らない。
(だから知りたいと思っている。それとボナの方式の違いも)
だが、俺は(多分)君がターゲットにしている人も結構、尊敬してるんだよね。
いろいろ参考文献とか有用な情報を教えてくれるし。
195 :
名無し名人:2007/04/29(日) 01:06:06 ID:zQNCZOs2
>191
「一手一手局面」って「この指し手を放っておいたら次で詰ますぞ」と言う
「詰めろ」の局面だと言う事だよね。つまり相手に手番を渡さない。
それを評価関数で別に評価する事も出来なくは無いんじゃないかなあ?
必至や詰みの速度争いを正確に評価するのは難しそうだけど。
196 :
名無し名人:2007/04/29(日) 01:09:28 ID:R6Dz3/aA
>>195 > それを評価関数で別に評価する事も出来なくは無いんじゃないかなあ?
読みを入れないで局面だけ見て詰めろってわかるものなの?
そもそもあのボナの判断ミスはどっから来たんだろうな
・詰みは読めなかった
・評価関数的には味方の玉形>>>>>>>敵の玉形
ということであの結果っていうことでいいの?
197 :
名無し名人:2007/04/29(日) 01:14:42 ID:zQNCZOs2
>196
ウーン、確かに一手は読んでそこから詰み探索ルーチンを呼び出さないと
気づきようが無いか。でも放っておくと次に相手に王手を掛けられてしまう
事は分かるよね。それでも最低二手は読んでるわけか。
198 :
名無し名人:2007/04/29(日) 01:15:18 ID:ApA4U70U
これは申し訳ないことをした。改めてごめん _(o)_
199 :
198:2007/04/29(日) 01:16:06 ID:ApA4U70U
200 :
名無し名人:2007/04/29(日) 01:17:16 ID:R6Dz3/aA
>>195 >「一手一手局面」って「この指し手を放っておいたら次で詰ますぞ」と言う
>「詰めろ」の局面だと言う事だよね。つまり相手に手番を渡さない。
一手受けて詰めろを外してもまた次の一手で詰めろがかかる
最終的な受けなしまでは読めなくても
「詰めろが切れない」感じを評価に入れられないかなと思った
201 :
名無し名人:2007/04/29(日) 01:17:31 ID:zQNCZOs2
>198
いえいえ、そんなお気に為さらずに。
202 :
名無し名人:2007/04/29(日) 01:24:37 ID:zQNCZOs2
>200
ウーン、「詰めろが切れない」事に気づくためには「詰めろ探索専用」
ルーチンが必要な気もする。で、最初に詰めろ(放っておけば王手)が
掛かった時にそれを呼び出すと。
CPU時間がそれに相当、食われそうな気もするな。
203 :
名無し名人:2007/04/29(日) 01:24:59 ID:d5QRPugc
知っている範囲でまとめてみます
minimax...-法, -アルゴリズム,-原理, -戦略
αβ....-法,-アルゴリズム,-刈り(pruning)
などと呼ばれています.
「全幅探索」はαβ法を用いないピュアなminimaxアルゴリズムだけを指すんだ!と主張される先生もいらっしゃいますが,minimax評価値をαβ法で求める方法を含めて「全幅」と呼ぶのが普通かとおもいます.
αβを用いると倍の深さまで読める,というのは時折見かける表現ですが,
合法手の数が全ての局面で同じであり,評価の順序が神がかり的で常に一番良いものを先にすることができ,局面の展開(指し手の生成や局面の更新)に係る時間を無視することができるならば,
という条件が付きます.
204 :
名無し名人:2007/04/29(日) 01:37:45 ID:tWqWZfEh
205 :
名無し名人:2007/04/29(日) 01:41:32 ID:zQNCZOs2
>204
キミキミ、またそんなカドが立つような事を。
カドが立つ事を平気で言うのも空気が読めない部類に入ると思うぞ。
206 :
名無し名人:2007/04/29(日) 01:43:39 ID:R6Dz3/aA
>>202 minimax 探索は敵玉詰み(+∞),自玉詰み(-∞) それが
わからなければ読めるところまででの最終局面の評価値を返す
でいま
▲1手目▽2手目▲3手目▽4手目…
と互いの最善手を読んだときに▽2手目▽4手目... が全て受けの手で
かわりに他の攻めの手を指せば▽玉の詰みがすぐ見えるような状況の場合は
最終局面の評価値を大幅に上方修正するようなことをすればいいんじゃないかと…
207 :
名無し名人:2007/04/29(日) 01:43:46 ID:tWqWZfEh
>それを実際の応用に適用してアルゴリズムさらにプログラムにするという
>産みの苦しみを知らん奴が保木さんの成果を貶めるのには我慢がならん
そんなの知らないってwww
普通の機械学習と違うんだったら
どこが違うか指摘すりゃいいじゃん。
できれば、違いによって生じるメリットも加えてくれ。
できないなら、「同じ」でいいだろ?
「違う」と思い込みたいだけなら、自分の中で閉じててくれ。
208 :
名無し名人:2007/04/29(日) 01:46:40 ID:tWqWZfEh
んじゃ、さっきの発言取り消し
>初心者君
まず、
minmax探索の定義
を書いてみてくれ
209 :
名無し名人:2007/04/29(日) 01:56:06 ID:zQNCZOs2
>204
あ、参考文献がたくさん載ってるページ挙げてくれてアンガト!
210 :
名無し名人:2007/04/29(日) 01:59:43 ID:R6Dz3/aA
>>208 - minimax 探索は木の上の探索
* 木のノードが局面
* 木の枝が手
- 木のノード n には深さが奇数(自手番)か偶数(相手番)かに応じて
以下のような評価値 v(n) が定義される
* v(n) = max{v(m) | m は n の子ノード } (n が自手番ノードのとき)
* v(n) = min{v(m) | m は n の子ノード } (n が相手番ノードのとき)
* v(n) = f(n) (n が読みの深さを超えたとき、 f は評価関数)
ルートの子ノードの中で最大の評価値を持つものを返す手を捜すのが minmax 探索
211 :
名無し名人:2007/04/29(日) 02:24:45 ID:tWqWZfEh
それコピペだろーがww
自分の頭で理解して、自分の言葉で書こう
何がポイントなのさ?
212 :
名無し名人:2007/04/29(日) 03:00:47 ID:R6Dz3/aA
>>211 コピペじゃねーし
定義書けっていうから書いただけだろ
ポイントは互いに最善手を指した何手後かの評価関数の値を返すってだけ
それより
>>206にコメントがほしい
詰みしか最終判断(+∞,-∞) の基準がなくていいのか
10手連続で王手がきても大丈夫かもしれないが
5手連続で詰めろかけられたらほぼ終わってるのが将棋じゃないかと思うんだが
213 :
名無し名人:2007/04/29(日) 03:12:45 ID:e+8C0MAc
>>212 つ 水平線効果
コンピュータ君は無駄な手を探すのは得意だよ。
自分が負けそうになると無駄な王手を連続して指すのは良くあるでしょ。
無駄な詰めろを探して勝ちだと思うようになって駄目だと思う。
214 :
名無し名人:2007/04/29(日) 03:16:34 ID:R6Dz3/aA
王手と違って詰めろが悪手ってそんなになくない?
215 :
名無し名人:2007/04/29(日) 03:58:05 ID:e+8C0MAc
>>214 駒をただ捨てしての詰めろとか。
詰めろ = 相手が"何もしなければ"詰み なので
悪手の詰めろは結構あるでしょう。
王手より詰めろの方が悪手が少ないと見積もる根拠は?
216 :
名無し名人:2007/04/29(日) 04:10:21 ID:R6Dz3/aA
>>215 どんな場合?▽51玉▽3段目飛車に▲金を持って持ち駒を
ひとつひとつ3段目に打っていってだめとかまああるかもしれないが…
話を渡辺ボナンザ戦に戻して
じゃあどうやったら24歩で何手かあとに一手一手になるのを判断して回避できたと思う?
217 :
名無し名人:2007/04/29(日) 04:45:02 ID:e+8C0MAc
たとえば、相手は矢倉、こちらは敵陣2段目に飛車、持ち駒に金
3一金でも4二金でも詰めろ。でもまあ、金を取られてぜんぜん駄目
あと、5手連続の詰めろがあることを確認するには
詰め将棋探索のコストが相当高くなると思う。
>話を渡辺ボナンザ戦に戻して
そんな話をしていたつもりはないのだが。
「探索深さを十分深くして一手一手を判定させる」
「精度の高い評価関数を作って一手一手を判定させる」
というのがひどいが間違ってはいない回答。
具体的にどうやるかは知らん。
218 :
名無し名人:2007/04/29(日) 08:20:30 ID:hMDNxibO
ボナンザの学習ってのを(相)穴熊の場合だけ別にやったらどうなの?
219 :
名無し名人:2007/04/29(日) 08:25:25 ID:3k4Z/2sD
220 :
名無し名人:2007/04/29(日) 08:54:20 ID:3k4Z/2sD
緊迫の一手 人工知能 VS 渡辺竜王 を地上波で再放送してほしいなー
ところで、この番組見た人いるかい?
221 :
203:2007/04/29(日) 16:52:59 ID:d5QRPugc
>204 空気読まなくてすみません
URLにのっているαβは正しいのですが疑似コードとしては冗長な感じがします.
http://uguisu.skr.jp/othello/6-1.html のNegamax探索法にのっているコードがシンプルで本質をついていると思います.
>208 >210さんが書かれているとおりです
min番では最小評価値を返しますが「最良のもの」の意味で「最大」と
書かれているのだと思います.
再度空気読まなくてすみませんでした
222 :
名無し名人:2007/04/29(日) 18:03:13 ID:lXqQOOuR
BSでやってた運命の一手で一旦▲2七香車と打てば先手優勢ってプロが解説していた局面の手がなぜ
コンピュータソフトには読めないのでしょうか?
ほとんどのソフトがあの局面を考えさせると▲2四歩と打って自分が優勢だと考えているのはなぜなんだろう?
なにか読みづらい盲点というかそういうものがあるのでしょうか?
それとも単に読みの深さが足りないだけでもっと深く読めればあの手が発見できるのでしょうか?
△3九龍と飛車を切ってくる手をなぜか読みに入ってないんだよなあ。検討とかさせても・・・
何か重大な手を見落としてる事がソフトにはたまにある。
223 :
名無し名人:2007/04/29(日) 18:06:46 ID:nhcOBFFL
>150
>実際には、勝った側の手筋が+1、負けた側の手筋が-1みたいなことになってるはず。
それニューラルとかの強化学習でやってるのと勘違いしてなくね?
ボナの学習は、最終結果から逆算というより、棋譜の全てが「次の1手」問題として
「それらしい手」を良いと思うような評価関数を作ってるんだと思うが
224 :
名無し名人:2007/04/29(日) 18:50:32 ID:d5QRPugc
>222
一手一手を適切に扱えていないからだと思います.
225 :
名無し名人:2007/04/29(日) 20:32:34 ID:e+8C0MAc
そもそも一手一手を認識できないからじゃないのかな
一手一手ってどう定義するんだろう
226 :
名無し名人:2007/04/29(日) 20:49:32 ID:3k4Z/2sD
>>222 >△3九龍と飛車を切ってくる手をなぜか読みに入ってないんだよなあ。
△3九龍は駒損だからじゃなかろうか。△3九龍として先手玉が詰むわけでもないし。
227 :
名無し名人:2007/04/29(日) 21:27:53 ID:d5QRPugc
>225
一手一手=受け方がどうやっても詰めろ,王手が続く
ですかね
対竜王戦の39龍以下は7手とか11手の詰めろが混じっているので見た目以上に大変そうです.
228 :
名無し名人:2007/04/29(日) 21:48:20 ID:e+8C0MAc
>>227 そうなると必死と変わらないような。
詰みはともかく、必死はそんなに強くないそうなので
何かブレークスルーがないと難しいってことかな。
229 :
名無し名人:2007/04/30(月) 00:03:39 ID:d5QRPugc
>227
>そうなると必死と変わらないような。
そうか・・・必死問題と同じかも知れません・・・勘違い?
230 :
名無し名人:2007/04/30(月) 00:33:21 ID:HUHK01OO
>それニューラルとかの強化学習でやってるのと勘違いしてなくね?
「ニューラルとかの強化学習」の意味がよくわからない。
ニューラルネットと、強化学習は完全に違う概念。
ニューラルネットは非線形モデルであって、
上の方に書いたのは線形モデルの話。
ボナンザは線形モデル。
だから、ニューラルネットのシンプルなものを使っている・・・
と言えば、当たらずとも遠からず。
>棋譜の全てが「次の1手」問題として
>「それらしい手」を良いと思うような評価関数を作ってるんだと思うが
f(それらしい手)=1
f(それ以外)=−1
「それらしい手」の定義:与えられた棋譜で買った時の手
実際にそうやっているかはわからないが、
PDFのTの形による。
シグモイドを使う意味はない。
231 :
名無し名人:2007/04/30(月) 00:46:16 ID:KVtwyo3n
基本的には探索の深さが十分に増えれば解決する問題だろうね。
数十年待っていいのなら、それだけでもプロに勝てるような希ガス。
一手透きはパス手との絡みで、ヒューリスティックに危険度を求めてから
閾値を越えたら一部のCPUを分配して専用ルーチンで確認とかそんな
方法はないのかな。
今の並列探索ってホモジニアスな方法のみっぽいのかな?
終盤なんかは複数CPUにそれぞれ別の仕事をさせてもいいよね?
232 :
名無し名人:2007/04/30(月) 00:56:33 ID:HUHK01OO
ゲーム木探索というのは、
末端ノードの評価関数が与えられた時、
minmax探索の結果を求めるという問題。
この問題に対するアプローチは
厳密解法
近似解法
という二つに分類される。
厳密解法というのはminmax探索と同じ答えを与えることが保証されていることを意味する。
厳密解法の代表例はαβね。
だけど、厳密解法は深さに対して指数的な時間がかかるため、
近似解法が研究されている、と。
近似解放というのはある「仮定」をいれたもとで定式化されると思うのだけれど、
どんな仮定があるのか知ってる人がいたら、教えてエロい人。
233 :
名無し名人:2007/04/30(月) 01:02:46 ID:HUHK01OO
>数十年待っていいのなら、それだけでもプロに勝てるような希ガス。
どう考えても探索だけで勝つのは無理だろw
long a=0;
while(true)prina(log(a++))
とかやってみな。
表示されるのは、
2手しか分岐しないゲームをminmaxした時の、読んだ深さね。
なんなら1万台でやったバージョンとして
while(true){
a+=10000
prina(log(a))
}
もやってみれば?
234 :
名無し名人:2007/04/30(月) 01:06:50 ID:HUHK01OO
>>233だけど、logの底は2にしてくれ。
あるいは分岐数eとか。
普通に間違えた。
>>232を考えてるのは
末端ノードの評価関数は、
現実には多少なりとも誤差が含まれているので、
どうせminmaxのヒューリスティックを考えるなら、
ちゃんとした仮定をいれて、問題を定式化しなおした方が
きれいなアルゴリズムができるんじゃないかと思った。
235 :
名無し名人:2007/04/30(月) 02:07:26 ID:ZVEr9lvv
>>233 現状でも結構いい線いってるけど、プロに勝つためには
10手以上増えないと駄目なのか、3手ぐらいでもいいのか。
というのがわからん以上、どっちとも言えないのでは?
ところで、GPW招待講演時のPDFをみると
Bonanzaでは枝刈りの効果で1局面では2.23手を読むだけらしい
計算速度も数年で倍になることを考えると
数十年で探索深さが10増えることになるわけだ。
これならいけると、個人的には思うわけだが。
ところでprina はタイプミス?
236 :
名無し名人:2007/04/30(月) 03:00:14 ID:3NEGj52a
>231
並列探索には鉱脈がたくさんありそうですが,
成果を上げるのに時間がかかりそうですし
皆さんあまり乗り気でないのかもしれません
>235
探索延長なしでやろうとすると終盤でも10手じゃ足りない気がします.
序中盤でプロが「自信がない」「味がいい」「含み」「指せそう」
等の理由で選ぶ指し手を超えるにはもう少し必要な気がします.
あとあまりに深さが増えてくると手の生成や局面の更新にかかる
コストもばかにならなくなってくる気がします...
237 :
名無し名人:2007/04/30(月) 07:34:45 ID:1iRiDMiw
ボナンザの静的評価関数のデータベースと探索技法について、ソフト開発者の方にお尋ねします。
問題となる現局面の特徴次元空間の配列と、近接度の高いヒルベルト曲線群上の各点を選び出し、
評価関数を自動生成するには、データベースがあらかじめ探索によってプロットされていなければならないように思います。
すなわちプロ棋士の棋譜を近似的に最善応手列とみなすことにより、その終端局面から十分狭い領域で評価値の変分が最小となる特徴に着目し、
直接的に求まるのは「応手による各評価要素の適正な交換レート」であるように思います。
評価要素の交換レートが求まると、ここから評価要素の値の係数が求まり、評価要素の値×係数の総和(線形和)を取ると、局面の評価値が求まります。
しかしこれは単なる評価値で、探索によって得られたものではなく、かなりの誤差を含んでいると思われます。
たとえば瞬間的に銀得でも、次の相手の手番で駒損を回復されるような場合があり、1手ごとに評価値はがくがくと上下することが考えられます。
そこでminmax法による探索を行い、評価値の変動が安定化する十分な深さまで探索する必要があると思います(水平線効果の除去)
ある深さまで探索しても安定化しない場合や最善手と次善手の差が僅かであるような場合には、探索延長が必要かと思われます。
安定化すると、その終端ノードの値を返すことにより、局面の評価値が確定すると思います。(この値をプロット)
次に探索の幅についてですが、これは手の信頼度に直結しており、近接度の一定領域内に存在する参考応手列のハミング距離、データ数、分散の大きさ、棋力などによって総合的に判断されているものと推測します。
上記の交換レートの最確値と手の信頼度の計算には、最小自乗法などの統計的手法が用いられているものと思います。
以上、その辺の書き込みだけ見て、あとは想像で書いているので、とんでもなく勘違いしているかもしれませんが、この理解で良いのでしょうか?
238 :
名無し名人:2007/04/30(月) 09:08:31 ID:3NEGj52a
>237
数学畑でないものでわからない言葉がたくさんありすぎです・・・勉強不足ですねorz
>評価値の変分が最小となる・・・
ちょっと疑問です.指し手によって変分が最大となるように最適化するんじゃなかったかと思います.
後半は探索時の話でしょうか?
minimaxと水平線効果の除去,安定な評価値と探索延長はそれぞれつながらないような気がします.
探索の幅は深さのことでしょうか?
深さなら反復深化をやっていると思うので与えられた時間しだいではないかと.
手の信頼度という言葉は初めて耳にします.
その辺の書き込みというのがどのへんにあるのか教えていただけますか?
239 :
名無し名人:2007/04/30(月) 10:53:37 ID:1iRiDMiw
あの、私が質問してるのですけど(笑)
>>評価値の変分が最小となる・・・
>ちょっと疑問です.指し手によって変分が最大となるように最適化するんじゃなかったかと思います.
最善応手列の特徴→形勢の揺らぎが最小→変分が最小・・・という意味で書きました。
>探索の幅は深さのことでしょうか?
枝刈りによって残す幅の意味です。ボナンザも枝刈りしていると聞きました。
>手の信頼度という言葉は初めて耳にします.
近接度が低い、分散が大きい、データ不足、棋力が低いといったケースでは参考応手列の信頼度は低くなるかと思います。
>その辺の書き込みというのがどのへんにあるのか教えていただけますか?
本スレと「おまいら最強の将棋プログラムしてみろよpart5」のスレです。dat落ちしてますが。
取り敢えず回答ありがとうございます。160の人が権威者のようなので、この方に訊いてみたいと思うのですが。
240 :
名無し名人:2007/04/30(月) 11:06:54 ID:oDabw2xB
アルゴリズムより定跡いれたら?
241 :
名無し名人:2007/04/30(月) 12:47:09 ID:HUHK01OO
>>235 >現状でも結構いい線いってるけど、プロに勝つためには
>10手以上増えないと駄目なのか、3手ぐらいでもいいのか。
>というのがわからん以上、どっちとも言えないのでは?
まあそうかも。
>計算速度も数年で倍になることを考えると
>数十年で探索深さが10増えることになるわけだ。
>これならいけると、個人的には思うわけだが。
近似的な枝刈りで良ければそうかもね。
でも、厳密解を考えると、倍なんてカスだよね。
242 :
名無し名人:2007/04/30(月) 12:52:10 ID:HUHK01OO
>>231 >並列探索には鉱脈がたくさんありそうですが,
>成果を上げるのに時間がかかりそうですし
>皆さんあまり乗り気でないのかもしれません
確かにみんなやってないねぇ。
minmax探索の効果があるのかどうかもよくわからない改良をするくらいなら
ゲーム木の展開なんて簡単に並列化できるんだから、
そういうことに力を注いだ方がいい気もする。
ちなみに、東大が100台くらい使ってやってたけど、
あんま意味なかったぽいね。
やっぱりNP困難なので、計算力じゃ意味ないかも?
100台が1万台になったらまた違うのかもだけど。
>あとあまりに深さが増えてくると手の生成や局面の更新にかかる
>コストもばかにならなくなってくる気がします..
そんなのどうでもいいよ。
243 :
名無し名人:2007/04/30(月) 13:04:26 ID:HUHK01OO
ソフト開発者じゃないけど
>>237 PDFをベースにすると間違いは一個もない。
ただ、俺の意見だと
>たとえば瞬間的に銀得でも、次の相手の手番で駒損を回復されるような場合があり、1手ごとに評価値はがくがくと上下することが考えられます。
これは間違ってると思う。
>しかしこれは単なる評価値で、探索によって得られたものではなく、かなりの誤差を含んでいると思われます。
探索しても得られるのは単なる評価関数に基づくminmax探索(の近似)なので、
かなりの誤差を含んでいる。
>たとえば瞬間的に銀得でも、次の相手の手番で駒損を回復されるような場合があり、1手ごとに評価値はがくがくと上下することが考えられます。
1万次元の評価関数なんだから、そんなことは起こらないと思う。(勘)
ただ、評価値の安定度に基づいてなんかするなら、そこは確かにポジティブな効果が期待できる。
でも、それと評価関数の学習はやはり別物だと思う。
つまり、棋譜からの学習以外のものを、学習に突っ込んでしまうと
純粋な棋譜からの情報抽出ができない。
言い換えるならば、
安定度の評価は情報抽出後にやっても遅くはないし、同じ結果を与える。
そういうわけで
minmax探索後の結果を与える評価関数(のしかも近似)を補正するというのは意味がない
と思いますよ。
244 :
名無し名人:2007/04/30(月) 13:12:50 ID:HUHK01OO
>次に探索の幅についてですが、これは手の信頼度に直結しており、
>近接度の一定領域内に存在する参考応手列のハミング距離、
>データ数、分散の大きさ、
>棋力などによって総合的に判断されているものと推測します。
PDFに出てくる関数Tのことかな?
さすがにデータ数や棋力や分散などを考えるのはめんどくさいので
やっていない気がする。
シグモイドを勘でチューニングしたんじゃないかな。
俺は線形でいいと思うんだけどね(正則化項がついてるからね)。
245 :
名無し名人:2007/04/30(月) 13:13:54 ID:jfVdylai
>>242 バカになんないんだったらどうでもよくないだろw
246 :
名無し名人:2007/04/30(月) 13:18:33 ID:HUHK01OO
>>245 馬鹿になんないけど、そこを考えてもどうしようもないだろ?
247 :
名無し名人:2007/04/30(月) 13:45:09 ID:KVtwyo3n
>236
というより、マルチコア化が最近になって急速に進んできたからいろんな意味で準備不足なのかも。
これもインテルの熱湯バース党アーキテクチャが大コケしたおかげだけど。
メニーコア化して、1ソケットあたり10コア以上が叩き込まれるようになったらwktk
248 :
名無し名人:2007/04/30(月) 13:56:43 ID:ZVEr9lvv
>>241 >でも、厳密解を考えると、倍なんてカスだよね。
誰も厳密解をどうこうしようとはしてないでしょ。
>>243 >>たとえば瞬間的に銀得でも、次の相手の手番で駒損を回復されるような場合があり、1手ごとに評価値はがくがくと上下することが考えられます。
>1万次元の評価関数なんだから、そんなことは起こらないと思う。(勘)
いや、評価値の上下は起こるよ。
普通は静止探索(駒を取る手だけを探索とか)でもってこれを解決している。
つーかボナンザ限定の話なの? 1万次元て。
249 :
名無し名人:2007/04/30(月) 16:27:03 ID:1iRiDMiw
>>248 >>1万次元の評価関数なんだから、そんなことは起こらないと思う。(勘)
>いや、評価値の上下は起こるよ。
>普通は静止探索(駒を取る手だけを探索とか)でもってこれを解決している。
それを聞いて安心しました。ボナンザという連想記憶モデルの他分野への応用が楽しみですね。
250 :
名無し名人:2007/04/30(月) 23:25:47 ID:HUHK01OO
>誰も厳密解をどうこうしようとはしてないでしょ。
だったら、並列化より近似方法を考えた方が生産的かも。
もちろん、並列化によって性能はあがるけど、
k^n台にした時効果はnしかない。
>いや、評価値の上下は起こるよ。
>普通は静止探索(駒を取る手だけを探索とか)でもってこれを解決している。
俺が書いたことをほとんど読まないで書いてるでしょ。
学習データの近傍で上下は起こらないってことを言ってるんだが。
そりゃ、学習データがないところで揺れることはあるけど、
それと学習は関係ない。
静止探索というか、評価関数の不確からしさを見積もって、
それに応じて読みの深さを増やすことは、
評価関数によらず効果があるよ。
逆にそういうものを学習データの近傍でつぶしてしまったら、
分散の情報などを取りこぼすことにつながる。
そもそも探索した場合まで考えてしまうと、
近似的にしか学習できないので、かなりの改悪だと思う。
251 :
名無し名人:2007/05/01(火) 09:30:01 ID:fqlEYW9I
>>245 バカになんないんだったらそういう方法はとらないって選択肢が出てこないか?
252 :
名無し名人:2007/05/01(火) 09:44:02 ID:fqlEYW9I
ずーっと前の話で申し訳ないけど、いいかな?
>>203 >「全幅探索」はαβ法を用いないピュアなminimaxアルゴリズムだけを指すんだ!と主張される先生もいらっしゃいますが
>minimax評価値をαβ法で求める方法を含めて「全幅」と呼ぶのが普通かとおもいます.
これ、どうも気にかかるんだよね
実際の現場でそういう表現を用いるってのはよく判る。実際、αβを使えば同じ(ような)結果minmaxより早く得られるわけだし
ただ、学術的というかw 入門書的というか、そういう「minmaxやαβってなんなのかお勉強しましょう」というレベルの話であれば
そこはやっぱりminmaxとαβは分けて考えるべきだと思う
勝ち負けをどう求めるかというminmaxという手法があり、更にそれを効率よく行うαβがあり、そもそも前向きに枝狩しよう、という考え方もあり、っていう風に
なので、
>>203の物言いはなんかすごく引っかかる。言い方悪いけど、知らない人を馬鹿にしてるみたいで(203の人ごめん)
・・・チラ裏ですまんw
253 :
名無し名人:2007/05/01(火) 10:00:31 ID:PgDeEYbZ
>>252 オマエがバカなだけだろ w
野球の試合でもリードしているチームは9回裏の攻撃しないんだよ
254 :
名無し名人:2007/05/01(火) 12:28:41 ID:7ifOC1a5
>>252 お前が出てくるとレベルが著しく下がるから引っ込んでろと正直言いたい
言わないけど
255 :
名無し名人:2007/05/01(火) 14:38:00 ID:gtonDe7O
>254
言ってるじゃないか(事実上)w。
まあ気持ちは分かるが、本人も「チラシの裏」だと言ってる事だし。
256 :
名無し名人:2007/05/01(火) 15:12:51 ID:4BRTA1J+
正直スマンカッタ
257 :
名無し名人:2007/05/01(火) 17:10:13 ID:UhLl9/Aq
>>252 まず、将棋のようなゲームにはゲーム木というのが存在する。
これを全探索すれば必勝(利得最大)手筋が発見できる(存在すれば)。
これをminmax探索という。
>>253 が書いているとおり、もはや探索する意味がないような筋が、
最適値の上限と下限から決定できる。
従って全てを探索する必要はなくなり、αβが使える。
ただ、この枠組みと現実が大きく乖離する点がある。
それは、どんな高速化をしたところで、
end gameまで読み切ることはできないとうこと。
この時点で、minmax探索というのは基本的には崩れさる。
この打開策として、とりあえずの評価関数、というものをいれる方法が行われている。
言い換えれば、途中でゲーム木の展開を諦めて、
「minmax探索の推定値」を挿入している、と言える。
この推定値がかなり間違っているのであれば、どんなに深く読んでも無意味なのだ。
現実的なゲーム木探索では、
「ゲームが進めば進むほど、推定値の精度があがる」
という仮定をいれている。
もしこの仮定が誤っていれば、どんなに探索を高速化したところで無意味であるが、
実験的、経験的に確かめられている。
258 :
名無し名人:2007/05/01(火) 19:00:08 ID:px23jnsf
>252
「同じ(ような)結果」じゃなくて、完全に同じ結果が保証されてるんだよ。
変な小細工しなければ。だから、練習用に純粋なminmaxで組みましたって
わざわざ言わない限り、αβだというのが暗黙の了解だろ?
>257
そういう事を言ってるんじゃないと思う。252はもっと瑣末な枝葉レベルのくだらんことに拘ってるだけ。
ああ、枝葉といってもツリーの探索の話ではなくてだな……
259 :
名無し名人:2007/05/01(火) 19:56:04 ID:0x2k5pJs
minimaxの改良で「手の広さ」って
評価の対象にならないのだろうか
一手一手の問題もそうじゃないか?
260 :
名無し名人:2007/05/01(火) 23:49:15 ID:0x2k5pJs
つまりいまの評価関数って局面局面の駒の位置関係だけだろ
もっと手の流れの点を重視すれば読みを省けると思うんだよ
打った駒が立ち往生とか強要されて後手引くとか
39や38に受けに打たされた金銀を弱い駒と順次交換されるとかは
なんとなくよくない流れだろ
そこらへんあまり読みをいれずにね
前の指した手との繋がりの観点から評価関数で学習しておくと…
もっと強くなるだろうな
261 :
名無し名人:2007/05/02(水) 04:11:17 ID:NgQw7zFD
駒に相性を設定してそれと盤上の位置で点数つけちゃうとか。
同じ位置関係でもだいぶ意味が違ってくる。
とんでもない方向に判断ミスする可能性もあるが。
そんなに処理に時間食うわけでもないから面白いと思うんだけどな。
人間がやってるのもせいぜいそんな感じだし。
あと駒じゃなくてマスの方に点数振るのも面白い。
262 :
名無し名人:2007/05/02(水) 04:23:48 ID:TQEFrovS
>>260,261
強くなるだとか面白いと思うなら自分でコード書いてみりゃいいじゃん。
そんなコードぐらいすぐに書けるんだし。
そしたら自分が馬鹿なこと言ってるなってすぐにわかりそうなもんだけど。
263 :
252:2007/05/02(水) 09:45:23 ID:xUs1Hm72
>>258 うーん、だから、
>だから、練習用に純粋なminmaxで組みましたって
>わざわざ言わない限り、αβだというのが暗黙の了解だろ?
~~~~~~~~~~~~~~~~~
これが
>>252で言っている「実際の現場でそういう表現を用いる」話で、それを否定してるわけじゃないのよ
ただ、本でおべんきょしましょうね、というレベルの話であったら、それを分けて話しても別に問題ないし
むしろそこをきちんと分けた方が(ちゃんと枝狩してるんだよというのが判るという点でも)いいと思う
それを、「こんなもんそう表現するに決まってる。分けるなんて論外」とまで言っちゃうのはどーよ?
……という部分に引っかかっていたわけよ
瑣末な枝葉レベルのくだらんことに見えるかもしんないけど、入門者レベルの人がそういうの見たらいい気持ちしないよ?
……なにやってんだろもう千葉行かなきゃいけないのにw
264 :
名無し名人:2007/05/02(水) 10:03:13 ID:z0f03U/d
最善解を求める全幅探索だよ
全幅探索を単純なアルゴリズムを加えて行うのがminimax
も少しだけアルゴリズムを加えて全幅探索を行うのがαβ
昔の人がminimaxとかαβとか名前を付けただけで、当り前の全幅探索
265 :
名無し名人:2007/05/02(水) 10:36:57 ID:Rmdtr2XP
昔のソフトって全幅探索だったんでしょ?
ボナンザはそれを可能にする正確な評価関数を作り上げたのが
もっとも画期的なことなんだと思う。
266 :
名無し名人:2007/05/02(水) 11:20:06 ID:f9kKf7Ky
>263
だから、もまえが事情を承知の上でくだらんことに拘っているのは解っている。
それゆえ、漏れは「もまえが事情を承知の上でくだらんことに拘っている」と言っている。
相互理解はもう十分に出来ていると思うが?
267 :
名無し名人:2007/05/02(水) 12:44:42 ID:6AqvwbRZ
>>263 実際の現場レベルでも、本でおべんきょレベルでも
minmaxもαβも全幅探索で何の問題もない。
αβは全幅探索じゃないとかの表現をいちいち区別してたら
初心者レベルでもかえって混乱するだけ。
268 :
名無し名人:2007/05/02(水) 13:57:15 ID:z0f03U/d
>>252 は、全幅探索として minimax 迄なら許せるが αβ 迄は許せないというトラウマの持ち主。
いったい、何が彼をそうさせたのだろうか?
いかなる幼児体験があったのであろうか?
269 :
260:2007/05/02(水) 20:43:33 ID:XaVDtx5p
>>239 手の信頼度つまり点の偏差というのは結構大事なポイントだろうな
minimax では平均点を最大化する解しか捜さないが…
・それぞれの評価は低くて全く違った(攻めと受けとか)
いくつかの手をさせるような手の広い局面であれば
後でその局面になって読みを入れたときには実は平均以上の手が
見つかるかもしれない
・逆に評価が高くても手が狭ければ, 読みを入れたら点ががた落ち
したときに回復のしようがない。実際に渡辺戦の39竜の数手後
いきなり +400 → -400 という変動をしたわけだけれど…
この前者のような手ってのはいわゆる手堅い手だよな
こういうのがさせるようになるとソフトも強くなるな
270 :
名無し名人:2007/05/02(水) 22:20:39 ID:f9kKf7Ky
難解な局面で、ほとんど全ての手が優勢(劣勢)になるけど、ただ一つの正解手を指せば大逆転って時に、
えいやと勝負手を放てるようになったらwktk
271 :
名無し名人:2007/05/02(水) 22:55:55 ID:KxBPQKLs
勝負手っていうのは「ただひとつの正解手」じゃなくて難解な局面において
相手に正しく応手されると却って自分が悪くなるが、相手はごく狭い範囲の
正解を多分見つけられないだろうと見込して放つ手の事だと思うが。
つまり「勝負手」というのは通常「正解手」じゃないんだけど、
君はどういう意味で言ってるの?
272 :
名無し名人:2007/05/02(水) 23:07:36 ID:f9kKf7Ky
ごめん、君がなぜ勝負手を正解手と勘違いしてると思うのか解らん
273 :
名無し名人:2007/05/02(水) 23:15:35 ID:KxBPQKLs
「ただ一つの正解手を指せば大逆転」って所だね。
勝負手を放つような局面では正解だけれども、どれもジリ貧って手はいっぱい
あるだろ?それに対して勝負手ってのはそんなに選択肢が多くないよな、普通。
元々、優勢な方が「ただ一つの正解手」を指すと言う話なら「大逆転」てのが
良く分からん。
274 :
名無し名人:2007/05/02(水) 23:22:30 ID:RAov1Fef
相手がただ一つの正解手を指せなければ大逆転って時にえいやとその勝負手を放てるようになったら
これなら意味は分かる。
275 :
名無し名人:2007/05/02(水) 23:26:05 ID:GngAozjd
>>267 俺は
minmax探索の全探索
minmax探索の厳密解法
minmax探索の近似解法
と分けるのが好き、というか工学ならこう分けるのが普通のような。
まあ、どうでもいいか。
276 :
名無し名人:2007/05/02(水) 23:26:29 ID:KxBPQKLs
あ、そういう意味か。なるほどね、了解!
277 :
名無し名人:2007/05/02(水) 23:29:06 ID:RAov1Fef
いや、俺は270じゃないから。
俺はこうなら分かるってのを書いただけで。
278 :
名無し名人:2007/05/02(水) 23:32:14 ID:KxBPQKLs
いや、まあ俺もそういう意図での発言なら納得できると思って。
別人なのは分かってるけど。
279 :
名無し名人:2007/05/03(木) 08:09:39 ID:HVU+LnEx
>>275 全幅探索と言われたときには全探索のことではなく
ある局面で指せる全可能手を対象にした最善手探索と定義するべき。
全幅探索でも探索しない手があることに触れたいなら、全幅探索でないとは言わずに
αβ探索におけるαカット、βカット、negamaxでのβカットなどで説明するべき
αβが全幅探索でないは、たまにそういうことを言う変わり者がいるという
豆知識程度以外では触れるべきではない。
用語を統一しないと、あれ?αβって全幅探索じゃないんですよね?とか言い出す
馬鹿が現れるので困る。
280 :
名無し名人:2007/05/03(木) 08:33:08 ID:5Nz/n7vu
これが結論。
----
全幅探索 ≠ minimax
全幅探索 ⊃ minmax
全幅探索 ⊃ α-β
281 :
名無し名人:2007/05/03(木) 12:26:24 ID:L4NyOl3n
>>280 全幅探索 ⊃ minimax ⊃ α-β
全幅探索→ゲーム木の探索だけじゃない一般の用語、枝狩り探索の反語
minimax→ゲーム木の探索のこと
α-β→アルゴリズム
282 :
名無し名人:2007/05/03(木) 12:32:22 ID:L4NyOl3n
いずれにしろ用語なんて記号にすぎなくて
そんなの統一しなくてもいくらでも理解とか議論はできるけどな
低レベルの叩きあい
283 :
名無し名人:2007/05/03(木) 12:38:11 ID:vydSzmAC
それを口に出した時点で同レベ(ry
284 :
名無し名人:2007/05/03(木) 12:52:00 ID:5Nz/n7vu
>>281-282 その説明はウソだろ…
あと用語の統一は基本中の基本だろう。考え方がむちゃくちゃ。
285 :
名無し名人:2007/05/03(木) 13:01:55 ID:L4NyOl3n
>>284 数学っていうのは記号じゃなくて概念を扱っているんであって
解釈が曖昧になりそうな記号や用語は定義を与えて使えばいいだけ
用語の使いかたなんて趣味の問題でまったく本質と関係ないよ
286 :
名無し名人:2007/05/03(木) 13:06:12 ID:5Nz/n7vu
衝撃的な発言だ・・・
287 :
名無し名人:2007/05/04(金) 00:02:39 ID:/v4X8oB5
コミュニケーションっていうのは記号じゃなくて概念を扱っているんであって
解釈が曖昧になりそうな記号や用語は定義を与えて使えばいいんだけど
用語の使いかたなんて趣味の問題でまったく本質と関係ないよって思ってると
まったく話が通じないんだよね。
さて、自分の井戸に戻ろう。
288 :
名無し名人:2007/05/04(金) 00:11:24 ID:/v4X8oB5
>全幅探索と言われたときには全探索のことではなく
>ある局面で指せる全可能手を対象にした最善手探索と定義するべき。
いや、俺はそもそも前幅探索という言葉が好きじゃないから
使わない方がいいと思うけどね。
minmax探索の厳密解法
minmax探索の近似解放
の2つがあれば、分野外の人が迷うことは何もない。
まあ、たかが用語の定義の問題だけど。
289 :
名無し名人:2007/05/04(金) 05:11:11 ID:U26PuZGc
人間同士がコミュニケーションする際に記号でやり取りせずにダイレクトに
概念を伝え合うなんて事はできないだろう?どこまで行ったって記号の
やり取りしかできない(記号の意味を説明する方法もまた記号)のだから
用語の定義がお互いにずれているという状況は本質的な困難を生む。
(言葉も文字も数式も数字もグラフも全ては記号)
いわゆる記号論着地問題という奴だな。
それを真剣に考えると人間同士がなぜ曲りなりにもコミュニケーション
できている(ように見える)のか、むしろそっちの方が不思議な話
なんだよな。
290 :
名無し名人:2007/05/04(金) 05:44:45 ID:U26PuZGc
ゴメン、「記号"論"着地問題」じゃなくて「記号着地問題」が正しい表現だった。
291 :
名無し名人:2007/05/04(金) 08:20:11 ID:AKfxCz05
>>288 だから、全幅探索と言われたときには
>>279の定義でいいだろう。
厳密解法か近似解法かは、minimaxとαβの原理を説明するときに使えばいい。
オレは将棋プログラミングで、厳密解法と近似解法の区別が必要なケースはほとんどないと思うが。
292 :
名無し名人:2007/05/04(金) 08:25:29 ID:AKfxCz05
あ、
>>291は勘違いしていた、すまん。
しかし全幅探索と言われたときは、αβも含めるで統一して問題ないと思う。
293 :
名無し名人:2007/05/04(金) 10:42:48 ID:K8071sji
>>288 「好きじゃない」って要は自分でも趣味の問題だって認めてるだろ
294 :
名無し名人:2007/05/04(金) 10:48:34 ID:K8071sji
まあ解釈がわかれる用語は使わない方がいいっていうのはその通り
295 :
名無し名人:2007/05/04(金) 13:11:39 ID:N9dZwgMG
全幅探索がどうこう言ってる奴は相手にするなよ
しかもそいつはそれ以上の話は一切できないんだから
296 :
名無し名人:2007/05/04(金) 14:15:34 ID:F8T7BTlP
相手にするなと言うなら、オレはこれからもαβを全幅探索と呼び続ける。
だいたい数々の論文でもそう書かれていて、既に定着している用語を
>>252のような考えで変更するのは問題がある。
もちろん
>>252の考えで、厳密解法、近似解法を使うのは構わない。
しかしそれはほとんど初心者に説明するレベルでしか使われないのであって
例えば全幅探索でこれだけの深さを読みましたと言うところを、厳密解法で
とか言い直していたらかえって伝わらない。
297 :
名無し名人:2007/05/04(金) 14:21:56 ID:N9dZwgMG
298 :
名無し名人:2007/05/04(金) 19:57:58 ID:U26PuZGc
>294
解釈が分かれる用語は「私はこれから、この場でこういう意味で使う」と
前置きをしてから使えば(あるいは後で注釈を付ける)何の問題も無いと
思うんだが。
そういう意味で用語の問題は本質的でないと言うのはその通りだと思うが
現実にはどの用語が人により、あるいは分野により解釈が分かれるのか
事前にはなかなか分からない上に皆、それぞれ(自分の専門分野では)
「普通の解釈はこうだ」と言うこだわりがあってなかなか捨てられない
から話が面倒くさくなる。
まあともかく用語の定義の話じゃなく内容を議論して欲しいとは思うよ。
だが、多分必要不可欠なコストなんだろう(用語の定義で議論が起こるのは)。
299 :
名無し名人:2007/05/04(金) 22:40:38 ID:37ErOh5B
ええっと、
>>279の補足になると思うが、指し手決定には、
(1)検索する木を作る。
(2)作った木を辿る。
の作業が必要。
で、「全幅検索」とは、(1)を合法手すべてに対して行うこと。
(2)ですべての枝葉を辿ることではない。
よって、ここで、(2)の手法であるminimaxとかαβとかの話は、ナンセンス。
なんか、ここら辺がごっちゃになっていると思われ。
>>296の
>オレはこれからもαβを全幅探索と呼び続ける。
は、(1)をすべての合法手に対し行っていなければ、間違い、というか、関係ない話。
で、どう?
300 :
名無し名人:2007/05/04(金) 23:04:11 ID:1/L7nsgv
>>299 > 「全幅検索」とは、(1)を合法手すべてに対して行うこと。
これ一般的な見解?
301 :
299:2007/05/04(金) 23:18:01 ID:37ErOh5B
>これ一般的な見解?
と、私は思っている。
という答えでいい?
どこか引っかかる?
要は「読み抜けがない」ってことでしょ?
「すべて」でなければ、枝狩りしたことになる。
けど、「自明で安全な枝狩り」は、「全幅」に含めるかもしれないし。
「合法手すべて」の定義は?
という質問?
302 :
名無し名人:2007/05/05(土) 00:58:27 ID:83VjepUH
ところで
1秒何万手って読むらしいけれども、
同じCPU・違うプログラムでこの何万手に差は当然出るの?
出るとしたら何の差?
手数が少なくてもリカバー可能?
303 :
名無し名人:2007/05/05(土) 08:01:22 ID:Vlf6CFva
>>301 木を作ることを指して「探索」というのが理解できなかった。
合法手を生成するだけなら探索してねーじゃんと思った。それで一般的?と聞いてみた。
>>302 設計やコードの組み方次第で無茶苦茶に差が出る。自分の経験上。
将棋のプログラムは組んだことないけど。
リカバー可能かどうかは将棋の将棋のプログラムを組んでいる人よろしく。
304 :
名無し名人:2007/05/05(土) 08:20:12 ID:Vlf6CFva
> 「全幅検索」とは、(1)を合法手すべてに対して行うこと。
そうそう、これを見ていて気になったのがもう一つあった。
「全幅検索」は全ての合法手の木を作るのが必須なんだとすると、メモリをバカ食いするなぁと思ったよ。
「αβでカットするのって局面の評価だけなのか。
それじゃCPUは節約できてもメモリは節約できんな。ヘンなの」と思った。
オレあんまり分かってないんで、的外れかも。すみません。
305 :
名無し名人:2007/05/05(土) 08:36:21 ID:LGeRFfPv
>>300 それが一般的だが、そうじゃない定義をする人もたまにいる。
そんなの無視すりゃいい話なんだが、
>>252がそんな瑣末な問題に
こだわってしまったのがそもそもの間違い。
>>302 手の生成速度、探索速度、評価関数の速度などで大きく差が出る。
1秒間で1万手読めるプログラムと、千手しか読めないプラグラムが
あるとしても、千手以内に最善手が発見できれば1万手読めるプログラム
と同等の強さになれるので、速いから必ずしも強いとは限らない。
>>304 普通のプログラムでは、探索した木は探索が終われば破棄され
次の木を探索するので、たいしたメモリは喰わない。
306 :
名無し名人:2007/05/05(土) 10:04:43 ID:fr642zdd
>>303 >木を作ることを指して「探索」というのが理解できなかった。
そういうことか。
実際は、
(3)局面に点数をつける。
というのがあって、(1)(2)(3)は、実装者にもよるだろうが、多分、同じタイミングで
実行されることになるので、これらにはっきりした境界をつけるのが難しい。
私も「全幅検索」と書くか、単に「全幅」と書くか、悩んだよ。
>「全幅検索」は全ての合法手の木を作るのが必須なんだとすると、メモリをバカ食いするなぁと思ったよ。
実際は、「作っておく」わけではなく、「作りながら」になることが多いので、(2)を、深さ優先でやるか
幅優先でやるかによっても違うけど、そんなにバカ食いにはならないと思う。
で、深さ優先と幅優先とαβのいい所取りが、反復深化法になるのかな。
>>302 >出るとしたら何の差?
>手数が少なくてもリカバー可能?
実装テクニックもあるけど、(1)(2)(3)のどこで頑張るか、でしょう。
(3)で頑張れば、(2)が犠牲になる。
実際問題として、コンピュータはプロに勝てていないし、プロが1秒何万手も
読んでるとは思えないし、そう考えれば、手数の問題ではないと思う。
私も、手数の少ない方向の方針で、来年は、大会出場しようかなと思っている。
とかいう人が時期的に増えそう。
307 :
名無し名人:2007/05/06(日) 12:28:26 ID:0N7f5GyB
将棋の総局面数は10^200 ぐらいのようなので、
仮に一秒間に1億局面読めるPCを一年間フル稼働しても
1億 * 60 * 60 * 24 * 365 = 3.1536 × 10^15 局面しか読めない。
よってコンピューターが全幅検索のみで将棋を解くことは不可能。
かりに10億局面/secよめても10^16になるのみ・・・
で、いいよね。コンピューター将棋素人ですが。
308 :
名無し名人:2007/05/06(日) 13:05:32 ID:M73pFec8
いや間違ってる
手段によらず将棋を解くことは不可能
309 :
名無し名人:2007/05/06(日) 13:16:34 ID:0N7f5GyB
つ二人零和有限確定完全情報ゲーム
310 :
名無し名人:2007/05/06(日) 13:19:00 ID:wyzk1nWX
速度以前にそれだけの局面の情報を格納しておける記憶媒体がないわけで
311 :
名無し名人:2007/05/06(日) 13:32:41 ID:M73pFec8
メモリはそんないらないだろ
速さが足りてるなら
読みきろうとして葉に達するまで、1億手もあれば十分なんじゃないか?
312 :
名無し名人:2007/05/06(日) 13:59:16 ID:0N7f5GyB
チェスのディープブルーが1億手/sec らしいので、全然足りないのだと思う。
(人間に勝つという目的では足りているといえるかもしれないが)
1億手/sec になれば、今より強くなるとは思うが、何手先まで深く読めるようになるのだろう。。
313 :
名無し名人:2007/05/06(日) 14:00:27 ID:EFV/XCN6
あー「宇宙に存在する全原子の数より多い局面」なんで。
現在の技術の延長では何をどうやっても読みきり不可能。
量子コンピュータみたいのの更に凄い奴が考案されて、
二人零和有限確定完全情報ゲームならなんでも一瞬で
解けるとかそういうSFみたいな展開にならないとあかんだろう
314 :
名無し名人:2007/05/06(日) 14:02:13 ID:0N7f5GyB
と、なるとやはりマシーンパワーをどうこうよりも、
評価関数・アルゴリズムをいじるほうに重さがあるということで、
それはプログラマーにとっては面白いのかな?
315 :
名無し名人:2007/05/06(日) 14:06:52 ID:M73pFec8
>>311の1億手ってのは1秒に何手読めるかではなく
初手から1億手以内にゲームが終わるだろうって意味
深さ優先で効率を考慮しないで探索するなら
必要な記憶域は読み進める手の深さの分だけ
だからいかに分岐が多くても速さの問題を克服できるなら
メモリは問題にならないだろうって話
316 :
名無し名人:2007/05/06(日) 16:49:04 ID:94kyq0SF
全幅探索の性能を上げるためには、底を如何にして小さくするかってところがポイントになると
思っているんだが(合ってる?)、理論的にはどこまで小さく出来る可能性があるのかな?
ホキさんのスライドによると、
Minimax法+beta cut+null move pruning や hasu cut+Futility pruning = 1/4 * (2.23)^n
とある。
これ、もっと頑張ると2^nオーダーを切ることも可能?
1.5^nオーダーぐらいで探索できるようになったら、かなり面白いと面白いと思っているんだけれども。
ぜんぜん分かっていなくてすみません。
317 :
名無し名人:2007/05/06(日) 16:51:44 ID:94kyq0SF
面白いが二つあるな…誤記失礼。
318 :
名無し名人:2007/05/06(日) 17:20:20 ID:U1Yr6I9j
>316
>これ、もっと頑張ると2^nオーダーを切ることも可能?
上位ソフトは実質的に合法手2ぐらいの探索になってるんじゃないかと思います.
風のうわさで激指でも換算してみるとそのぐらいだと聞いたので.
319 :
名無し名人:2007/05/06(日) 17:32:21 ID:U1Yr6I9j
全幅の話をぶり返します.すみません.
葉局面で評価する直前に静止探索をやる方がほとんどだと思いますが(ボナンザもそうだったと思いますが)静止探索をやると全幅探索とは言えなくなると思うのです.
そのへんはどうなんでしょう.
320 :
名無し名人:2007/05/06(日) 19:46:48 ID:OniuC2e4
YSSのエキシビション見て思った
アルゴリズムより定跡いれるほうが先だと・・・
321 :
名無し名人:2007/05/06(日) 20:31:16 ID:wyzk1nWX
>>315 読み進める手の深さってのが、最後まで読み切るなら天文学的数になるんじゃない
1局面に平均40手あったとすると、40^手数
1億なんてたった5手で越えちゃう
322 :
名無し名人:2007/05/06(日) 20:49:11 ID:EFV/XCN6
>316
底が2.23から1.5に減ると探索量は約2/3桁に減るな。
15手先まで読むとして2.23^15=16万。1.5^n=16万の時、nは29手先になる見込みか。
わりと激指の二十数手先まで読めるってのに符合するかも。
323 :
名無し名人:2007/05/06(日) 20:50:36 ID:QGJgAVf1
>>321 そうじゃなくて直線的に読み進めて終局までにかかる手数のこと
誰かプログラムが分かって説明がうまい人お願い
324 :
名無し名人:2007/05/06(日) 20:59:38 ID:HfuylNqI
>>322 > 底が2.23から1.5に減ると探索量は約2/3桁に減るな。
将棋の棋力の低い奴はよく勘違いしてるんだけど、
底は読みが深くなるとどんどん小さな値になるんだよ。
「15手先で悪くなるから、その手を選択することはあり得ない」だとか。
俺の予想では30手先まで読むなら、底は2を切るぐらいにはなると思うよ。
325 :
名無し名人:2007/05/06(日) 20:59:40 ID:4ReDcr40
全幅探索でも実際にはすべての手は読んでいない。
すべての手は読んでいないのに、すべての手を読むアルゴリズムと
同等の解が得られる点がαβ探索のマジック。
探索ゲーム木全体がいくら巨大だろうと、実際にメモリを喰うのは
現在探索中の枝だけ。
将棋プログラムでメモリを喰うのは、探索した局面の最善手や評価値
などを記憶しておく、ハッシュ表とか局面表とか呼ばれる部分。
ハッシュ表は事前に大きさを決めておくので、ゲーム木が巨大だから
メモリを喰うという訳でもない。
>>319 意味がいまいちわからないが、普通全幅探索といったら静止探索の
アルゴリズムとは無関係。
葉局面で静止探索するのは、実際に駒の取り合いをしてみて、評価関数の
精度を上げるため。
探索の途中で静止探索をやるのは、静止探索の結果で良さそうな順に
手を並び替えるため。
最善手が先に見つかれば、残りの手は読まない。
326 :
名無し名人:2007/05/06(日) 21:01:14 ID:QGJgAVf1
木の最大深さって言ったほうが分かりやすいかな
>>310で読み切るには局面の情報を格納しておく記憶媒体が必要だと書かれたけど
それは必要ないってことを書いたわけ
でも実際は読み切れないわけだけど
327 :
名無し名人:2007/05/06(日) 21:17:31 ID:94kyq0SF
>>324 > 俺の予想では30手先まで読むなら、底は2を切るぐらいにはなると思うよ。
それをどういう枝刈り手法で実現するの?
328 :
名無し名人:2007/05/06(日) 21:22:36 ID:EFV/XCN6
>324
いや、いいたいことは解るつもりだ。
局面の数が多くなると、より駄目な局面がガンガン増える(枝狩りの効率があがる)
でおけだろ?結局同じ事を言ってる希ガスなのだが
329 :
名無し名人:2007/05/06(日) 21:38:24 ID:HD837yIp
>315
毎回、一手指す毎に深さ優先探索して最善手を求めるわけか。
で、当然ゲーム木の末端(葉)の評価値は
”勝ち””負け””引き分け(千日手)”の三通りのみで
それに対してMinMax法(αβカット)を適用すると。
そうすれば確かに途中で覚えておくべき局面数は多分1000局面も
無いだろうが、(計算量的に)スゲー贅沢な方法だなw。
一手指すごとに候補手が平均9手あるとして(合法手80手の平方根)
一局に掛かる手数が平均120手なら9^120。計算するの面倒くさいから
10^120探索が必要と仮定するなら最後まで読み切りながら指すためには
これを一手指す毎に毎回繰り返すと。スゲーw!
330 :
名無し名人:2007/05/06(日) 21:43:54 ID:wyzk1nWX
なるほど
つまり相手が最善手以外の手を指したら読み直しってことでOK?
>>307が完全解明の話だったから、そういうの含めて解く話だと想定してたよ。
331 :
名無し名人:2007/05/06(日) 21:47:12 ID:QGJgAVf1
よく意味が分からないけど、普通に将棋で探索と言ったら深さ優先探索なんだけど
幅優先探索は読み進めるのにメモリが必要だから
その対比であえて深さ優先って書いただけで
minmaxとかアルファベータももちろん深さ優先探索
332 :
名無し名人:2007/05/06(日) 21:50:02 ID:HD837yIp
>330
以前に探索した局面(ゲーム木)とその評価値を覚えて置かないで済む
ためにはそうするしかないよな。
で、覚えておこうとするにはこの宇宙にあるどんな記憶装置を使っても
容量が足りないと言う制約があると。
まあ、実際には読み直しを減らす工夫はいろいろ有りそうだが、
(今のところ)どうやってもまず計算速度が足らないw。
333 :
名無し名人:2007/05/06(日) 22:08:23 ID:HD837yIp
>331
そうだね。深さ優先探索するのと以前に探索した結果を一々覚えていない
(基本的に毎回読み直す、ハッシュ表に格納しておくとかの特別の工夫は
別にして)と言う方式は現在の将棋ソフトのやり方そのままだよね。
ゲーム木の末端まで読むかどうかと言う規模(徹底度)の違いだけだ。
334 :
319:2007/05/06(日) 22:40:58 ID:U1Yr6I9j
>325
「普通全幅探索といったら静止探索とは無関係」というのは認識しているんですけども,
なぜ無関係と言われるのかが今ひとつ腑に落ちなくて・・・
そもそも評価関数を信頼できないから探索をやるわけで,
それはroot局面だろうが葉局面だろうが変わらないと思うのですけれど,
駒の取り合い探索は評価関数の一部だから全幅探索か選択的探索かには
関係ないと言われるのはごまかされているような気がするのです.
オーダリングのときに静止探索をやるのは特に気にしてません.
(ボナンザはやってましたっけ?)
335 :
名無し名人:2007/05/06(日) 22:54:49 ID:EFV/XCN6
>334
「終盤に近いほど評価関数の精度が良い」のであれば、探索の深さは性能に直結するね。
この仮定が受け入れられるかどうかという問題じゃないか
336 :
名無し名人:2007/05/06(日) 23:12:20 ID:LVYwjO5C
終盤になったら、一手指すごとに、全幅探索とは別に、他のパソコンで
詰め将棋ルーチンと「詰めろ探索専用」ルーチンを使えば
少なくとも今よりは強くなるんじゃないでしょうか?
337 :
名無し名人:2007/05/06(日) 23:18:06 ID:EFV/XCN6
338 :
名無し名人:2007/05/06(日) 23:18:36 ID:qGPYnlOY
>>334 静止探索の性質について。
例えば、飛車の取り合いを行っている途中、
葉局面が相手の飛車を取り自分の飛車が当たりになっている(次に取られてしまう)場合、
その局面を単純に評価しようとすると、こっちは飛車の丸得だと評価してしまいます。
このように、葉局面は重大な取り合いの途中であった場合、正しい局面判定が出来ません。
そこで、評価を正しく行うための補助として、静止探索(取り合い探索)を行うことで
評価する局面を安定させることができます。
ここでポイントなのは、静止探索は「探索」と言っておきながら、その役割は
「局面を安定させる」というために行われる点です。
ここまでおっけ??
339 :
名無し名人:2007/05/07(月) 00:00:12 ID:zVKdrv1g
>335
言葉が足りなかったかもしれません.
rootでみた評価関数の値と10手先読みしたときの評価値ならば
後者のほうが信頼できそうだと言いたかったのです
>338
とりあえずOKです
340 :
名無し名人:2007/05/07(月) 00:00:59 ID:tGENzWte
>337 Thanks!
なんか、いきなり宣伝に使われてるようだがw。
341 :
名無し名人:2007/05/07(月) 00:08:20 ID:IrRKGyxu
正直
>>339が何を言いたいのか分からなくなってきた
結局何が聞きたかったの??
342 :
名無し名人:2007/05/07(月) 00:11:21 ID:zVKdrv1g
>341
静止探索を使うのに全幅っていうのはおかしくないですか?
と.
343 :
名無し名人:2007/05/07(月) 00:18:40 ID:tGENzWte
>342
駒を取る手(or 取られる手)のみ評価するから"全幅"とは言えないんじゃ
ないかと言う事ね。でも「局面の評価値を安定させる」ためにのみ行われる
本当の探索ではない「探索」だと言う事には納得したんでしょ?
344 :
名無し名人:2007/05/07(月) 00:43:31 ID:zVKdrv1g
>343
本当の探索と局面を安定させるための探索の違いはプログラマが区別しているだけのものだと思うのです.
全幅探索+静止探索の組み合わせは,
一定の深さまで全幅+そこから選択的に探索(適宜探索延長)
と同じ挙動になるのではないかと.
もし一定の深さ=1だとしたらそんなプログラムは全幅とは呼べませんよね?
345 :
名無し名人:2007/05/07(月) 01:15:45 ID:tGENzWte
>344
でも一定深さまで読んだゲーム木の末端(葉)を正確に評価するために
静止探索を入れたからと言って全くの"選択的探索”とも言えない。
途中局面を評価し、前向き枝狩りしてそこからさらに狭く深く
読もうとしてるわけじゃないので。
>一定の深さまで全幅+そこから選択的に探索(適宜探索延長)
>と同じ挙動になるのではないかと.
確かにその通りだと思うが、なら後はそれをどう呼ぶかと言う問題だよね。
結局はプログラマの意思(実は何をやりたかったのか)を名前に付けるのが
ふさわしいと言う事になるのでは?
346 :
名無し名人:2007/05/07(月) 01:43:55 ID:IrRKGyxu
>>344 確かに厳密にいったらそうですね
「全幅探索型」の探索であって、
「完全全幅探索」ではありません
そういえば王手延長もしてるはずだし
まぁでも、全幅探索か選択的探索かといわれると、
間違いなく「全幅探索」だと思います
347 :
名無し名人:2007/05/07(月) 01:47:19 ID:1QVnTPE2
>>344 ×探索:全幅探索+静止探索 / 評価:評価関数
○探索:全幅探索 / 評価:静止探索+評価関数
駒の取り合いなどが起こりうる局面の場合、評価値の変動が大きい。
その変動を評価関数内で取り除くルーチンを作って処理してもいいが、
取る手や成る手など変動が大きいとわかっている手に絞って
探索(局面展開)する形をとることで、同等の処理に置き換えている。
つまり、既探索ルーチンが利用できるということ。
また、評価値の変動が大きそうな手が他にも考えられる場合、
専用ルーチンを作らなくても、そういった指し手を
静止探索の候補に追加するだけでいい。
348 :
名無し名人:2007/05/07(月) 01:50:37 ID:zVKdrv1g
>結局はプログラマの意思(実は何をやりたかったのか)を名前に付けるのが
>ふさわしいと言う事になるのでは?
妙に納得しました.
確かにそうかもしれません.
349 :
名無し名人:2007/05/07(月) 22:43:58 ID:z3MG+bWX
Bonanza製作者の保木さんが参考にしたチェスの論文のタイトルと雑誌名をお教え願います。
350 :
名無し名人:2007/05/07(月) 22:49:57 ID:CxizLtNS
私の考えた方法でボナンザが強くなるか質問です。
ボナンザは大量の棋譜を解析して評価関数の
精度を上げていると思うのですが、
この棋譜の量及び質が上がれば評価関数も上がるとすると、
PFLOPS級のスーパーコンピューター上で
質の高いそして大量の棋譜を作れば
良いのではないかと思うのですがこれは間違い?
351 :
名無し名人:2007/05/07(月) 23:07:02 ID:Ga2ncEju
どうやって質の高い棋譜をつくるの?
352 :
名無し名人:2007/05/07(月) 23:09:53 ID:kEu8i3MX
353 :
名無し名人:2007/05/07(月) 23:33:48 ID:uVhZW8hL
終盤になったら、一手指すごとに、全幅探索とは別に、他のパソコンで
詰め将棋ルーチンと「詰めろ探索専用」ルーチンを使えば
少なくとも今よりは強くなるんじゃないでしょうか?
354 :
名無し名人:2007/05/07(月) 23:34:10 ID:CxizLtNS
PFLOPS級のスーパーコンピューターでボナンザを起動すると、
通常のPC上で起動した場合よりも深く手を検索(少なくとも5手以上深く)でき、
強くなるので、PFLOPS級のスーパーコンピューター下で
ボナンザ同士で対戦すれば質の高い棋譜ができると思うのですが・・・。
355 :
名無し名人:2007/05/07(月) 23:44:13 ID:CxizLtNS
>>353 なるほど、ハイブリッドにするわけですね?
そうすれば殆どの人はボナンザに勝てなくなるかも
しれませんね。
人類が勝てなくなるには必勝法が解析可能になるまで待たなければ
なりませんが・・・。2040年頃のトップクラスのスーパーコンピューター
ならば必勝法解析に一年もかからないかもしれません。
356 :
名無し名人:2007/05/07(月) 23:58:44 ID:CUlLdI2a
>>354 エキジビションの加藤-YSSご覧になりましたか?
例えば、後手が7五で歩交換した後の、▲7六歩 なんて手は
プロ棋士なら絶対に指さない手ですが、全幅探索で5手程度深く
読めるようになったからといって、これが疑問手だという事が
果たして分るようになると思いますか?
357 :
名無し名人:2007/05/08(火) 00:44:08 ID:YDHynpS6
>>356 すみません…私は将棋の事は殆ど分からないレベルですが、
『5手程度深く読んでもプロには勝てない』と言う事は分かりました。
しかし、『5手程度深く 読めるようになったからといって』
ともおっしゃっておられるので、CPUを10万台以上程度搭載している、
PFLOPS級のスーパーコンピューターならば20〜30手深く読み、
力尽くで質の高い棋譜を量産可能かもしれません…。
汎用京速計算機を使えば日本国内で可能かもしれません。
358 :
名無し名人:2007/05/08(火) 01:06:31 ID:jc5FEvjG
PFLOPS級のスーパーコンピュータ上で将棋ソフトを走らせても速くはなりません。
何故なのかを理解するにはスーパーコンピュータが一体どんな物で
普通のPCとどこが違うのか知る必要がありますが。
また必勝法を解析で知るのは今日の原理を使用したコンピュータでは事実上不可能です。
359 :
名無し名人:2007/05/08(火) 01:16:09 ID:SMtLVa11
>357
終盤の詰むや詰まざるやといった局面、中盤で駒を激しく取り合う戦もたけなわな状況、
では数手の差で勝ちが見えることもある。だからこそ、今のコンピュータ将棋は終盤が
強くなってきた。
コンピュータは序盤が徹底的に弱いんだ。素人には優劣の判断がつかないような微妙な局面
で数十手先を見据えた一手をどう処理するかさっぱり解らない。
360 :
名無し名人:2007/05/08(火) 01:38:04 ID:YDHynpS6
>>358 PFLOPS級のスーパーコンピューターであっても
一つのCPUに一つの棋譜を数ヶ月かけて考えさせれば
CPUの数の分だけ質の高い棋譜が大量に数ヶ月間で
生産できると思っていたのですが、
そうでは無いのですか?
>>359 その序盤の強さは定石の質と量で
決まると思いますが、
人が定石をつくるように、
その過程を機械上で再現し、
機械的に定石を量産する事は不可能でしょうか?
質問ばかりですみません。
361 :
名無し名人:2007/05/08(火) 01:56:27 ID:YDHynpS6
追記
>>359 大局観を機械に理解させるのが難しいように、
優劣の判断がつかないような微妙な局面
で数十手先を見据えた一手は機械には難しいかもしれません。
それでも、プロの思考方法を科学的に解析し、
大局観の定義を浮き彫りにして行く作業は必要だと思います。
膨大な費用と大人数のプロ棋士の全面的な協力が必要だと思います。
362 :
名無し名人:2007/05/08(火) 08:02:29 ID:OKZfDaq5
>360
自己学習、自己複製的なアルゴリズムは、アイディアとしてはそんなに珍しいものではないですが、
将棋のような複雑なゲームで実現させようというのは、現在のところ思考実験の域を出ないように思います。
まして、定跡(将棋の場合はこちらの字を使ったほうが違和感がありません)を創造するというのは
とんでもなく高いハードルです。
一度、定跡データベースを外して将棋ソフトを走らせてみてください。滅茶苦茶しますよ(笑)
序盤に関しては、将棋だろうとチェスだろうと、人間の過去の研究と経験則に
全面的に依存しているのが現実です。今の時代に現実世界に存在する最高のコンピュータ「程度」の
能力では、定跡の創造などというのは夢物語ではないでしょうか。
早い話、コンピュータだけで作る棋譜の質など(ソフト開発に利用するには)たかが知れていますし、
現実に用意できる量も、将棋の複雑さに比べたらたいしたことは無いということです。
>361
膨大な費用と大人数のプロ棋士の協力、勿論それがあるに越したことは無いのですが(苦笑
でも、現在のソフト開発者は、それ「なし」にここまで将棋ソフトを強くしましたし、
将来に関してもある程度自信を持っているようにも見受けられます。
363 :
名無し名人:2007/05/08(火) 10:28:30 ID:l6VqbY7Z
現時点ではコンピューターvs人間 というよりかは
プログラマーvs棋士 の知恵比べ。って感じかな。
だからこそアルゴリズムに重要性があり、おもしろい。
単純にコンピューターの総当り思考で人間に勝つのは、ほぼ不可能。
これは、将棋の総局面数が指数関数的に増えるのに対し、いくらマシンパワーが向上しても
比例関数的な伸びしかない。。から。でok?
364 :
名無し名人:2007/05/08(火) 10:34:51 ID:d8uMM9Ho
プロ棋士棋譜使って評価関数鍛えてるのに
自分の評価関数で自分を鍛えるのは不毛ではないか
5手余分に読めるコンピュータ使えるのなら、それで対戦すれば良いではないか?
365 :
名無し名人:2007/05/08(火) 12:18:08 ID:bpb6zD2Y
あと10年でプロに追いつく?
笑わせるぜ!
366 :
名無し名人:2007/05/08(火) 20:26:52 ID:SMtLVa11
>362
たぶん、「プログラミングの能力を必要としない」評価関数のチューニングが可能になると随分変わってくると思う。
局面の良し悪しを判定するだけで、あとは細かい調整を自動でやってくれるような仕組みにすれば、序盤定跡の
進歩に対して追随していくだけで相当なものになるのじゃないかと。
それは兎も角、一切定跡を入れてないCOMが二枚落ちで4筋の位を取れるようになったらプロに楽勝しそうな希ガス
>363
マシンパワーというか、半導体の集積度は指数関数的に上がっているが
367 :
名無し名人:2007/05/08(火) 20:51:22 ID:0oaNNmmT
プログラム一定で、コンピュータを競い合う大会も、たまにはあってもいいと思う。
会場に持込むのは難しいかもしれないが、ネットなら比較的簡単だと思う。
NASAや、大学、研究所などの参戦があればおもしろいと思う。
368 :
名無し名人:2007/05/08(火) 23:09:59 ID:BrqrPR9k
将棋で評価関数の自動学習が難しいのは単なる組み合わせの数の多さよりも、
終盤になっても駒数が減らず局面の組み合わせが収束しないというのが最大の原因。
チェスでもオセロでも終盤になるにしたがって収束するので終盤付近では力技の読みだけでも
人間よりはるかに正確に手の良し悪しを判定出来る。
なのでそれを利用して終盤の正確な評価関数を自動学習出来る。
するとそれを利用してそこから少し手前の評価関数を学習し、さらに手前・・・と繰り返す事
で中盤〜序盤の評価関数を終盤から逆に辿って調整出来る。
これによって人間を超える強さを実現した。
しかし将棋では終盤でも局面が収束しないので、序盤〜中盤の評価関数をまともに
自動学習させる方法が全く存在しない。
ボナンザはそこで発想を切り替えて、人間(プロ棋士)と出来るだけ同じ手を指すこと
を目標として自動学習させているわけ。
369 :
名無し名人:2007/05/08(火) 23:16:37 ID:zW0KCOTS
碁は収束するのに大変ですね
370 :
名無し名人:2007/05/08(火) 23:26:19 ID:BrqrPR9k
>>369 碁はチェスや将棋とは全く違うアプローチが取られているよ。
チェスや将棋のような探索型のプログラムがそもそも全く通用しないので。
単純に数が多いとかそういう違いではなく、根本的に異なるゲームですよ。
371 :
名無し名人:2007/05/08(火) 23:48:21 ID:YDHynpS6
>>362 たしかに、膨大な予算を組み、超一流の人材を大量に投入して、
その目的を達成しても、『当たり前じゃん』程度の感動しか
得られないかもしれません。
もっとも、今現在はその『当たり前』な事も出来ませんが・・・。
もし、『当たり前』に出来るようにするためには、
2007年時点で最高のコンピューター(PFLOPS級)ではとても非力で、
PFLOPS級のさらに数億倍〜数兆倍のスーパーコンピューターが
必要かもしれませんね。
1990年 NEC SX-3/44R 23GFLOPS
1997年 Intel ASCI Red/9152 1TFLOPS
2002年 NEC 地球シミュレータ 35TFLOPS
2005年 IBM Blue Gene/L 280TFLOPS
2010年 汎用京速計算機 10PFLOPS(予定)
↑のように、スーパーコンピューターの性能は
10年で100倍以上のペースで性能が向上しているので、
あと40年程度待てば出来るかもしれません。
372 :
名無し名人:2007/05/09(水) 00:00:06 ID:YDHynpS6
>>963 私の考えている方法は
cpu開発者+プログラマー+棋士vs棋士
かもしれません。
総当り思考で人間に勝つマシンの登場は
後40年以上待たなければならないと思いました。
>>964 コンピューターで大量生産した場合の棋譜の質を高めるのは相当
のマシンスペック(現在の数億倍以上)が必要だと思いました。
直接PFLOPS級のスーパーコンピューターがプロ棋士と対戦すれば、
現在でも勝つ可能性はあるかもしれません。
373 :
名無し名人:2007/05/09(水) 00:08:13 ID:+uuKyFVH
今の所の私の考えは、繰り返しになりますが、
PFLOPS級のスーパーコンピューター上では
私の考えたボナンザ強化方法はスペック不足で、
さらに数億倍〜数兆倍のスーパーコンピューターの登場を
待たなければならないと言う所です。
登場まで40年以上待つ忍耐力が必要ですが・・・。
この考えは間違いでしょうか?
374 :
名無し名人:2007/05/09(水) 00:45:12 ID:7H10ERWQ
将棋専用Linuxディストリってあってもいいと思う
ボナ 柿木win 24対戦 がはじめから入っていて
将棋DBの全てをコントロールする
名前は えーと Chesix とか
375 :
名無し名人:2007/05/09(水) 00:46:00 ID:L1dj+/LS
自分が指した棋譜に指し手を近づけるように評価関数をチューニングする意味が
どれぐらいあるのか素朴に疑問。どうなんでしょうね、この辺?
ところで浮動小数点演算にこだわるのは何故か。
376 :
名無し名人:2007/05/09(水) 00:56:36 ID:k6BoHvyx
Linuxのwineでボナ動かしてるけどbook.binの
定跡読んでくれなくて、いきなり思考始めてしまうね
377 :
名無し名人:2007/05/09(水) 01:11:52 ID:2GsbRPMc
>375
自家中毒
378 :
名無し名人:2007/05/09(水) 02:53:47 ID:+uuKyFVH
>>375 通常のPC上でプログラムが作る棋譜より、さらに深く手が読める状態で
指した時に出来る棋譜の方が質が高く、さらにその棋譜が
プロ棋士並みならばその棋譜を解析し、評価関数の精度を高め、
結果として強い将棋ソフトになるのではないか?
と思い、ここで質問をさして頂いております。
もっとも、『さらに深く手が読めるようになった』だけで
プロ棋士並みの棋譜を作れるようにするためには
今のスーパーコンピューターの数億〜数兆倍の演算能力が必要と思いますが・・・。
浮動小数点演算表記を使っていた理由は、世界一速いスーパーコンピューターは
将棋を演算する上でも良い影響を及ぼすと勝手に思っていたからです。
先ほど検索してみたところ、
http://www32.ocn.ne.jp/~yss/bench.htmlにて 『囲碁や将棋のプログラムは基本的に整数演算しか行いません。
そこで、より速く動かすためには、整数演算能力の高いCPUを選びましょう。
浮動小数点演算能力が高くても効果はないです。』
と書いてあり、今後は整数演算能力を重視したいと思います。
ディープ・ブルーもチェス専用VLSIプロセッサを512個追加して作られたのですから、
予算があれば、将棋に適したCPUを新たに作り、それを使って
将棋ソフト専用スーパーコンピューターを作れば良いと思います。
度々の長文すみません。
379 :
名無し名人:2007/05/09(水) 03:21:18 ID:GKYsLQf5
マシンが早くなった時の差し手は、要は思考時間を増やした時の差し手と
変わらない。
探索速度は並列度の平方根に比例するとのYSSの作者さんの談を元に計算
すると現在最高レベルのスパコンでも探索速度はPCの70倍程。
では仮に1手70分の時間を与えた時に、プロが1手60秒で指す手に迫れるか?
と言うと、これは簡単に実験出来る訳で・・・
まあ程遠いと。
380 :
名無し名人:2007/05/09(水) 04:00:28 ID:+uuKyFVH
>>379 確かに思考時間を増やした時の指し手と
変わりませんが、一つのCPUに一つの棋譜を
200日かけて作らせれば、例えば100手の棋譜なら、
一手48時間かけて読めます。
10万個のCPUがあれば200日後には一手2880分思考時間をかけた
棋譜が10万個出来ると思うのですが・・・。
最も、この一手2880分でも不十分で、
2040年まで待ち、現在のスーパーコンピューターより
数億〜数兆倍速いスーパーコンピューターの登場によって、
少なくとも、現在のPCが一手を190年かけて思考時間を増やした時の差し手と
同じ結果が出来た時には、プロ棋士並みの棋譜が作れるのではないかと
思っています。
それでは寝ますのでまた明日。
381 :
名無し名人:2007/05/09(水) 04:46:58 ID:4pBRyTxO
俺の経験上、
レーティング2000同士の対局棋譜から学習させるのと
レーティング3000同士の対局棋譜から学習させるのとで
学習結果にそんな大差があるとは思えないのだが。
どちらかと言えば、最初に手作業で選出した特徴要素が何であるかというのと
どれくらいの深さまで読むのか、探索手法は何かというのでほぼ決まるんだが。
どうしてID:+uuKyFVHみたいに自分でコードすら書かずに
適当なことばかり言うのか信じられない。
382 :
名無し名人:2007/05/09(水) 07:25:51 ID:AukorUn8
そもそもボナは、評価関数を学習するために人間の棋譜使ってるわけで。
ボナ自身で作った棋譜に、それ以上の精度を持った評価関数を獲得できるとは思えませんが。
むしろボナに実装されてない評価要素の追加や吟味が必要だと思います。
383 :
名無し名人:2007/05/09(水) 07:40:17 ID:4pBRyTxO
>>382 > ボナ自身で作った棋譜に、それ以上の精度を持った評価関数を獲得できるとは思えませんが。
少しでもコードを自分で書けばそんな滅茶苦茶な意見は出てこないと思うんだが。
プロ棋士ですら終盤で30秒将棋だとコンピュータに敵わない(特に即詰があるとき)のだから、
そんなへたれ棋譜から学習させるぐらいなら終盤だけでもコンピュータ対コンピュータ
(時間は30秒では なくもっと与えれば良い)の棋譜から学習させたほうが
よっぽどマシに決まってるだろ。
384 :
名無し名人:2007/05/09(水) 08:35:35 ID:6wo0uavW
>>383 同意
たとえば、現在の局面の評価値よりも数手の深さで探索した評価値の方が正確なので、
後者の値を教師信号として学習を行うことができる
385 :
名無し名人:2007/05/09(水) 09:28:53 ID:I6oMNDc9
>>368 が非常にわかりやすいね。ありがとう
つまり序・中盤はプロの真似をして差を離されない様に踏ん張る、終盤はこっちのもの!
ということか。
386 :
382:2007/05/09(水) 18:44:48 ID:CB4cQNP/
>>383 はっきり言うと、コンピュータも終盤は穴だらけです
「プロ≦コンピュータ」が確定しているのは、
詰みが絡んだときのみだと言えます
逆に速度計算は糞みたいなものだし、
プロは「一手数十分」で十分終盤も吟味された将棋も大量にあります
それはさておき、
bonanzaはたしか、「詰みを見つけたら学習しない」という上で、
一手読み+静止探索での学習でしたよね
この学習では、「一手+静止探索後の局面」を比較した場合、
将棋の神様が見て「その中で最も良い局面」になる手が
指されている棋譜が必要なのであって、
強い棋譜が必要なのではありません
もちろん、強い棋譜はその傾向にあるとは思います
ただ、その性質上、ただ十数手先をしらみつぶしにいい加減に読んだコンピュータの棋譜より、
より一手後の局面を大切にするプロの棋譜のほうがふさわしいのではないでしょうか
という意味で、やっても意味は・・と思ったわけです
以上、長文失礼しました。
387 :
名無し名人:2007/05/09(水) 18:52:21 ID:+uuKyFVH
388 :
名無し名人:2007/05/09(水) 19:02:11 ID:CB4cQNP/
>>387 この論文を解釈する限り、
これは詰み将棋の話で、かなり限定的な評価要素で何とかなるので有効に働いたようです
一方で、通常の将棋の場合は、より大局的な評価要素が必要となり、
自動化では上手くいかないことも多いのではないのでしょうか
389 :
名無し名人:2007/05/09(水) 19:20:04 ID:+uuKyFVH
>>386 私は、今のPCが読める手数よりさらに何手深く読めば、
プロ並み棋譜が作れるか?と言う疑問に突き当たっています。
もしかしたら今のPCより、さらに十数手読めばプロ並み棋譜が
出きるかも知れませんし、今のPCより百手以上深く読まなければ
プロ並み棋譜が出来ない可能性もあるかも知れません。
>>388 やはり、自動化は難しいのですね。
コンピュータの詰み将棋の強さは
その単純さから来ている所もあると思います。
390 :
名無し名人:2007/05/09(水) 19:58:08 ID:1mlJEaJM
>389
「プロ並みの棋譜」とか実態の無い言葉で議論とかしないほうがいいよ。
何を持ってプロ並みとかそうじゃないとか定義づけるの?
つーか、仮にマシンパワーの進化や開発者(人間)の手による評価関数の調整で、
プロにも勝ちうるソフトが将来誕生して、よりレベルの高い棋譜を作ることができるようになったとしても、
そこから、自己学習、評価関数の自動調整による自己強化を実用化できるかどうかは
全然別のアルゴリズム作りからはじめなきゃいけないことで、それは単に強い将棋ソフトを作るよりも
ずっと困難な仕事になるっつーのは自明のことだと思うんだけど。
単に
「コンピュータ単独で完成度の高い棋譜を作ることが出来て」
「それに自己学習の手法を組み合わせれば」
爆発的に強くなるはずだ、みたいな思いつきで仰っているとしか思えない。
どうやって自己学習をさせることが出来るのか、というのが議論すべき点なのに、
それは出来はずだ、という根拠の無い前提で語られても…
391 :
名無し名人:2007/05/09(水) 21:18:55 ID:+uuKyFVH
>>390 >何を持ってプロ並みとかそうじゃないとか定義づけるの?
プロ棋士に5割以上の確率で勝つソフトが出力する棋譜がプロ並の棋譜、
プロ棋士に5割以下の確率で勝つソフトが出力する棋譜がプロ以下の棋譜と思います。
厳密には棋譜の強さの定義づけには数値化する必要があると思いますが、
私の考えた方法を言いますと、必勝手が分かった場合に指す手と、
分かって無い場合に指す手に『差』が有りますが、
その『差』が狭ければ狭いほど強い棋譜と言えると思います。
プロ棋士の棋譜はどれくらいの『差』があるのか
私には分かりませんが・・・。もし棋譜の強さが数値化出来る時には
必勝手も解析済みの時と思います。
>どうやって自己学習をさせることが出来るのか、というのが議論すべき点なのに
質問ばかりですみませんが、
ボナンザはプロ棋士の棋譜から評価関数を調整し、
強くなるのであれば、『棋譜の強さ=ボナンザの強さ』になり、
強い棋譜さえ大量にあれば現在のボナンザでも
強くなると思うのですが、これは間違いでしょうか?
392 :
名無し名人:2007/05/09(水) 21:46:41 ID:CB4cQNP/
>>391 >プロ棋士に5割以上の確率で勝つソフトが出力する棋譜がプロ並の棋譜、
>プロ棋士に5割以下の確率で勝つソフトが出力する棋譜がプロ以下の棋譜と思います。
これは間違いです。
例えプロに5割の確率で勝てるソフトがあったとして、
しかしそれの自己対戦で得られる棋譜は、必ずしもレベルの高い棋譜ではありません
また、必勝手とおっしゃっていますが、そもそも必勝手とは何でしょうか?
それは「局面に対する最善手」でしょうか?
最善手にもいろいろあり、「勝ちやすい手」という意味でも「駒を得する手」という意味でも使われます。
例えば「局面を難しくするが、相手の大駒を取って有利な局面」と
「局面を分かりやすくするが、それほど有利ではない局面」ではどちらがベストな選択かは一概に言えません
あなたのおっしゃる必勝手。それが存在するという保証はどこにもないのです
>ボナンザはプロ棋士の棋譜から評価関数を調整し、
>強くなるのであれば、『棋譜の強さ=ボナンザの強さ』になり、
>強い棋譜さえ大量にあれば現在のボナンザでも
>強くなると思うのですが、これは間違いでしょうか?
これについては
>>386の下に私の意見を書きましたので、良かったら目を通してください
では
393 :
名無し名人:2007/05/09(水) 21:53:06 ID:fg/qdN3U
バカにバカがマジレスしている構図に付いてどう思いますか?
394 :
名無し名人:2007/05/09(水) 22:04:54 ID:tcuuBKXG
山下さんの文章によると、棚瀬将棋も激指も新しいやり方を試みているようで、
来年も楽しみだね。
395 :
名無し名人:2007/05/09(水) 23:23:05 ID:+uuKyFVH
396 :
名無し名人:2007/05/10(木) 00:10:22 ID:yDA68srB
>395
「語り」たいのなら、コンピュータ将棋の本でも読んでからの方がいいし、
「質問」したいなら、もう少し質問らしくしたほうがいい。
397 :
名無し名人:2007/05/10(木) 00:31:29 ID:WelexOiI
自動学習とは単に問題に対する最適化手法に過ぎない訳で人間の学習と混同してる時点で勘違いが甚だしい。
>>たとえば、現在の局面の評価値よりも数手の深さで探索した評価値の方が正確なので、
>>後者の値を教師信号として学習を行うことができる
例えばこれを実装すればどうなるか、当然読みを深くしても評価値が変化しない方向に収束するので
結果、「どんな盤面でも同一点と評価する」という酷い評価関数が出来上がってしまう。
自動学習させる場合、最適化の目的は何か?何を持って良し悪しを判定するか?
入力から出力を導く関数をどのような構造にするか?それに合わせてどのような最適化手法を導入するか?
またその最適化手法を適用して学習が収束するのか?得られた解の信頼性は?
これらを正しく理解し、検討し、設計しなければならない。
それを分からない人がCPUだけ早くしても、まさに猫に小判。
398 :
名無し名人:2007/05/10(木) 00:33:26 ID:NGmvWO/n
>>396 質問は私の考えた方法(
>>350)でボナンザが
強くなるかどうかでした。
皆様のお答えによって、自己対戦によって
強くなるのは現時点では非現実的なアプローチ(
>>392)だと
結論が出ました(
>>395)ので、ここで一応質問は終わります。
皆様、勉強不足な私の質問に、真摯なお答えを頂き、誠に有難うございました。
399 :
名無し名人:2007/05/10(木) 00:47:36 ID:WelexOiI
なお参考までオセロの場合にどうやって自動学習するか?
それをもう少し詳しく説明してしまうとぶっちゃけ全探索ですw
つまり過去の数万-数十万のある程度進行した盤面のデータがあります。
これを有志の方が膨大な時間をかけて全探索(αβだけどね)を行い、
双方最終手まで最善手を指した場合に、何点差となったかを評価値としたデータを作成したのです。
これが一般に公開されているので今では誰でも自動学習にトライ出来ます。
これは何せ、本物の最善手ですのでこれ以上ない正確な評価値です。
でも将棋ではそんな訳にいかないのは上のほうで説明したとおり。
なお最後に、
>>1秒間に数十万手読むPCが解析すると、500億年
これで解析出来る手は50万手×500億年としておよそ10の24乗通りです。
10の220乗通り計算するには
500億年×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1兆×1万年
ほど見ておいて下さいw
400 :
名無し名人:2007/05/10(木) 02:54:34 ID:4Xx4YEoq
羽生なら羽生の棋譜だけ学習させて、羽生そっくりの思考作れないの?
完全にコピーできたら、100年後のトップ棋士とバーチャル羽生が戦えるんだからすごいよ
401 :
名無し名人:2007/05/10(木) 03:34:51 ID:WelexOiI
>>400 10万局ほどのデータが必要として、
1日10局の奴隷労働させても約30年ですか・・・・
哀れ羽生。
402 :
名無し名人:2007/05/10(木) 03:53:20 ID:ZPh9qX3t
>>400 探索法は学習できるわけではないし、いまのコンピュータは人間のような超並列処理に向かないし、
特徴要素の抽出は人間が手作業でやってんだし、せいぜい静止評価関数がほんのわずかだけ
羽生っぽくなるだけでね?
403 :
名無し名人:2007/05/10(木) 09:19:02 ID:yQBQ8P/O
100億倍早いマシーンなどで必勝法などわかるはずもない・・・
10^200という数字のすさまじさは
>>399 がわかりやすいね。
404 :
名無し名人:2007/05/10(木) 18:28:06 ID:1kCN7X4E
>>400 それの大山さんバージョン激指がやってたよ。何年か前に発表したやつ。
正解率は微妙らしいけど。
今回の選手権にはそれを本格的に取り入れているらしい。
405 :
名無し名人:2007/05/12(土) 11:49:05 ID:fiFOFRff
ネタですけど。
251 :名無し名人:2007/04/29(日) 14:23:18 ID:6FI+6n6K
「東大将棋夢想転生」
棚瀬将棋の学習機能を使って、伝説の名棋士の棋風を再現。
学習させた6万局の棋譜の中から、指定した棋士の指し手の重み付けを10倍にして、棋風をシュミレートしたソフト。
大山・中原・谷川・羽生はもとより、坂田三吉や天野宗歩などコンピュータが作り出したバーチャルな棋士との対戦が楽しめる。
弓月城太郎の「神秘体験」とセット販売の予定。
253 :251:2007/04/30(月) 19:53:38 ID:Ol/v/vbB
弓月城太郎の「神秘体験」はどうせ売れ残るから、「東大将棋夢想転生」のオマケでいいです。。
406 :
名無し名人:2007/05/12(土) 12:04:35 ID:6sgtO1vl
旅人=ちわわ 必死だな
407 :
名無し名人:2007/05/12(土) 14:57:26 ID:x9ws+HkM
何億手読もうが
変な手読んだら
一緒
408 :
名無し名人:2007/05/15(火) 20:35:40 ID:Utqeal1i
普通に人間の限界点付近に達したら
普通に人間に負けなくなるよ
409 :
名無し名人:2007/05/19(土) 01:43:19 ID:6Jzy0Mj9
410 :
名無し名人:2007/05/19(土) 04:50:56 ID:swL27fZS
ヒント:10の220乗はこの世の原子数より多い
411 :
名無し名人:2007/05/19(土) 13:07:04 ID:B1K0yyUo
>>410 探索ってのは、探索したすべての局面をメモリに保持するわけではないから、無問題
412 :
名無し名人:2007/05/20(日) 03:53:58 ID:UGwraCSY
>411
でも保存しないと一手分しか覚えていないから、次の一手を指すためにはまた一年間探索だよw。
413 :
名無し名人:2007/05/20(日) 03:56:49 ID:UGwraCSY
>411
でも保存しないと一手分しか覚えていないから、次の一手を指すためにはまた一年間探索だよw。
414 :
名無し名人:2007/05/20(日) 04:04:50 ID:UGwraCSY
ア、二重カキコしちまった。スマソ!
415 :
名無し名人:2007/05/20(日) 04:46:44 ID:UGwraCSY
それに最近のスーパーコンピュータの性能向上はもっぱら
並列性向上によるものだから5年で27倍もの性能向上が
800年も続くとすると(27^130か)
キャッシュメモリーなどのCPU内ローカルメモリーだけで
全宇宙の原子数を軽く越えそうな気がするw。
10^80くらいだっけ? 全宇宙の原子数。
416 :
名無し名人:2007/05/20(日) 07:42:50 ID:UGwraCSY
別のやり方で計算力の理論的極限を見積もるなら、
宇宙の推定年齢(4.3×10^17秒)÷プランク時間(5.391×10^-44)=8*10^60
掛ける
(観測可能な範囲にある)全宇宙の原子数10^80で
約8×10^140となるな。
8×10^60はCPUの速度*計算に与えられる時間の極限、
10^80は並列性の理論的極限とみなして。
と言うわけで将棋の必勝法を見つけるにはやはり量子コンピュータが必須と思われ。
417 :
名無し名人:2007/05/20(日) 08:25:18 ID:UGwraCSY
418 :
名無し名人:2007/05/20(日) 16:29:32 ID:GCCusJun
これじゃ
何年経ってもプロには勝てないね
安心安心
419 :
名無し名人:2007/05/20(日) 16:36:59 ID:qMOCQo/I
将棋ソフト「ボナンザ」は人間の手で操作
20日午前10時ごろの会見で、大和証券スタッフ数名の内部告発により、
最強将棋ソフト「ボナンザ」を人為的に負けさせたという事実が発覚した。
3月21日に東京・品川プリンスホテルで行われた渡辺明竜王(22)と
最強将棋ソフト「ボナンザ」の特別対局で、ボナンザ優勢の終盤戦を迎え、
100手目の渡辺竜王の王手に対し、ボナンザの長考を装って画面を一時
中断し、将棋関係者と相談した末に▲2八同馬が正着であるのを▲同銀に
訂正させたという。
主催者側は事件の大筋を認め「渡辺竜王とは長期契約をしていたため、
初対局で負けては困ると判断した。ファンの方には申し訳ないと思っている」
と謝罪している。(朝日新聞)
関連スレ:【ボナ】ソフトに勝てない将棋界に未来はあるのか?【最強】
http://game12.2ch.net/test/read.cgi/bgame/1174024683/l50
420 :
名無し名人:2007/05/20(日) 16:43:53 ID:BTxQq7ta
人間トップが将棋のパーフェクトプレーヤーに限りなく近い強さを持ってるなら
コンピュータが勝てるのは相当先になりそうだけど
421 :
名無し名人:2007/05/20(日) 18:37:13 ID:UGwraCSY
>420
単に「将棋の神」と言えば?
422 :
名無し名人:2007/05/21(月) 00:19:08 ID:P5jxCw+P
Yss-computer ソフト R2744
24名人 ookuwa氏 R2691
24竜王 gerard氏 R2694
24達人syunaidar氏 R2685
ソフトは既に24名人、竜王、達人をも越えてるね。
423 :
長禄好み:2007/05/21(月) 00:27:53 ID:wzVrt9bQ
対人間に関してはボナが1番だね
俺も勝率が1番悪いね、ボナが
424 :
名無し名人:2007/05/21(月) 01:10:42 ID:tfYzL8zP
425 :
名無し名人:2007/05/21(月) 04:40:40 ID:+dggN68Z
>424
心配するには及びません。
必勝法は多分、人間が覚えきれるような単純なルールで表現できる可能性は低いと思われます。
下手をするとどんなコンピュータでも覚えきれないほどの情報量であり、
一手ごとに当該局面から終局まで読み直すしか最善手を指す方法が無いのかも知れません。
つまり必勝法は存在するが、情報の圧縮がほとんど効かないと言う
本質的に複雑な問題であるという可能性があり得ます。
426 :
名無し名人:2007/05/21(月) 05:10:56 ID:+dggN68Z
あ、その場合でももちろん先手と後手が双方最善を尽くした
場合の勝敗およびその時の棋譜は得られると思いますが、
(そのパターンすら膨大な数である可能性もあります)
それと誰を相手にしても負けないと言う意味での必勝法は
また全然別問題のはずですから。
427 :
名無し名人:2007/05/21(月) 22:19:22 ID:rDbo/ZuI
>424
必勝法の解明と対プロ勝利との間には何の関係も無いのだけれど。
人間ごときに勝つのに必勝法なぞいらんよ?
まあ今のところは人間ごときにまるで歯がたたないんだけどさ。
428 :
名無し名人:2007/05/21(月) 23:39:42 ID:+dggN68Z
なあ、前からちょっと悩んでるんだが先手必勝あるいは後手必勝の
(双方最善を尽くすと引き分けかも知れないけど)結論が出た場合、
最善手ってどう定義すべきかね?
例えば先手必勝であれば後手がどう指しても必ず先手の勝ちに至る筋は
それこそ山のように有りそうだし。
やはり勝つ側はなるべく短い手数で勝つ指し手、負ける側はなるべく
長い手数で負けに至る筋を選んでそれを”最善手”とすべきだろうか?
それでも同じ長さのものが無数に出て来そうな気はするが。
結論が引き分け(千日手)だったら長い方が良いのか短い方が良いのか?
その場合どっちでも同じかね?
429 :
名無し名人:2007/05/22(火) 00:48:20 ID:N8TFpUMl
詰め将棋と同じで最長手数の応手を敗北側の最善手とするんじゃまいか
430 :
名無し名人:2007/05/22(火) 03:27:42 ID:gcJUpeLT
>>428に関連してだが、
香を打っても飛車を打っても相手玉が詰む場合、
どちらを打つ方が自然かな?
431 :
名無し名人:2007/05/22(火) 10:23:05 ID:MLhgn2ih
詰将棋の場合は高い価値のほうで指す
雑兵よりも位の高いサムライに討ち取らせるのがいいんだとw
432 :
名無し名人:2007/05/22(火) 22:03:19 ID:0W+pktk0
>423
半年ほど前に奨励会の方に伺った話ですが,ボナンザよりも激指のほうが筋がよいとのことでした.筋がよいことが最重要ではないかもしれませんが.
433 :
名無し名人:2007/05/22(火) 22:07:05 ID:CLratHi2
人間より異質の手を指して強い方が価値がありそうだが
434 :
名無し名人:2007/05/22(火) 22:07:55 ID:s9wV3Vl+
24トップのソフトは大体激指だから対人間一番は激指っぽいな
レートの伸び率からAI将棋の可能性もあるが
435 :
名無し名人:2007/05/31(木) 14:54:43 ID:04dsOoBO
この手の方法論って盤面の展開そのもの(駒の配置)を対象にしているけど、
視点を対局者の思考ルーチンや内部状態にも向けた研究ってあるの?
436 :
名無し名人:2007/05/31(木) 16:08:09 ID:Ir0AqZe9
437 :
名無し名人:2007/05/31(木) 20:59:30 ID:mPooZPWF
思考ルーチンを公開する作者がいるのか???
438 :
名無し名人:2007/06/01(金) 12:45:40 ID:q6AzboQo
つ うさぴょん
439 :
名無し名人:2007/06/06(水) 07:00:03 ID:vlOBqcKv
>>424 量子コンピュータを勘違いしていないか?
あれはプログラム可能型のノイマン式コンピュータではない。
つまりソフトウエアで動く仕組みが存在しない。
つまり量子コンピュータではゲームもできないし、インターネットで
ブラウザで楽しむこともできない。
現状は因数分解の類のアルゴリズムしか発見されていない。
440 :
名無し名人:2007/06/06(水) 11:22:08 ID:zXJf16O8
>439
君もちょこちょこ勘違いしてると思うが?
もうちょっと調べてから書いた方が良いと思うよ。
本質的に間違ってるとは言えないけど。
441 :
名無し名人:2007/06/06(水) 18:53:08 ID:iEbBvodC
442 :
名無し名人:2007/06/06(水) 20:33:33 ID:zXJf16O8
>441
そう思っておけば?
それじゃ進歩ないけど。
443 :
名無し名人:2007/06/06(水) 21:07:31 ID:bkuInYOo
444 :
名無し名人:2007/06/07(木) 23:42:17 ID:uvBZi//f
>>443 ダウンロードしてreadme.txtを読みましたが、
ボナンザと同じプロトコルを採用したオリジナルの思考ルーチンみたい。
せっかくなんでソースを読んでみます。
445 :
名無し名人:2007/06/08(金) 00:07:19 ID:QfIMWq5n
ソース読んでみました。
マイボナって標準入力で手をやりとりするんですね。
プログラムが短くてシンプルですね。
静止探索はやってないとありますが、末端だけ駒損手を生成しないので少しやってる感じかも
評価関数は駒得だけなんですね。
あとは、ハッシュとNullMove(パスしてnullWindow探索してもベータ超えるようなら、何をやってもベータカットが置きそうなんで、探索せずにベータカットしていいんじゃね?)をやられると速くなると思います……
446 :
名無し名人:2007/06/08(金) 00:45:36 ID:c1y6CCB+
>445
「ボナンザ Bonanza 専用スレ 9手目」にそれをアップした人が書き込んでるよ。
あっちが本スレかな?
447 :
名無し名人:2007/06/08(金) 00:46:35 ID:GM4wYuGb
掲示板で読みの深さと最善手の更新確率の話が出たが,
深さを軸にとるのはどうなんだろう。同じ1手深く読むとは言っても、
2手から3手は1.5倍深くなり、3手から4手は1.333倍しか深くないという風に考える事もできる。
もちろん、一手深くしていくごとに評価する局面の数の増えっぷりはアレだが
448 :
名無し名人:2007/06/08(金) 01:07:15 ID:QfIMWq5n
>>447 YSSの掲示板のことですね。
なるほど。同じ1手深く読む場合でも
深いところほど、全体での深さの増え方が減ってるってことか……。
あの議論は、
山下さんはある程度深いところでは90%ぐらいはルートの手が変わらないから
並列探索してもいいんじゃね?
保木さんはルートに有力手が複数あるときはルートの並列探索はやめたほうがいい
ってことかな?
そもそも有力手が複数ある場合はなぜルートで並列探索しない方がいいんだろ?
むしろ有力手が複数ある場合こそ並列探索した方がいい気もするけど。
449 :
名無し名人:2007/06/09(土) 11:07:19 ID:iqZJDjgE
有力手が複数あると、同期処理が面倒ってことらしい?
450 :
名無し名人:2007/06/09(土) 21:15:50 ID:iqZJDjgE
変なのが連投してるな。なんだありゃ
451 :
名無し名人:2007/06/09(土) 22:13:51 ID:NV8b6m/J
人工無脳じゃね?ww
それらしい単語が並んでるだけで・・
452 :
451:2007/06/10(日) 03:24:31 ID:Obxkism7
今見たらそうでもなかった。失礼
453 :
名無し名人:2007/06/10(日) 10:24:15 ID:o8gGekiZ
tss -> 初心者 だと思うが、さて・・・
454 :
名無し名人:2007/06/10(日) 13:26:32 ID:X2J+LDJw
455 :
名無し名人:2007/06/11(月) 11:24:57 ID:xW08Fo9Z
DeepBlueは、アドバンスドチェス。
つまり、インチキ。
だから、わざと保存しなかった。
456 :
名無し名人:2007/06/11(月) 14:04:23 ID:nFPWqQ6V
しったか乙
457 :
名無し名人:2007/06/11(月) 21:07:14 ID:ZN0x53k3
知ったかと言うより、根拠のない言いがかりかと。
DeepBlueが一試合ごとにパラメータ調整して、差し方が毎回変わった事に
カスパロフが幻惑された事を指しているならそう言えるかも試練が。
458 :
名無し名人:2007/06/11(月) 21:52:28 ID:5h/SpNt3
>>455 カスパロフサイドが負け惜しみで言っているだけ。
上場企業のIBMがたかだチェスごときにばれたら大変なことになる陰謀に手を染めるわけがない。
459 :
名無し名人:2007/06/12(火) 21:26:14 ID:9sdzm2gJ
YSSの中の人がいう”推定高速化”って何のことだろう。
評価局面数が高速化度そのものではないのだろうか
460 :
名無し名人:2007/06/15(金) 23:49:45 ID:Tt5KCiKt
>>459 並列化による勝率の上昇から推測した高速化の度合い。
例えば4スレッドの並列で4倍のnpsを実現しても、実際は少し無駄な探索が生じるので、
4倍の時間を与えたほどには勝率が上昇しない。
461 :
名無し名人:2007/06/16(土) 00:37:26 ID:jwRE5ovT
仮に「評価関数の呼出回数」という基準で並列化度が100%だとしても
そもそも無駄な評価関数呼出を行っているから性能向上という観点で
評価すると必ずしも高速化しているとはいえない。
という理解でいいかな。そして、
並列化によって向上した勝率と同じだけの勝率となるような、
単一CPUでの高速化による勝率を算出して、これを「推定高速化」
と呼ぶことにした。
ってことでおk?
仮にαβも無しの素のminmaxであれば、並列度がそのまま速度向上になるが、
枝狩りを行っている場合、並列化で割り振るタスクが本来読まずにすむ(刈られる運命にある)
枝であるために空振りに終わる事があるっていう感じか。
これからさき更にコアが増えていくと混沌としそうだ。一番楽なのはやっぱりヘテロ処理なのか
462 :
名無し名人:2007/06/16(土) 06:41:20 ID:YWTmIVUY
指し手生成(とその順位付け)だけを並列化すれば無駄は少ない
463 :
名無し名人:2007/06/16(土) 06:53:50 ID:YWTmIVUY
指し手生成( 0手先読み )、一手先読み・・・と近い部分から順次読んでいけばcpuも休まない
しかし、過去のインターネット先読みの例からいうと大したことがないか?
複数cpuだから効果あるか?
464 :
名無し名人:2007/06/16(土) 20:36:11 ID:cdpxVPk4
投稿者:初心者とIPが一致しました。(編集済)
465 :
名無し名人:2007/06/18(月) 11:34:17 ID:GrmoqJJt
プロに勝つ方法
1.詰めろアルゴリズムを詰める。
2.必死アルゴリズムを詰める。
3.終盤の速度計算をする。
4.定跡データベースを詰める。
5.NECのSX-8iを借りて、序盤即終盤にする。
モデルはタイガーウッズ。
466 :
名無し名人:2007/06/18(月) 11:38:18 ID:GrmoqJJt
>>368 将棋でも、終盤から序盤、序盤から終盤の往復学習は有効だよ。
467 :
名無し名人:2007/06/18(月) 12:17:14 ID:/trnbloM
>465
2.と3. とりわけ3.が難しそうだな。
>466
往復学習ってどういうデータを元に行わせるの?
人間が指した実戦の棋譜?それとも計算機自身に読ませて作るの?
468 :
名無し名人:2007/06/18(月) 15:13:27 ID:GrmoqJJt
469 :
名無し名人:2007/06/18(月) 18:44:25 ID:/trnbloM
ツカレルなーw
470 :
名無し名人:2007/06/23(土) 05:47:40 ID:5xxmJUyq
1番あたりを将棋が強い人に聞いてみたいんだが、
詰めろは今の将棋ソフトでも判る。
問題は、詰めろを相手が回避しても詰めろがかかって、
それ回避しても詰めろがかかってみたいな、
竜王ボナ戦みたいな終盤
詰め将棋は王手が続く限り読み続けるので深くても読めるが、
連続詰めろは、手が多くてそれも難しいと思われる
このへんが解決されれば、ずいぶん終盤力が上がると思う。
このへんの感覚は人間は、読みで解決? それとも大局観?
471 :
名無し名人:2007/06/23(土) 05:56:22 ID:N7Lw78vn
コンピュータの場合連続詰めろの検索は3手でもかなり厳しいのが実情。
人間は経験の蓄積から並列的にデータを引っ張り出してきている感じなので、
コンピュータの最も苦手な分野とも言える。
472 :
名無し名人:2007/06/25(月) 11:52:22 ID:yzB4wZfr
24で2200程度の人間の話だけど
寄せで詰めろはあんま読んでない
もちろん微妙な詰みの場合はキッチリ読むけど
どっちかというと「まずこの形は詰めろ」とか「おんなじ筋で詰みだから詰めろ」とか
形や読みの再利用をすることによってかなり実質的な読みを減らしてる
473 :
名無し名人:2007/06/30(土) 05:04:38 ID:3fmNhQ/Y
>>472 なるへそ
人間だから詰めろ連続を読み切れてるってわけでも無さそうだね。
詰め将棋についても、プロ棋士が単純な見落としした例もあるし、
詰めも詰めろも、
局面の部分的なパターン認識を再利用してるかも人間。
474 :
名無し名人:2007/07/10(火) 11:23:26 ID:K871jt7N
475 :
名無し名人:2007/07/12(木) 21:33:36 ID:3fs0xj94
プロ棋士に勝つ方法
1.詰めろアルゴリズムを詰める。
2.必死アルゴリズムを詰める。
3.終盤の速度計算をする。
4.定跡データベースを詰める。
5.乱戦模様に誘導する。
6.NECのSX-8iを借りる。
モデルはタイガーウッズ。序盤即終盤。
476 :
名無し名人:2007/07/16(月) 10:01:27 ID:CekmQ/WH
いまだに全数手を計算できるなんて、トンデモな発想している奴がいるとはw
477 :
名無し名人:2007/07/16(月) 10:03:47 ID:Yycoznsh
888 名前:名無し名人[sage] 投稿日:2007/07/16(月) 09:25:31 ID:3txnVwiF
wを付けるやつはその時点で痛いが
文章の内容自体も痛いという傾向がある
478 :
名無し名人:2007/07/17(火) 23:37:23 ID:7lP9b5w+
なあ、将棋の必勝法を見つけるには完全ゲーム木を作って
その上を探索するしかないと言う雰囲気に何となくなってるが
それは証明された事じゃないよな?
全通りの差し手を探索しなくても必勝法が見つかる可能性も
まだ、わずかながらあると思う。
479 :
名無し名人:2007/07/18(水) 10:38:21 ID:FTLBmANq
>478
全探索をしないで発見した「必勝法」が本当に必勝法かどうか
どうやって調べるのですかw
480 :
名無し名人:2007/07/18(水) 15:57:48 ID:Tnj8hFu6
>479
理論で押さえ込むんだよ。
つまり実際には探索しないで探索したのと実質的に等価な情報を得る。
ある種の情報圧縮だな。αβカットだってそうだろ?
実際に可能だと言ってるんじゃないよ。
可能かも知れないと言うだけ。
直感的には不可能っぽいがこれまた
(不可能だと言う証明も)難しいと思う。
481 :
名無し名人:2007/07/19(木) 23:27:09 ID:tAlUL0h+
αβとかは評価値がアナログだから枝を刈る価値があるけど
必勝かどうかは勝ちか負けのデジタルだから評価値で刈るってのはできないんじゃないの?
482 :
名無し名人:2007/07/20(金) 00:37:03 ID:ycZ3Epya
勝ち1引き分け0負け-1を割り当ててルートで(-1,1)で呼べばいいだけじゃん
むしろこっちのほうが早く終わるぞ
読みきれるゲームなら
483 :
名無し名人:2007/07/20(金) 14:04:55 ID:zUWNT/L1
方がもなにも、必勝法を探すにはそうするしかないよねぇ
484 :
名無し名人:2007/07/21(土) 03:30:00 ID:xLwMJEua
チェッカーが解明されたようだが、
まさに
>>480が言うような手法じゃないか?
いくら18年かけたといえ、巨大な探索木をすべて読めるわけないし、
結局、
相手がどういう手を指そうと、こちらが最善手を指し続ければ
負けないことが証明できればいいわけだった。
>482
評価関数の値を優勢なら1。劣勢なら-1と扱って探索するのはありかもしれん
485 :
名無し名人:2007/07/21(土) 11:58:25 ID:spm5MYzQ
Endgameのデータベースを基にしてるようだが<チェッカー
486 :
名無し名人:2007/07/21(土) 17:41:13 ID:xLwMJEua
>>485 そのEndGameデータベースは、
長い時間をかけて、
DFPN+という詰め探索(ある種の情報圧縮)を使って
作られたようだよ。
将棋の場合、終盤が収束しないので終盤データベースを作れないのが……
オセロ、囲碁でも終盤DBは聞かないな。
手は減ると思うが、局面パターンは膨大だからかな?
487 :
名無し名人:2007/07/22(日) 02:21:49 ID:olW8WbOZ
チェスが特殊(延々続く)なんじゃない?
囲碁も九路なら作れそうだけど読んだ方が速いしオセロもそう
十九路は流石に無理だろうし
488 :
名無し名人:2007/07/25(水) 08:23:14 ID:yfmMjg4i
489 :
名無し名人:2007/07/26(木) 01:59:23 ID:RRBeXi0T
>>487 >囲碁も九路なら作れそうだけど読んだ方が速いしオセロもそう
モンテカルロは並列化してもリニアに近く効率が出るみたいなので、
>>488が言うように、超並列のスパコンで、やったら
9路なら超並列計算で、プロに勝てるのもう作れるじゃないか?
実際はUCTが並列計算でどのくらい効率が出るかよく知らんけど。
スパコンTOP500とかだと数万プロセッサとかあるんで。
東工大のTSUBAMEとかいいんでないかい。
オセロは、終盤はそうとう深く読めるし、
実際探索してるのは中盤の数手だよね? そのへんがくっつけば、
完全解明になると言えるのかな?
490 :
名無し名人:2007/07/31(火) 20:44:40 ID:vKaoE6KF
>実際はUCTが並列計算でどのくらい効率が出るかよく知らんけど。
MC部を並列化するとUCT部が本来の動作と微妙に変わるから
余り並列度を高くすると妙な動作をする可能性がある
それにMC部だけ超並列にしてもUCT部(の処理速度)がボトルネックになってしまう
UCT部そのものの並列化はまだ上手くいってないようだ
491 :
名無し名人:2007/08/04(土) 23:43:44 ID:t1kmJhEZ
>UCT部そのものの並列化はまだ上手くいってないようだ
解説THX!
UCTほど性能が無くても並列性が良いアルゴリズムを考えるのもいいかもねー。
なんにせよあと3年くらい経ったら、将棋より囲碁の方がプロに近づいている気がする。
492 :
名無し名人:2007/08/05(日) 00:27:39 ID:HkPLrjxq
それはないw
493 :
名無し名人:2007/08/06(月) 16:35:08 ID:+jM4iPO4
九路なら3年でプロに近づいている可能性もなくはないと思う
494 :
名無し名人:2007/08/07(火) 10:44:23 ID:n4aVwsiK
495 :
名無し名人:2007/08/07(火) 12:36:13 ID:+mMWhKoL
本人乙
496 :
名無し名人:2007/08/11(土) 08:56:19 ID:UFykWpA6
みんなで激指を買って遊ぼうよね♪( ^ω^)
激指 定跡道場
商品紹介
2005年世界コンピュータ将棋選手権で全勝優勝を飾った「激指」のシリーズ最新作。
序盤戦術を体系立てて学習できるモードを搭載、最強の思考エンジンに加えて学習補助機能が充実しました。
定跡講座は所司和晴七段が全面協力、プロ将棋の最先端を無理なく身につけることが出来ます。
497 :
名無し名人:2007/09/03(月) 09:43:20 ID:NEoGgsie
q
498 :
名無し名人:2007/09/14(金) 20:53:38 ID:KwcH4bp3
499 :
名無し名人:2007/09/14(金) 21:56:05 ID:9+JiV7Az
コンピュータ囲碁ってさ途中まで真似碁で打ってさ、終盤に形が決まってからフリー打ちすりゃ、そのへんのおっちゃんには勝てるんじゃない?
500 :
名無し名人:2007/09/15(土) 04:11:32 ID:hSLQyN4N
勝てるかもしれんが意味がねえ
501 :
名無し名人:2007/09/15(土) 20:39:27 ID:LKEQnlhn
でもそんなの関係ねえ
502 :
名無し名人:2007/09/19(水) 17:09:18 ID:3yF9WxDk
誰か評価関数における評価項目をうまいことまとめてもらえませんかorz
503 :
名無し名人:2007/09/19(水) 17:39:28 ID:A3AzdYci
「コンピュータ将棋の進歩」1〜5嫁
504 :
名無し名人:2007/09/22(土) 11:14:04 ID:twsij0Zp
駒割
大駒の安全度
王の安全度
位取り
脅威
505 :
名無し名人:2007/09/29(土) 14:37:23 ID:uwlLOosi
お前らアホかwwwwwwwwwwwwwwwwww
ネット将棋なんてのはな、ソフトで指そうが何しようがOKなんだよwwwwwwwww
なぜならな、ネット将棋ってのは、いかに相手を叩きのめして優越感を味わうかが重要だからだwwww
それを競うゲームなんだよwwwwwwwwwwwwwwwww
そのためには何をやってもいいんですぅ〜〜〜〜wwwwwwwwwwwwwwwww
自分の力???正々堂々?????
馬鹿じゃねーの?????????wwwwwwwwwwwwwwwwwwwww
俺様は今後もソフトを使ってどんどんお前らをブッ殺してやるぜwwwwwww
悔しいねぇwwwwwwwww俺みたいなクソ野郎に負けちゃって悔しいねぇwwwwwwwww
お前らカスどもの屍の上で勝ち誇る俺様を見て、悔し涙でも流しているといいさwwwwwwwwww
ぎゃっはhっはははははははははははhwwwwwwwwwwwwwwwwwwwwwwwww
あっひゃっひゃっひゃはyはやhっひゃははっやはひゃっはhy「wwwwwwwwwwwwwwwww
笑が止まらねーぜええうぇえええええええうぇええええええええwwwwwwwwwwwwwwwwwwwwww
殺せ殺せえええええええええええええええwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ネット将棋ってのはな、心を殺しあうゲームなんだあああああああああああwwwwwwwwwwwwwwwwwwwww
殺してやるぜええええええええええwwwwwwwwwwwwwwwwwwwwwwwwww
死ねシネシネ死ねえええええええええええええええええええええええええええええええええええ
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
506 :
名無し名人:2007/09/29(土) 17:07:35 ID:eyoqBRRC
ヘタな煽りだなプ
507 :
名無し名人:2007/09/30(日) 01:53:42 ID:rxxZNOJo
と言うかスレ汚しのコピペやめれ。
しかし駒数が規定より多い変則対局は出来ないソフト多いよな。
王飛角香は座標記録して特例処理のほうが都合いいこともあるだろうけど、
他の駒も駄目なんだよな。
509 :
24@三段:2007/10/01(月) 17:39:40 ID:2hpN5asa
お前らアホかwwwwwwwwwwwwwwwwww
ネット将棋なんてのはな、ソフトで指そうが何しようがOKなんだよwwwwwwwww
なぜならな、ネット将棋ってのは、いかに相手を叩きのめして優越感を味わうかが重要だからだwwww
それを競うゲームなんだよwwwwwwwwwwwwwwwww
そのためには何をやってもいいんですぅ〜〜〜〜wwwwwwwwwwwwwwwww
自分の力???正々堂々?????
馬鹿じゃねーの?????????wwwwwwwwwwwwwwwwwwwww
俺様は今後もソフトを使ってどんどんお前らをブッ殺してやるぜwwwwwww
悔しいねぇwwwwwwwww俺みたいなクソ野郎に負けちゃって悔しいねぇwwwwwwwww
お前らカスどもの屍の上で勝ち誇る俺様を見て、悔し涙でも流しているといいさwwwwwwwwww
ぎゃっはhっはははははははははははhwwwwwwwwwwwwwwwwwwwwwwwww
あっひゃっひゃっひゃはyはやhっひゃははっやはひゃっはhy「wwwwwwwwwwwwwwwww
笑が止まらねーぜええうぇえええええええうぇええええええええwwwwwwwwwwwwwwwwwwwwww
殺せ殺せえええええええええええええええwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ネット将棋ってのはな、心を殺しあうゲームなんだあああああああああああwwwwwwwwwwwwwwwwwwwww
殺してやるぜええええええええええwwwwwwwwwwwwwwwwwwwwwwwwww
死ねシネシネ死ねえええええええええええええええええええええええええええええええええええ
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
510 :
名無し名人:
恥ずかしい人を見つけました