コンピュータ囲碁について・その4「そもそもコンピュータにとって囲碁は何故難しいのか」

※私はコンピュータの知識はあまりありません。
あくまで囲碁の専門家としての認識としてお考えください。

碁盤の上の世界は、宇宙に例えられるほど広いものです。
最も普及している19路盤では、初手で打てる場所が19×19=361箇所あります。
では19路盤で何通りの展開があるかといえば、一般的には361!(361×360×359×・・・)で表されます。
細かいことを言えば上下左右対称なので初手は91通りしかないとか、終局までに361手を超える可能性もある、
といったことはありますがとてつもない数字になることだけは間違いありません。

さて、コンピューターを囲碁で勝たせるにはどういう命令を与えれば良いでしょうか?その答えは、
1、しらみつぶしに可能性を検討する
2、パターンを覚えさせる
大雑把にいってこの2つになるでしょう。
1の方法では、膨大な計算と向き合わなければなりません。
20年ほど前、今から見れば遥かに性能の低いコンピュータではとても太刀打ちできませんでした。
よって2の方法がメインでした。
定石、手筋、石の生き死にといった、囲碁を打つ上で重要な要素をデータベース化して引き出す、という方式でした。
ただし囲碁におけるパターンというのは膨大な数が存在します。
また、それにどういった優先順位をつけるかというのは開発者の棋力に依存せざるを得ません。
囲碁ソフトの製作者はあくまで囲碁ではアマチュアであり、結果強いコンピュータはできませんでした。

ところが、コンピュータの性能は急激な上昇を続け、ついに361!に挑んでいく時代になりました。
1の方法をメインにするようになったのです。
開発者の棋力に関係なく、処理速度やプログラムの精度によって棋力アップが進んでいきました。
その結果がプロに3子では勝てないけれども、4子で勝つ・・・立派なアマチュア高段者の棋力に到達しました。
しかし、そこまでが限界でした。
2子、逆コミ、先、互先・・・と書くと互先に近いようにも思えますが、実際には長い長い距離がありました。
何事もそうだと思いますが、頂点に近づけば近づくほど1歩進むことは困難になります。
何といっても361!です。
どんな方法にしろこの壁を越えるのには相当な年月が必要だろう、それが「50年」と予想していました。
そう、2016年1月28日までは・・・。

2016年03月24日