2018.11.24
第294話 麻雀

AI麻雀ソフト「爆打」開発者 水上直紀さん「ネット麻雀で最高段に到達したAI」

将棋や囲碁のゲームAIと同じで、手牌などを与えられた時に、次の一手を返すAIです。もちろん対局を最後までやりきることができます。私が開発した「爆打」はオンライン対戦麻雀「天鳳」に参加していますが、そこでは当然、一般のユーザが遊んでいます。その中にAIが参加者の一人として加わっている、という形です。
昔ながらの麻雀ゲームは基本的にAI3人と人間1人の対戦でした。しかし爆打が天鳳に参加すると、人間3人とAI1人の対戦になります。その対戦を繰り返すことによって、AIの実力がどれくらいあるかを客観的な数値として出せたのが、爆打が従来の麻雀AIとは違うところだと思います。
── どうやって麻雀AIを開発したんですか?
麻雀は対戦相手の手の内が見えませんし、これから持ってくる牌も分かりません。見えない要素がたくさんあるゲームです。そこで爆打は天鳳で公開されている牌譜を活用しました。すごく強い人たちが実際にどう打ったのか、そのデータが何百万局と公開されているので、それを機械学習させて、麻雀の打ち方を学ばせたんです。
開発しはじめた当初、AIは「降りる」ということができませんでした。どんな場面でもひたすら上がりを目指して勝負に行くんです。そこから「どういう時に降りたら良いのか」「ポンやチーをするのかしないのか」「リーチをするタイミングは」みたいな機能をちょっとずつ足していったら、AIが少しずつ強くなっていきました。
── 今、AI麻雀ソフトの実力ってどれくらいですか?
気がつくと開発者の私もAIに勝てなくなっていました。ただ、将棋や囲碁のAIは、対局を何度も繰り返して強くなる「強化学習」という手法が用いられていますが、爆打は私が手作業で調整しながら強くなっています。強化学習はなかなか結果に届かないのが難しいですね。一番最初にランダムに選ぶところから学習を始めた時、麻雀だとなかなか上がれないので「これは良かった」「これは悪かった」という評価まで辿り着かないんです。
だから爆打は天鳳で打った経験を学習しているわけではなく、私が調整したプログラムで強くなったのか弱くなったのかを、天鳳の成績で判断しています。よく「ディープラーニングは使わないのか」と言われますが、今のところはそこがボトルネックではないと感じています。