2012年5月3日木曜日

コンピュータ囲碁について

コンピュータ囲碁について

コンピュータ囲碁を作るのは、どのくらいの難易度なのでしょうか?

チェスとか将棋は簡単にできると聞きましたが、囲碁についてはかいていなかったので質問しました。

教えてください。よろしくお願いします







囲碁のほうが難易度が高いのは、方法論がほとんど確立していないということが理由です。もし作るなら、方法論を独自で作り出す必要があります。チェスや将棋の場合、かなり確立していて、本も論文もたくさん出ていて、容易に学ぶことができます。



囲碁は序盤が難しい、というのが一番の問題点だと思います。

将棋やチェスの場合、序盤は定跡がありますから、たくさん登録しておけば、先読みの必要がありません。登録したものの採用率は、相手が強ければかなり高いと思います。

しかし、囲碁の場合、定石はありますが、それは四隅それぞれについてであって、全体としてはその組み合わせが必要であって、組み合わせの数は膨大になり、登録がほとんど不可能です。

また、全体としての定石は布石と言われていますが、それらはある程度決まった形はありますが、登録されたものを相手が採用する率はきわめて低いと思います。

ということで、囲碁では序盤をいかに切り抜けるかということが大きな問題です。



また、中盤の問題点として、ほかの方が書いておられるように、地が確定しないまま進行することが非常に多く、広い盤面のどこに地ができるかわからないうえ、確定しないので、何手も先読みしても、評価値を計算して、その値で比較することができない、という問題点があります。

つまり、確定している地と、中途半端で確定していない地とをどうやって、比較するのか、ということですね。

先読みできるのは、せいぜい十数手で、そこで、比較できないなら、先読みする意味がなくなります。

このようなゲームの性質から、将棋の先読みで、よく問題になる地平線効果が、囲碁の場合、ずっと出やすいのではないでしょうか。

ただし、部分的な読みはそれなりにできると思います。部分の読みをまとめて、全体として有機的に先読みすることができる柔軟なプログラムなら強いソフトができるのではないでしょうか。



囲碁の終盤は、コンピュータ将棋の終盤のように確実に計算できるので、ここについては、すでに人より上です。



最近、モンテカルロ法というものが出てきました。それは、ルールに合うようにランダムに最後まで打たせて、多く実行させたときの勝率で手を決めるという冗談のようなものです。しかし、なんと、それが好成績を挙げているようです。

このことは、囲碁では、特に中盤までの手の先読みが、うまくいかないことを象徴してるようです。








囲碁は、チェスや将棋と違って一部、例外もありますが

自由に打てます。

チェスや将棋は指すところはたいてい決まっているので作るのが

簡単なんでしょう。

地合計算や形勢判断などが難しいことや

定石をしっかりとプログラミングするからでしょう







地の数を数えるのが難しい。将来地になるところなどの予想というか、自分の頭の中にある程度描いて打つものと思うけど、ソフトにそれをやらせようとすると難しい。

局面の点数判断とか。



どのくらいのと言われると、わかんない。

目標をどことするかがないし・・・



へぼでもいいんならば、ルール自体は囲碁の方が少ないから簡単だと思いますけど?

グラフィックとかいろいろ考えて。







自分でブロックダイアグラムを書いてみればすぐに分かるでしょう。

まず、勝ちを判定(地を定義するだけで難しいですね)するだけでも難しいです。



知らない人に地を教える苦労を考えてみれば分かります。

0 件のコメント:

コメントを投稿