レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
おちゃめくらぶ掲示板
-
コンピュータは人間を超えられるか・・・?
コンピュータがついに将棋でプロ棋士に勝利したにょ。
http://pc.watch.impress.co.jp/docs/news/20101012_399491.html
チェスにおいては1996年にIBMのスパコン「ディープブルー」を用いて世界チャンピオンに
対して勝利を収めているけど将棋の場合は手数がチェスよりも桁違いに多いため
コンピュータがプロ棋士に勝つのは当分先と思われていたにょ。
そしてついに今回その歴史的瞬間になったわけにょ。
次は男性棋士、そしてそれに勝てればトップ棋士との対局を予定しているにょ。
使用されたマシン「あから2010」のスペックを見てみるとXeon 2.8GHz(4コア) 109台、
Xeon 2.4GHz(4コア) 60台の合計169台(676コア)というスパコン並の性能を持つクラスタ
コンピュータにょ。
人間のように感覚によって数手先まで読んでいるのとは異なり、コンピュータの場合は
数値化されたものからしか判断ができないため思考ルーチンが非常に重要となってくると
同時にマシンスペックも重要になってくるにょ。
何せ読む手数が増えれば増えるほど指数関数的に分岐が増えていくからね。
「打てる箇所が少ない」かつ「最大60手で試合終了」となるオセロの場合は将棋よりも
圧倒的に少ない分岐になるにょ。
そのためすでにスパコンなんて使わなくても世界チャンピオンに勝てるレベルに到達して
いるにょ。
というのも中盤以降は最終手まですべての手を読み切ってしまうからにょ。
さすがに第1手からすべての手を読むというのは現時点でもまだ難しいけどすでに6x6の
盤面サイズでは最善手順が分かっており(両者が最善手を差せば16対20で後手が必ず勝つ
らしい)8x8の一般的な盤面サイズにおいてもそうなるのは時間の問題だと思われるにょ。
オセロはシンプルなゲームであるが故に昔からコンピュータ対戦がよく行われたにょ。
簡単な思考ルーチンであればプログラムサイズは数KBで済むためにメモリが少なかった
8ビットのパソコンやポケコンにおいても良く作られたにょ。
私もポケコンでオセロを作ったこともあるにょ。
さて、思考ルーチンというと言うと難しく考えるかもしれないけど単純に自分ならば
どう打っていくかというのをコンピュータで行えば良いので難しいことではないにょ。
ただ、その際には「何手読ませるか」ということも重要になると思うかもしれないけど
それは「まともな思考ルーチン」(後述の「評価関数」)があってこそ意味があるにょ。
実はオセロの場合は序盤は(極論を言うと)あまり相手の駒を取らない方が有利になる
ため単純に「より多くの駒が取れるような場所に置く」というのは先読みすることで弱く
なる可能性があるにょ。
実際に私はポケコン(PC-1350)を用いて友人が購入した最新鋭のパソコン(PC-8801SR)
とでお互いがBASICで作ったオセロプログラムで対決したけど友人は取れる駒を考えた
1手先読み機能付き、私は駒を全く考えない盤面評価のみで対決して私の方が勝利した
くらいだからね。
盤面評価というのはどんなものかというと下記のように盤面にあらかじめ点数を付けている
ものにょ。
そして駒が置ける中で「最も点数が高い場所に置く」というごく簡単なものにょ。(同じ
手を繰り返さないように各場所にあらかじめ0〜1の乱数をプラスしておく)
9 1 8 6 6 8 1 9
1 1 7 3 3 7 1 1
8 7 5 5 5 5 7 8
6 3 5 0 0 5 3 6
6 3 5 0 0 5 3 6
8 7 5 5 5 5 7 8
1 1 7 3 3 7 1 1
9 1 8 6 6 8 1 9
これを見てのように四隅は点数が高いので優先的に取るようになっているし、その隣は
四隅を相手に与えないように低めの点数になっているというのが分かると思うにょ。
このような盤面評価も序盤と中盤、終盤では価値が変わってくるため一律ではなく変える
方がより有利になるにょ。
また、盤面だけではなく置いた駒によっても評価値は随時変動させていく必要があるにょ。
強い思考ルーチンを作るためにはより良い評価関数を作ることがまず最重要課題となる
わけにょ。
良い評価関数が出来た場合に先読みすることでさらに思考ルーチンが強化されるわけ
けだど1手先読みするごとに指数関数的に手順が増加する(10カ所置けるならば6手先読みを
すれば1000000も探索する必要がある)ためにマシンスペックが有限である以上はすぐに
限界が訪れるにょ。
縦型分岐において評価値が相手にとって低く自分にとって高いものを選択するという
minimax(ミニマックス)法はポピュラーだけどその場合は不必要な分岐も探索することに
なるため考案されたのがαβ法にょ。
この場合はあらかじめ自分にとって低く、相手にとって高くなるような分岐は探索しない
(αカット、βカット)をすることで探索する数を減らすというものにょ。
これによって、先読みした場合の思考時間を大幅に減らすことが可能になるにょ。
単純に考えると人間が考えた思考ルーチンだからコンピュータが人間に勝てるわけがない
と思うかも知れないけど実際は人間はすべての手順において探索しているわけではない
(最善手を打っているわけではない)ために一定以上の性能のPCがあれば人間(その思考
ルーチンを作ったプログラマ)よりも強いものができてしまうにょ。
オセロの場合はその「一定以上」という基準が低いために一般的なPCであれば「自分より
強いオセロゲーム」を作るというのはそんなに難しくはないにょ。
さて、ここでコンピュータ将棋に話を戻すにょ。
私はコンピュータ将棋を作ったことはないけど評価関数を作り、縦型分岐で探索するという
基本的な流れはオセロも将棋も変わらないと思われるにょ。
評価関数を作るのが難しいというのと分岐数が多いというだけの話だからね。
確かに、強くするにはアルゴリズムの改善も重要だけど持ち時間がある以上はマシン
スペックも重要になってくるにょ。
コンピュータの進化(高性能化)によってこの度ついにプロ棋士に勝つことが可能になった
ということが言えるわけにょ。
今回勝ったことで数年以内にはトップ棋士に勝てる見込みが出てきたけどそうなると次は
囲碁の番かもしれないにょ。
囲碁は将棋と比べて遙かに置ける場所が多いため現在はプロ棋士どころかアマの有段者
相手に勝つのも厳しいレベルだからね。
しかし、このままコンピュータが進化し続ければいつかは囲碁においてもトップ棋士に
勝てる時代は訪れると思われるにょ。
人間は将棋をすべての手を読んでいるのではなく感覚やセンスによって分岐枝を減らし
短時間でより効果の高い思考をしているにょ。
しかし、コンピュータの性能向上によってその感覚やセンスを演算速度でカバー可能な
レベルになってきているということがが分かるにょ。
ボードゲームから離れるけどGoogleが自動運転カーのプロジェクトを発表したにょ。
http://www.itmedia.co.jp/enterprise/articles/1010/10/news002.html
「コンピュータは(思考ルーチンにバグがない限り)ミスをしない」ために人間と同じ
ようなレベルで判断可能であればコンピュータの方が安全といえるにょ。
1つのことに特化されたコンピュータが完全に人間を超える日がやってくるのは時間の問題
といえそうにょ。
|
|
|
掲示板管理者へ連絡
無料レンタル掲示板