もう今年(2016年)も12月ですが、大晦日には電王戦合議制マッチが行われます。第3回将棋電王トーナメント(2015年)版のPonanza、nozomi、大樹の枝(多数決合議)と森下卓九段率いる3名の棋士が合議制マッチで対局するという企画です。

合議によって棋士側がどれくらいの力を発揮するのかが最大の注目点ですが、多数決合議によってコンピュータ側の棋力(レート)がどうなるのかも気になるところです。単純に考えれば、上位(Ponanza)と下位(nozomi、大樹の枝)とでレート差の離れた組み合わせですので、中間のレートになりそうな気もしますが、実際には検証してみないと何とも言えません(※記事の最後に付記)。運営が実機で技巧辺りと100局くらいテスト対局してくれれば、それなりに推定できますが、手間がかかることですので、期待はできないでしょう。

一方で、棋士側は、単純な多数決ではなく、話し合って指し手を決定します。大きく揉めない限りは、合議の効果が期待できそうです。少し視点を変えると、今回の合議制マッチは“直接民主制と熟議民主制の対決である”という見方もできるかもしれません。

さて、将棋における合議制には様々な先例があります。その中で個人的に最も印象に残っているのは、2013年6月22日のニコニコ超将棋会議で行われた投票将棋です。この対局は、西尾明六段に対して、ニコニコ生放送の視聴者が合議制で挑むというものであり、筆者も一視聴者として参加していました(足を引っ張っていただけですが)。ニコニコ生放送を利用した合議システムやフィッシャークロックルールの採用等、時代に先駆けた要素の多い企画であり、とても楽しいものでした。また、西尾六段の真剣な対局姿勢が深く印象に残っています。イベントの詳細は、『リスナー多数決でプロ棋士に挑戦「ニコニコ超将棋会議」観戦記』をご参照ください。棋譜も観戦記の最後に載っています。

対局内容も面白い将棋であり、(寄与は小さいですが)筆者自身が参加した対局だということもあって、新しいソフトを導入する際の検討テスト用の題材の一つとして使っています。前に激指14を購入した際にも同棋譜で検討を行い、先日、浮かむ瀬を導入した際にも検討を行いました。

結果として、激指14と浮かむ瀬(並びに技巧20160606版)で大きく見解が分かれる局面が現れたので、今回は、コンピュータ将棋の“進化”を身近に感じた実例として、その話を書きたいと思います。

課題局面は74手目△5三同飛の局面(下図)です。以下、評価値は末端で10億局面以上は読ませたものであり、符号は先手から見たもの(先手有利で+、後手有利で-)です。

後手の持駒:角 金 桂 歩四
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・ ・ ・ ・v玉 ・ ・v香|一
| ・ ・ ・ ・ ・ ・ ・v金 ・|二
|v歩 ・ ・ ・v飛v歩v桂 ・v歩|三
| ・ ・v歩 ・ ・ ・v歩 角 ・|四
| ・ ・ ・ ・v銀 ・ ・ ・ ・|五
| ・ 歩v銀 ・v歩 銀 歩 ・ ・|六
| 歩 ・ ・ ・ ・ 歩 ・ 飛 歩|七
| ・ ・ 金 銀 ・ ・ ・ ・ ・|八
| 香 桂 ・ 玉 ・ ・ ・ 桂 香|九
+---------------------------+
先手の持駒:金 歩三
先手:リスナー全員
後手:西尾 明六段

ここで、先手▲3三角成は△同金で後手勝勢になります(以下、▲2二飛成△3一金▲4五桂△2二金▲5三桂成△3二玉で浮かむ瀬-2654、技巧-1875)が、先手には▲3五角という秘策があり、この手があるために、先手側はこの局面に誘導しようという作戦でした。この▲3五角が成立しているかどうかが、ここでの検討課題です。

実戦では△5二飛と進み、ここで▲5三角成と角の押し売りをすれば、先手が分かりやすく勝勢だったというのが感想戦での結論でした(以下、△同飛▲2二飛成△5七桂▲同銀引△3二金▲1一龍△3一金▲3二金△5二玉▲3一龍△5七歩成▲同銀で浮かむ瀬+2550、技巧+2269)。

しかしながら、実戦では▲5三角成とは踏み込めず、▲5三歩△8二飛▲5五銀△2六歩▲同飛△2五歩▲2三歩△3五歩と進みましたが、これも悪い進行ではなく、先手が優勢であるようです(以下、▲5二銀△3一玉▲2二歩成△同玉▲2三歩打△同玉▲2四歩打△同玉▲4三銀△2二桂▲1六飛△5七歩成▲1五金△2三玉▲5七銀△4五角▲2四金打△1二玉▲3三金△7八角成▲5九玉△5八歩で浮かむ瀬+2653、技巧+2061)。特に、▲5五銀は、中央の銀を払って、同時にずっと懸案だった6六桂打を防いだ味のいい手であり、素人ながらに「これは行けるんじゃないか」と感じたことを覚えています。

しかし、△3五歩に対して▲5二銀ではなく、▲2二歩成と行ったのが悪手だったようで、ここから一気に形勢が逆転して(以下、△同飛で浮かむ瀬-1331、技巧-1254)、後手の西尾六段の勝ちとなりました。

激指14や浮かむ瀬等での検討によると、課題の▲3五角に対しては、△5二飛ではなく、△5七桂という切り返しの妙手があるようで、以下、▲同銀上△同歩成となった局面は詰めろなので飛車を取ることができません。この局面の評価が難しく、激指14と浮かむ瀬等とで評価が分かれます。

激指14の場合は、読みが浅い内は先手よりの互角を示し(PRO+で+273)、深く読ませても少し後手寄りになるものの互角の評価です(PRO+7で-83)。このため、過去に解析を行った際には、対応によっては難しくなるが、▲3五角は十分に成立している手であるという結論でした。

浮かむ瀬や技巧で検討を行うと、激指14では成立していると考えられていた手順が否定され、深く読んでいくと、後手優勢の評価となります(浮かむ瀬は1421億局面35/72で-1232、技巧は1074億局面37/68で-738)。

具体的に、▲3五角△5七桂▲同銀上△同歩成以下の局面を検討していくと、▲4二金なら、以下、△同玉▲2二飛成△3二金▲5三角成△同玉▲5四歩△4四玉▲5五銀△同玉▲4六銀△6四玉▲6五歩△同銀▲5五金△7三玉▲7一飛△8三玉▲5七銀△2二金▲6五金△3九飛▲5九桂△同飛成▲同玉△2六角で、浮かむ瀬-1363、技巧-1323となり、▲同銀なら、以下、△3五歩▲2二飛成△3一金▲6二龍△4五角▲7九歩△4四銀で、浮かむ瀬-1386、技巧-864となります。

その他にも様々な変化が考えられますが(記事の最後に大まかな分岐図を付記します)、詳細に調べていくと、後手が大きく優勢になるものが多く、▲3五角は厳密には成立していなかったのではないかというのが、浮かむ瀬や技巧での検討結果です。

筆者の目線から見れば、激指14も十分に強いソフトであり、浮かむ瀬や技巧がさらに強いと言っても、その差を実感することは余りないのではないかと以前は考えていました。しかし、実際に使って比較してみると、今回の検討のように、コンピュータ将棋の“進化”を体感することが意外とあることが分かってきました。無論、だからと言って、激指14が不要になったということではなく、普段の練習対局は棋力の微調整ができる激指を使っています。

ニコニコ超将棋会議は、プロに近いレベルから筆者のような素人レベルまで、様々な棋力を持つ人々が熟議して、合意形成を行い、多数決で指し手を決めるという正に熟議民主制の雛型のようなシステムで行われました。棋力の低い人でも票数のバランスを取ることで“多数決の横暴”を防ぐことに貢献したり、票を取りまとめる中で様々なアイデアが出て検討が深まっていったりという良い面も見られた一方で、▲5三角成に踏み切れなかった一貫性の欠如や劣勢になって崩れた時の脆さ等、悪い面も見ることができました。

大晦日の合議制マッチは、棋力が均質的に高い少数の棋士による合議ですので、ニコニコ超将棋会議とは全く違ったものになるかと思われます。将棋の内容のみならず、“合議”の進行がどうなるのかにも注目です。

-------------------

付記:多数決合議と楽観合議

レート差の近いソフトの多数決合議については、伊藤毅志先生の研究があり(「コンピュータ将棋の進歩6」参照)、Bonanza、YSS、GPS将棋(当時のレート差150以内)の多数決合議によって有意に強くなることが示されています。

多数決合議で強くなる機構は以下の簡単なモデルで示せます。

ある局面における合法手が最善手(正確には参加ソフトよりも十分に強いソフトの最善手)とそれ以外の手に分類できるとしましょう。合議する3者が最善手を選ぶ確率を、確率が大きい順(強い順)に並び替えて、ぞれぞれ

\[p_{1}, p_{2}, p_{3}\]

とします。多数決合議による指し手は、2者以上の一致/バラけた場合には最強者の選択で決まります。多数決合議により、最善手が選ばれる確率Pは、「2者以上が一致して最善手を選ぶ確率」と「最強者のみが最善手を選び、かつ他者の指し手が一致していない確率」の和であり、

\[P > p_{1}\]

となった時に、多数決合議は最強者よりも強くなることが期待できます。

簡単のために、

\[p_{2} = p_{3} = p_{1} - d\]

とします(d > 0)。その局面における有効な候補手の数をBとすると(B = 1の場合は必ず一致するので、B > 1)、

\[p_{1} = \frac{1}{B} + a\]

と書くことができ、aは正の値で、レートが高いほど大きくなる値だと考えられます。また、「最強者のみが最善手を選び、かつ他者の指し手が一致していない確率」は、

\[p_{1} (1 - p_{2}) (1 - p_{3}) (1 - \frac{1}{B - 1})\]

だと考えることができます。

この時、多数決合議が最強者を上回る条件は、dを小さいとして展開して1次まで取ると、Bにあらわに依らずに、

\[d < \frac{a}{2}\]

となります。つまり、最強者とのレート差が小さければ、多数決合議は機能し、大きければ、機能しないということが分かるわけです。

伊藤先生の研究では、レート差150以内の3者で上手く行ったわけですが、今回はそれ以上のレート差であること、また各ソフトのレートが当時よりも遥かに上がっていることから、実際にどうなるのかは未知数だと言えます。

さて、多数決合議は評価値の数値は参考にしておらず、「最善手」との一致率の向上を目指していました。一方で、評価値の情報を活かして、評価値の期待値を最大化するという方針の合議もあります。こちらの方が、ミニマックス法と相性がよく、実際に伊藤先生の研究等でも、多数決合議よりも良い結果を示しています。

一番簡単なのは、類似ソフトの合議において最も評価値の高い指し手を選ぶという楽観合議です。評価が分かれた時、各ソフトの評価が対等であれば、最も評価値の高い指し手を選ぶことで、評価値の期待値を向上させることができます。また、評価値の低い指し手を選ぶ悲観合議だと、逆の結果となり、勝率も下がるようです。

合議するソフトの性質が異なる場合には、評価値の規格化を揃えたり、期待値を計算する際のソフト毎の信頼性の重みを調整したり、次善手(他のソフトの最善手)の評価値の予測を調整したりすることが必要になるかと思われますが、伊藤先生の研究等では単純な楽観合議でも“経験的”に上手く行くようです(政治への応用はどうでしょう?)。

ここで注意が必要なのは、これらの合議の比較対象が1台であり、多数台対1台の不平等な比較になってしまっているという点です。本来は同じ台数同士で比較する必要があります。

多数台同士の比較をする場合には、各マシン間の情報のやり取りがどれくらい密/疎であるかが重要になります。メモリを共有しているような密な結合であれば、合議するよりも1つに力を結集する方が明確に強くなります。メモリを共有しておらず、マシン同士が離れた場所にある疎結合の場合でも、クラスタ化した方が強くなるようです(政治制度に例えると、軍隊/官僚化?)。ただし、システムの頑強性や作りやすさを勘案すると、合議制にも使い道はあり、実際に近年でも世界コンピュータ将棋選手権でPonanazaが活用しています。

(追記:2016年12月25日)

※「合議の効能:三人寄れば……」の記事でさらに詳細に考察しています。特に、楽観合議については別の考え方を記しました。

-------------------

付記:74手目△5三同飛以降の大まかな分岐図

△5三同飛▲3五角△5七桂
┣▲同銀上△同歩成
┃┣▲同銀△3五歩▲2二飛成△3一金
┃┃┣▲6二龍△4五角
┃┃┃┣▲7九歩△4四銀(浮-1386、技-864)
┃┃┃┣▲6八金打
┃┃┃┃┣△5二飛(浮-1432、技-1121)
┃┃┃┃┗△7五角
┃┃┃┃ ┣▲3七桂△7八角成▲同玉
┃┃┃┃ ┃┣△6一歩(浮-1317、技-681)
┃┃┃┃ ┃┗△5一金▲5三龍△同角(浮-1096、技-632)
┃┃┃┃ ┣▲5四歩△同飛▲3七桂△5一銀
┃┃┃┃ ┃┣▲7三龍
┃┃┃┃ ┃┃┣△3四角▲3五歩△7八角成▲同玉△5二金(浮-1420、技-901)
┃┃┃┃ ┃┃┗△7八角成▲同玉△5三飛(浮-1323、技-718)
┃┃┃┃ ┃┗▲6一龍△7八角成▲同玉△6七歩(浮-2377、技-1809)
┃┃┃┃ ┣▲6七歩△5一銀▲5三龍△同角▲7三飛△6四銀▲7四飛成△6五銀(浮-1587、技-1039)
┃┃┃┃ ┣▲2四桂△5二飛▲6一龍△5一歩
┃┃┃┃ ┃┣▲5三歩△同飛▲6七歩
┃┃┃┃ ┃┃┣△6六歩(浮-1723、技-1237)
┃┃┃┃ ┃┃┗△5四飛(浮-1243、技-930)
┃┃┃┃ ┃┗▲3七桂
┃┃┃┃ ┃ ┣△7八角成▲同玉△6七歩▲2三角△3二銀
┃┃┃┃ ┃ ┃┣▲6七角成△同銀成▲同金△6六歩(浮-1553、技-1621)
┃┃┃┃ ┃ ┃┗▲6三金△6八歩成▲同銀△5三金打(浮-2101、技-1615)
┃┃┃┃ ┃ ┗△7二角▲同龍△同飛▲6三角△5二飛(浮-1301、技-992)
┃┃┃┃ ┗▲6七桂△同銀成(浮-1612、技-1237)
┃┃┃┣▲5六歩△7五角(浮-1546、技-1237)
┃┃┃┗▲6七歩△同銀(浮-1621、技-1314)
┃┃┗▲6五桂△6八歩▲同金△6五銀
┃┃ ┣▲6三金△2二金▲5三金△8七角▲7八歩△4二銀(浮-1711、技-826)
┃┃ ┗▲6二龍△5二飛(浮-2280、技-1569)
┃┗▲4二金△同玉▲2二飛成△3二金▲5三角成△同玉▲5四歩△4四玉▲5五銀△同玉▲4六銀△6四玉▲6五歩△同銀
┃ ┣▲5五金△7三玉▲7一飛△8三玉
┃ ┃┣▲5七銀△2二金▲6五金△3九飛▲5九桂△同飛成▲同玉△2六角(浮-1363、技-1323)
┃ ┃┗▲8一飛成△8二歩▲5七銀△2二金(浮-2872、技-3042)
┃ ┗▲6一飛△6三歩▲5五金△7三玉▲7一飛成△8三玉
┃  ┣▲5七銀△2二金▲6五金△5九金▲同玉△2六角(浮-1955、技-1730)
┃  ┗▲8一竜△8二歩▲5七銀△2二金(浮-3227、技-2948)
┗▲7九玉△6九金▲8八玉△6八金▲4二金△同玉▲2二飛成△3二角
 ┣▲3一龍△同玉▲5三角成△4二金▲6一飛△4一銀(浮-2796、技-2394)
 ┗▲5三角成△同玉(浮-3481、技-3006)