三面待ちで日が暮れて

最近読み始めた市民さんの麻雀ブログで提示された「三面待ちを10個上げよ」という問題について、この一週間ほど考えていた。考えれば考えるほど考えなくてはいけないことが増えていくからだ。
ものの種類を数えるという行為は、ものを分類するという行為に繋がる。同種のものを二度数えてはいけないからだ。ではこの問題における同種とは何だろうか*1
「普通の感覚」として、平行移動・対称移動・変色・不要な雀頭と面子の増減で一致する形は同じとしてしまうべきだろう。全くもって「同一」というわけでなく、本質的に同じというやつだ。これを「合同」と呼ぶことにする。これらの定義は最後に畳んでおくので読みたい人だけ読んで貰えればありがたい。
そして合同関係は推移律を持つ。つまりAとB,BとCがそれぞれ合同であればAとCも合同である。
ところがここで問題が生じてしまった。例えば一筒一筒一筒二筒三筒九筒九筒一筒一筒二筒二筒二筒三筒三筒三筒九筒九筒はそれぞれ149p待ちであり、これらは「普通の感覚」として異なる形としたいのだが、同じく149p待ちである一筒一筒一筒二筒二筒二筒二筒三筒三筒三筒三筒九筒九筒とはどちらとも不要な面子の増減で一致してしまう。

一筒一筒一筒二筒三筒九筒九筒二筒二筒二筒三筒三筒三筒 = 一筒一筒一筒二筒二筒二筒二筒三筒三筒三筒三筒九筒九筒
一筒一筒二筒二筒二筒三筒三筒三筒九筒九筒一筒二筒三筒 = 一筒一筒一筒二筒二筒二筒二筒三筒三筒三筒三筒九筒九筒

推移律より一筒一筒一筒二筒三筒九筒九筒一筒一筒二筒二筒二筒三筒三筒三筒九筒九筒も合同となってしまうのだ。
もうひとつ悩ましいのが非一色手の扱いである。
例えば二筒二筒二筒三筒四筒八索八索八索八索は、ほとんどどの対子に変えても本質的には一緒だ。何なら字牌でもいい。ピンズに変えてもいいが、しかし四筒四筒にすると五面待ちになってしまう。
とりあえず「なんでもいい対子」は西西にしなければいけない、という決まりでも作ろうか。
続く。

定義:2枚の数牌a,bに対し、aとbが同色で、(bのランク)−(aのランク)がrであるとき、aとbは距離rの平行移動で一致するという。

定義:n枚の数牌2組の集合A={a_1,a_2,…,a_n},B={b_1,b_2,…,b_n}に対し、a_1とb_1、a_2とb_2、・・・、a_nとb_nが全て距離rの平行移動で一致するとき、AとBは距離rの平行移動で一致すると呼ぶ。
例:二筒三筒四筒五筒六筒 ⇔ 四筒五筒六筒七筒八筒

定義:2枚の数牌a,bに対し、aとbが同色で、(aのランク)+(bのランク)=10であるとき、aとbは対象移動で一致するという。

定義:n枚の数牌2組の集合A={a_1,a_2,…,a_n},B={b_1,b_2,…,b_n}に対し、a_1とb_1、a_2とb_2、・・・、a_nとb_nが全て対称移動で一致するとき、AとBは対称移動で一致すると呼ぶ。
例:二索二索二索三索 ⇔ 七索八索八索八索

定義:2枚の数牌a,bに対し、aとbが異色で、aのランクとbのランクが等しいとき、aとbは変色で一致するという。

定義:n枚の同色数牌2組の集合A={a_1,a_2,…,a_n},B={b_1,b_2,…,b_n}に対し、a_1とb_1、a_2とb_2、・・・、a_nとb_nが全て変色で一致するとき、AとBは変色で一致すると呼ぶ。
例:一萬二萬三萬四萬四萬五萬六萬 ⇔ 一索二索三索四索四索五索六索

定義:テンパイ形AとBに対し、Aに雀頭または面子を加えるとBに一致し、かつAとBの待ちが一致するとき、AとBは不要な雀頭と面子の増減で一致すると呼ぶ。
例:一索一索一索三索五索五索五索 ⇔ 一索一索一索三索五索五索五索七索八索九索

*1:問題文には「対称形は除く」とあるらしいが、対称形とは何のことか詳しい定義がない。