令和 4 年度
修士学位論文系列情報を用いて人間の模倣を行う麻雀 AI の研究
Research on Mahjong AI that Imitates Humans
Using Sequence Information

1255118

前川幸輝

指導教員

竹内聖悟

2023 年 2 月 28 日
高知工科大学大学院 工学研究科 基盤工学専攻
情報学コース

要旨
系列情報を用いて人間の模倣を行う麻雀 AI の研究
前川幸輝

不完全情報ゲームである四人麻雀において，人間プレイヤは将来の手牌を想像しながら，毎回の打牌選択をする．麻雀では全く同じ手牌構成の局面がほとんど現れないため，
人間プレイヤは知識や過去の経験を参考にしながら最適と思われる牌を選ぶ．
ところで，近年ではインターネットを通じたオンライン麻雀が楽しまれている．しかし，オンライン麻雀ではプレイヤの回線の切断により，プレイヤが一時退席することがある．切断されたプレイヤは意思のない打牌を続けるため，対局全体に悪い影響を及ぼす点が課題である．そこで本研究は，人間プレイヤに代わって打牌を模倣する麻雀プレイヤの作成を目標とする．その際に，色情報を無くし，手牌の構成牌の一部だけを取り出した「系列」を提案する．これにより，同一とみなせる局面を増やし，同一局面が少ないという課題への解決を図る．
実験では，プレイヤの戦略と系列を組み合わせた提案手法により，62%の局面で候補手を提案可能になった．候補手を提案できた局面における，完全一致率は 42%，第三候
補以内の一致率では 70%に達した．結論として，生成用データと検証用データの牌譜のプレイヤが一致している方が，別人の系列を用いるよりも一致率が高くなる傾向が確認
でき，プレイヤへの模倣を実現できることが分かった．
キーワード

ゲーム，麻雀，データマイニング，模倣–i–Abstract
Research on Mahjong AI that Imitates Humans
Using Sequence Information
MAEKAWA Koki

In four player mahjong, a game of incomplete information, human players maketheir tile selections each time by imagining their future hand. Because mahjong rarely
has exactly the identical hand conﬁguration, the human player chooses the best tiles
based on knowledge and past experience.
In recent years, online mahjong has become popular over the Internet. However,
online mahjong players sometimes leave the game due to disconnection. The problem
is that disconnected players continue to play tiles, which has a negative impact on thegame. The goal of this research is to create a mahjong player that can imitate a humanplayer in playing mahjong. For this purpose, we propose a ”sequence”, in which color
information of tiles is removed and only a part of the hand is extracted. This will
increase the number of identical games and solve the problem of few identical games.
The method based on an exact match of hands does not give any candidate hands
at all. However, in our experiments, the proposed method, which combines the player’s
strategy and the sequence, was able to propose moves in 62% of the games. The percentage of complete matches reached 42%, and the percentage of matches within thethird choice reached 70% in the games where it was possible to propose a match. In
conclusion, this method is able to imitate a player because the generated data tends tomatch the identical player’s sequence better than a diﬀerent player.
key words

Game，Mahjong，Data Mining，Imitation– ii –

目次
第1章

はじめに

1

第2章

麻雀の用語とルール

3

2.1

本稿で用いる麻雀に関する用語 . . . . . . . . . . . . . . . . . . . . . .

4

2.2

手牌の構成に関する用語の定義 . . . . . . . . . . . . . . . . . . . . . .

4

2.3

麻雀における役 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5役の包含関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

オンライン麻雀「天鳳」について . . . . . . . . . . . . . . . . . . . . .

7

2.3.1
2.4

2.4.1
第3章

「天鳳」における級位，段位について. . . . . . . . . . . . . . .

8

関連研究

9

特定プレイヤの模倣に向けた研究 . . . . . . . . . . . . . . . . . . . . .

10

提案手法

14

4.1

系列の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

4.2

系列を用いた打牌選択のアルゴリズム . . . . . . . . . . . . . . . . . . .

17

事前実験

22

実験対象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.1.1

対象とするプレイヤ . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.1.2

対象とする牌譜データ . . . . . . . . . . . . . . . . . . . . . . . .

22

実験内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.1
第4章

第5章

5.1

5.2

5.2.1

役別に抽出した系列の比較実験と結果. . . . . . . . . . . . . . .

23

5.2.2

役による系列の差を測る実験と結果 . . . . . . . . . . . . . . . . .

26

5.2.3

生成された系列の出現数の分布を調べる実験と結果 . . . . . . . .

28– iii –

目次

5.2.4

過去の手牌と完全一致する局面の存在確認実験と結果 . . . . . . .

30

5.2.5

系列がどの程度網羅できたかを調査する実験と結果 . . . . . . . .

31

第6章

実験

33

実験準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

6.1.1

一致率の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

6.1.2

第三候補以内一致率の妥当性. . . . . . . . . . . . . . . . . . . .

34

実験内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

6.1

6.2

6.2.1

プレイヤに対して異なる生成データを与えた場合の一致率比較実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2.2

個人プレイヤと全体プレイヤの系列を使用した際の一致率比較実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2.3

6.2.5

37

本人プレイヤの系列と全体プレイヤの系列の選択の違いの検証実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2.4

35

38

人間プレイヤの系列とコンピュータプレイヤの系列の比較実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

巡目による一致率の変化と比較実験と結果 . . . . . . . . . . . . .

42

第7章

考察

44

第8章

まとめと今後の予定

46

謝辞

47

参考文献

48

– iv –

図目次
2.1

立直が成立する手牌の具体例 . . . . . . . . . . . . . . . . . . . . . . . . .

52.2

役牌が成立する手牌の具体例 . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3

断么九が成立する手牌の具体例 . . . . . . . . . . . . . . . . . . . . . . .

6

2.4

純全帯么が成立する手牌の具体例 . . . . . . . . . . . . . . . . . . . . . .

7

2.5

全帯么が成立する手牌の具体例 . . . . . . . . . . . . . . . . . . . . . . .

7

4.1

対局者を模倣する麻雀プレイヤのモデル . . . . . . . . . . . . . . . . . .

15

4.2

自摸局面と打牌局面. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

6.1

第三候補までの牌に序列の関係がない例 . . . . . . . . . . . . . . . . . .

34

–v–

表目次
2.1

役の複合関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

5.1

特定役の発生率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

5.2

特定の役が成立した局数の比較 . . . . . . . . . . . . . . . . . . . . . . .

25

5.3

成立役別上位最頻系列 (前系列の長さが 3 以上のみ) . . . . . . . . . . . .

27

5.4

役牌成立時の系列の出現数に関する分布 . . . . . . . . . . . . . . . . . .

29

5.5

完全一致局面の発生件数 . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

5.6

系列の網羅率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

6.1

本人の系列と他人の系列を用いた場合の完全一致率比較 . . . . . . . . . .

36

6.2

本人の系列と他人の系列を用いた場合の第三候補以内一致率比較 . . . . .

36

6.3

本人の系列と全体プレイヤの系列を用いた場合の一致率比較 . . . . . . .

38

6.4

プレイヤ A とプレイヤ全体との一致局面数比較 . . . . . . . . . . . . . .

39

6.5

人間プレイヤとコンピュータプレイヤの出現数上位系列比較 . . . . . . .

41

6.6

プレイヤ A の異なる巡目の検証データを与えた場合の一致率比較実験 . .

43– vi –

第1章

はじめに
麻雀は 4 人で行うボードゲームであり，不完全情報多人数ゲームに分類される．対局者は「山」という無作為に積まれた牌の集合から，毎回の自分の手番に抽選を行い牌を得るが，山の牌は伏せられているため，次に得る牌を事前には予想できない．このため，対局者は目標とする牌姿を想像しながら，自分の手番で欲しい牌を 1 枚手に加え，代わりに不要となった牌を場に 1 枚捨てることを繰り返して和了を目指す．
麻雀は和了によって点棒をやり取りし，最終局の終了時に点数を持っている対局者から 1 位，2 位，3 位，4 位と順位が定まる．しかし，1 位になるという目標を全員が共有した対局においても，手の進め方や行動は，人間プレイヤのそれぞれが持つ基準により，重視する点が異なる．加えて，麻雀で使用する牌は 34 種 136 枚存在し，「鳴き」と呼ばれる特殊な行動や，対局者の持つ点数の状況によっても変化するため，全く同じ局面が二度以上現れることは事実上ない．
麻雀は世界各地に拡がり楽しまれているため，多様なルールが存在し，標準化された
絶対的なルールというものはない．ところが，近年はインターネットを通じて，共通のルールで世界中の人々と対戦可能な「オンライン麻雀」が提供されている．中でもオンライン麻雀の 1 つである「天鳳 ∗1 」は，対局の詳細な記録である「牌譜」が公開され，再現性に優れているため，様々な学術的な研究で活用されてきた．
ただし，オンライン麻雀での対局は，依存するインターネット環境により，回線が切断される点が課題である．その場合，回線切れを起こした対局者は，意志がない打牌を繰

∗1 https://tenhou.net/(2022 年 07 月 18 日閲覧)

–1–

り返す状態となり，対局に影響を及ぼす．そこで，本研究では人間プレイヤの打牌を重視しつつ，人間プレイヤに代わってその打牌選択を模倣する麻雀プレイヤを提案する．

–2–

第2章

麻雀の用語とルール
麻雀は 4 人で行うボードゲームであり，全てのプレイヤに公開されている情報と，それぞれのプレイヤのみが視認できる非公開の情報が存在する不完全情報ゲームである．
麻雀におけるプレイヤの目的は，初めに均等に配られる点数を増やし，最終的に他のプレイヤよりも多くの点数を獲得することである．点数を増やすには，自分の「和了 (ホーラ)」の成立による加点が主となり，原則として，成立が難しい和了ほど点数が高くなる
よう設定されている．役は複合するため，成立が難しく高得点の役以外の難易度が低い
役が加算されていくことにより，高い点数の和了になることもある．4 人のいずれのプレイヤからも和了が発生せずに終局した「流局」という状況において聴牌していれば，他の聴牌していないプレイヤから罰符という形で，点数を受け取ることができる．
麻雀の進行は，開始時に与えられた 13 枚の手牌に，山から 1 枚を自摸って加え，手牌から任意の 1 枚を切ることを山が無くなるまで繰り返す．あるプレイヤの自摸局面で，和了が宣言されなかった場合，打牌の完了後に，次のプレイヤが 1 枚を自摸り，切る動作へ移行する．自分の自摸局面あるいは，相手の打牌局面において，同種の牌が 4 枚揃う場合，「槓」を宣言可能である．槓は揃えた 4 枚の牌を未公開の手牌部分から分離して，全員に開示する．続けて，この開示によって不足した牌を補うために，嶺上牌から自摸ってきた 1 枚を手牌に加える．自分の自摸局面での手牌，または相手の切った牌を加えた手牌が，ルールで定められた「役」の形として成立するとき，和了となる．和了が成立して，点数の授受が完了すると，その点数を引き継いで次の局へと進行する．

–3–

2.1 本稿で用いる麻雀に関する用語

2.1

本稿で用いる麻雀に関する用語

本論文で使用する用語の意味を次のように定義する．
山 麻雀牌が無作為に二牌ずつ積まれた集合のこと．
河 各プレイヤが捨てた牌を順番に並べていく領域のこと．
自摸

山から牌を 1 枚取って手牌に加えること．

打牌

1 枚の牌を手牌から河へと切り出すこと．

和了

プレイヤが手役の条件を満たし，それを発声により宣言した状態のこと．
和了には規定の点数が設定されており，和了の宣言を受けたプレイヤは規定の点数を支払わなければならない．

聴牌

あと 1 牌で和了が成立する状態のこと．

向聴数

最速の聴牌までに必要な牌の数を示す指標で，聴牌を 0 向聴と見立て，数値が大きいほど聴牌から遠い状態を表す．

鳴き

他のプレイヤが捨てた牌を自分の手牌に組み入れる行為のこと．槓の場合に限り，他のプレイヤの牌を使用しない鳴きもある．鳴いた場合には成立しなくなる役がある．
さらに，暗槓を除く鳴きをしたケースでは立直ができなくなる．

2.2

手牌の構成に関する用語の定義

続けて，手牌の構成に関する用語を説明する．和了の際には，4 面子 1 雀頭が基本の形とされる．つまり，手牌中に 4 つの面子と 1 つの雀頭が含まれていれば和了の形となる．
ただし，七対子と国士無双は例外の形であり，4 面子 1 雀頭を満たさない．
雀頭は同じ牌 2 枚 (例えば「東東」や「55」) で構成される．一方，1 面子は 3 枚 1 組ま
たは 4 枚 1 組の牌で構成される．同じ牌を 3 枚集めると刻子と呼ばれる．順子は「123」や「789」といった，連続する 3 数で構成される組合せである．

4 枚を使う場合は，槓を宣言することで槓子となり，1 刻子とほとんど同じ役割を果た–4–

2.3 麻雀における役

す．鳴きにより，開示した刻子に対して，同じ牌を自摸った場合は「加槓」が可能である．ただし，自分で同一の牌を 4 枚揃え，「暗槓」を行った場合，プレイヤ全員にその牌を公開する「鳴き」のような状態となるが，面前扱いとなる．なお，立直を宣言した
後に面子構成の解釈が変わる暗槓はできないとされるルールもあるため，注意が必要である．また，槓を宣言せずに 4 枚を使うケースでは，面子+別の面子の一部という形の「111+123」，頭+面子の一部という形の「11+112233」と解釈して，手牌を構成することが可能である．

2.3

麻雀における役

麻雀では，「門前清自摸和」や「立直」のように形を問わず和了可能な役も存在するが，ほとんどの役は手牌中に特定の形が必要である．本節では，本研究で取り扱う役についてのみ言及する．

• 立直 [13]
プレイヤが聴牌時に宣言するかを選択でき，宣言する場合は発声してから 1000 点を場に供託する．立直を宣言して和了すると，「立直」という役が付くため，和了牌を含めて 4 面子 1 雀頭または七対子，国士無双を満たす聴牌であることが条件である．
手牌の具体例を図 2.1 に示す．立直を宣言すると「一発」や「裏ドラ」といった更なる打点上昇のチャンスがある代わりに，立直後は手牌構成を変えることができない．
ただし，暗槓を除く鳴きをした場合には宣言できない．

図 2.1 立直が成立する手牌の具体例• 役牌 [13]役牌は役になる字牌の内，同種を 3 枚以上集めた刻子または槓子が手牌に含まれていれば成立する．役牌には，常に役牌となる白，發，中の 3 種類の三元牌と，局の進–5–

2.3 麻雀における役

行とともに変わる場風，自風が属する．麻雀の対局は東南戦の場合，東場から南場へと進行するが，東場では東が南場では南が場風となる．東場，南場は 4 局から構成され，最初にそれぞれのプレイヤに東，南，西，北の風、すなわち自風が割り振られる．東 1 局で東家だった者は，東 2 局で北家，東 3 局で西家，東 4 局で南家となり，南 1 局で再び東家へと戻ってループする．手牌の具体例を図 2.2 に示す．なお，
役牌は鳴いても和了することができ，加えて役牌は揃えた刻子の分だけ重複して数えられる．

図 2.2 役牌が成立する手牌の具体例• 断么九 [13]断么九は全ての雀頭かつ面子が数牌の 2 から 8 までの順子または刻子であれば成立する．構成可能な面子の例は「234」
「345」
「456」
「567」
「678」および「222」
「333」
「444」
「555」
「666」
「777」
「888」である．手牌の具体例を図 2.3 に示す．なお，断么九は鳴いても和了可能である．

図 2.3 断么九が成立する手牌の具体例• 純全帯么九 [13]
一般に「ジュンチャン」と呼ばれ，略した「純全帯么」が用いられるため，以降では純全帯么と表記する．純全帯么は，雀頭が「11」または「99」，全ての面子が「123」「789」「111」「999」の順子または刻子であれば成立する．手牌の具体例を図 2.4 に示す．なお，純全帯么は鳴いても和了可能であるが，鳴かなかった場合は役の飜数が 3 であるのに対して，鳴いた場合は 2 に下がる (一般に喰い下がりという)．

–6–

2.4 オンライン麻雀「天鳳」について

図 2.4 純全帯么が成立する手牌の具体例• 混全帯么九 [13]一般に「チャンタ」と呼ばれ，略した「全帯么」が用いられるため，以降では全帯么
と表記する．純全帯么に，1 種類以上の字牌が含まれると全帯么と呼ばれる．したがって，「全帯么系」と表現した場合には，本書では全帯么と純全帯么の両方を指すこととする．全帯么で使える雀頭および面子は，純全帯么で使える数牌の組合せに加え，字牌の対子または刻子である．手牌の具体例を図 2.5 に示す．なお，全帯么
は鳴いても和了可能であるが，鳴かなかった場合は役の飜数が 2 であるのに対して，鳴いた場合は 1 に下がる．

図 2.5 全帯么が成立する手牌の具体例

2.3.1

役の包含関係

麻雀では 2 つ以上の役が複合するケースがある．提案手法にも強く関係することから，
ここでその関係を表 2.1 にまとめた．表中の○は全てのケースではないが，列と行の役がお互いに複合する場合があることを示し，×は複合しないことを示している．

2.4

オンライン麻雀「天鳳」について「天鳳」は，2006 年 8 月よりサービスを開始した大手オンライン麻雀ゲームで，現在までの累計ユーザ数は 550 万人を超える [14]．ユーザの実力を示す指標として，級位段位とレーティングが採用されており，段位戦を打つことにより値が変化する [14]．それらの値により，対局可能な卓の棲み分けがなされており，初期登録時から対局可能な「一般卓」から上位へ向かう順に，「上級卓」「特上卓」「鳳凰卓」が存在する [14]．これら段–7–

2.4 オンライン麻雀「天鳳」について

表 2.1 役の複合関係

立直

役牌

断么九

純全帯么

全帯么

立直

–

○

○

○

○

役牌

○

–

×

×

○

断么九

○

×

–

×

×

純全帯么

○

×

×

–

×

全帯么

○

○

×

×

–

位戦への対局は原則として無料であるが，鳳凰卓からは段位とレーティングによる制限を満たすことに加えて，月毎に定められた入場料を支払う必要があり，高い水準が維持されている．

2.4.1「天鳳」における級位，段位について

級位は「新人」に始まり「1 級」までの 10 段階，段位は「初段」に始まり「十段」までの 10 段階の上に，最高位である「天鳳位」が存在する [14]．「1 級」までは降級しないが「初段」からは，対局の順位に対応する「ポイント (Pt)」の配分によって降級または降段が存在する [14]．段位を上げるためには，対局の結果，負けて失うポイント量よりも，勝って得たポイント量の方が多くなければならない [14]．このポイントの要求量は，上位であるほど増えていく．なお，天鳳位になると降段は無くなる [14]．

–8–

第3章

関連研究
ゲーム情報学の分野において，ボードゲームで最も強いプレイヤといえば人間であった．そこで，ゲーム AI を作る研究の目標は，1 人でも多くの人間プレイヤを超える実力を持つことが目指されてきた．まずは，ゲームの全ての情報が公開される完全情報
ゲームで試みられた．例えば，チェッカーやチェスにおけるプレイヤが提案された．完
全情報ゲームの中でも，情報空間が大きい囲碁や将棋のようなゲームにおいてプレイヤを作成することは難しかったが，手法の改善や計算機の能力向上により，人間を超える実力を持つプレイヤが作られるようになった．その代表的な成功例が DeepMind 社による「Alpha Go」であり，囲碁における力関係の転換点となった．後継である「Alpha Go

Zero」は，先行の「Alpha Go」よりも高い棋力を持つと公表された [1]．
完全情報ゲームで実力を発揮できるようになると，研究対象は不完全情報ゲームに変化した．公開されていない情報に対しては予測を行うしかなく，ゲームルール上に運の要素が絡む場合，その精度を 100%にすることはできないため，不完全情報ゲームは完全情報ゲームよりもプレイヤを作成するのが難しい．不完全情報ゲームの代表として，コントラクトブリッジや，バックギャモン，ポーカーといったゲームを題材に研究が進められた．コンピュータが人間プレイヤを超えたと報告している中には，Sandholm らのポーカーの研究例がある [2]．
ゲーム情報学の分野では，人間よりも強いコンピュータプレイヤが提案されると，その強い AI を用いた活用が模索されてきた．強いプレイヤが作られたことで，他のプレイ
ヤの評価が可能となり，人間のレーティングを推定することができるようになった．将–9–

3.1 特定プレイヤの模倣に向けた研究

棋のレーティングを推定した例には，山下らや，濱野らの研究がある [3][4]．レーティン
グによって強さを定義できるようになると，評価関数を作ることができ，人間と同程度のレーティングを持つ接待 AI や，人間らしい行動をする AI が目指された．この方向性の延長にあるのが「模倣」である．

3.1

特定プレイヤの模倣に向けた研究

麻雀において，特定のプレイヤの模倣を目的とする研究は多くはない．しかし，麻雀以外のゲームでは特定プレイヤへの模倣が検討されている例があり，人間らしさを競う大会も存在する．
古くは，将棋における人間の思考への模倣として，蛭田らの研究がある [7]．蛭田らは，
当時のコンピュータ将棋 AI が人間特有の狭く深い思考を持たず，序盤・中盤に弱く，終盤に強いという点を問題視した [7]．この問題を解決するために，人間のような「先読み」を実装するべく，4 つの制約付き合法手を定義し導入することで，先読みをするゲーム木の構築に成功した [7]．ただし，ここで追加した制約については，人間の経験的な知識をもとに制約を構成している [7]．
近年では，横スクロール型のゲームにおける模倣の研究が存在する．対戦型の横スク
ロール型のゲームでは，敵プレイヤの次の行動を予測して，自プレイヤの次の行動を決める必要がある．すなわち，敵プレイヤの模倣の成功によって，自プレイヤを強くできるという合理的な理由があるため行われている．池田らは，人間プレイヤを楽しませる
ことを目的に，ゲーム「スーパーマリオブラザーズ」において，特定のプレイヤを模倣する AI プレイヤの作成に取り組んだ [5]．その際，池田らはプレイヤの特徴が現れる統計量を，2 つのプレイ動画に対して，同一プレイヤのものかを判定するアンケート調査により決定している [5]．模倣するプレイヤの作成には，ペナルティ付きの遺伝的アルゴリズ
ムを用いて，人間プレイヤとプレイ時間，ジャンプキー入力回数，接地時間の一致を目指した [5]．池田らの研究では第 20000 世代から 30000 世代において，ステージをクリア– 10 –

3.1 特定プレイヤの模倣に向けた研究するエージェントが得られたが，それには 8 時間を要している [5]．青木らは，敵対的生
成ネットワークである「GAN」を用いて，「ソニック・ザ・ヘッジホッグ」模倣するゲー
ム AI の作成を試みている [6]．強化学習のプラットフォームである「Open AI Gym」が非営利企業である Open AI から提供されていることで，今後の機械学習の研究が進んでいくことが期待される [6]．
しかし，麻雀における模倣を扱う研究は少ない．それでも模倣と近い研究を取り上げると，堺田らの研究がある [11]．堺田らは，麻雀を学ぶ際，ブラックボックス的な強い麻雀 AI よりも，個々の人間の上級者プレイヤから学んだ方が上達には有効である可能性を指摘している [11]．そこで，堺田らは河の情報に着目して頻出パターンを集計し，プレイヤの分類を試みた [11]．麻雀の捨て牌の集合である河は，全プレイヤに公開される
重要な情報である．堺田らはロン和了が発生した局面における河の牌の並びに対して，
シーケンシャルパターンマイニングを適用し，敗者に特有のパターンがあることを示した [11]．麻雀では，手牌から切った牌が順に河に並べられる．よって，河に並べられた牌のパターンを調べることは，どの牌をどんな順番で切るプレイヤなのかを調べること，
すなわちプレイヤの打牌の模倣と言い換えることができる．
さて，ここまでに紹介した関連研究による模倣の実現方法を参考にして，麻雀における模倣を考えた場合，アプローチは 2 通り考えられる．

1. 完全一致によるアプローチ
1 つはプレイヤの手牌と打牌の組合せを全てデータベースに保存し，任意の局面で取り出すという手法である．この手法は打牌局面で，現在の局面と一致する局面をデータベースにアクセスして取り出すだけで良いため，非常に高速である．その反面，麻雀のように局面数が多く，同じ局面が出現し辛いゲームでは現実的ではない．
麻雀では，たとえ同じ手牌が与えられたとしても，その時の他プレイヤの行動，河に捨てられた牌の枚数，そして点数状況といった要因により，打牌選択が変わる可能性がある．このような因子を組み入れたデータベースを作ることは非常に困難で– 11 –

3.1 特定プレイヤの模倣に向けた研究あり，全く同一の局面が現れることは絶望視される．

2. 機械学習によるアプローチ
もう 1 つは，機械学習を用いる手法である．強い麻雀プレイヤを作る過程において，相手プレイヤの聴牌の予測 [9] や，和了点数の予測 [10] は行われてきた．この方法は機械学習を用いるため，汎用性に優れている．過去の経験にない新しい局面であっても，何らかの解を出力することができる．
他方で，学習に非常に長い時間を要する点と，大量の個人の牌譜データが必要であるという点が課題である．実際に，萩原らの研究例では，138 次元 10 万局の立直局
面を機械学習させる場合の実行時間として，441 分が必要と報告されている [10]．模倣を実現する場合，単純には各プレイヤに対してモデルを作成するため，これを 1人分として人数を掛けた時間を要する．牌譜データについては，水上らの研究では相手モデルの作成のために，5.92 × 107 件の局面数を用いており，萩原らの研究では多層ニューラルネットワークへ 30 万局面に減らして与えて実施している [9][10]．
つまり，完全一致または機械学習によるアプローチを行う場合，• 完全一致する局面がほとんどない• 機械学習を用いた学習には非常に長い時間を要する• 機械学習を用いた学習には，個人の大量の牌譜データを要するという 3 つの問題点がある．よって，提案手法では，網羅できる局面数に限りがある代
わりに，高速で軽量に動作しながら，模倣の精度を高くすることを目指す．
さらなるアイデアとして，プレイヤの作成がうまくいった Kurita らの提案手法を参考にする．Kurita らは，マルコフ決定過程 (MDP) を導入した木探索によるシナリオを構築し，向聴数によってそのシナリオを切り替える麻雀プレイヤを作成し，人間の上位 200
位に入るレベルに達したと結論付けた [12]．ここで Kurita らのシナリオを切り替えるというアイデアは重要であると考え，シナリオを戦略と読み替えて，本研究では他の手法– 12 –

3.1 特定プレイヤの模倣に向けた研究と組み合わせることにした．
以上より，本研究では，対局者の手牌に着目して打牌のパターンから系列を取り出し，
その打牌を模倣することを目指す．加えて，現在の手牌から最も近い戦略を推定し，対応する系列を用いることにより，更なる一致率の向上を図る．

– 13 –

第4章

提案手法
本章では，提案する手法について述べる．特定の麻雀プレイヤへの模倣を実現するには，完全一致による打牌選択という方法があるが，その方法は局面数の多い麻雀においては現実的ではない．よって，手牌の部分一致による麻雀プレイヤの作成を目指す．具体的には，手牌の一部だけを取り出した「系列」を新しく提案することにより，手牌のある色への部分一致を試みる．
系列を用いることにより，機械学習を用いた方法のような汎用性には網羅できる局面数では劣るが，高速で軽量に動作する模倣プレイヤの作成を目指すとする．なお，プレイヤの行動には打牌だけではなく，鳴きをするかどうかという判断，攻めるか降りるかという判断，そして立直をするかどうかという判断が挙げられ，本当の意味での模倣を目指すのであればこれらを無視できない [8]．しかし，まずは単純な打牌選択の模倣を実現することに意味があると考えたため，本研究では打牌が一致していれば模倣ができたとする．ゆえに，プレイヤが和了へ向かっている局面の模倣を目指すとする．
模倣の度合いを評価する手順についても説明する．事前準備として，対象とするプレイヤのあるデータから系列を生成して，プレイヤ毎に系列の一覧を作る．そして，系列の生成に用いていないデータを検証用データとして与える．この検証用データが，図 4.1の最上部の「あるプレイヤの牌譜」としてモデルに入力される．このモデルからの出力は最下部の「打牌」である．モデルからの出力の「打牌」と，検証用データのプレイヤの打牌とを比較し，これを「一致率」とする．すなわち，本研究ではこの「一致率」が高ければ高いほど，模倣ができたと判断することにする．

– 14 –

4.1 系列の定義あるプレイヤの牌譜
戦略不定

戦略決定器

戦略1
役牌系

戦略2
断么九系

戦略3
全帯么系

役牌系
系列

断么九系
系列

全帯么系
系列

打牌

打牌

打牌

図 4.1 対局者を模倣する麻雀プレイヤのモデル

4.1

系列の定義

このモデルでは「系列」という概念を新しく定義するため，初めに系列について説明する．

– 15 –

4.1 系列の定義

自摸局面

打牌局面

図 4.2 自摸局面と打牌局面

系列は，タプル (前系列, 次系列) から構成される．前系列は, 自摸局面における対局者の手牌の数字の並びを色別に取り出したもので, 次系列は打牌局面で取り出したものである．前系列から 1 枚を打牌して次系列となるため，次系列は対応する前系列よりも長さが常に 1 以上少ない．前系列，次系列はともに，牌を昇順に並び替えた形で定義する
ため，同じ牌で構成される系列は一意に定まる．
図 4.2 に「自摸局面」と「打牌局面」を例示した．自摸局面では索子の 5 を自摸り，打牌局面では筒子の 6 を打牌している．このとき，得られる系列は (3336678,333678) のみである．理由について，順を追って説明する．
自摸局面では，筒子の 3336678 と，索子の 33345 を前系列として抽出する．系列を考える際には色情報を消し，数字のみを抜き出すため，字牌の「南南」は系列としては扱わない．なぜなら，実際の対局者は，色情報よりも牌の数字の組み合わせや，残り枚数を重視して打牌を選択していると考えられるためである．同様に，打牌局面では，次系列として筒子から 333678，索子から 33345 を取り出す．ここで，前系列と次系列を比較
し，同じ形の場合は，系列として扱わないとする．つまり (33345，33345) は系列に含まない．すなわち，図 4.2 から得られる系列は (3336678,333678) である．ただし，対局者が鳴いた場合には，他のプレイヤから鳴きで得た牌を自摸牌とみなし，同様に系列を定義している．例えば，34 が手牌にある際に 2 をチーした場合では，2 を自摸牌とみなして系列を抽出する．
系列は，対局者の個々の局面における手牌の変化を表現している．このため，ある手– 16 –

4.2 系列を用いた打牌選択のアルゴリズム

牌を与えられた対局者が取る行動を，「人間に理解できる形」で個別に定義できるのが特徴である．手牌の和了への近さを表す一般的な指標には，向聴数が存在する．麻雀での手牌変化には 123 という形で 4 を引いて 1 を切り，234 にする「スライド」と呼ばれる操作がある，この「スライド」の際には，向聴数は変化しないが，系列であればこのような局面でも打牌を選択可能であるという利点がある．
本研究のゴールは，あるプレイヤの自摸局面において，そのプレイヤが最も不要とする牌を求めることである．ゆえに，系列では形が変化した色，すなわちここでは筒子に着目する．筒子は「3336678」から「333678」へと変化したため (3336678,333678) という系列として数え，対応する出現数に 1 を加える．
さらに，系列に対して長さを定義する．系列の長さといった場合，それは使用されている牌の枚数のことを表す．例えば，前系列「3336678」の長さは 7 であり，次系列「333678」の長さは 6 である．

4.2

系列を用いた打牌選択のアルゴリズム

本研究の最終的な目標は，任意の局面で対局者を模倣し同じ打牌を出力する模倣プレ
イヤを作成することであり，図 4.1 のモデルで表した．戦略の決定と打牌の決定，打牌の比較という流れを擬似コードで表現したのが Algorithm 1 である．

1. 任意の毎局面で，牌譜の形式である局面の手牌を戦略決定器に与える．
2. ヒューリスティックに作成した戦略決定器を手牌に適用して，3 種の中からもっとも到達可能性の高い手役へ向かう戦略を決定する．

3. 手牌の萬子，筒子，索子の数字部分だけを取り出し，前系列を求める．
4. 手牌の前系列から変化し得る全ての次系列に対して，過去の対局者のデータを探索し，その出現回数を比較することで，頻出する系列を求める (Algorithm 2)．

5. 頻出する系列の一覧から出現回数の多い順に不要牌を複数候補に挙げ，過去に最も選択された系列と同じ形になるように打牌を優先的に選ぶ．この時，どの色を選ぶかという点については，その色の系列の出現数が最も多いものを採用する．

– 17 –

4.2 系列を用いた打牌選択のアルゴリズム

個々の対局者の系列は，対局者の天鳳における牌譜を用いて取得と解析をする．最終的な評価には，模倣プレイヤの構築には用いていない検証用データの牌譜を入力したときの出力と，牌譜の対局者の打牌との一致率を用いる．

Algorithm 1 系列を用いた戦略の決定と打牌の比較
sequence ← 役別の系列
for 局面が書かれた牌譜を 1 行ずつ読み込む domyhand ← 手牌
compare hand ← 打牌比較用のリストを初期化
if 局の始め then
現在の状況を渡し，戦略を推定する
else if 戦略が推定できず未決定 then
戦略を推定する
end ifif 牌譜が自摸局面 thendahai ← myhand と現在の戦略の sequence を渡し，打牌決定フェーズへ
compare hand ← リストを初期化
compare hand ← dahai
else if 牌譜が打牌局面 thencompare hand ← 牌譜で選ばれた打牌
compare hand の第一要素と第二要素を比較し，一致率を集計する
end ifend for

Algorithm 1 は，入力として与えられた牌譜から戦略を決定し，対応する系列から選択した打牌を出力するアルゴリズムの疑似コードである．Algorithm 1 では，役別に系
列 sequence を用意している．例えば，sequence の第一要素には断么九和了局面を生成
データとする系列のリスト， 第二要素には，全帯么和了局面を生成データとする系列のリストが格納されている．入力の牌譜は 1 行が 1 局面に対応しているため，1 行ずつループ実行する．myhand はその各局面の手牌に関する情報が入る．compare hand は，打牌比較用のリストである．第一要素には提案手法による候補手が，第二要素にはその局面における正解の打牌が入る．なお，第一要素もリストであり，打牌の優先度が高い
要素の順に格納される．

– 18 –

4.2 系列を用いた打牌選択のアルゴリズム

局面が半荘を構成する局の初めだった場合，戦略を推定する．戦略を固定した実験の場合は，ここで推定はせず，常に同じ戦略に固定する．さて，本アルゴリズムは，全ての局面で戦略を推定可能ではないため，戦略が不定となるケースが出てくる．その場合，不定となった局面はそのまま不定として，次の局面でもう一度戦略の推定をする仕様とした．加えて，同じ局内では 1 度決められた戦略は固定されるようにした．牌譜は原則として，自摸局面と打牌局面が交互に 1 行で与えられるため，現在の行がどちらに当たる
かで処理を振り分ける．そこで，自摸局面の場合は，現在の手牌 myhand および，現在の戦略と戦略に対応する sequence を Algorithm 2 への引数として渡す．Algorithm 2 での結果は，候補手の一覧であるため，リスト dahai へ返して貰う．候補手を選ぶ処理を終えたら，compare hand を初期化したあと，候補手を第一要素へ格納する．打牌局面では，牌譜の打牌が記録されている列があるため，その列だけを取り出し，compare handの第二要素へ正解の打牌として格納する．ここまでで，compare hand の第一要素と第二要素には値が格納されているため，値の比較と一致率，第三候補以内一致率を計算する．

Algorithm 2 は，戦略に対応した系列と手牌情報を含む場の状況を引数での入力として，打牌候補を出力する疑似コードである．まずは，リスト split hand に，色別の手牌の形を抽出して格納する．系列による打牌選択の前に，系列では扱わない字牌が孤立している場合は，その孤立した字牌を最優先で切る．リスト suggestion が候補手の一覧であり，前から第一候補，第二候補，第三候補の順で，一番後ろが第十四候補である．すなわち，suggestion には打牌の優先度が高い順に格納される．ただし，常に候補がある
わけではなく，系列によって候補を導出できた場合に限り，存在する候補手の分だけ格納される．ところで，系列による打牌候補は key を (前系列，次系列) のタプル，値を出現数とする辞書型で管理する．この辞書が sequence and num である．麻雀の萬子，筒子，索子の各色について，前系列に完全一致する系列があるかを探索し，存在すれば前系列を同一とする全ての次系列を求める．次系列の候補 sequence suggest は前系列から
任意の 1 枚を捨てて列挙する．ここまでの処理により (前系列，次系列) の一覧が得ら– 19 –

4.2 系列を用いた打牌選択のアルゴリズムれる．続いては，その系列の一覧すべての要素について，引数で与えられた系列の中の出現数を調べる．このとき，完全一致する系列の出現数だけではなく、反転形の系列の出現数も求めて加算する．反転形とは，1 から 9 まである麻雀牌の内，中央の 5 で折り返した系列のことである．系列に含まれるすべての牌を 10 から引くことで求められる．
つまり (1234, 234) のすべての牌を 10 から引くと (9876,876) であり，これを系列の定義に沿って昇順に並び替えた (6789, 678) が反転形である．すなわち，ある系列の出現数

num of pair は，その系列の出現数と反転形の出現数を足し合わせた値が代入される．
以上より求めた num of pair を辞書 sequence and num の値として降順にソートし，この順序を打牌の優先度として対応する系列を選ぶ．前系列と次系列の間で減少した牌が打牌となるため，優先度が高い順に，系列を打牌に変換して suggestion に追加する．

– 20 –

4.2 系列を用いた打牌選択のアルゴリズム

Algorithm 2 打牌決定フェーズ
Require: bef ore seqs : 系列，situation : 手牌を含む場況
Ensure: suggestion : 打牌候補
function (bef ore seqs，situation)
split hand ← situation から抽出し，色別に分解した手牌の形のリスト
if 手牌中に字牌が 1 枚でも存在 then
字牌の種類と枚数を数える
if 1 枚しか存在しない字牌が手牌に含まれる thensuggestion ← 1 枚しか存在しない孤立した字牌
end ifend ifsequence and num ← key : (前系列，次系列)，value : 出現数の辞書i←0for i < 3 do
if split hand[i] の形の前系列が戦略に対応する系列の一覧に存在 thensequence suggest ← 前系列から 1 牌を減らした全ての次系列
for sequence suggest の全ての要素のタプルについて donum of pair ← (前系列，次系列) の出現数
num of pair ← num of pair +(反転形前系列，反転形次系列) の出現数
sequence and num ← 元の系列と反転形の系列の合計の出現数
end forend ifi←i+1
end forsorted ← sequence and num を出現数で降順にソートi←0
for i < len(sorted) dosuggestion ← sorted[i] の前系列と次系列の前後で減少した牌
end forreturn suggestion
end function– 21 –

第5章

事前実験
系列の有用性を示すために事前実験を行った．まずは，役別に取り出した系列の傾向を調べる実験を行う．続いて，系列を利用しないプレイヤを作成し，そのプレイヤとの比較により系列の有効性を示すとする．全ての実験で，OS が「ubuntu 20.04」，物理 CPUが 1 で，CPU コア数が 16 の「AMD Ryzen 9 3950X 16-Core Processor」を搭載した機材を用いる．

5.1

実験対象

5.1.1

対象とするプレイヤ

実験対象として選んだ 82 人のプレイヤについて説明する．82 名は天鳳の中でも最高段位である歴代の鳳凰位や，自らがアカウント名を公言している麻雀プロ，特徴的な打ち方だと言われる者の中で実力を伴う者，試合数が非常に多いプレイヤを中心に著者が選んだ．ここで，試合数が多いというのは，2012 年から 2019 年にかけて，四人麻雀東南戦を 4000 試合以上打っているプレイヤを指している．

5.1.2

対象とする牌譜データ

この節では，以後の実験で用いる牌譜データについて説明する．麻雀の牌譜データは
天鳳の鳳凰卓において，82 人のプレイヤが対局したものを使用する．ただし，年によっては 1 度も対局していないプレイヤが現れるため，原則として以降の実験でも対象とな– 22 –

5.2 実験内容

る対局者の人数を示すとする．実験にはこの牌譜データを用いるが，それらを用途により以下の 2 種類に呼び分ける．

• 生成用データ
系列と出現数がペアとなった一覧を生成するためのデータである．系列は自摸局面，
打牌局面における手牌を抽出することで得られる．このとき，得られた系列に対応する出現数に 1 を加え，系列と出現数のペアの一覧を作成するが，この一覧を作成するためのデータである．

• 検証用データ提案手法による打牌候補と，牌譜の打牌を比較するためのデータであり，一致率の算出に用いる．データの形式は生成用データと全く同じであるが，原則として，生成用データとは独立である．
ここで，生成用データには和了が発生した対局のみを用いている．これは萩原らの研究で「点数計算が可能な局面」として定義されているが，この手法を取った場合「和了しやすい手」ばかりが集まるバイアスがかかる点に留意するよう呼びかけている [10]．本
研究では，和了しやすい役を中心に扱っていることから，萩原らと同様にこのバイアスを容認するとする．すなわち，局の開始で配牌が配られた局面から，和了により局が終了するまでのデータである．一方で，検証用データは和了が成功した局面に限らず，降りた局面を含む全ての局面を用いている．

5.2

実験内容

5.2.1

役別に抽出した系列の比較実験と結果

麻雀における役の成立難易度は同列ではなく，一般に成立難易度が高い役ほど高い報酬が得られる．プレイヤは現在の点数状況や与えられた手牌から目指す役を検討するが，その際の打牌はプレイヤの過去の経験や知識に基づいている．すなわち，プレイヤに個– 23 –

5.2 実験内容性が現れるとすれば，この過去の経験や知識が必要とされる局面に出ることが期待される．そこで，本実験を行う．

• 目的
特定の役を狙うために異なる打ち方をしているとすれば，系列も変化する可能性がある．しかし，難易度が高い役だけに注目すると，出現数が少ないため，系列の生成データが不足する．そこで，提案手法の戦略決定フェーズに適した役を探すため，
本実験を行う．

• 内容
本実験では，役の出現率を調査し，また出現率に比例していると考えられる局面数についても調査する．天鳳では，毎月発生した役の出現率のデータを公開している
ため，これを利用する [14]．局面数の集計の際には，表 2.1 で示したように，役牌は全帯么と複合し得るが，その重複を許して同じ局を計上する．

• 対象データ– 牌譜の対局年
2012 年から 2018 年の 7 年分
– プレイヤ数
82 名– 24 –

5.2 実験内容

表 5.1 特定役の発生率

表 5.2 特定の役が成立した局数の比較

役名

発生率

年

断么九成立

全帯么系成立

役牌成立

合計

立直

42.54%

2012

69,4493,410

102,602

175,461

役牌

38.71%

2013

86,477

4,159

127,758

218,394自摸

25.19%

2014

90,017

4,525

135,309229,851

断么九

22.03%

2015

95,011

4,680

142,824

242,515

平和

20.36%

2016

89,476

4,554

134,797

228,827

全帯么

0.826%

2017

100,639

5,098

149,014254,751

清一色

0.523%

2018

100,616

5,094

149,265

254,975

純全帯么

0.278%

2019

89,5594,397

131,957

225,913

表 5.1 は，2023 年 1 月における天鳳の鳳凰卓において成立した役の出現率の一部を抜粋したものである．表 2.1 でも一部を示したように，役は複合するため，足し合わせると 100%を超える点に留意する．表 5.2 は，プレイヤ全体の牌譜を役別にまとめ，その局数を示した結果である．局は半荘を構成する単位であり，1 局は平均的に 12 巡目ほどで終了する，巡目には，自摸局面と打牌局面があるため，局数に 24 を掛けるとおよその局面数が求められる．表 5.2 における「年」とは，対局が開始された瞬間が属する年である．「断么九成立」の列では，半荘を構成する 1 局の和了役の中に，断么九が含まれていた局数を示している．同様に「全帯么系成立」の列は，全帯么または純全帯么が含まれていた局数を示し，「役牌成立」の列は役牌が含まれていた局の数を表している．

• 結果
結論としては，断么九，全帯么，役牌を選出した．表 5.1 より，頻出する役は，立直，役牌，自摸，断么九，平和である．目的で示したように，戦略決定フェーズでは狙わなければ成立しない役であるほど望ましい．この役の中で，役の構成面子に制限がなく，プレイヤが狙う必要がない役は立直と自摸であるため，これらを除外– 25 –

5.2 実験内容

する．中央の牌を集めなければならない断么九は出現率が高く，系列を取り出すには理想的である．一方で，断么九とは対極の関係にある全帯么，構成牌がよく似ていて，その上位役である純全帯么は断么九と系列を比較するために適しているため選んだ．また，役牌は成立に役となる字牌が必要である一方，面子構成に制限がな
いため，断么九でも全帯么系でもない系列が期待されるため選んだ．表 5.2 より，選んだ 3 つの役はいずれも十分な局数を確保できる．

役による系列の差を測る実験と結果

5.2.2
• 目的

系列は手牌の変化を表現したもので，狙う役によって変化していることが期待される．しかし，役が変わっても系列が変わらないのであれば，狙う役によって戦略決定を行い，別の系列を使用する意味が全くない．よって，成立した役と系列の関係を調べることを目的とする．

• 内容
本実験では特定役の和了に向かう局面で出現した系列の分布と傾向を調べる．特定役は，特徴的であるほど良いが，難易度が高い役を選んでしまうと母数が十分に取れない．そこで，前項で選出した 3 つの役を特定役として，特定役の和了があった局面における系列を調べる．出現数の多い順に系列を取り出す際に，孤立牌を切る
系列が上位に出てくるが，孤立牌の処理はあらゆる自摸局面で発生し得るため，結果から判断することが難しい．この理由で，表では前系列が 3 以上の長さを持つ場
合に限定している．

• 対象データ– 牌譜の対局年
2012 年から 2018 年の 7 年分
– 牌譜の対象局面– 26 –

5.2 実験内容

和了が成立した局における，局の開始から終了までの局面に限定– プレイヤ数
82 名

表 5.3 成立役別上位最頻系列 (前系列の長さが 3 以上のみ)

断么九成立系列

出現数

全帯么成立系列

出現数

役牌成立系列出現数(6789, 678)

15,860(2789, 789)

2,478

(467,67)

18,528(1234, 234)

15,486(6789, 789)

2,471

(346,34)

18,506(4678, 678)

15,290(1789, 789)

2,422

(6789,678)

16,997(2346, 234)

14,972(1239, 123)

2,401

(1234,234)

16,943(467, 67)

13,943(1237, 123)

2,387

(679,67)

16,787(346, 34)

13,801(1238, 123)

2,338

(134,34)

16,756(3678, 678)

13,516(1234, 123)

2,317

(568,56)

16,065(2347, 234)

13,173(4789, 789)

2,282

(245,45)

15,939(245, 45)

12,986(3789, 789)

2,023

(267,67)

15,694(2348, 234)

12,864(7899, 789)

1,862

(348,34)

15,473

役別に出現数の多かった局面をまとめた結果が表 5.3 である．表 5.3 において，表 5.1 や表 5.2 で示した発生率や特定の役が成立した局数の比を考えると，全帯么成立系列が多くなったようにみえる．これは 2 から 8 の牌を自由に構成でき，面子としては 12 種類を構成可能な断么九に対して，全帯么では 123，789，111，999 の 4 種類のいずれかしか使用できないため，系列の出現数が増えたようにみえていることによる．

• 結果
表 5.3 より，和了へ向かう系列には規則性があり，役に強く依存することが読み取れる．これより，対局者が特定役へ向かっている際，その手順には頻出する傾向があ– 27 –

5.2 実験内容

り，その差は系列によって表せることが示せた．

生成された系列の出現数の分布を調べる実験と結果

5.2.3
• 目的

系列からの打牌選択をするためには，系列の出現数の分布を調べておく必要がある．
すなわち，打牌の信頼度というものを考えた時に，出現数が多い系列であればそれは信用できるといえそうである．また，出現数が多い系列さえあれば一致率を落とさずに打牌選択ができるという場合，どこかで出現数の線引きをしなければならな
いが，その際にも系列の出現数の分布を用いることになる．そこで，系列の出現数のボリュームゾーンを調べることを目的に実験を行う．

• 内容
系列の出現数のボリュームゾーンを調べるために，出現数をある幅で区切って表形式にするが，あまりにも差が激しい区間は更に細分化する．単に出現数の分布を確認するのであれば，プレイヤ全体の系列だけで十分である．ところが，実用上，提案手法では各プレイヤの系列を使用するため，あるプレイヤ 1 人に注目した場合でも同様の分布が得られるかを確認したい．そこで，プレイヤ全体の系列だけではな
く，ある個人プレイヤの系列についても分布を調べる．

• 対象データ– 牌譜の対局年
2012 年から 2018 年の 7 年分
– プレイヤ数
82 名のプレイヤと，特に試合数の多い 1 プレイヤ (プレイヤ X)– 28 –

5.2 実験内容

表 5.4 役牌成立時の系列の出現数に関する分布

役牌成立系列の出現数

プレイヤ X の系列の個数

プレイヤ全体の系列の個数

100 以上76

7,183

50 以上 100 未満

191

4,343

10 以上 50 未満

657

16,616

9

141

1,768

8

134

2,143

7

165

2,684

6

247

3,261

5

362

4,336

4

521

6,271

3

923

9,785

2

1,791

18,755

1

6,664

58,530

合計

11,872

135,675

表 5.4 は，役牌和了局面を生成データとするプレイヤ X に対して，データ内である回数出現した系列がいくつあったかを示している．同様の値をプレイヤ全体の生成データを用いた系列についても求めている．例えば，5.4 の下段の「役牌成立系列の出現数」が 1である行の場合では，生成データの中で 1 回だけ現れた系列が，プレイヤ X では 6,664
個，プレイヤ全体では 58,530 個あったという意味である．

• 結果
表 5.4 から読み取れるように，系列の分布には大きな偏りがある．具体的には，生成データの中で 1 度しか現れない局面がプレイヤ X では 56%，プレイヤ全体では 43%と半分近い割合を占めている．なお，プレイヤ X の系列の出現数の最大値は孤立– 29 –

5.2 実験内容

牌の 4 を切ったことを表す (4, None) が 1,289 であり，プレイヤ全体でも同様の (4,None) が最大値で，167,907 回であった．これはすなわち，100 回以上出現する頻出の系列と，1 回しか観測できないような非常に珍しい系列に二極化していることを表している．同色の牌の枚数が増えるほど組合せは増加するため，1 回しか観測できない珍しい局面というのは，ほとんどが 1 色あたりの枚数が多い系列であった．
ある個人プレイヤ X と全体の分布を比較したところ，その分布の傾向はほとんど同様であることが確認できた．したがって，提案手法で述べた手法の通りに，個人の系列を利用する．

過去の手牌と完全一致する局面の存在確認実験と結果

5.2.4
• 目的

関連研究でも述べたように，人間プレイヤの打牌を模倣する際には，全ての過去の牌譜データで手牌とその時の打牌をデータベースとして記憶する方法がある．打牌選択をする際には，作成したデータベースの中から同一の手牌を探し，その打牌を提案手とすれば実現できそうである．そこで，全体プレイヤのデータを用いて，完全一致による打牌選択という手法の実現性を調べるために，実験を行う．

• 内容
まず初めに，あるプレイヤ 1 年分の手牌データを 1 単位として扱う．天鳳ではこの間にゲーム内容について大きな仕様変更はないが [14]，念の為離れた年のデータを用いて検証した．これより，2013 年，2018 年，2019 年の 3 単位分を対象とした．この 1 単位の片方でデータベースを作り，もう片方でデータベースに一致する局面数を探すという方法で，総当たりに調べた．

• 対象データ– 牌譜の対局年
2013 年，2018 年，2019 年– 30 –

5.2 実験内容– プレイヤ数
全体プレイヤ

表 5.5 完全一致局面の発生件数

2013 年

2018 年

2019 年2013 年

3120 万局面

00

2018 年03260 万局面

02019 年003320 万局面• 結果
結果を表 5.5 に示したが，発生件数については丸めた値を用いている．模倣を成功させるには，過去に出現した手牌が再度出現しなければならないが，表 5.5 の通り，
そのような局面はなく失敗した．麻雀は手牌の組み合わせが非常に多いため，同じ局面が現れなかったと考えられる．

系列がどの程度網羅できたかを調査する実験と結果

5.2.5
• 目的

実戦の牌譜からどの程度の系列が抽出できたかを明らかにするために実験を行う．

• 内容
系列として存在し得る全パターンの数を計算し，そのうち系列の一覧として抽出できた割合について示す．

• 対象データ– 牌譜の対局年
2012 年から 2018 年の 7 年分
– プレイヤ数– 31 –

5.2 実験内容

82 名のプレイヤと，特に試合数の多い 1 プレイヤ (プレイヤ X)

表 5.6 系列の網羅率

系列の件数
個人の系列

11,872 通り

全体の系列

135,675 通り

系列の総数

1,831,410 通り• 結果
結果を表 5.6 に示す．表 5.4 と同じ条件で実施した．手牌 1 枚から 14 枚までの形から発生し得る系列の総数はおよそ 183 万通り存在した．この内，7 年分の牌譜を生成用データとして作成できた個人プレイヤ X の系列は，およそ 12,000 通りであり，
全体プレイヤの系列の場合は，およそ 135,000 通りを網羅できた．

– 32 –

第6章

実験
提案手法の系列により，個々の対局者の打牌選択を模倣できていることを検証する実験を行う．全ての実験で，OS が「ubuntu 20.04」，物理 CPU が 1 で，CPU コア数が 16の「AMD Ryzen 9 3950X 16-Core Processor」を搭載した機材を用いる．

6.1

実験準備

実験の本題へと移る前に，実験で用いる用語や評価指標に関する説明を述べる．

6.1.1

一致率の定義Cf irstNall − (NnoneS + NnoneH )Cf irst + Csecond + Cthird
Rtop3 =
Nall − (NnoneS + NnoneH )Rf irst =

(6.1)
(6.2)

式 6.1 は完全一致率 Rf irst を表しており，式 6.2 は第三候補以内一致率 Rtop3 を表している．対象の牌譜の全ての打牌局面数 Nall から戦略が不定だった場合はその局面数

NnoneS を引いている．さらに，候補手が何も得られなかった場合の局面数 NnoneH も分母から引く．戦略を固定している実験の場合は NnoneS = 0 である．一致率を求める際には，検証用データとして与えた牌譜のプレイヤの打牌と，実験による候補手を打牌の優先度が高い順に比較する．このとき，プレイヤの打牌と候補手の第一候補が一致した
数が Cf irst ，第二候補が一致した数が Csecond ，第三候補が一致した数が Cthird である．
実験結果は，得られた Rf irst および Rtop3 を小数第 5 位で四捨五入した値を記載する．

– 33 –

6.1 実験準備

3手内一致率の妥当性
6.1.2

第三候補以内一致率の妥当性●シャンテン数が同一の場合に限り、候補手に追加する←南、西、北は

(1)

同じ価値
(2)

←2、5、8萬は同じ価値
高知工科大学 令和2年度卒業発表

図 6.1 第三候補までの牌に序列の関係がない例

2021/2/15

23

実験では，検証データでのプレイヤの打牌と，提案手法からの第一候補の打牌が完全に一致した「完全一致率」の他に，「第三候補以内一致率」を定義して比較する．なぜなら，麻雀の打牌選択においては，明確に打牌を決定することができない局面があるからである．具体例を図 6.1 に示した．
手牌 (1) は，「南西北」のいずれの牌もが役牌ではなく，ドラでもなく，残り枚数が等しい状況を想定している．この手牌 (1) においては，「南西北」に打牌の優先度を定義できない．同様に，手牌 (2) においては，萬子の「2345678」から 1 枚を切れば聴牌する局面である．図 6.1 での並び変えた手牌から自明であるように，2，5，8 のいずれの牌を切っても，「2345678」を 2 面子に分解可能である．このケースでも「258」に打牌の優先度を定義できない．
第二候補までで打牌の優先度を定義できないケースは，「1234」「2345」……「6789」
や，孤立牌を切る局面での「19」など無数に存在する．2019 年において，和了成立局面だけに限定しても，(1234,123) は 925 回，(1234,234) は 4,626 回観測され，無視できな
い頻度でこういった局面は発現する．
こういった場合，プレイヤは河に切られている牌の枚数，河の情報による相手の手牌の残り牌の枚数予測，将来的な安全度，より高い役になるか，牌がドラかどうかといった情報から打牌を決定するが [10]，系列情報だけではこういった情報は読み取れない．ゆ– 34 –

6.2 実験内容

えに，本実験では完全一致率だけではなく，第三候補以内一致率を用いて比較する．

実験内容

6.2

本研究で行った実験について，その目的と内容，および結果について順を追って記述する．

プレイヤに対して異なる生成データを与えた場合の一致率比較実

6.2.1

験と結果
• 目的
この実験は，提案手法である系列を用いた打牌選択が，本人の打牌にどれほど適合しているかを検証するために行う．

• 内容
検証データのプレイヤと系列が一致するケース (以降，本人の系列という) と本人ではない他人の系列を用いたケース (以降，他人の系列という) で一致率の差を比較する．

• 対象データ
本実験では，次の牌譜データを使用する．

– 生成データ2018 年の 1 年分
– 検証データ2019 年の 1 年分
– プレイヤ数
82 名中の代表 4 名– 35 –

6.2 実験内容

表 6.1 本人の系列と他人の系列を用いた場合の完全一致率比較

プレイヤの局面数

本人の系列一致率

他人の系列平均一致率

プレイヤ A

123,860

45.39%

45.36%

プレイヤ B

302,089

43.76%

43.60%

プレイヤ C

279,92737.24%

36.67%

プレイヤ D59,42939.60%

39.47%

表 6.2 本人の系列と他人の系列を用いた場合の第三候補以内一致率比較

プレイヤの局面数

本人の系列一致率

他人の系列平均一致率

プレイヤ A

123,860

69.56%

68.82%

プレイヤ B

302,089

69.08%

67.13%

プレイヤ C

279,92764.88%

63.28%

プレイヤ D59,42963.84%

63.11%• 結果
完全一致率で比較した結果を表 6.1 に，第三候補以内一致率で比較した結果を表 6.2に示す．全てのプレイヤではなく，一致率が高かったプレイヤの代表としてプレイ
ヤ A，B を，低かった代表としてプレイヤ C，D の結果を示している．以上より，他人の系列を使用するよりも，本人の系列を使用した方が一致率が高くなる傾向がみられ，その差は第三候補以内一致率の場合により大きくなった．したがって，系列
は本人の打牌に適合している傾向があると読み取れた．

– 36 –

6.2 実験内容

個人プレイヤと全体プレイヤの系列を使用した際の一致率比較実

6.2.2

験と結果
• 目的
系列が個人プレイヤに特化していると仮定すると，全体プレイヤの牌譜で生成した系列データを使用した場合でも，本人の系列を与えた場合の方が一致率が高くなるはずである．この点を比較し，結果が現れた場合はその理由について考察するために実験を行う．

• 内容
本人の系列を使用したケースは，6.2.1 での実験結果を用いる．全体プレイヤには同
じ検証用データを与えたケースを掲載し，完全一致率および第三候補以内一致率を比較する．

• 対象データ– 生成データ2018 年の 1 年分
– 検証データ2019 年の 1 年分
– プレイヤ数
82 名中の代表 4 名– 37 –

6.2 実験内容

表 6.3 本人の系列と全体プレイヤの系列を用いた場合の一致率比較

本人の系列

プレイヤ名

全体プレイヤの系列

完全一致率

第三候補以内一致率

完全一致率

第三候補以内一致率

プレイヤ A

45.36%

69.56%

45.82%

72.56%

プレイヤ B

43.76%

69.08%

43.92%

70.72%

プレイヤ C37.24%

64.88%

37.63%

66.74%

プレイヤ D

39.60%

63.84%

39.91%

66.80%• 結果
表 6.3 に結果を示す．本人の系列との完全一致率を比較した場合では，ほとんど差はなかったが，第三候補以内一致率について比較すると，全体プレイヤの系列を与えた方が高い一致率を記録した．すなわち，全体プレイヤの系列を使う方が，本人の系列を使うよりも良い結果になることを表している．

6.2.3

本人プレイヤの系列と全体プレイヤの系列の選択の違いの検証実
験と結果

• 目的
表 6.3 より，検証用データのプレイヤと，系列の生成用データのプレイヤが等しい場
合の一致率よりも，全体プレイヤの系列を用いた方が高い一致率の値を示した．しかし，一致率だけではどんな局面で一致したのか全容が見えてこない．そこで，本人の系列と全体の系列の打牌が異なった箇所を調べる実験を行う．この際，全体プレイヤの系列による打牌が不一致だったが，本人の系列を用いた場合では一致したケースがあれば，全体の多数派の打牌とは異なる，個性のある一打を選択でき，プ
レイヤに特化した模倣ができているとする．

• 内容– 38 –

6.2 実験内容

表 6.3 では，本人の系列と全体プレイヤの系列に同じ検証用データを与えている．
すなわち，同一局面における打牌選択の正誤を比較可能である．よって，局面毎に打牌の正誤を記録し，その数を 4 状態で集計していくとする．正誤の判定の際には，第一候補だけではなく，第二候補，第三候補のいずれにも正解の打牌がなかった場
合を「不一致」とするなお，系列の網羅率の差による影響を無くすため，どちらか一方でも打牌を出力できなかったケースは集計から取り除く．

• 対象データ– 生成データ2018 年の 1 年分
– 検証データ2019 年の 1 年分
– プレイヤ数
82 名中の代表 1 名
表 6.4 プレイヤ A とプレイヤ全体との一致局面数比較

本人の系列

全体の系列

発生件数

一致

一致

80,175

一致

不一致

1,992

不一致

一致

5,824

不一致

不一致

35,869• 結果
プレイヤ A について，本人の系列と全体の系列との間で打牌の一致，不一致を調べた結果が表 6.4 である．プレイヤ A の総局面数 123,860 のうち，打牌の出力結果が同じだったのは 116,044 局面であった．しかし，本人の系列だけが模倣できた局面といえる，本人の系列が一致，全体の系列では不一致だった局面も 1,992 件存在し– 39 –

6.2 実験内容

た．総局面数の 1.6%という数字ではあるが，本人の系列だからこそ打牌が出力できた局面が存在するということである．この 1.6%の局面が，系列によって，個性的で特徴的な打牌を取り出せたという成果である．

人間プレイヤの系列とコンピュータプレイヤの系列の比較実験と

6.2.4

結果
• 目的
変化する場の状況に対応し，時にはミスをする人間プレイヤと，評価関数によって，常に同じ基準の打牌をするコンピュータプレイヤとの間では打ち方が異なるはずである．このとき，打ち方が異なっていれば，得られる系列も異なるはずである．プ
レイヤごとに生成される系列が異なっていることを示すために実験を行う．

• 内容
人間プレイヤとコンピュータプレイヤの打牌は大きく異なっていることが期待できるため，人間プレイヤ全体の系列を用いる．評価関数が一定のコンピュータプレイ
ヤとして，「manue」を使用した [15]．manue は麻雀 AI 対戦サーバ「Mjai」という麻雀ゲームエンジン上で動作するプレイヤである [16]．manue は自分が得る点数の期待値が最大となるように打牌する [15]．実験は，人間プレイヤ全体の系列と，manueの牌譜を生成データとする全ての局面での系列により比較する．

• 人間プレイヤの対象データ– 牌譜の対局年
2012 年から 2018 年の 7 年分
– プレイヤ数
82 名のプレイヤ• コンピュータプレイヤの対象データ– 40 –

6.2 実験内容– 牌譜の対局数
6,000 半荘
– プレイヤ数
1 種類

表 6.5 人間プレイヤとコンピュータプレイヤの出現数上位系列比較

人間全帯么成立系列

出現数

人間役牌成立系列

出現数

manue の系列

出現数(2789, 789)

2,478

(467,67)

18,528(1239,123)

1,213(6789, 789)

2,471

(346,34)

18,506(1789,789)

1,188(1789, 789)

2,422

(6789,678)

16,997(1236,123)

1,170(1239, 123)

2,401

(1234,234)

16,943(1237,123)

1,154(1237, 123)

2,387

(679,67)

16,787(4789,789)

1,136(1238, 123)

2,338

(134,34)

16,756(1238,123)

1,121(1234, 123)

2,317

(568,56)

16,065(3789,789)

1,097(4789, 789)

2,282

(245,45)

15,939(2789,789)

1,078(3789, 789)

2,023

(267,67)

15,694(2349,234)

1,072(7899, 789)

1,862

(348,34)

15,473(2348,234)

1,032

• 結果
表 6.5 に，人間プレイヤとプレイヤ manue から生成された最頻出系列の結果を示した．manue の生成データでは，和了役を指定していないにも拘らず，全帯么系の系列が現れる傾向があった．manue は他の数牌と比較して，1 や 9 を重要視するプレイヤであることが読み取れる．
人間の役牌成立系列の最頻値であった系列 (467,67) は，manue では 553 回出現している一方で，manue は系列 (467,46) が 512 回ある．また，系列 (346,34) について– 41 –

6.2 実験内容

は 516 回であり，こちらについては (346,46) が 579 回と (346,34) を逆転している．

(467,46) や (346,46) は，(467,67) や (346,34) とすれば面子にできた 8 や 2 を取り零
す選択である．全ての打牌において，面子となる確率が最大となるように打牌したとすると，(467,67) は 1,065 回，(346,34) は 1,095 回であり，表 6.5 に表示されていたことになる．受け入れを減らす選択をした理由は，manue の思考ルーチンにおいて，向聴数が同じ牌が複数ある場合に，その牌の中からランダムに打牌をするためである．結果として，manue が人間プレイヤとは異なる思考で打牌選択を行っていることを系列から読み取れると示せた．

6.2.5

巡目による一致率の変化と比較実験と結果• 目的
麻雀の序盤局面と終盤局面では，現れる手牌の特徴が異なる．序盤は無作為に与えられた配牌に近い状態であるが，牌の交換を重ねた終盤に近づくにつれて，同色の牌が多い複雑な局面や，降りている局面が含まれる．そこで，系列を用いた場合の一致率について，検証データを序盤局面にした場合と，それ以外場合とで比較実験
を行う．

• 内容
あるプレイヤに着目し，序盤局面とそれ以外の局面において，本人の系列と他人の系列，全体の系列を与えた場合の第三候補以内一致率を比較する．本人の系列は，本人である 1 人の系列のみを用いた場合であるが，全体の系列は 82 人全体の牌譜から生成した系列を用いた場合であり，他人の系列は，本人を除く 81 人の牌譜から生成した系列を用いた場合である．巡目は，4 巡目以内 (4 巡目を含む)，5 巡以降 (5 巡目を含む)，7 巡以降 (7 巡目を含む) でそれぞれ調べる．なお，5 巡目以降とは，5 巡
目，6 巡目，7 巡目以降を指す．

• 対象データ– 42 –

6.2 実験内容– 生成データ2018 年の 1 年分
– 検証データ2019 年の 1 年分
– プレイヤ数
82 名中の代表 1 名
表 6.6 プレイヤ A の異なる巡目の検証データを与えた場合の一致率比較実験

系列の生成データ

4 巡目以内

5 巡以降

7 巡以降

本人の系列

75.50%

67.61%

66.85%

全体の系列

81.63%

75.72%

73.94%

他人の系列 (平均)74.90%

67.70% **67.02% **• 結果
プレイヤ A について，異なる巡目の検証データで，本人の系列，全体の系列，他人の系列を与えた場合の第三候補以内一致率を調べた結果が，表 6.6 である．検証用
データが 4 巡目以内の場合が最も第三候補以内一致率が 5 巡目以降よりも相対的に高く，5 巡目以降よりも後半である 7 巡目以降のデータの場合の方が一致率が下がる傾向が見られた．
他人の系列を用いた場合においては，4 巡目以内と 5 巡目以降，4 巡目以内と 7 巡目
以降の間で，対応ありの t 検定を有意水準 1%の両側検定で行った．4 巡目以内と 5巡目以降で比較した結果，有意な差がみられた (t(81) = 52.424，p < 0.01)．4 巡目
以内と 7 巡目以降で比較した結果，有意な差がみられた (t(81) = 22.067，p < 0.01)．
同じ傾向は他のプレイヤにおいても観測され，4 巡目以内の検証データが最も高い
第三候補以内一致率を示した．

– 43 –

第7章

考察
事前実験の表 5.3 より，対局者の目指す役の戦略の違いにより，系列が異なっていることが読み取れた．上位に頻出する系列についても，著者の直感と一致するものであった．
色情報のみを取り出す系列は，1 色あたりの枚数が少ない場合であれば，出現数を確保し打牌選択が行える．一方で，表 5.4 の結果より，「染め手」と呼ばれる同色の牌が多い局
面では，十分な数の系列を集めることができないという点が課題である．また，高い水準の一致率を確保しつつ，系列を生成するには，人間プレイヤの牌譜を年単位で集める必要がある．これを改善し，少ない牌譜数でも対応することができるようにすべきである．その方法の 1 つとして，既存の系列の中でもほとんど同じとみなせるような遷移をまとめるアルゴリズムが必要と感じた．例えば，12368，1233368 という前系列を想定したとき，完全一致する系列がなかったとしても，分割して 68 とみなすことで，従来よりも多くの局面に対応できる．しかし，適切に雀頭や面子とみなす分割の判定部分や，分割によって現れた多数の候補手の中で最良の手を選ぶ実装が難しい．
表 6.3 によると，それぞれの個人の生成データの系列として用いた場合よりも，全体のプレイヤのデータを用いた方が一致率が高いという結果になった．個人の対局により出会うことができる系列には限界があるため，データ数や系列の信頼性といった面で劣っていた可能性がある．しかし，追加実験を行い，6 年間の牌譜を生成データとしたとき，出現数が 1，2，3 である珍しい系列による打牌選択を除外しても，一致率は下がった．
すなわち，個人の珍しい局面が一致率を下げているのではなく，むしろ出現数が十分にあるケースで打牌を外している可能性が示唆される．この点に関連して，巡目の序盤と– 44 –

序盤以外で系列の一致率を比較した実験結果である表 6.6 より，系列は序盤の局面での一致率が高かった．局面が単純で和了へ向かうことが多い序盤に対して，終盤では状況により降りるプレイヤも現れる．このため，系列を用いる局面を限定することにより，一致率が向上することが期待される．
ところで，個人プレイヤの生成データを比較した場合では，生成用データと検証用
データの牌譜のプレイヤが一致する本人の系列を用いる方が，他人の系列を用いるよりも一致率が高くなる傾向が確認できた．本人でないプレイヤの中には，本人の系列デー
タでの一致率よりも高い値を示す者もいるが，それは全てのプレイヤが千差万別の個性を持っているわけではないため，打牌が似ている相性の良いプレイヤや，逆に悪いプレイヤがいるというのは自然な現象である．特に，今回対象としたプレイヤは天鳳の中でも最上位の卓で高い実力を持っているプレイヤであるため，「定石」を共有しており，一致率に差がつかなかったのかもしれない．提案手法はむしろ，中級者に対して適用した場合に良い結果が期待できると考えている．
将棋の棋風に擬えて，麻雀の打ち方は雀風と呼ばれるが，この雀風を客観的に定義するのは難しい．ただし，第三候補以内一致率の比較的低いプレイヤには，一般に「面前派」や「手役派」と呼ばれている雀風のプレイヤが集まる傾向がみられた．系列は，言い換えれば大多数の打牌選択を記録したものである．ゆえに，手役を重視するプレイヤとの一致率が低いということは，スタンダードで多数派の打ち方とは一致しないと考えれば矛盾がなく，個性が強いプレイヤの分類に系列を使える可能性もある．
最後に，向聴数が最小になるような打牌をする manue と人間の系列を比較したケース
では，人間とは異なる系列が現れた．これは，manue の思考ルーチンが向聴数を向上させる打牌のみを選択するアルゴリズムで動作しており，向聴数が同じ牌が複数ある場合
では，その中からランダムに打牌をするためである．このようなプレイヤに対しては，同じ前系列を持つ次系列の間で出現数の差があまりなく，出現数の最大値により選択する提案手法ではうまく手を一致させられないと考えられる．つまり，打牌に一貫性があることが系列が上手く動作する条件であると推定される．

– 45 –

第8章

まとめと今後の予定
本研究では，系列情報による牌譜の分析を行い，対局者の打牌の傾向を探ることに成功した．特に，系列という人間に理解できるデータ形式を用いて打牌を決定し，模倣しようとした点に新規性がある．色別に分割し，手牌の変化を表現した系列により，62%の局面で候補手を提案可能になった．このときの検証用データとの完全一致率は 42%であり，第三候補以内の一致率では 70%に達した．さらに，生成用データと検証用データの牌譜のプレイヤが一致している方が，他人の系列を用いるよりも一致率が高くなる傾向が確認できた．
系列の課題は，模倣相手プレイヤの十分な数の牌譜が必要という点にある．今後は系
列をより一般化した形式で表現することや，手牌の変化以外の情報を付加し，完全一致
ではなくとも打牌を出力できる局面を探るべきであり，学習データが少ない場面であっても，人間プレイヤを模倣する方法を検討したい．また，系列は局面ごとの細かい手牌の形に着目しているため，それぞれの人間プレイヤの系列の出現数の分布を比較することで，人間の打牌選択の癖や傾向を可視化できる．これを応用して平均的に選ばれ易い手を正解として比較すれば，そのプレイヤが正解とは異なる手を打った局面を抽出し，幅広い実力のプレイヤへの指導や，そうした特徴的な手を個性的とみなした協調にも活かせると考えている．以上の点を踏まえ，「自分とどの程度似ていると感じたか」という内容でアンケート調査を行えば，模倣の達成度を確認できるだろう．

– 46 –

謝辞
主査である竹内聖悟先生は，研究の方針やプログラムの改善といった点から，学術的な文章の構成に至るまで惜しみなく親身になって助言を下さったおかげで，楽しみながら研究を続けられ，心から感謝を申し上げる．
副査として研究の改善へ向けたコメントを頂いた松崎公紀教授，吉田真一教授，研究の礎となる知識や技術をご教示下さった全ての先生方に，この場を借りて感謝の意を表す．
最後に，麻雀豆腐 (https://majandofu.com/) 様より牌画像をお借りさせて頂いたご厚意にお礼を申し上げる．

– 47 –

参考文献[1] D. Silver，Julian Schrittwieser，Karen Simonyan，ioannis Antonoglou，Aja Huang，Arthur Guez，Thomas Hubert，Lucas baker，Matthew Lai，Adrian bolton，Yutian chen，Timothy Lillicrap，Fan Hui，Laurent Sifre,George van den Driessche，
Thore Graepel and Demis Hassabis， Mastering the game of go without humanknowledge ，Nature，Vol.550，no.7676，pp. 354–359，2017．
[2] Sandholm，Tuomas， The state of solving large incomplete-information games, andapplication to poker. ，Ai Magazine，Vol.31，no.4，pp.13-32，2010．
[3] 山下 宏， 将棋名人のレーティングと棋譜分析 ，ゲームプログラミングワーク
ショップ 2014 論文集，pp.9-16，2014．

[4] 濱野 航汰，松原 仁， 棋譜解析によるプレイヤーのレーティング推定 ，ゲームプロ
グラミングワークショップ 2018 論文集, pp.95-100, 2018．

[5] 池田 裕太郎 池田 心， アクションゲームにおける特定のプレイヤの特徴を模倣する
AI プレイヤの作成 ，情報処理学会研究会報告，2020-GI-43，9 号，pp.1-8，2020．
[6] 青木 雄亮，田村 仁， 予測と深層学習による特定プレイヤの模倣手法 ，ゲームプロ
グラミングワークショップ 2021 論文集，第 2021 巻，pp.102-105，2021 年．

[7] 蛭田 雄一，伊藤 毅志， 人間の思考を模倣した利己的先読み〜将棋の駒の取り合い問題に関する考察〜 ，情報処理学会論文誌，2006-GI-016，Vol.70，pp.17-20，2006.

[8] 水上 直紀，中張 遼太郎，浦 晃，三輪 誠，鶴岡 慶雅，近山 隆， 多人数性を分割した教師付き学習による 4 人麻雀プログラムの実現 ，情報処理学会論文誌， Vol.55，

pp.2410-2420，2014.
[9] 水上 直紀，鶴岡 慶雅， 牌譜を用いた対戦相手のモデル化とモンテカルロ法によるコンピュータ麻雀プレイヤの構築 ，ゲームプログラミングワークショップ 2014 論
文集，第 2014 巻，pp.48-55，2014 年．

– 48 –

参考文献[10] 萩原 涼太，山田 渉央，佐藤 直之，池田 心， 麻雀における相手の和了点数予測法の性能評価 ，情報処理学会研究会報告，2016-GI-35，11 号，pp.1-8，2016．

[11] 堺田寛一朗，川又泰介，松田源立， シーケンシャルパターンマイニングを用いた麻雀の捨て牌の傾向分析 ，情報処理学会第 84 回全国大会講演論文集，pp.404-405，

2022.
[12] M. Kurita and K. Hoki, ”Method for Constructing Artiﬁcial Intelligence PlayerWith Abstractions to Markov Decision Processes in Multiplayer Game of Mahjong,”in IEEE Transactions on Games, Vol.13，no.1， pp.99-110，March 2021，doi:
10.1109/TG.2020.3036471.
[13] 井出洋介， これが東大式!はじめてでもよくわかる麻雀入門 ，9784074318001，2018年，主婦の友社．

[14] オンラインネット麻雀「天鳳」，https://tenhou.net/，2023 年 1 月 31 日閲覧．
[15] Hiroshi Ichikawa，”mjai-manue”，https://github.com/gimite/mjai-manue．
[16] Hiroshi Ichikawa，”mjai”，https://github.com/gimite/mjai．
[17] Sotetsu Koyamada，Keigo Habara，Nao Goto，Shinri Okano，Soichiro Nishimori andShin Ishii，”Mjx: A framework for Mahjong AI research,” in 2022 IEEE Conference
on Games，pp．504-507，August 2022，https://github.com/mjx-project/mjx．

– 49 –