麻雀ゲームをプレイする中で、どうすればもっと勝てるようになるのか、自分が打った牌譜の研究をしたことがある人も多いでしょう。
将棋や囲碁でもAIが使われるようになり、麻雀ではどのようにAIが使われているのでしょうか。
この記事では、麻雀で使われるAIの仕組みや、牌譜を解析できるAIを紹介しています。ゲームで強くなりたい人、強い麻雀AIを作りたい人は、この記事を参考にしてみてください。
目次
麻雀AIとは?
まず、麻雀AIについて紹介します。麻雀AIはその名の通り、麻雀をプレイできるAIのことで、オンラインの麻雀ゲームなどでも導入されています。
ここでは以下の2つについて解説します。
麻雀AIの仕組み
まずは麻雀AIの仕組みを解説します。
麻雀AIはCNN(畳み込みニューラルネットワーク)が使われており、このCNNもいくつかの階層に別れています。
複雑に見えますが、基本は自分の手牌データ、自分や相手の河牌データ、点数、見えていない牌の数など、現在の局面を完全に再現できる情報から出力するCNNモデルがベースとなっています。
この仕組みを基本に、どの牌を捨てるかを出力する打牌モデル、どの他のプレイヤーの打牌を取得するかを決める副露モデル、他にも立直モデル、槓モデルが内蔵されています。
▶CNN(畳み込みネットワーク)とは?図や事例を用いながら分かりやすく解説!>>
麻雀AIの強さ
次に、麻雀AIがどれくらい強いのかを紹介します。
コンピューター将棋「激指」を開発した東京大学の鶴岡慶雅准教授は麻雀AIについて、「現在、トップレベルには勝てないが、普通の人よりははるかに強いといわれている。遅くとも5年以内にAIがトッププロより強くなるだろう」と述べています。
また、マイクロソフトが開発した「Microsoft Suphx(スーパー・フェニックス)」は、日本の麻雀サービス「天鳳」をプレイし、トッププレイヤーランクのひとつである「十段」に初めて到達しました。
このことから、麻雀でもAIが急速に強くなってきていると言えます。数年後には「アルファ碁」のように、人間のプロに勝てるほど強くなっている可能性もあるでしょう。
AIが麻雀で人間のプロに勝てない理由
麻雀AIは強くなってきていますが、まだ人間のプロには勝てていません。これには理由があります。
以上の3つです。詳しく解説します。
不完全情報性
1つは不完全情報性です。
麻雀は多くの情報が隠されている「不完全情報ゲーム」です。各プレイヤーには13個の手牌と84個の自摸がありますが、把握できる情報はそれぞれ自分の手牌と捨牌しかなく、他のプレイヤーの手牌やまだ自摸られていない牌の情報はわかりません。つまり、120 牌以上の未知の情報があることを意味します。
AIは情報からシミュレーションし、有利になる確率が高い手を選ぶことでゲームを進めていきます。そのため、このように不明瞭な情報が非常に多い麻雀では、人間に勝つことは非常に困難だと言えるでしょう。
動きの複雑さ
2つ目は動きが複雑であることです。
麻雀は基本的に4人でプレイします。そのため、2人でプレイする囲碁や将棋とは違う方法でシミュレーションする必要があります。
2人プレイのときには、相手が最善の手を打ってくる前提でAIは次の手を決めていました。しかし、4人で戦う麻雀ではプレイヤーごとに最適な打ち手が変わるため、相手がどんな手を打ってくるのか、どんな展開になるのかをシミュレーションするのが格段に難しくなります。
他にも、麻雀は役や点数の決め方も他のゲームよりも複雑で、牌の数も多いためシミュレーションは難しいと言えます。
運の重要性
3つ目は運に左右されやすいということです。
麻雀は相手がどんな牌を持っているのか見えないので、不確定な要素、つまり相手の牌に対してどうすれば勝率が上がるのかを読む必要があります。
しかし、ランダム性が高いため、対戦相手の牌や山の牌など、見えていない牌を推測するゲームの結果に対する運の要素を排除することができません。
麻雀AIの作り方
麻雀AIを作るには、以下の4つの過程があります。
- 打牌の条件式を組み込む
- 評価関数を作成する
- シミュレーションをする
- 牌譜から機械学習を行う
打牌を決めるモデルやあがり系から手役を推測するモデルなどをCNNで作り、それらをシミュレーションすることでAIを作り、牌譜を読み込ませることで学習させ、強度を強くします。
詳しいコードは以下のサイトで紹介されています。
麻雀AI作成 step 1 Pythonで一人麻雀ができるコードを書いてみた。 – Qiita
無料のAI麻雀ゲーム3選
無料で麻雀ができるゲームを3つ紹介します。
それぞれ解説します。
①天鳳
累計登録ID数は6,389,545人で、基本無料で麻雀をプレイできます。また、Win・Mac・iPhone・iPad・Androidに対応しているため、誰でも簡単に始められることが特徴です。
②麻雀
無料でできる1人プレイ用の麻雀ゲームです。ブラウザの操作で終わるので、ダウンロードや環境を整える必要はありません。パソコン、スマホどちらからでも問題なく動作します。対人ではなく1人で対戦するので、じっくりと考えながら楽しめます。
③雀魂
累計会員数は500万人以上で、現役のプロ雀士とも対戦できます。また、キャラクターをパートナーに設定してプレイでき、このキャラクターのCVは内田真礼さんなど、人気声優さんが担当しているため、楽しく麻雀ができることが特徴です。
麻雀ができるAI – 牌譜を解析できる
実際に麻雀をプレイできるAIもあります。これらのAIは牌譜を解析して学習することで、麻雀を自分でプレイできるようになっています。
ここでは麻雀AIを2つ紹介します。
それぞれ解説します。
Suphx(スーパーフェニックス)
Suphxはマイクロソフトの研究開発機関であるMicrosoft Research Asia(MSRA)が開発した麻雀AIで、上でも紹介した「天鳳」で10段を達成しました。
また、Suphxは5000回以上の対局において平均 8.7以上の安定段位を維持しています。天鳳で「特上卓」のトッププレイヤーが約 1 万回の対局を行なった段位の平均値が 7.4 であることから、Suphx のスコアは人間のトッププレイヤーと比較しても平均で 1.3 ポイント上回っており、非常に優れた成績を残しています。
これは、麻雀の複雑な状態と戦略を効率的に学習させるため、新しいアルゴリズムを開発して状態を効率的に表現し、強力な戦略的学習能力と大局的な状況評価を獲得できるようにしたことで実現しました。
麻雀は不完全情報ゲームとされており、限られた情報から意思決定する必要があります。その中で、Suphxがトッププレイヤーと同等の判断能力を取得できたことは、AIの歴史において、進化への重要な第一歩であるといえるでしょう。
NAGA
NAGAは、天鳳段位戦・個室対局・大会対局の牌譜について解析レポートを作成するAIです。また、チャンネル登録者向けの有料サービスで、ゴールド・プラチナ・ダイヤモンドにわかれており、それぞれ月額料金や機能が異なります。
また、NAGAは卓の情報をほぼそのまま入力しているため、各選択の根拠を可視化できます。自身の選択を増幅する勾配を計算することでその選択をした特徴を可視化しています。逆に、自身の選択を減衰する勾配を計算することでその選択をしなくなるであろう特徴も可視化が可能です。
おわりに
この記事では、麻雀AIの仕組みや強さ、そしてAIを活用した麻雀ゲーム、牌譜解析AIを紹介してきました。
AIが麻雀でどのような仕組みで解析しているのかを知りたい人、麻雀ゲームを知りたい人は、この記事を参考にしてみてください。
▼関連記事
・ディープラーニング系将棋ソフトの基礎知識-従来の将棋ソフトとの違いを徹底解説>>
・囲碁AI「AlphaGo」の強さとその影響-ボードゲーム界最強はAIなのか?>>