対戦型麻雀ゲーム AI のアルゴリズムと実装(タイセンガタマージャンゲームエーアイノアルゴリズムトジッソウ)
- 著者:
- 小林聡(コバヤシサトシ)
- 出版社:
- 秀和システム
- 出版日:
- 2022年12月23日
- ISBN:
- 9784798067889
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
対戦型麻雀ゲーム「電脳麻将」のソースコードを開発者自ら解説します。
まずは、シャンテン数計算、和了役判定と点数計算、各種ルールに従ったゲームの進行の実装を解説します。その後、まずはリーチの AI を実装し、ベタオリ、鳴きなど、具体的な戦術を追加して麻雀 AI を強化する過程を順を追って説明していきます。
電脳麻将の AI は機械学習を採用していません。それゆえ、打牌選択の基準、鳴きの基準、押し引きの基準などは、プログラムで具体的に指定しています。いわば「人間の考える戦術をシミュレートする装置」といえます。さまざまな麻雀セオリーを実装し、それ以前の AI との対戦を行って、その結果を確認しながら AI を進化させていきます。その過程を理解すれば、麻雀以外の AI の実装・強化にも役立つはずです。
「電脳麻将」はオープンソースで公開されているので、本書を参考にオリジナルの戦術を実装した AI を開発し、差し替えることができます。そして、 AI 同士で対戦させ、その戦術の正しいかをシミュレーションすることも可能です。
東一局 イントロダクション
0 本場 電脳麻将とは
1 本場 プログラム構成
2 本場 本書について
東二局 手牌とシャンテン数
0 本場 手牌の表現
1 本場 手牌の操作
2 本場 シャンテン数計算
東三局 和了点計算
0 本場 和了点計算の流れ
1 本場 状況役と懸賞役
2 本場 和了形を求める
3 本場 符を計算する
4 本場 和了役を判定する
5 本場 和了点を計算する
6 本場 計算例
東四局 ゲーム進行
0 本場 ゲーム進行の概要
1 本場 ゲーム進行の実装
2 本場 牌山と河の実装
南一局 麻雀 AI のプログラム
0 本場 麻雀 AI のプログラム構造
1 本場 リーチの AI
南二局 オリと鳴き
0 本場 ベタオリの AI
1 本場 鳴きの AI
南三局 手作り
0 本場 手作りの AI
南四局 押し引き
0 本場 押し引きの AI
西入 付録
技書の森解説
チェスや囲碁の AI と異なり、麻雀は「相手の手牌が見えない」不完全情報ゲームです。この特性ゆえに期待値計算だけでは最善手を導けず、相手のモデリングや確率的推論が必要になります。本書はこの難題に正面から取り組み、麻雀 AI を設計・実装するための理論と具体的なコードを提示します。
向聴数計算、シャンテン数に基づく打牌候補の絞り込み、モンテカルロ法によるシミュレーション評価など、麻雀特有のドメイン知識とゲーム AI の汎用技法を結びつけて解説する点が本書の独自性です。不完全情報ゲームの AI 設計に興味があるプログラマにとって、ポーカーや大富豪のような他のゲームへの応用にもつながる考え方が手に入ります。
読者としては、麻雀のルールを一通り知っていて、かつプログラミング (主に C++) の基礎がある人が想定されます。ニッチなテーマですが、だからこそ類書がほとんどなく、「不完全情報下での意思決定をコードに落とし込みたい」という動機を持つ人にとっては貴重な一冊です。
言及 Qiita 記事 (3 件)
この本に興味がある方におすすめ
この本に関連
関連記事
本を読まないテックリードと、本を読むジュニアの逆転劇
経験年数だけでは技術力は測れません。読書習慣のあるジュニアが、読書しないテックリードを設計力で追い抜く現象が起きる理由と、そこから学べる教訓を考えます。
読書量ゼロの月があっても、年間計画は崩れない
忙しくて 1 冊も読めない月があると、読書計画が崩壊したように感じます。しかし、年間で見れば 1 ヶ月の空白は誤差です。読書の波を受け入れ、長期的に続けるための考え方を紹介します。
プログラミングの本には何が書いてあるのか
プログラミングの本を開いたことがない人に向けて、実際にどんなことが書いてあるのかを紹介します。コードだけでなく、考え方や設計の話も載っています。