T字曲線を数える

以前T字曲線の数え上げについて書いていた。

https://pzdc.hatenablog.com/entry/2021/10/30/001612

興味があるので、今回はT字頂点を純粋に次数3の頂点とした数え上げをしてみる。

図1 T字をつなぐ

前回少し書いた、頂点を先に用意してつなぎ方を列挙する方針で数える(図1)。

頂点数2

連結な図形のみを対象としたいので、2つ(のみ)の頂点は辺を共有する。まずは図2の状態になる。

図2 a, b, c, dをつなぎたい

図2で、aとbをつなぐ方法、aとcをつなぐ方法、aとdをつなぐ方法の3つを考えれば良い。

図3 ペアを決めても、つなぎ方は複数

注意が必要なのは、つなぐ辺の対を決定したとしても、つなぎ方が1通りに確定しない場合がある(図3)ことである。

図4 パリティ上の制約

ここで、aとdをつなぐ方法は考えなくて良い。2つの頂点は「内部的に」つながっているため、「外部的に」つながった時点でループができる(図4の青色+水色の線)これによってbとcが内外に分断されるため、解が存在しない。この性質は、展開図の冗長性部分(いわゆる「のりしろ」)を交互につければ良い、というテクニックに応用される。

実際にa-bとa-cを列挙しよう。

図5 a-b

図6 a-c

最後に重複を除去して整理する。図7に示す3通りが得られた。

図7 頂点数2のすべて

頂点数4

列挙をどのように見通しよく回すかが問題である。

図8 4頂点を連結にする2パターン

4頂点の連結図形であるため、辺を取り除いくことで図8の2パターンのどちらかに帰着できる。列挙の重複を減らすため、パターンAでは葉ノードに相当する頂点どうしを結ぶ辺がないものとする。一方でパターンBでは、「通過する頂点」になっている頂点から、同じ側に辺が出る場合と逆側に辺が出る場合でそれぞれ列挙すれば良さそうだ(重複はあとで取り除く)。

図9 パターンAのすべてと、パターンBの方針

あとはパターンBのaとbをそれぞれ頑張る。

図10 パターンBのa
図11 パターンBのb

最後に重複を除いて整理する。図12の14パターンとなった。

図12 頂点数4のすべて