2016年4月9日~10日にかけて、第1期将棋電王戦第1局が開催されました。
対戦する棋士はプロ棋士・山崎隆之叡王。これと対戦するのはコンピュータ将棋ソフト・Ponanza(ポナンザ)。その結果は・・・残念ながら人間が将棋ソフトに負けてしまいました(第1期 電王戦)。
Ponanza、実に強いです。
ここ数年のコンピュータ将棋の成長ぶりはすさまじく、人間が太刀打ちできるレベルは、とうに超えてしまったような気がします。
それでもこのような『プロ棋士 V Sコンピュータ将棋』という対戦が行われるのは、『人間 VS コンピュータ』という構図にロマンがあるからでしょうか。
この将棋電王戦の第2局は、5月21日~22日に開催されます(第1期 電王戦)。
次こそは人間に勝って欲しいと思います。
ところで、この将棋電王戦第1局で勝利したPonanzaとは、どんな将棋ソフトなんでしょうか。興味がわいたので調べてみました。
Ponanzaって何?
Ponanzaとは、開発者は山本一成氏と下山晃氏が開発したコンピュータ将棋ソフトです。お二人はどちらも東大卒。どうりでPonanzaも強くなるはずだ・・・
山本氏が東大在籍中に、個人でPonanzaの開発を開始しました。
最初はそれほど強くなかったのですが、年を追うごとにどんどん強くなっていきました。
世界コンピュータ将棋選手権での歴史を見てみますと:
- 2009年:一次予選で敗退(13位)
- 2010年:二次予選で敗退(8位)
- 2011年:決勝リーグ 5位
- 2012年:決勝リーグ 4位
- 2013年:決勝リーグ 2位
- 2014年:決勝リーグ 2位
- 2015年:決勝リーグ 優勝!
コツコツと開発を続け、執念で優勝をもぎとった、そんな印象を受けます。
実際に山本氏の「Ponanzaを強くしたい」という意思は強烈だったようで、「Ponanza強くしたいBOT」なるものまで作っています。
→ Ponanza強くしたいBOT(@PonanzaT)さん | Twitter
Ponanza強くしたい。
— Ponanza強くしたいBOT (@PonanzaT) 2015年6月23日
まだ夜は始まったばかりだぜ。
コードを書くんだ。— Ponanza強くしたいBOT (@PonanzaT) 2015年6月10日
昨日の改良も上手くいかなかった。
考え直し。— Ponanza強くしたいBOT (@PonanzaT) 2015年6月9日
悩みながら苦労して開発されている様子がよくわかります。
栄光の陰に人知れぬ努力ありです。
ですが、最近はBOTの更新が止まってるようです・・・
Ponanzaという名前の意味
Ponanzaという名前は、BONANZA(ボナンザ)からモジッて付けただけです。
特に意味は無いようです。
こちらの文書で開発者・山本一成氏がそう書いています。
→ 第20回世界コンピュータ将棋選手権 アピール文書
軽いジョークがいい感じに効いている資料です(笑)
じゃあBONANZAって何?
BONANZAもコンピュータ将棋のソフトウェアです。
開発者は電通大の准教授・保木邦仁氏。
開発当初、氏は将棋のルールも知らないほどの初心者だったのですが、趣味で将棋ソフト・BONANZAの開発を開始したといいます。
開発開始が2005年。
翌年の2006年にはもう、第16回世界コンピュータ将棋選手権に出場しました。
その結果、初出場で初優勝という偉業を成し遂げてしまいました。
ミラクルです。BONANZAの名前は一瞬で有名になりました。
BONANZAが画期的だったのは、この手は良い、この手は悪いという評価をする『評価関数』を、人間が手動でプログラムするのではなく、棋譜から自動生成するようにした点です。そのため、将棋ソフトの機械学習が一気に効率化されました。
2006年11月には、このBONANZAのソースコードが公開され、自由に利用できるようになりました。この後BONANZAのライブラリを使った将棋ソフトが多数、世界コンピュータ将棋選手権に出場しました。
このコードは現在でも次のサイトからダウンロード可能です。
→ コンピュータ将棋選手権使用可能ライブラリ
ちなみにPonanzaは、このBONANZAのライブラリは使用していません。
Ponanzaの特徴
コンピュータ将棋ソフトは、現在のところ、自分が指せる指し手を先読みして評価し、最も評価点の高い手を採用する、という考え方で動作しているようです。
序盤は終盤よりも指し手の可能性が多いので、最良の手を選ぶには、数多くの先読みが必要となります。よって一般的には、コンピュータ将棋ソフトは序盤戦を苦手としているとのこと。
Ponanzaは、序盤戦での弱さを克服すべく、定石によらない独自の指し方をするようにプログラムされているそうです。
この点は開発者も特にアピールしたいポイントのようで、2015年将棋電王トーナメントの自己PR文書でも大きく触れています。
Ponanzaの序盤の定跡はプロ棋士に頼らず独自の方向性を出せるように学習している。基本となる技術は、序盤の局面を強化学習の世界で見られる多腕バンディット問題と捉えてより良い手を探すようにしている。
Ponanzaはこれまでも度々大きな舞台で従来のプロ棋士の体系だった序盤を逸脱するような手を指しつつ、勝利を収めてきている。今度の電王トーナメントでも観客の皆様にはこれまで見たことのない戦いを見せることができたらと考えている。
(http://denou.jp/tournament2015/img/PR/Ponanza.pdfより)
もちろんその他にも、処理の高速化や、評価関数の精度向上のために、様々な工夫がなされていると思います。
強くなる努力は、地道な作業の繰り返し・・・
↓
昨日の改良も上手くいかなかった。
考え直し。— Ponanza強くしたいBOT (@PonanzaT) 2015年6月9日
Ponanzaはダウンロードできません
時々、本ブログにPonanzaのダウンロードを求めて訪問される方がおられます。
しかし残念ながら、Ponanzaは無料配布されておりません。
ダウンロードサイトも存在しません。
Ponanzaではなく、BONANZAならば無料配布されています。
こちらのサイトからダウンロードできます。
→ コンピュータ将棋選手権使用可能ライブラリ
開発者の山本一成氏、次は囲碁ソフトに参入か!?
Ponanza開発者の山本氏は、次は囲碁ソフトへの参入を検討されているようです。
ツイッターで、開発する囲碁ソフトの名前も検討されています。
→ 山本一成氏、コンピュータ囲碁に参入へ
今度作る囲碁プログラムに名前を考えているのですが・・・どれがいいでしょうか。
— 山本一成@Ponanza電王 (@issei_y) 2015年11月24日
PonanGO, Gonanza, PonanzaGO Giganza などの名前が挙がっています(^^)
Googleのアルファ碁に匹敵するような強豪ソフトになりそうな予感がします。
完成が楽しみです。
第1期電王戦の棋譜
Ponanzaの第1期電王戦の棋譜は、こちらにあります。
→ 第1局の棋譜(2016年5月21日)
→ 第2局の棋譜(2016年5月22日)
対戦者:山崎隆之叡王
結局、第1期電王戦第2局もPonanzaが山崎叡王に勝利しました。
強い。実に強い。
来年こそは人間に勝って欲しいです・・・
Ponanzaの次の対戦は?
人間のプロ棋士相手にも勝てるほど強くなってしまったPonanzaですが、次に対戦するプロ棋士は決まっているのでしょうか。
ここまで強くなると、プロ棋士からもPonanzaは敬遠されそうです。
そこで気になるニュースがありました。
数々のタイトルを獲得している羽生氏だが、これまで人工知能とは対局していない。この日の取材会で、人工知能と対決について聞かれると羽生氏は「番組の放送が15日で、この段階でそのことについては何も言えない」としたが、続けて「近々のうちに何かのアナウンスがある。これ以上は何も言えない、すみません」と含みをもたせた。
(引用:http://www.excite.co.jp/News/entertainment_g/20160509/Oricon_2071340.html)
もしかすると、次は羽生善治氏がPonanzaと対戦するかもしれません。
もしそうれば、大ニュースです。
続報が待たれます。