白石勇一の囲碁日記

囲碁棋士白石勇一です。
ブログ移転しました→https://note.com/shiraishi_igo

コンピュータ囲碁について・その7「第2局・ヨセの強さが想定外」

2016年04月02日 23時34分43秒 | AI囲碁全般
なんとも不思議な一局でした。
http://gokifu.net/t.php?s=371458823244731
黒15、あり得ません(笑)
序盤で決める意味が全くなく、明らかに損です。
話題になった黒37のカタツキですが、多くのプロが驚くほど突飛な手だとは思いません。
しかし、良い手ではないでしょう。
白64、白70・・・慎重な打ち方ですが良くない感じがします。
お互いミスが数手あったようですが、黒129となってヨセに入ったあたりでは黒やや優勢というところのようです。
しかし、ここからアルファ碁がどんどん差を広げていきます。
黒157からのヨセは、簡単には見付けられないないものでした。
白166に対して手を抜いたのも驚きです。
その他のヨセも完璧でした。

ヨセというのは1局の総仕上げであり、ここで勝敗が入れ替わることはよくあります。
しかし、アルファ碁はヨセに入ったらほとんどミスをしない・・・
人間視点で考えれば、ヨセに入る段階ではっきりリードしていなければ勝ち目がないということになります。
この時点で、多くのプロ棋士はコンピュータが人間を超えたと感じました。
しかし、アルファ碁の真価はこれだけではありませんでした。

コンピュータ囲碁について・その6「世界に衝撃走る」

2016年04月02日 23時31分46秒 | AI囲碁全般
アルファ碁対李世ドル九段の世紀の五番勝負、緒戦はなんとアルファ碁の勝利でした。
世界中のアマやトッププロ棋士、囲碁を打てない方にまで衝撃が走りました。
こんなことがあって良いのか・・・。
可能性としては考えていましたが、やはり実際に結果を見ると呆然としてしまいました。
しかし内容としてはどうでしょうか。
この対局は李九段に油断があったように思えました。

http://gokifu.net/t.php?s=8291458821037868
黒7の手はバランスが悪く、プロが打ちたい手ではありません。
明らかにコンピュータの力量を試した手です。
前例がない手に対してどう対応するか見ようとしたのでしょう。
黒23が恐らく打ち過ぎで、白24からの反撃が強烈でした。
「感覚」で言えば白は無理な形ですが・・・このあたりの強さはディープラーニングとモンテカルロ法のハイブリッドという印象があります。
白82からのサバキは華麗ですが、結果はどう見ても白損です。
白102は李九段も予想しなかったであろう鋭い手ですが、白106は大悪手です。
黒が追いついたように見えました。
しかし黒123が問題で、隅の地を取られて黒負けになりました。
白も130という酷い悪手を打っているのですが・・・黒のミスの方が大きかったようです。

このように、李九段がミスによって負けた印象を持ちました。 
よって1敗を考慮に入れてもこの五番勝負は李九段が勝つだろう、と却って希望を持ったのでした。
しかし、その予想は大きく裏切られる結果になりました。

コンピュータ囲碁について・その5「アルファ碁登場」

2016年04月02日 23時23分51秒 | AI囲碁全般
2016年1月28日、とんでもないニュースが飛び込んできました。
「アルファ碁、プロ棋士に初勝利」
最初は、9路盤で勝ったのだろうと思っていました。
9路盤というのは19路盤に比べて遥かに世界が狭く、プロが負けるのは早いと思っていました(それでも、実際にはプロに勝てていなかった)
しかし聞けば19路盤だということ。
わずかの期間に一体何が起こってしまったのか・・・

慌てて情報を集めたところ、このアルファ碁がディープラーニングの技術を用いていることがわかりました。
ディープラーニングについての知識は殆ど持っていませんでしたが、私はこう理解しました。
「必要な情報だけを抽出する技術」
囲碁でいえば、「良さそうな手だけを考える技術」ということになります。
囲碁の初心者であれば広い盤面の中でどこに打ったら良いのか全くわからないと思いますが、
棋力が上がっていくにつれて「良さそうな手」というのは直感で浮かぶようになります。
コンピュータが直感を身に着けたとなれば、もはや囲碁の広大な世界をしらみつぶしに探索する必要がありません。
コンピュータが人間を越すということは、「直感で」理解できました。

さて、実際に対局を見てみますと、対局者のプロ棋士の方は一般にイメージされるプロ棋士ではないことがわかりました。
私は中国のプロ組織についてあまり知識がありませんが、恐らく現在中国のプロ棋戦に参加しているわけではないと思われます。
棋力としては私に2子ぐらいではないかと感じました。
しかし、その相手に5連勝ということは、アルファ碁は先以上の差があると考えられます。
実際に棋譜を見た感じでは、私に先で良い勝負と感じました。

http://gokifu.net/t.php?s=1031458817521643
白36からの打ち方、こういうことをコンピュータがやるのは初めて見ました。
そして白58!これがまさに感覚の一手です。
従来のコンピュータですと傷を正直に守る手しか打てなかったでしょう。
この手を見た瞬間に、近い未来に人間が負けることは確信しました。
問題はそれがいつなのか・・・。
李世ドル九段との決戦は5ヶ月後ですから、相当な進化を遂げていることは間違いありません。
それでも希望的観測を込めて、李世ドル九段の勝利を予想していました。

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

2016年04月02日 23時16分41秒 | AI囲碁全般
※私はコンピュータの知識はあまりありません。
あくまで囲碁の専門家としての認識としてお考えください。

碁盤の上の世界は、宇宙に例えられるほど広いものです。
最も普及している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日までは・・・。

コンピュータ囲碁について・その3「隣の世界で異変が・・・」

2016年04月02日 23時12分58秒 | AI囲碁全般
元々ある程度強かったコンピュータ将棋。
コンピュータの進歩と共に爆発的に棋力を上昇させ、とうとうプロ級になってしまいました。
2010年、清水市代女流2冠に勝利。
2012年、米長邦雄永世棋聖(2003年引退)に勝利。
そして2013年、プロ棋士5人との団体戦(第2回将棋電王戦)で3勝1敗1引き分けで勝利。
名実共に人間を凌駕してしまいました。
種目は違えど将棋界と囲碁界は兄弟のようなもの。
将棋棋士の苦悩は容易に想像できました。

ただ、この時点では囲碁界にその時代が来るのはまだまだ先だと思っていました。
2010年、「ERICA」とプロ棋士藤沢里菜初段(12歳)が6子で対局、藤沢初段が勝利。
2012年、「Zen」が武宮正樹九段に5子と4子で2連勝。
2013年、「Zen」が 二十四世本因坊秀芳に4子で負け。
2014年、「Crazy Stone」が依田紀基九段に4子で勝ち、「Zen」は負けて合わせて1勝1敗。
2015年、「Dolbaram」が二十五世本因坊治勲に4子で勝ち。「Crazy Stone」は3子で挑み、負け。
「モンテカルロ法」により、確かにコンピュータ囲碁は大幅に進歩しました。
しかし2012年から2015年にかけては明らかに停滞しており、現在の技術の限界を感じさせました。
1、コンピュータの処理速度そのものをとてつもなく進化させる
2、革新的なプログラムの誕生
人間を超えるにはどちらか、あるいは両方が必要になるのは明らかでした。
私の見積もりはこの時点でも変わらず「50年後」でした。
その理由は、その4にて。