字牌組合せの数え上げ
和了形分析
概要
字牌のn枚形を列挙し、それぞれが一般形・七対子・七対・八対半の和了形の一部として使用可能か否かを判定する。
方法
東/南/西/北/白/発/中の枚数を動かすプログラムによって列挙し、それぞれを以下のアルゴリズムで判定する。
- 一般形
- 枚数が3の倍数でないなら、2枚の牌が1種あり、他すべての牌が、0枚か3枚ずつあればよい。
- 枚数が3の倍数なら、すべての牌が、0枚か3枚ずつあればよい。
- 七対子
- すべての牌が、0枚か2枚ずつであればよい。
- 七対
- すべての牌が、0枚か2枚か4枚ずつであればよい。
- 八対半
- 枚数が奇数なら、3枚の牌が1種あり、他すべての牌が、0枚か2枚か4枚ずつであればよい。
- 枚数が偶数なら、すべての牌が、0枚か2枚か4枚ずつであればよい。
備考
上は数牌における清一色分析から、順子の取り出し作業を除いたものと同じである。
結果
0枚以上17枚以下のすべての牌式に対して、一般形・七対子・七対・八対半についての使用可否、重複度を列挙することに成功した。
データ
注釈
- タブ区切りで、牌式・面子手・七対子・七対・八対半における使用の可否・重複度。
- 16枚形は本来すべて「使用不可」であるが、「七対」「八対半」で使用可と判定されたものがある(より一般 (19枚麻雀、22枚麻雀など) への拡張に用いるため)。
組合せ数
以上より算出したデータが表2である。