世界コンピュータ将棋選手権を観ての感想
ゴールデンウィーク中に開催されていた第29回世界コンピュータ将棋選手権を観た。観たと言っても会場まで行ったわけではなく、ネットで一部を観戦しただけだが。
私は「将棋ソフト」が「将棋AI」なのかどうか解っていない。つまり、「将棋ソフト=将棋AI」と言っていいのかどうか。ネットでざっと見たところ、コンピュータ将棋ソフトのことを「将棋AI」と表現しているものが多々見つかるので、この記事でも「コンピュータ」と言ったり「ソフト」と言ったり「AI」と言ったりする。
相入玉の将棋の捉え方について
コンピュータ同士の将棋では、やたらと相入玉の将棋が出てくる。「相入玉」とはお互いの王様が相手の陣地に入ってしまってなかなか捕まらない形になる将棋のことである。この相入玉の将棋は人間同士の対局ではそんなには出てこないが、コンピュータ将棋選手権ではよく出てきた。
で、この相入玉の将棋のことを「(将棋とは違う)別のゲーム」と言う人がいる。プロ棋士でもそのように言う人は多い。相入玉になると、もう相手の王様を詰ますことはできないので、点数勝負になる。駒をたくさん持っていた方が勝ちになるので、とにかく駒をたくさん取ることを目指す。つまり、将棋とは本来、相手の王様を詰ますことが目的のゲームである、しかし相入玉の将棋は相手の王様を目指さず、駒をたくさん取ることを目的としてしまっているので(本来の将棋とは)別のゲームである、というわけだ。
だが、この「別のゲーム」という感覚はおそらく人間だけが持っている感覚だろう。コンピュータは「別のゲーム」とは思っていないはずだ。人間は相入玉を「特殊な形」と思っているが、コンピュータはそうは思っていない。どんな形であれ、それが将棋のルールの範囲内なら、当然思考対象の内である。最後に駒の数が点数になるというルールがあるのなら、初めから駒の数を考慮しながらゲームを進めて行くだろう。
もし、「それは“本来の”将棋ではない!別のゲームだ!」と感じるなら、わたしたち人間は、相入玉の将棋に関してルールの再考を求められていると言えるだろう。
AIの「役割」の範囲について
大会を観ていて感じたもう一つのことは「千日手」が多いということだった。千日手というのはお互いに同じ手を繰り返すことで千日経っても終わらないことからその名が付いている。人間同士の対局ではあまり発生しない。どちらかが折れなければしょうがないので、普通はどちらかが妥協して手を変える。どちらも意地を張って手を変えなかった場合はその対局は終了となり、あらためて初手からの指し直しとなる。
コンピュータの場合は「空気を読んで妥協する」ということもないし、常に最善の手を指そうとすればお互いに同じ手を繰り返してしまうのかもしれない。大会では、千日手は指し直しではなく、引き分け扱いになるルールだった。勝ちが1勝、引き分けが0.5勝、負けが0勝である。
で、問題は決勝リーグで起こった。
6回戦を終わった時点で「やねうら王」というソフトと「Kristallweizen(クリスタルヴァイツェン)」というソフトが5勝1敗の成績で並んでいた。他に5勝しているソフトは無く、優勝はこの2者に絞り込まれていた。
最終7回戦は、このやねうら王とKristallwezenの直接対決だった。つまり決勝戦である。勝った方が優勝、負けた方が2位。では、引き分けたらどうなるのか。その場合は他の細かい条件の点数によって順位が決まる。サッカーW杯で言うところの得失点差とか総得点数とかそういう感じの点数である。この細かい点数がやねうら王の方が上回っていたため、引き分けた場合はやねうら王の優勝となることが決まっていた。
そこで、やねうら王の作者は、決勝戦前にチューニングを行い、ソフトに積極的に千日手を指すように“指示”を出した。この調整が見事的中し、決勝戦は短手数で千日手が現れ、勝負は引き分けとなり、やねうら王はみごと優勝を飾った。
千日手引き分けによる優勝、というこのあっけない幕切れに、やねうら王作者の戦略に感心するとともに、Kristallweizenの作者は何をやっていたのか、とも思った。やねうら王は二次予選と決勝リーグで二度、Kristallweizenと戦ったが一度も勝てなかった。それなのに優勝したのである。
将棋に勝つことと大会に勝つことは別だということである。
私が感じたのはソフトが考える範囲の「広さ」についてである。
この大会で二次予選以上に残るようなソフトは、どれも「深さ」についてはものすごく深く読んでいる。数億手とか10億手も手を読んでいるらしい。超優秀である。
私は、そんな超優秀なソフトが「引き分けたら(千日手を指したら)優勝できない」という、この程度の簡単なことを理解していなかったことに衝撃を受けた。
千日手を指したら「負け」ではなく「引き分け」である。それは当該対局のみについて言えばその通りである。だが、「大会」として考えた時には、それでははっきり「優勝」を逃す。
将棋の目的は目の前のゲームに勝つことだが、大会参加の目的は優勝することである。
このような状況は二次予選でも現れた。2つのソフトが最終戦で戦って、引き分けてしまったらかなりの確率で2者とも決勝リーグに進めない可能性が高かったのに、お互いに千日手を指してしまった。(他のソフトの成績の関係で1者はたまたま運良く決勝リーグに行けたのだが。)決勝リーグに進むのが大事なことなのだから、千日手は避けるべきところである。避けたら自分が不利な局面になって負ける可能性も出てくるが、引き分けで決勝に進めない確率の高さにくらべたらマシである。
勝敗数が並んだ時の他の細かい点数計算は、それほど複雑なものではない。人間にでも計算できるものである。そしてそれを計算したら自分が今何位なのか、次の対局で引き分けてしまったら優勝はできない、なんてことは、人間だったら特別に頭の良い人ではなくても普通レベルの頭の人でも解ることだ。
それを、その程度のことを、10億手も先を読めるソフトが自分で判断できない。
そういう「大会に優勝するためにはどうすればいいか」という部分もソフトに考えさせるべきではないか。
それとも今のAIはまだそのレベルに達していないのだろうか。
これはまるで飼い主の人間と飼い犬の関係のようだ。
飼い主「ウチの犬はとっても賢いんですよ〜。すごい複雑な計算だってできちゃうんだから」
犬「ご主人様。考えたのですが、この大会で優勝するためには、、」
飼い主「うるさい!おまえは余計なことは考えないで目の前のゲームに勝つことだけに集中してればいいんだよ。大会で優勝するための戦略とかそういうことは私が考えるから」
犬「……」
大会のルールの中に「ソフトは将棋のことだけ考えて、大会全体のことを考えさせてはいけない」というルールでもあるのだろうか。
これからの時代のAIは「深さ」よりも「広さ」を考えていくべきだと思う。将棋ソフトはもしそこにAI(人工知能)があるのなら、将棋のルールだけを理解するのではなく、大会のルールも理解して、大会で優勝するためにはどうしたらいいか、という戦略も自ら考えるべきだと思う。
ということを、世界コンピュータ将棋選手権を観て思った。
【関連記事】