システマティック麻雀工学:
0:システマティック麻雀工学概論





大衆ゲームとしての麻雀:

麻雀は、偶然性によって結果が大きくばらつくゲームである。
悪い打ち方をしても結果的に成功することもしょっちゅうあるし、逆もある。
また、同じ打ち方であるにもかかわらず、長い間(つまり500試合とかそういうレベルで)平均順位が0.1も悪化したり、逆に向上したりもする。
それゆえに、結果から「正しい打ち方」を推測することが難しいゲームだといえよう。

そしてまた、麻雀は、計算が困難なゲームである。一般に麻雀の理論的研究はほとんど進んでいないと言って良い。
それは実際、本HPでちょっと平均順位のばらつきや東風戦・東南戦での順位の標準偏差をデータ化するだけで、麻雀界で他にないほど理論的な研究になってしまうほどにである。

こうした背景をもとに、麻雀界には知的なものや明快な理論は、求めるべくもなくなってしまっている。
経験から即座に判断できず、理論も整っていないとき、大衆はどう振舞うか?
自分の数少ない経験や印象を語り、妄想を膨らませ、なおかつ「結論が出ない」ことを良いことに自分があたかも最強の雀士であるがごとくに発言する。
その結果が「流れ」信仰の蔓延だったのであり、簡単な理論計算さえ誰も行わない低い水準への安寧だったのであり、すべての重要なパラメータの推察を放棄して「状況によるよね」と知ったかぶりする大量の凡庸な打ち手発生の元凶であった。

麻雀界のすべての発言は大衆的である。
つまり、「技術も大事だが運も大事だ」「状況による」のような当たり前の発言が半分を占め、あるいは「麻雀は運:技術=8:2のゲームだよ」「流れを読むとこうだ」といったような間違った発言が残り半分を占めている。
当たり前のことか間違ったことしか言えないのが彼らであった。
決して一つ一つの状況をデータ化したり、パラメータを求めたりすることはなかった。


システマティックな麻雀:

麻雀における「強い打ち方」を可能な限り明確に言語化して語るのが、システマティックな麻雀である。
他家をある母集団からランダムに取り、対戦するとき、各々の「状況」においてどの牌を切ることが最も成績の向上につながるのかを一意に定められることが、「強い」ことだからだ。
他家からリーチがかかったとき降りたいなら、3枚切れ西を切るか、無スジ5を切るかという問いに対して、(他の全ての条件は同じだと仮定して)「西を切る」と答えられることが強いことだ。
あるいは、「こうこうこういう場合には、5の方が安全だ」ということが断言できる状態を強いと言う。

「状況による」とだけ答える人は決して強くない。
場合分けしてその全てに解を与えられるということ、あるいは、明確化されていない部分は「ランダム」だと仮定して場合分けせず、仮の解を与えられること、それが「同じ状況で同じ牌を切る」ことなのだ。
そのような打ち方をしていれば、打ち方を変えてみて成績が上昇すればその打ち方が「正しい」ことがわかり、さらに強い打ち方を身につけることができる。
また、場合分けのための認識領域を広げて、より精度の高い解を与えることができるようになる。
そうではなく全てを曖昧に「状況による」と答えている限り、麻雀の技術は人並みにしか向上しない。

ネット麻雀で、より詳細な麻雀のデータを取れるようになってから、それを利用して多くの人が麻雀の技術を大きく向上させた。
実際の麻雀において詳細なデータを取ることはあまりにも困難で、PC上においてはそれがあまりにも簡単なのである。
データを取った麻雀が、直感や印象のみに大きく左右されるサル麻雀よりも強くなることはこの上なく明白である。
とつげき東北自身も、データ集計ツール「できすぎくん」を開発し利用したことによって、以前よりずっと様々なことがわかり(つまり過去には「状況による」としか答えられなかった様々な状況に対して明確な解答を示すことができるようになり)、技術は飛躍的に向上した。東風荘第一超ランにおいて最強5指に数えられるほどのレベルに達した。

しかし、「実力の向上」というのは、知的好奇心の対象という観点からみると、第一目的にはならない。
「結果」だけを求めることは、麻雀という偶然の世界においてはあまり意味のないことだからだ。
偶然結果を残すのではなく、「結果がどのようなメカニズムで変動するのか、どうやって実力を測定すべきなのか?」を理解すること。
無意識に強い打ち方ができるのではなく、「どのような打ち方が、どの程度の強さになるのか? またそれはなぜか?」を理解すること。
麻雀の理論化、理屈化こそ、とつげき東北が最初から目指していることである。

将棋やチェスでは、コンピュータのアルゴリズムがシロウトのレベルを遥かに超える水準に達している。
ところが麻雀ではどうか?
ほとんどまっすぐに(しかも無駄はたくさんある)テンパイに向かい、ほとんど点数状況を把握せず、十年も昔に作られたアルゴリズムの使いまわしなのだ。
麻雀の打ち方を言語化するということは、言い訳ができなくなるということである。「状況による」などと曖昧に答えることは許されず、全ての状況を加味して結論を一つに絞るということである。
そして、最強の打ち手がいるとすれば、彼はどんな状況においても結論を一つに絞ることができる打ち手であるに違いない。
短絡的な判断や短い(500試合程度の)結果から「状況にもよるが・・・」などと弁明しつつえらそうに麻雀を語っている連中は最強にならない。
最強の打ち手はデータの蓄積の中から、つまりネット麻雀の世界から、場合によっては知的な人間の開発したアルゴリズムから誕生する。


システマティック麻雀工学の方針:

ここでは「強い東風荘自動打ちツール」の完成を最終目標として、麻雀の解を解き明かしながら麻雀をデータ化・理論化(すなわちシステム化)していく。
もっとも単純な理論の例として、「最速でテンパイを目指すための打ち方」の理論というものが考えられるだろう。
しかし残念ながら現段階では、麻雀界に携わる人々の社会的地位や、それに見合った彼らの知能程度、および、麻雀ゲームの情報量の膨大さから、これさえも完全に理論化されていない。
他にも「他家はテンパイかどうかの判断」や、「他家が必要とする牌の分布」「局・本場と点数と順位の関係」など様々な判断において、麻雀界はこれをすべて古い直感と経験だけに基づいて語っていると言って良い。
我々は降りるために、「相手の必要牌」という解を求めなければならない。それを求めるためには、「相手がどんな部分にどんなメンツを作るのか」という解を知らなければならない。
まずは、システマティックな麻雀のために、麻雀の中にある様々な「判断」の解同士を、順に関連付けてみたい。

・データの収集

・他家の狙い役等の推測
(データを元に、どのような捨て牌であればどの程度の確率で染め手をしているのか、食い仕掛けをするのか、などのパラメータを決定する理論の開発)

・他家メンツ構成の推測
(狙い役が決まれば、その家が必要とするメンツがわかる、例えば染め手している人は染め色以外のメンツを必要としない)

・必要牌(不要牌)の推測
(メンツ構成がわかれば、必要牌はそれらメンツを構成するどれかに絞られる)

・待ちの推測、ベタオリ技術の理論化
(必要牌のうち一部とその関連牌が待ちになる)
・場に出る牌の推測
(必要牌以外は、相手が降りていない限り場に出る)

・山に残った牌の推測
(場に出た牌と他家が必要とする牌以外の牌の一部が山に残っている)

・和了のために効率的な打牌の計算
・相手の狙い役や自分の手の大きさに見合った攻め降りの判断
・相手が降りていることを判断する統計データまたは理論

(以上の局ごとの判断に基づいて)順位分布等の試合全体の有利不利を判断する理論

最強の自動打ちアルゴリズムの完成

流れとしてはこのように考えることができる。
各々の領域内においては、それぞれパラメータのために別途データを必要とし、また過去のデータを学習させて有効なパラメータを探す必要がある。
それから、ある程度「強い」人の手で、重要な別種のパラメータを導入する必要も生ずる。
麻雀界はこれまで、このうちのどの段階までを達成しているかと言えば、残念ながらデータ収集さえお粗末なレベルである。
ネット麻雀など、データの取れる麻雀環境ができたにもかかわらず、データ取りや麻雀の研究ではなく小銭の取り合いに興味を示す人間が大半なのだから仕方がない。
道は困難であるように思うが、必ずしも完全な理論だけが有益なのではない。
完全でない理論であっても充分に有用なものはこの世にたくさんあり、同様に、麻雀において未知の部分やデータ収集ができない部分については適度にパラメータを補いながら、あるいは無視しながらであっても、上のような一通りの作業の全部または一部をこなすことは非常に重要である。
そこから理論同士の切磋琢磨が生まれるのであって、最初から何もなければ何も生まれない(せいぜい大量のオカルトと大衆の語りが生まれるだけだ)。