戯言。麻雀一考。一打目は何を切るべきか?

徒然草2.0

とりあえず「麻雀研究用アプリ」はシャッフルとツモ切りができるようになった。理牌はChat-gptからのクイックソート関数を移植したら一瞬だった。ツモって切れるようにしたら一応の形にはなった。ツモった牌が勝手に理牌されるので右側に配置したほうがいいな(汗)。課題はあるが、シャンテン数計算、牌効率分析、点数計算問題作成とか色々なことにつなげていきたい。

一打目は何を切るべきか?

他家の河とドラ表示牌を無視してピンフタンヤオでどれだけ牌効率がいい打ち方ができるか?をとりあえず考えようとしている。麻雀にはいろいろな例外の打ち筋があるが、例外も加味しないと強くはなれないが最低限の基礎さえ押さえればとりあえず自動打ちは可能になるはず(何も考えずにランダムに切るだけでも一種の自動打ちになるが)とはいえ例外をはじめに頭にいれておかないと開発していて最終的に詰む可能性がある。詰むというのは、私が目的としたアルゴリズムが完成しないということを意味する。

なお、私が考える目的には前提として「麻雀はかなり単純な確立計算の積み重ねだけで、それなりの麻雀上級者になれるのでは」という発想がある。麻雀が割とロジック自体が単純化しやすくプログラミングしやすいはず…と特に根拠は無いが仮説をたてている。打牌時の状況判断として先に述べた通り他家の河やドラ表示牌などは係数として後で打牌処理に加味をするにしても、牌をメンゼンで引き当てることがもっとも重要な作業であるがシンプルなアルゴリズムの積み重ねで実現ができる。なぜなら、そんな難しい思考を人間がしていて瞬時に判断できない。麻雀は囲碁や将棋と異なり、深いロジックより瞬発力の方が重要で、瞬発力はわりと計算的には単純化できるはず。あまり多い情報量を扱っていたら、人間の脳はパンクするから人は単純化して考えている。ある程度方針が決まったら絵合わせを脳死で行っている。もちろん人により、頭をぐるぐるフルに回していろんな可能性をシークしているひともいるだろうけど、それって本当に必要なの?という疑問がある。

とはいえ、他家ありきのゲームだからそんなに単純にはいかないことは、承知しているがアルゴリズム自体は極めてシンプルなところからはじめたほうがいいのではないか。

例えば一打目だったら「字牌と么九牌が8以上だったら、チャンタ系を目指す」とか「字牌の対子や刻子が2つ以上あり、萬子、索子、筒子のいずれかに偏りがあればホンイツ系を目指す」みたいな判断がまずあっていいと思うし、実際に多くの麻雀ユーザはそんな感じだろうと勝手に推察している。一度方針を決めたら切り返して戦略は基本的に変えない。実際に勝つためや4位にならないために判断を変えるし、その判断を変えて戦略を改めることが麻雀の醍醐味かもしれないが、そのへんは後でパラメータでいじることができる。逆に難しいことを言えば一打目でどう考えどう打つか方針が定まる。明らかな扶養牌を削り落としながら手を考える。

端の1や2(同じく9や8)は、3~7より順子のパターンがないので活用度が高いが独立して存在していると使いづらい。ピンフ・タンヤオを狙うなら字牌や他に切る牌が無ければ削除対象には成りづらい。ただしホンイツ狙いならそうそうに消すのもあり、…などの場面で人でも迷う。後で連絡する牌がくれば、上がりに限りなく近づくので判断が難しい。あれ切らなきゃよかったな、になりやすい牌とも言えるし、最初からバサリと切っている印象を周囲に与えて周囲に上がり牌がないことの証明をしてしまってもいる。その影響度合いは一体どれくらいあるんだろう。

セルフディープラーニング(自分の頭で考える)と迷うが、さくっとホンイツ狙いなので単独牌は切るとかとか、強い人の手筋を眺めていると分かってくる。後は守りと攻めの配分をどう決めるかが問題になってくる。難しいところは割り切ってしまうのも手なのだ。たぶん。サンショクやイッツーの可能性とかイイペーコウの可能性とかもろもろ考慮はしたいが、考えだすとやはり難しいな。単純化、無理に割り切りすぎても無意味なツモ切りになる気がする。(何がいいたいエントリーかわからなくなってきたが)こういう場合はどう考えて打つの?のパターンは無数にある気がしてきた、。

徒然草2.0
スポンサーリンク
シェアする
gomiryoをフォローする
ごみぶろぐ

コメント

タイトルとURLをコピーしました