2012-10-31(Wed)
うつ病で休職してます。
久しぶりに麻雀の研究をする気になりました。
最近、萬雀なるゲームを見つけました。
MONDO TV無料ゲーム
名前の通りマンズのみの麻雀です。
最低でもチンイツの超インフレ麻雀。
スピード感も半端ないです。
天和・地和も普通に発生しますし、
大概ダブリーになります。
体感だと平均してダブリー一発ぐらいのスピードで決着することが多いですね。
プレイヤーの思考がほぼ入らない分(ポン・チーはなしということもあり)、通常麻雀をはるかに超えた運ゲーです。
相手が親のとき、天和・ダブリー一発等で何もさせてもらえないことも多々あります。
だが、そこが新鮮で、「ちょっと一戦」という気になります。
多面張の勉強になり、頭の体操にもなります。
(ただ萬雀はあまりに運ゲーすぎるので個人的には上のリンクと同じところにあるヤオチュー麻雀の方がインフレ度も運ゲー度もほどよくて好きですが)
上でも書いた通り、萬雀はプレイヤーの思考がほぼ入らないので、実戦データを取る必要がないということ。
また、過去の研究で和了判定や聴牌判定、一向聴判定の関数を既に作ってあるので、
新たに始めるにしても、けっこう研究しやすいのかなあと思いました。
なんで、飽きるまで萬雀の研究でもやってみようかなあと思います。
普通の麻雀の研究は手持ちデータがかなり昔の旧東風荘のもので、
いまさら天鳳のデータを取ったり、天鳳のデータ用に新たにプログラムを組むのも面倒くさいこと。
また、昔取った数値データの意味を大半忘れてしまっていて、新たな研究に活用するのが難しいので
たぶんもうやらないです。
とりあえず手始めに配牌組み合わせの総数から計算してみましょう。
求めるのは、「9種類の牌(一萬~九萬)から重複を4つまで認めて14枚(親の場合)を引く」場合の数です。
しかしこれどうやって計算するんだ…
簡単なのは「9種類の牌から重複を認めて14枚引く」場合の数で、
9H14=22C8=319770です。
「9種類の牌から重複を4つまで認めて14枚(親の場合)を引く」場合の数は、「9種類の牌から重複を認めて14枚引く」より少ないので319770より少なくなります。
重複が5つ以上発生するようなケースは通常の麻雀でも刻子より槓子ははるかにできにくいことから想像しても、
全体から見ても小数になることが予想されます。
多く見積もっても1割以下、求めるべき配牌のパターン数は30万前後といったところでしょうか。
全部数え上げるプログラムを作るとすると「1m1m1m1m2m2m2m2m3m3m3m3m4m4m」の組み合わせから1牌ずつ上に上げていくみたいなアルゴリズムになるのかな…
絶対数え上げ方をミスりそうな気がする…
通常の麻雀の配牌パターンが天文学的数値になることを考えれば、
萬雀の配牌パターンが6ケタ程度で済むのは朗報です。
仮に正確な総配牌パターン数を求めることができれば、
シミュレーションによる不確定な数値に頼らずとも
数え上げで天和率・ダブリー率・初手に切られるのが○萬である確率…
といったことが正確な数値として出すことができます。(理論上は)
しかし、上の通り正確なパターン数を求める自信がないし、シミュレーションの方が慣れてるので、
シミュレーションに逃げることにします。
次回以降の予定
・天和率、ダブリー率
・ダブリー時に待ちが○萬になる確率、待ち牌数の分布
・○萬切りでダブリーされたときに待ちが○萬である確率
・和了時点数分布
・初手に切られるのが○萬である確率?
どこまでできるかな?
久しぶりに麻雀の研究をする気になりました。
最近、萬雀なるゲームを見つけました。
MONDO TV無料ゲーム
名前の通りマンズのみの麻雀です。
最低でもチンイツの超インフレ麻雀。
スピード感も半端ないです。
天和・地和も普通に発生しますし、
大概ダブリーになります。
体感だと平均してダブリー一発ぐらいのスピードで決着することが多いですね。
プレイヤーの思考がほぼ入らない分(ポン・チーはなしということもあり)、通常麻雀をはるかに超えた運ゲーです。
相手が親のとき、天和・ダブリー一発等で何もさせてもらえないことも多々あります。
だが、そこが新鮮で、「ちょっと一戦」という気になります。
多面張の勉強になり、頭の体操にもなります。
(ただ萬雀はあまりに運ゲーすぎるので個人的には上のリンクと同じところにあるヤオチュー麻雀の方がインフレ度も運ゲー度もほどよくて好きですが)
上でも書いた通り、萬雀はプレイヤーの思考がほぼ入らないので、実戦データを取る必要がないということ。
また、過去の研究で和了判定や聴牌判定、一向聴判定の関数を既に作ってあるので、
新たに始めるにしても、けっこう研究しやすいのかなあと思いました。
なんで、飽きるまで萬雀の研究でもやってみようかなあと思います。
普通の麻雀の研究は手持ちデータがかなり昔の旧東風荘のもので、
いまさら天鳳のデータを取ったり、天鳳のデータ用に新たにプログラムを組むのも面倒くさいこと。
また、昔取った数値データの意味を大半忘れてしまっていて、新たな研究に活用するのが難しいので
たぶんもうやらないです。
とりあえず手始めに配牌組み合わせの総数から計算してみましょう。
求めるのは、「9種類の牌(一萬~九萬)から重複を4つまで認めて14枚(親の場合)を引く」場合の数です。
しかしこれどうやって計算するんだ…
簡単なのは「9種類の牌から重複を認めて14枚引く」場合の数で、
9H14=22C8=319770です。
「9種類の牌から重複を4つまで認めて14枚(親の場合)を引く」場合の数は、「9種類の牌から重複を認めて14枚引く」より少ないので319770より少なくなります。
重複が5つ以上発生するようなケースは通常の麻雀でも刻子より槓子ははるかにできにくいことから想像しても、
全体から見ても小数になることが予想されます。
多く見積もっても1割以下、求めるべき配牌のパターン数は30万前後といったところでしょうか。
全部数え上げるプログラムを作るとすると「1m1m1m1m2m2m2m2m3m3m3m3m4m4m」の組み合わせから1牌ずつ上に上げていくみたいなアルゴリズムになるのかな…
絶対数え上げ方をミスりそうな気がする…
通常の麻雀の配牌パターンが天文学的数値になることを考えれば、
萬雀の配牌パターンが6ケタ程度で済むのは朗報です。
仮に正確な総配牌パターン数を求めることができれば、
シミュレーションによる不確定な数値に頼らずとも
数え上げで天和率・ダブリー率・初手に切られるのが○萬である確率…
といったことが正確な数値として出すことができます。(理論上は)
しかし、上の通り正確なパターン数を求める自信がないし、シミュレーションの方が慣れてるので、
シミュレーションに逃げることにします。
次回以降の予定
・天和率、ダブリー率
・ダブリー時に待ちが○萬になる確率、待ち牌数の分布
・○萬切りでダブリーされたときに待ちが○萬である確率
・和了時点数分布
・初手に切られるのが○萬である確率?
どこまでできるかな?
スポンサーサイト