渋谷尭深の能力(ハーベストタイム)を検証するサイト
捨て牌選択アルゴリズム
さて、前のページでハーベストタイムについて説明したわけですが、この能力を活かすならどうやって第1打を決めるべきでしょうか。
答えはずばり、(オーラスで)大三元を狙うことです。理由としては、
- 最少の7局でオーラスを迎えても、それまでの配牌次第では十分に狙える役であること(具体的には、果実牌を[白白白発発中中]などという形にして、発と中を鳴くか自分でツモるのを待つ)。
- 役満を考えず和了る(かなりもったいないが…)だけなら、国士無双と違い、ほとんどのケースで三元牌の刻子を確定させやすいので和了形の自由度が高いこと。
- 運がよければ字一色や四暗刻などの他の役満も狙えること。
などがあります。少なくとも私(ページ製作者)はそう考えました。
[※2013/6/15追記] ↑大嘘です。詳しくは国士無双を狙う編を御覧ください。
作中の大会のレギュレーションでは、ダブル役満(以上)は採用しないようなので3つめは無意味に思えますが、大三元ができなかったときの保険と考えます。
以上の点を踏まえて、第1打の選択アルゴリズムを以下のようにします。
- 三元牌→その他の字牌(風牌)→数牌の順に優先順位をつける。
- 三元牌の中では、タネ牌に含まれる個数が少ない順(同数の場合は便宜上白→発→中とする)に優先順位をつける。
- 風牌の中では、タネ牌に含まれる個数の多い順(同数の場合は便宜上南→東→北→西とする)に優先順位をつける。
- 数牌の中では、タネ牌に含まれる個数の多い一九牌(同数の場合は便宜上一萬→九萬→一筒→九筒→一索→九索とする)を優先する(ただし、例えば一萬がタネ牌に含まれている場合は二萬、三萬もタネ牌候補とするなど、柔軟に対応)。
- いずれのケースでも、すでにタネ牌に3枚含まれる牌、配牌に含まれない牌は第1打の候補から外す(=優先順位を最低とする)。
- これらを加味して、最も優先順位の高いものを第1打とする。
なお、このアルゴリズム作成には元動画のコメントを大いに参考にしました。コメントされた方々、ありがとうございます。
ここで注意点が1つあります。このアルゴリズムでは、栽培期で和了ることを全く考慮に入れていないので、例えば東1局での配牌が[一二三四五六七八九東東白白中]となった場合(通常は中を切ってダブル立直?ですが)、2.に従うと(タネ牌にはまだ何も含まれていないため)白を第1打として選択することになります。これほど極端ではなくても、このサイトの考察においては、栽培期で非効率な第1打の選択をしている可能性が大いにあるのですが、あらかじめご了承ください。極端な話、振り込まなければ別に構わないと考えましょう。
正直、そこまで考えていると私のプログラミング能力ではムリです。