(単純な)暗号の総当り解読と一番違うのは,ある部分で探索された結果が他の部分の探索に影響を与えることだと思います.(直感的な説明をすると)ある手 A が良い手だとわかった場合には,他の手 B がそれ程良くないとわかった場合には B を読まなくて済むことが多くあります.一方で並列に A と B を読んでしまうと A での情報を B では使えないため,B での探索の効率が悪くなります. #A を読んだ後に B を読めば,時間が 1 + 0.5 で 1.5 となるところ #A と B を同時に読んでしまうと各 CPU がそれぞれ 1 読むことになる
当然,1.5 より 1 の方が時間は短かいですから CPU を増やした方が良いことは良いのですが,増やせば増やす程効用は減って行きます.なので暗号の総当たりのようにはいでしょうねぇ. #当然,現在トップレベルのプログラムはほとんど並列化はしているようです
マシンスペック (スコア:2, 参考になる)
チェスの時には専用スパコン [wikipedia.org]でしたから、だいぶ大人しいスペックですね。
もしスパコンを使っていたら、勝負はどうなっていたんでしょうか。
スパコン向けにアルゴリズムから組み直さなければいけないのかもしれませんけど。
Re:マシンスペック (スコア:0, 余計なもの)
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:5, 興味深い)
限られたリソース(CPUやメモリ、時間)の中ではすべての手を読むことができない以上、どこかで先読みに見切りをつける必要があるわけですが、
その際のアルゴリズムはもちろん、処理時間や利用可能なメモリ容量とのパラメータ調整が非常に難しいとのことです。
後でログから分析すると、「あと数手先を読んでいれば、このような手は打たなかっただろう」ということがよくあるそうで。
やはりスペックが良いだけでもそれなりにメリットはあるとのこと。
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:0)
モンテカルロ法で囲碁、将棋 [ocn.ne.jp]
Re:マシンスペック (スコア:0)
コンピュータのスペックアップやアルゴリズムの改善を待たずとも、たとえば今回使用したのと同じスペックのコンピュータを
10台、100台、1000台用意して分散処理すれば、同じ時間でだいぶん強くなりそうな気がするのですが、どんなものでしょうか?
Re:マシンスペック (スコア:1)
(単純な)暗号の総当り解読と一番違うのは,ある部分で探索された結果が他の部分の探索に影響を与えることだと思います.(直感的な説明をすると)ある手 A が良い手だとわかった場合には,他の手 B がそれ程良くないとわかった場合には B を読まなくて済むことが多くあります.一方で並列に A と B を読んでしまうと A での情報を B では使えないため,B での探索の効率が悪くなります.
#A を読んだ後に B を読めば,時間が 1 + 0.5 で 1.5 となるところ
#A と B を同時に読んでしまうと各 CPU がそれぞれ 1 読むことになる
当然,1.5 より 1 の方が時間は短かいですから CPU を増やした方が良いことは良いのですが,増やせば増やす程効用は減って行きます.なので暗号の総当たりのようにはいでしょうねぇ.
#当然,現在トップレベルのプログラムはほとんど並列化はしているようです
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:0)
先読みもそのための評価基準も作り易いけど、
将棋は一旦取った駒を再利用することで無限数の手数になる。
(数学的に有限か無限かは証明されてないと思うけど)
並列処理により評価能力が上がったからといって、
どこかで能力的には頭打ちになると思う。
人間とコンピュータの限界、どちらが先かは別として、
「直感」に勝るAIは今のシステムでは生まれないと思う。
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:1)
> (数学的に有限か無限かは証明されてないと思うけど)
千日手のルールがあるから、無限にはなり得ないのではないでしょうか。
Re:マシンスペック (スコア:0)
『将棋においては駒の配置、両対局者の持ち駒の種類や数、手番が全く同じ状態が1局中に4回現れると千日手になる。』
たとえ有限回数としても、この条件を満たすのはかなり無限に近い気がするね。
むしろ「この局面なら千日手で流してしまったほうがいい」と判断できたら、人間と対等になれるかもしれない。
Re:マシンスペック (スコア:0)
「駒の配置、両対局者の持ち駒の種類や数、手番」
の組み合わせも有限であり、
従って同一の局面を避けながら無限に打ち続けることはできません。
現状想像し得る演算能力と比較して無限にも等しいという点には同意します。根拠はないけど。
「直感」 (スコア:0)
たしか序盤は定石、終盤は読み切れるので、問題はそれ以外の部分だったはず。手数が爆発的に増えるので、評価木を作るにも何十手かで探索を打ち切って、その場面を評価しなければいけません。
「直感」というものは過去の経験の積み重ねによるものが多いと思われます。ということで、過去の棋譜と、その場面ごとの最善手(と思われる手)を記録させておき、パターンマッチを評価関数に含めれば、かなりいけそう。少なくとも同じ手では負けません。
そんな妄想をした十数年前。
Re:マシンスペック (スコア:0)
それこそ人間の「直感」なわけですが。
何もないところに突然神の天啓があるとでも思ってんの?
Re:マシンスペック (スコア:0)
……で?
Re:マシンスペック (スコア:0)
どこかでレス読みに見切りをつけたのでしょう.
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:0)
結局この手の事態はコンピュータが読んだ最終局面そのものを評価することが難しいために起きています。
簡単にいうと既存のアルゴリズムはある局面の評価を、「それまでにどれくらい駒が取れたか(取られたか)」によって評価しています。
例えば、21手先までに飛車と角を取れる筋があったとすると、この21手先の局面は高評価なわけです。
しかし、この21手先の局面の数手先で自分の王が取られてしまうならこの局面は明らかに駄目ですよね。
ってなわけで、より強いアルゴリズムになるためには局面そのものを評価する必要が出てきます(この局面そのものの評価が人間で言うところの直感だと思います)。
局面そのものが形によって評価出来るなら、コンピュータが読んだ最終手に限らず途中の読み筋の枝きりにも使えるわけです。
しかし、コンピュータは「形」を認識することが不得意(というか計算負荷が高い)なため、現在色々と試行錯誤されている状況ですね。
Re:マシンスペック (スコア:0)
>限られたリソース(CPUやメモリ、時間)の中ではすべての手を読むことができない
>以上、どこかで先読みに見切りをつける必要があるわけ
羽生名人が以前「限られた時間で全ての手を読むことは不可能なのである程度
の目星をつけて考える」なんてこと言ってましたので人間も同じですね。