琥珀色の戯言

【読書感想】と【映画感想】のブログです。

【読書感想】ドキュメント コンピュータ将棋 ☆☆☆☆



Kindle版もあります。

内容紹介
プロ棋士と互角以上の戦いを繰り広げるまでに進化した将棋ソフト。不可能を可能にしてきた開発者たちの発想と苦悩、そして迎え撃つプロ棋士の矜持と戦略。天才たちの素顔と、互いのプライドを賭けた戦いの軌跡。


 現在、これまでの3回の『電王戦』を受けての『電王戦FINAL』(読み方は「でんおうせん」に、第2回から統一されているそうです)が開催されています。
 第3回までの通算対戦成績は、人間側(プロ棋士)の2勝8敗1引き分けと、コンピュータが人間を圧倒しているのです。
 ところが、現在開催中の『FINAL』では、斎藤慎太郎五段がApery、永瀬拓矢六段がSeleneという強豪コンピュータ将棋ソフトを連破し、人間側の意地を見せています。
 僕は「今回は人間の5連敗もありうるのでは……」と危惧していたのですが、そんなことにはなりませんでした。
 背水の陣となった今回は(というか、前回の時点で、もう人間側は水に落ちてしまった感もあるのですが)「人間側が対戦相手のコンピュータ将棋を研究し尽くして、その弱点をついていく」という、「人間対人間」のタイトル戦のようなやりかたで、プロ棋士たちは「勝ちにきている」のです。


 その結果として、第1戦は、Aperyが敗色濃厚な場面でもなかなか投了せず、詰みまで指し続けたことが「将棋の世界の作法に反しているのではないか」と批判され、第2戦は、永瀬六段が優勢の場面で、練習対局中に発見した「角の不成にソフトが対応できない」というプログラムの穴をあえて明かしてみせました。
 第2回、3回で、コンピュータ側が圧勝したことから、『FINAL』は、レギュレーション上、「事前に対戦するソフトをプロ棋士の側に貸し出し、その後はバージョンアップはしない」ことになり、使用できるコンピュータの性能が統一されたことなど、むしろ「コンピュータ側がハンデを科せられての対決」でもあるんですよね。
 それにしても、ここまでの2局の結果とその反響をみると、「人間らしさ」とは一体何なのだろう?というような、いささか哲学的な疑問も感じてしまうのです。

 敗勢の側がどのタイミングで投了を告げるべきかについては、二つの対照的な姿勢がある。プロかアマか、棋譜が残るかどうか、時間設定は秒読みか切れ負けか、などで事情は変わってくるので、ここでは棋士の公式戦というケースのみを限定して考えてみたい。
 一つは、初代名人宗桂名人以来の伝統で、棋譜を汚さぬよう、勝ち目がないと思った時点で投げるべき、という姿勢である。
 もう一つは、投了すれば負けで終わり、それまでなのだから、負けとわかっていても、頭に金を打たれて詰まされるか、駒を全部取られるまでは投げない、という姿勢である。
 どちらが正しいのか、という答えはない。程度の問題でもある。

 負けそうなときに、美しい棋譜を残すために投了するのが「人間らしい」のか、最後まで諦めずに指し続けるほうが「人間らしい」のか?
 プロ棋士の美学としては前者だとされてきたのですが、人間がミスをする生き物であるということを考えると、「諦めない」ほうが正しいのではないのか?
 『電王戦FINAL』で、プログラム上は、ある程度「評価点」の差がついたら「投了」というシステムにすれば良いはずの『Apery』が、あえて「最後まで指した」ことについては、開発者の意向があったようです。
 事前に相手の棋士に「最後まで指すことになるかもしれませんので、よろしくお願いします」と打診もしていたのだとか。
 僕のような素人将棋だと、大概、どちらかが詰みになるまで指してしまうことも多いですし、終盤に焦りからミスをするということがないコンピュータにとっては、最後まで指すというのは、勝つ可能性を上げるための戦略でもあるのです。
 「投げない」という点で、プロ棋士をも苦しめるコンピュータと素人将棋が同じ行動をとるというのは、面白い感じもしますね。
 『電王戦FINAL』の前に書かれていたはずのこの新書、『FINAL』で起こることを「予言」しているようにも思われるのです。


 この新書は、プロ棋士の世界と将棋ファンの橋渡し役として長年活躍されてきた著者による、最新の「プロ棋士とコンピュータ将棋、その開発者たちの物語」です。
 『電王戦』って何?という人にはちょっと敷居が高いでしょうし、ひとつひとつの対局について深く分析されているわけでもありません(将棋ファンにはおなじみの棋譜はあえて省いて、人間ドラマのほうに焦点をあてて書かれています)。


 僕も『月刊マイコン』(電波新聞社)というコンピュータ雑誌で行われていた「コンピュータ将棋の大会」を毎年楽しみにみていたくらいの、古くからのマイコン好き、将棋好きなので、「まともに人間と平手で戦えるレベルの将棋ソフト」が登場してきた時点で驚いていました。
 最初は「ルールに従って指せる」とか、「一手打つ間に居眠りするほど時間がかからない」だけでも、たいしたものだったので。
 それが、「森田将棋」くらいから実力を上げ、Bonanzaの「評価関数システムの構築」+Bonanza自身のオープンソース化によって、急速に強くなっていったのです。
 いまや、僕などコンピュータに手加減してもらわないと、全く勝負になりません。
 そして、これらの強い将棋プログラムの開発者たちの多くが「自分自身は、そんなに将棋は強くない」人々だったのです。
 開発者が、自分のソフトに勝てないのが当たり前。
 それでも、ソフトが自ら学習し、棋力をアップしていく。


 ただし、この本のなかでは、「コンピュータがバグのような理由で明らかにおかしい手を指した場合に、それに気づく能力があるかどうか」という点で、プログラミングする側にも棋力があったほうが良いのではないか、と考えている開発者も少なくないことが書かれています。
 そのうち、より強いコンピュータ将棋が、他のプログラムを「指導」する、というような世界になっていくのではないか、という気もしますけど。


 もちろん、まだまだコンピュータ将棋も完璧ではありません。
 コンピュータならではの「穴」もあります。

 現在のコンピュータ将棋選手権では、勝ち上がりのトーナメント方式ではないこともあって、千日手は指し直しではなく、引き分け扱いとする。この場合には、双方半星(0.5勝)が加算される。格上相手に千日手ならば実質勝利、とする考え方もできる。
 ならば最初から千日手でもかまわない、という考え方もあるのではないか。それが2010年に登場した、稲庭将棋のコンセプトだ。
 稲庭将棋は、今野剛人が開発したソフトである。ネーミングの由来は「稲庭うどんを食べたかったから」と当時聞いた記憶がある。
 コンピュータ将棋では「丸山スペシャル」と呼ばれる指し方があった。歩を一つも前に進めることなく、自陣の二段目から下で駒を動かしておくだけ、という指し方である。すると不思議なことに、相手は駒をぶつけて仕掛けてこない。駒がぶつからないうちに、やがては千日手になる、という考え方である。サッカーで例えるならば、一方が最初からペナルティエリア内に選手全員を引いて守っていると、相手はその中にまで攻め入ってこず、外でずっとボールを回している、という感じである。


 稲庭将棋はこのアイディアをさらに洗練させた。今野はアピール文書において、
「相手の時間切れによる勝利を積極的に目指す」
 と明快に宣言した。千日手辞さずの姿勢で早く指し、膠着状態の中で、相手だけが時間を使い、時間切れでの勝ちを目指す、というコンセプトである。
 これは対ソフトでしか通用しない考えである。人間ならば、アマ初段ほどの実力もあれば、すぐに稲庭将棋に勝てるだろう。好きなように陣形を組んで、どこかに戦力を集中させ、駒をぶつければそれで終わりである。


 これを「将棋」と言ってもいいのか?とは思うのですが、ルール違反、というわけでもない。
 これからもっとコンピュータの性能が進化していけば、究極的には「全部の手を最後まで読んで判断する」ということになっていくのかもしれませんが、現在のハードの性能と制限時間では、「不要な手を読まないようにすること」が高速化のためには不可欠です。
 でも、そうなると、電王戦第2戦のように「角が成らないという『想定外の状況』に対応できない」というケースも出てくるのです。
 いや、実際に人間対人間の真剣勝負の場面では、銀や桂馬のような、成ることによって働きがマイナスになってしまうことがある駒以外では、「不成」って、ありえないはずなんですよ。
 これからのコンピュータ将棋での「必勝法」は、「将棋の実力勝負」よりも、「相手のプログラムの隙をついて、エラーを起こさせること」になっていくのかもしれません。
 実際に、そういう戦略を追求しているソフトもすでにあるのです。


 この新書の最後のほうには、コンピュータ将棋の世界で、人間の棋士の世界よりもより早い周期で「世代交代」が起こっているということも書かれています。
 『Bonanza』や『ツツカナ』といった、コンピュータ将棋に大きな足跡を残したソフトの開発者たちの多くが「無期限休養」に入っているそうです。

 コンピュータ将棋界では「5年限界説」が唱えられることがあった。伊藤英紀の記述から引用する。

 「コンピュータ将棋の開発を始めて最初のうちはやるべきことが沢山あり、またそれらを実装すると自分のソフトが目に見えて強くなるため、励みになり喜んで開発する。しかし3、4年たつと既存の技術は主なものはおおむねやり尽くしてしまい、残ったものは細かいものばかりですぐ目に見えて強くはならなくなってくる。そうして改良のネタが見つからず、強くならないためだんだんモチベーションが下がってきて、5年くらいしたところで開発から撤退してしまう、という説である」(『コンピュータ将棋協会誌』2009年)

 
 コンピュータ将棋の開発は、ほとんどの開発者にとっては趣味の延長線上にある。楽しいから、という理由で続けている。とはいえ、楽しいばかりでもない。本気で強くしようと思えば、時間も労力も必要となる。
 就職、結婚など環境が変わり、仕事や育児が忙しくなったのを機に時間を取ることが難しくなる、ということもある。趣味なので、無理してつづけることでもない。このあたりは将棋の大会に出場するアマチュアプレイヤーの事情にもよく似ている。


 強豪将棋ソフト、『Puella α』(旧称『ボンクラーズ』)の開発者である伊藤英紀さんは、こう仰っているのです。
 たしかに、無料あるいは安価で遊べる強い将棋アプリが氾濫しているなかでは、これ以上強い将棋ソフトの開発というのは、「労力のわりに現実的な報酬は少ない」のは間違いないでしょう。
 それに、プログラムというのは、開発者が引退してもそのままこの世に残って、次世代に受け継がれていくのです。
 そうやって、将棋ソフトは急激に強くなっていったのだけれど、裏を返せば、既得権益で、長い間セーフティリードを保てる世界でもなくなってしまった。


 こうして、人間対コンピュータの将棋対決がどんどんクライマックスに向かっていく一方で、もし、羽生さんがコンピュータに負けたら、そこから先はどうなるのだろうか、とも思うんですよね。
 それはゴールなのか、「より強いコンピュータ将棋」を生み出そうとしていくのか。

アクセスカウンター