- 第9話壊れないお椀
- 第8話2020年、娯楽の危機
- 第7話人和が役満になっている謎
- 第6話30倍の法則
- 第5話麻雀って、何が楽しいんですか?
- 第4話弊社の誇りの一つ。品質管理チーム
第3話 牌の偏り 後編~初期プログラムの失敗
前回は、確率の偏りのお話の中で、順位や牌の並びが偏るという事を書かせて頂きました。
しかし、このように思われた方もいらっしゃるかもしれません。「、、、と言っても、他の麻雀ゲームに比べて、Maru-Janは特に牌が偏る気がするんだよなぁ。Maru-Janは配牌とか牌山が混ざってないという事はない?」
その答えは、、、、Yesです。
理由について、ご説明したいと思います。
話は13年以上前、2002年に私が起業した頃に遡ります。コラムの第1話で書かせて頂いたように、リアルな麻雀に嫉妬?していた私は、本格的な麻雀ゲームを作る会社を立ち上げ、資金集めに奔走していました。

一緒に起業したプログラマーは毎日徹夜のような状況で、プログラムを日々制作してくれていました。
一方であまりの資金の無さに、二人とも無給で働いている状態でした。支援して頂いている方にトウモロコシの差し入れを頂いたり、安売りのサツマイモを大量に購入したり、仲の良いパン屋さんにパンの耳を分けて頂いたり、さらには当時のマクドナルドの65円バーガーなどで凌いだりしていました。
サバイバル的な生活を楽しみつつも、かなり精神的には追い込まれ、なかなか資金も集まらない状況の中、ある日、Maru-Janのテストプログラムが形になりましたので、テストを兼ねて遊んでみました。
、、、が、恐ろしい事に、初期のMaru-Janのプログラムは全く面白くなかったのです。特に、配牌が酷すぎて、毎回七種七牌みたいな感じなのです。よく混ざっていると言えば、混ざっているのですが、和了は七対子ぐらいしか望めないような感じで、その出来映えに愕然としました。
理由は明らかでした。コンピューターには乱数というものがあり、これにより、牌を混ぜるとかなりの確率で混ざるのですが、自然にはあり得ないぐらいの、非常によく混ざった混ざり具合になるのです。

そこで、悪魔が耳元で囁きます。「コンピューターの乱数で、混ざりすぎるんだったら、わざと、"やらせ"を入れて、固まるようにすればいいんじゃない?」
今だから、書けることでもあるのですが、当時は正直迷いました。既に投資なども一部受けながらプロジェクトをスタートしていましたし、一刻も早くプログラムを完成して、ピンチを脱したい気持ちで一杯だったからです。
ただ、本物の麻雀をやっつける気持ちで起業していたため、「"やらせ"が入るような麻雀ゲームに人生を賭ける価値はない。」と思い直しました。
ただ、どうすれば良いか?
考えた末、大学時代にコンピューターの情報工学を学んだときに「何事も正確にシミュレーションして実験するのが大切」と恩師に言われた事を思い出しました。
そこで、中古の全自動麻雀卓を買ってきて自宅に運び込み、様々な実験を行いました。最初は牌の混ざり具合の観察をしていたのですが、それでは、ハッキリとは分からなかったため、牌にマジックで番号を書いて、混ざり具合の観察実験をすることにしました。
もちろん、牌は台無しになりますが、例えば、4枚の發に1,2,3,4とそれぞれ番号を振り、それらの牌が何処に行くのかを調べました。
調べた結果は予想に反して、驚くべきものでした。
ほとんど混ざっていない。。。
全自動卓は麻雀牌を2セット使用しますが、前々回の局の牌が並べられて上がってくる仕組みになっています。
この前々局の牌の位置と並び方を全て記録してから落とし、その並びを観察していると、元の並び方がそのままで上がってくる事がかなりの頻度で発生したのです。
例えば、發をカンした場合、その塊が次回も固まりやすくなるという事になります。もちろん、絶対に固まるという事はないのですが、ただ、發をバラバラの位置から混ぜたときに比べて、發が2枚、3枚と隣り合う確率は非常に高かったのです。
また、全自動卓では概ね、捨て牌⇒山牌⇒手牌の順番に穴に落ちていき混ぜられますが、捨て牌同士、山牌同士、手牌同士がそれぞれ混ざり合う確率が高く、それぞれ全体が一気に混ざり合う確率は低くなってます。(もちろん傾向のお話ですので絶対という訳ではありませんし、手積みだと全く違う混ざり具合になります。)
また、普段の麻雀の行為は、バラバラの牌を固める行動が主な戦略であるために落とされる前の牌はどんどん固まります。メンゼンで手牌を進めている時の手牌はもちろんの事、字牌のポンで字牌は固まりますし、数牌はチーでも順子として345などのように固まります。359のままずっと持っている事はなく、345となるように行動していきます。
さらには、字牌の合わせ打ち、リーチがかかったら合わせて同じ牌を切る、対子落とし、暗刻落としでオリるなど、手牌を揃える時ではない時でも、捨て牌にも同じ牌を並べる確率が高まっていきます。
そのため、麻雀の山というのは、基本は長く打っていると、ドンドンと固まりやすくなっていくものなのだという事が分かりました。ずっと不思議だった麻雀の運の正体の一つ、麻雀の神秘の淵をのぞき込んだような気持ちになりました。
そこで、得た結果をMaru-Janの撹拌アルゴリズムに反映しました。

具体的には実際の全自動卓と同じように、サーバ上で牌の2セット分のデータを用意して、捨て牌、山牌、手牌の順番にそれぞれを自動卓の穴に落とすのと同じような仕組みでデータ上で混ぜるようにしました。これにより全ての牌がコンピュータの乱数のように混ざるのではなく、前々局(牌が2セットありますので)の結果に影響を受けた配牌になります。
たとえば、字牌などは三枚揃える事が多いため、(必ずそうなる訳ではありませんが)同じ山であれば前々局の結果を受けて固まっている事が多く、例えば七対子で絶好の西で待っていた所に、中を自摸ってきたら中単騎でリーチすると、一発で和了、のような不思議な和了が出来るようになります。
また、索子の自摸が続くというのが読み取れた場合、浮かせていた二索に三索がくっついたため、くっつきは鉄板リーチ!!と叫びながら(叫ばなくても良いと思いますが)リーチしたら一発自摸、のような和了も起きたりします。(しつこいですが、必ずそうなる訳ではありません。完全なランダムよりも確率が少しだけ高いというような話です)
周りから見ると、ラクに和了っているように見えますが、実は牌山の傾向を読んだ高度な和了になります。全自動卓の性質を知り尽くした麻雀プロなどは、このような和了を良く狙っているといいます。
もちろんの事、誰か一人に対して有利になるように偏っているという事ではなく、誰にも公平に訪れる牌の偏りになります。稀に、「自分だけ牌が偏っているのではないか?」というご意見を頂く事もありますが、弊社としても、私個人としても、そのような麻雀ゲームには価値が無いと思いますので、特定の個人が有利になるような仕組みは一切ありません。
一方で、「Maru-Janで練習したらリアルの麻雀卓でも勝てるようになりました。」という嬉しいご意見も頂けるようになりました。
そのような声をお伺いする度に、この麻雀ゲームには人生を賭ける価値があったと思えます。