5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

[人工知能]革新AI囲碁ソフト『Crazy Stone』@モンテカルロ法

1 :名無し名人:2007/10/02(火) 20:34:08 ID:q6BMalXv
Brendan Borrell 2007年05月11日

その昔、人工知能(AI)マニアが関心を向けるゲームと言えば、
何と言ってもチェスだった。
しかし、チェスでは物足りなくなったマニアたちは、
次なる狙い目として「碁」を選んだ。
だが、なぜ碁なのだろう?

碁の起源はチェスより1000年以上古く、
碁における石の手数は宇宙に存在する原子の数よりも多いと言われる。
だが、さらに重要なのは、囲碁の場合、コンピュータープログラムが
人間の囲碁の名手に勝ったことが一度もないという点だ。

世界中で、熱心なコード開発者たちがコンピューター囲碁の
メーリングリスト上でプログラム開発の秘訣をやりとりし、
『KGSコンピューター囲碁トーナメント』
[日本語版注:KGSは『棋聖堂碁サーバー』の略。
神奈川県茅ヶ崎市にある棋聖堂が運営している]で、
毎月腕を競い合っている。

2005年には、フランスのリール大学に所属するコンピューター科学者、
Remi Coulom氏が提起した新戦略が、既存の手法に革命的な変化をもたらした。
Coulom氏のプログラム『Crazy Stone』は、
2006年5月から6月にかけてイタリアのトリノで開催された
第11回『コンピューター・オリンピアード』で、金メダルを獲得している。
Coulom氏は先ごろWired Newsの取材に応じ、
囲碁ソフト作成の難しさやCrazy Stoneの成功の秘密について語ってくれた。

[日本語版:ガリレオ-藤原聡美/長谷 睦]

WIRED NEWS 原文(English)
http://wiredvision.jp/news/200705/2007051121.html

2 :名無し名人:2007/10/02(火) 20:35:02 ID:q6BMalXv
Wired News(以下「WN」):囲碁ソフトのプログラミングが
チェス用のソフトより難しい理由は?

Remi Coulom氏:碁では、[チェスのような形で]相手の石を取ることはない。
だから、黒が優勢なのか白が優勢なのか、盤面を見ただけでは判断できない。
勝ち残るためには、自分の石で2つの「目」
――相手に侵略されない空白の陣地――を囲む必要がある。

囲碁では、縦と横、19本の線が引かれた碁盤の上に石を置いていくわけだが、
それが生きた石になるか死んだ石になるかは、打った時点ではわからないので、
静的分析が非常に難しい。ここがチェス(あるいはチェッカー)と状況が違うところだ。
チェスならば、盤面を見て「わたしの方がポーンを1個多く持っている」と言えるのだが。

WN:「モンテカルロ法」とはどういうもので、どのように碁に応用されているのでしょう?

Coulom氏:モンテカルロという名前は、
カジノで有名なモナコの一地区にちなんでつけられたものだ。
碁の場合の基本的な考え方はこうだ。
次の一手の選択肢を評価するために、
まずは何千通りもの対局をランダムにシミュレーションする。
その上で、その手を打った場合、白よりも黒が勝利をおさめる傾向が強いとすれば、
その手が黒にとって有利だと判断できる。

WN:一般的な碁の対局では250手を要することを考えると、
それをシミュレートするには、非常に処理能力が高いコンピューターが必要なのでは?

Coulom氏:トリノのオリンピアードで使用したバージョンのCrazy Stoneでは、
CPUを4つ――米Advanced Micro Devices社製のデュアルコア・プロセッサー
『Opteron』(2.2 GHz)を2つ――搭載したマシンを使い、
1秒あたり約5万件の対局シミュレーションをランダムに実行した。
これまでのアルゴリズムとは異なり、モンテカルロ法のアプローチでは
非常に簡単に並行処理ができるので、
新世代プロセッサーのマルチコア構造を活用できる。



3 :名無し名人:2007/10/02(火) 20:35:32 ID:q6BMalXv
WN:Crazy Stoneはモンテカルロ法を採り入れたプログラムの
第1号ではありませんでしたが、囲碁ソフトのプログラマーの間で
流行となるほどの成功を収めました。
あなたのアプローチのどこが革新的だったのでしょうか?

Coulom氏:すべての対局をしらみつぶしにサンプリングすることは不可能なので、
モンテカルロ法のアルゴリズムでは、最良の一手を見つけられない場合もよくある。
たとえば、特定の一手を打った時の対局シミュレーションの結果が、
大半が負けで、1つだけ勝てるパターンがあったとする。
基本アルゴリズムは結果の平均値を取り、
そこに石を置くのはよくないと判断する。

Crazy Stoneは、この問題を回避できるようプログラミングされている。
1つの手から生じる一連の流れが他の手よりよいと気づけば、
シミュレーションの中でもその流れを重点的に取り上げる。

WN:KGSトーナメントの進行役を務めるNick Wedd氏のように、
モンテカルロ法を採り入れたプログラムの対局は、
見ていて退屈だと不満を述べる人もいるが、
それはなぜでしょう?

Coulom氏:モンテカルロ法によるプログラムは、
勝利の可能性を最大限にするもので、
大差で勝つことを目指していない。
相手よりはるかに有利な状況になると、
必ず安全最優先のモードに移るので、
攻め姿勢の対局に比べると、見ていて退屈だと感じるかもしれない。
見るにはつまらないかもしれないが、
ゲームで勝利をおさめるにはより効率のよいやり方だと思う。

WN:優れた囲碁ソフトの作者は、多くが自身も優秀な棋士だと聞くが、
あなた自身の囲碁の腕前は?

Coulom氏:最初の囲碁用プログラムを書く前には、
わたし自身も、世に出ている他のプログラムを打ち負かせるくらいには
強くなろうと心に決めていた。だが、
強い棋士であることが、強いプログラムを書くために重要だとは思わない。
そのことは、わたしがチェス用のプログラムを書いていた時からはっきりしていた。
わたしが作ったプログラムはわたしよりはるかに強かったからだ。

今出回っているプログラムの中には、
「定石」と呼ばれる、昔から最善とされている
決まった石の打ち方を用いるものがあるが、
わたしはこうした既存の知識をあらかじめコードに組み込むことは避けている。
無条件に定石を当てはめたために勝ちを逃すプログラムもあるのを知っているからだ。

4 :名無し:2007/10/02(火) 20:55:05 ID:cc5vqih8
>>1
>[日本語版注:KGSは『棋聖堂碁サーバー』の略。

KGSはKGS Go Serverの略じゃないの?

5 :名無し名人:2007/10/02(火) 22:13:19 ID:Htgxnw7g
GNUとかLAMEみたいなもんじゃね

6 :名無し名人:2007/10/02(火) 23:39:05 ID:OoAL5kOl
近い将来ソフトに負けないように、詰め碁、手筋がんばるか。。。

7 :名無し名人:2007/10/03(水) 00:28:02 ID:Wj3nCXqP
>>4
訳段階で虚偽情報を混ぜ込む・・・
何がしたいんだ

8 :名無し名人:2007/10/03(水) 01:10:46 ID:sAM2jiDL
>>4
> KGSはKGS Go Serverの略じゃないの?

Kiseido Go Server の略だよ。

9 :名無し名人:2007/10/03(水) 01:41:00 ID:hdCwv9Kg
>>8
今は違うよ。4は知ってて書いてるんだよ。
2chじゃそういう人よくいるから気をつけて

10 :名無し名人:2007/10/03(水) 01:47:51 ID:hdCwv9Kg
>>1
要するに、下手でも5万人集まって多数決で着手を決めれば
多少はましになる、って理解でいいのかな?

11 ::2007/10/03(水) 02:56:12 ID:6L2W1XL6
>>7>>4の指摘が正しいという意味だからな
http://ja.wikipedia.org/wiki/KGS

12 :名無し名人:2007/10/03(水) 03:06:13 ID:YqBQI+gb
多数決とはちょっと違うね。とにかくランダムに5万局最後まで打
つのが肝要で、あいまいなのは死石も抜いて
中国ルールでやれば最終局面の石数結果は簡単に判る。
変化の勝つか負けるかで勝率計算も自明。
ただ、むやみなランダムでなくパターンや
多少ヒューリスティックな要素を入れて絞っているので強くなる。
序盤はダメだが中盤以降は手筋がでたりそこそこ強い。
碁会所2,3級なら油断するとやられるよ。

13 :名無し名人:2007/10/04(木) 21:29:03 ID:ZlpASQAl
碁解除四段ですが何か

14 :名無し名人:2007/10/05(金) 01:39:56 ID:gxe5XXdA
>>10
5万人の秀才より、1人の天才のほうが激しく強い。
これは越えられない壁。

コンピュータがどんなに時間をかけて計算をしても天才の域には達しない。
そもそも思考の土俵が違いすぎる。

15 :名無し名人:2007/10/05(金) 02:53:44 ID:Bo6LKRsu
5万を50万にするとどれくらい棋力が上がるか興味あるな。
この方法ならコンピュータを並列化すればいくらでも棋力が上がるし。
まあ、ネット初段くらいが事実上の限界の気もする。

16 :名無し名人:2007/10/05(金) 11:53:38 ID:kyCiCWIA
ソフトって、石の連絡を正しく認識するのさえむつかしいような。
例えばケイマをでぎられても利き筋がシチョウあたりでシチョウに抱えられる場合とか。
状況の変化によっては利き筋が利かなくなって激しく振り変わったりするでしょ?
そういう認識をしっかりさせないで、ランダム対局5万局とか50万局とかさせても、ぜったいプロに勝てないと思うんだけどな。。。


17 :名無し名人:2007/10/05(金) 12:01:26 ID:Bo6LKRsu
そういうのをしっかりさせようと色々頑張ったけどあんまり強くならなかった。
モンテカルロ法を応用したらびっくりするほど強くなった。
低いレベルでの話だけどね。
(9路定先でプロに勝ったらしいけど)

18 :一歩:2007/10/05(金) 12:23:21 ID:243Bs6yK ?2BP(0)
>>1-3
までの記述、理論的にただしい。
 しかし、まだ大きな問題点が指摘できる。
  1. 如何にして「勝敗の確定」状態であると認識できるのか。
  2. 読み切りの確定状態になると、失敗の回避は不要になる。
  3. プログラムの主体は、失敗しない上げることになっているが
    形勢が有利な場合はいいけれ、不利に場合にはかえって「勝負手」が打てない


19 :一歩:2007/10/05(金) 12:30:05 ID:243Bs6yK ?2BP(0)
もう1つ、
 この方法は、10級の棋力の人また6段の棋力の人が、
  勝率をあげる手段でつまり、間違いを減らすことで勝率を上げている

  そのため、6級に人が、間違うことによって5級になるという
  人間の成長システムとは、まったく異質のものに思える。

  つまり、
   発展がない世界での、最善の効率を求める
  というように思える。

20 :一歩:2007/10/05(金) 12:40:57 ID:243Bs6yK ?2BP(0)
それを防ぐには...
 失敗の中で、最善の正解を見つけることが必要になる。
 しかし、これには、無駄を省くではなく
          無駄を検証することが必要になる。
  学問的には、無駄の検証ほど、無駄な時間はない。
 
 この矛盾を修正できれば、すばらしい理論的のに確かな発展が期待できそう。


21 :一歩:2007/10/05(金) 13:36:11 ID:243Bs6yK ?2BP(0)
>>14
囲碁の発展は、一人天才の発想でだけで生まれるものではありません。


22 :名無し名人:2007/10/05(金) 14:09:50 ID:JqIRRmnT
うん

23 :名無し名人:2007/10/05(金) 14:39:10 ID:gxe5XXdA
>>21
されど、1人の天才がいなければ発展は激しく遅れるのも然り

24 :名無し名人:2007/10/05(金) 23:54:32 ID:q8Fld3Uc
CrazyStoneに100万局に1局も勝てない日本囲碁ソフトはおよびでない

25 :名無し名人:2007/10/06(土) 00:45:23 ID:8dnZoo1B
もうソフトとかいらね
100目以上差が付くってなんだよカス杉
それにコンピュータの対局中の地合い評価・形成判断って明らかに変なときがあるし。
いや、死なんだろってところを勝手に死に石として数えてたり

26 :名無し名人:2007/10/06(土) 01:11:53 ID:SJiKLifJ
MOGOの9路やれ。

27 :名無し名人:2007/10/06(土) 02:17:52 ID:yVHLrsjo
関連スレ
ttp://game12.2ch.net/test/read.cgi/gamestones/1180110774/l50
ttp://game12.2ch.net/test/read.cgi/gamestones/1161215654/l50

12 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)