コンピュータで囲碁の解析を夢見るスレ
■ このスレッドは過去ログ倉庫に格納されています
コンピュータでの囲碁の解析について語るスレです。
どんなアルゴリズムでどんな解析ができるか?
効率的なアルゴリズムは?
その時の計算量は?
正しいコミ(双方最善で引き分けとなるコミ)はいったいいくつか?
などを語ってください。
姉妹スレ
コンピュータで将棋の解析を夢見るスレ
http://toki.2ch.net/test/read.cgi/bgame/1288090779/
【電】 【王】 【戦】 【川】 【柳】
名前: 名無し名人
E-mail: sage
内容:
土曜日が
待ち遠しいよ
電王戦
【解釈】
会社に居場所はなく、
上司からのパワハラに耐えながら日々の生活を送っている私。
そんな私の唯一の楽しみが週末に行われる電王戦だ。
ソフトは上司、プロ棋士は私。
力関係で劣っていようと、必死で頑張るプロ棋士の姿を見て、
私はもう1週間頑張る勇気を与えられるのだ。 ここのモンテカルロ法の解説はわかりやすい
囲碁におけるモンテカルロ法
http://www.computer-igo.com/category1/
コンピュータ囲碁における モンテカルロ法
~理論編~ 美添 一樹
http://minerva.cs.uec.ac.jp/~ito/entcog/contents/lectur コンピュータ囲碁 〜 モンテカルロ法の理論と実践 〜 実践編のサンプル一覧
http://www.yss-aya.com/book2011/ deep learningで先読みなしでGNU GOに勝ったらしい!!
ブレークスルー来たか!? その論文
ttp://arxiv-web3.library.cornell.edu/pdf/1412.3409v1.pdf まだCNNでやってるのか。
そろそろMaxoutとかでやる人出てこないのかね。 少しプログラムを考えたのですが
〇×ゲームの〇を考える
110点
〇|_|_
_|×|_
_|_|〇
100点(引き分けパターン)
〇|〇|_
_|×|_
_|×|〇
200点以上詰み
200点
〇|_|〇
_|×|_
×|_|〇
201点
〇|_|_
_|〇|_
_|_|×
202点
〇|_|_
_|〇|×
_|_|_
206点
〇|_|〇
_|〇|×
_|_|×
207点
〇|×|_
_|〇|_
〇|_|×
9マス3種類(〇×なし)4方向同一盤面だから
9^3/4=182.25=183通りの盤面
ですので200点以上で詰みとして
そこから詰みに至る盤面遷移で勝ちになるパターンが多い順にソートして
詰みの状態から盤面に点をつけます(1点差ごと)
予めソートして点がつけたら
それに従い遷移可能盤面の中から高得点の手だけを打ちます
囲碁の場合
361マス3種類(黒白なし)4方向同一盤面だから
361^3/4=11761470.25=11761471通りの盤面で
1200万点以上で詰みとして・・・同様に・・・
というように囲碁の完全回答プログラムが出来てしまいそうなのですが
出来なければまぁいいのですが
解けたら囲碁のわびさびがなくなるので封印するか、回答を見てみるのか
どっちなのか判断がつかないのですが、どうでしょうか? 点数計算のアルゴリズムは搭載せず
詰みに至る盤面遷移で勝ちになるパターンが多い順にソートして点をつけるだけ
これではできないんでしょうか? 点数計算のアルゴリズムは搭載せず
詰みに至る盤面遷移で勝ちになるパターンが多さと遷移順にソートして点をつけるだけ
これではできないんでしょうか? 19路盤1200万通りに
点数計算のアルゴリズムは搭載せず
詰みに至る盤面遷移で勝ちになるパターンの多さと遷移順にソートして絶対点をつけるだけ
無理かな? 5路盤は25*25*25/4=3906.25=3907通りだから
4000点満点のソート 種類と桁を間違えていた
>>7
1.75*10^172通り
1.75*10^172満点で
詰みに至る盤面遷移で勝ちになるパターンの多さと遷移順にソートして絶対点をつけるだけ
これ計算量多すぎなの? [5路盤 盤面総数] = 414295148741 ≒ 10^11.617
5路盤10^11.617(/4?)満点のソート あれれ?
9マス3種類(〇×なし)4方向同一盤面だから
9^3/4=182.25=183通りの盤面かと思ったら
3^9/4=4920.75=4921通り
9マス3種類(〇×なし)4方向同一盤面って、こんなにあるの?
やっぱりこのくらいじゃね?
9^3/4=182.25=183通り ああ、9マス3種類(〇×なし)4方向同一盤面
3^9=19683通りの中の
戦術的に意味があるのが
30〜50通り以下くらいなのか・・・ Xe+170通りなら
>>51
N=19683
2*logNlogN=50
みたいに戦術的意味で省略して
2*170*170=57800通りとかじゃ少なすぎるかな? で、意味のある棋譜って何通りくらいかな
5〜50万通りの用意じゃ少ないの?
5路盤10^11.617
2*logNlogN=2*11*11=250〜2500通りの用意 で、相手が用意の棋譜以外を打ってきたら
最善手を打ったのと同じ扱いとして
一番点が低い棋譜遷移の見積もりを打つってことで n=0;
for(xaa=0;xaa<3;xaa++){
for(xab=0;xab<3;xab++){
・・・
for(xas=0;xas<3;xas++){
for(xba=0;xba<3;xba++){
・・・
for(xss=0;xss<3;xss++){
bdPTS[n++]={{xaa,xab,...,xas},{xba,,xbb,...,xbs},...{xsa,,xsb,...,xss}};
}
で、Xe+170通りのソートか・・・
コンピュータが飛躍的に速くならないと無理なのか・・・
スレ汚しごめん 19路盤での
「完全解が見つかる最低条件」の法則または定理を見つけることが
問題解決の糸口になる。 64bit*15.6MHz*1core=1GHz=1e+9step/sec
1e+160coreとして1e+169step/sec
とか、金と電力がいくらあっても足りないけど
なんかバランスとれないかなぁ・・・
まだ無理か 1億coreが限界として
1e+8core
1e+162step/sec=mbit*nbass
にならんかな
あと1e+153step/sec
死ぬまで無理ぽだけど 9マス3種類(〇×なし)〇×交互手番を試しに列挙してみたら
6046個<(3^9)/3だった
4方向同一盤面
で1511.5=1512個
ここから
361マス3種類(黒白なし)4方向同一盤面黒白交互手番
コウとか石を取る等のルールなしのNは
N個<(3^361)/19/4=2.29e+170個<10^170.482個
なのではなかろうかと思った 〇×ゲームの厳選譜50として50*a
50*30<1512
30<(log↓10↑1512)^3
ここから19路盤の厳選譜N
a=(log↓10↑2.29e+170)^19=2.49e+42
N=2.29e+170/a=9.2e+127
とか適当に思いついた 平均220手
N/220=9.2e+127/220=4.18e+125棋譜
220手から同系統100手として
4.18e+123棋譜あればほとんどすべてに対応できるとかなんとか・・・
となると、CPU性能を考えると全検索ソートは無理だから
基本定石5000棋譜の参照から
定石外の相手の手からのその都度棋譜作成みたいになるのやら・・・
ほんとに夢想してます 基本定石5e+3
想定読み切り棋譜5e+123
定石外の手からの勝利棋譜作成能力1e+120
なんとなく要求仕様 こんな感じの要求仕様で〇×ゲーム化すると
基本定石5000≒√(log↓10↑2.29e+170)*2*log↓10↑2.29e+170
√(log↓10↑1512)*2*log↓10↑1512=11.3
〇×ゲーム基本定石12棋譜くらいの要求仕様
その条件なら、完勝できそうだ 〇×ゲームは3棋譜あれば大丈夫そうだから
3/9=0.333棋譜
19路盤
0.333*361=120棋譜が中核の定石
補定石として4880棋譜 ttp://nas6.net/marubatsu.htm
〇×ゲーム作った
あなたが先手はアレだけど、後手で悪手を打ったら嵌められます ○×なら、まっさらの状態から対局を通じて学習しながら最終的に引き分けか人間が間違えれば勝つとこまでもってくようなのが見たいな。
学習状況をなんらかの目に見える形で表示しながらならなお良い。 ttp://nas6.net/reversi.htm
リバーシ作った
SDINのCPULV3になかなかな勝てない
石を取らなさ過ぎて全滅したりする
たまにうまくいけば勝つこともある 合法な盤面数(対称なものも区別する)は正確に求められているが、170桁くらいになる
解析が完全解析を意味するならどのみち不可能
事実上人間に勝てるという意味ならもうほぼ終わっているんだろうけど 9路で天頂の碁とか使って上位候補4手くらいの分岐を全部読んでDB作って評価値が勝率20%切ったら打ち切りとかでやったらどこまでいけるんだろ? 日本ルール七路盤の最善が盤面8目になる可能性
白の最善手候補が完全な盲点で、まともに検証されていない 追記
中国ルール七路盤の場合は4.5子差のままです ■ このスレッドは過去ログ倉庫に格納されています