プリュファーシーケンス

組合せ数学において、ラベル付き木のプリューファー列プリューファーコード、プリューファー数とも呼ばれる)は、その木に関連付けられた一意のである。n頂点の木のプリューファー列の長さはn − 2であり単純反復アルゴリズムによって生成できる。プリューファー列は、 1918年にハインツ・プリューファーによってケーリーの公式を証明するために初めて使用された。[ 1 ]

木をプリュファーシーケンスに変換するアルゴリズム

ラベル付き木のプリューファー列は、頂点が2つだけになるまで繰り返し頂点を削除することで生成できます。具体的には、頂点{1, 2, ..., n }を持つラベル付き木Tを考えます。ステップiでは、ラベルが最小の葉を削除し、プリューファー列のi番目の要素をこの葉の隣接要素のラベルに設定します。

ラベル付きツリーのPrüferシーケンスは一意であり、長さはn − 2です。

符号化と復号化はどちらも整数基数ソートに簡約され、並列化される。[ 2 ]

Prüfer配列[4,4,4,5]によるラベル付きツリー。

上記のアルゴリズムを右に示す木に対して実行するとどうなるでしょうか。最初は頂点1が最も小さいラベルを持つ葉なので、まず頂点1を削除し、プリューファーシーケンスに4を追加します。次に頂点2と3を削除するので、頂点4がさらに2回追加されます。頂点4は葉になり、ラベルが最も小さいので削除し、シーケンスに5を追加します。残る頂点は2つだけなので、ここで処理を終了します。木のシーケンスは[4,4,4,5]です。

Prüferシーケンスをツリーに変換するアルゴリズム

[a[1], a[2], ..., a[n]]をプリューファー列とします 。

木にはから までn+2の番号が付けられたノードがあります。各ノードの次数を、シーケンス内での出現回数に1を加えた値に設定します。例えば、擬似コードでは次のようになります。 1n+2

Convert-Prüfer-to-Tree ( a ) 1 n長さ[ a ] 2 T ← 1からn + 2までの番号が付けられたn + 2個の孤立したノードを持つグラフ 3← 整数の配列 4 T内の各ノードiに対して 5 [ i ]←1を実行する 6それぞれの値iについて7 度 [ i ] [ i ] + 1 

次に、シーケンスの各番号についてa[i]、次数が1である最初の(最も番号が小さい)ノード を見つけ、ツリーにjエッジを追加し、との次数をデクリメントします。擬似コードでは、 次のようになります。(j, a[i])ja[i]

8 a の各値iに対して、次の処理を実行する9 T 各ノードjに対して、次の処理を実行する 10 次数[ j ] = 1場合、次 の処理を実行する 11エッジ[ i , j ]を Tに挿入する 12 次数[ i ] ←次数[ i ] - 1 13 [ j ] ←[ j ] - 1 14 休憩

このループの最後には、次数1のノードが2つ残ります(これらをu、と呼びます)。最後に、木にv辺を追加します。 [ 3 ](u,v)

15 uv ← 0 16 T内の各ノードiについて 17 次数[ i ] = 1 の 場合 18 u = 0場合 19 ui 20 それ以外の場合 21 vi 22 break 23[ u , v ] をTに挿入 24次数[ u ] ←次数[ u ] - 1 25[ v ] ←[ v ] - 1 26リターンT

ケーリーの公式

n頂点のラベル付き木のプリューファー列は、ラベル 1 から nまでの長さn − 2の一意の列である。ラベル 1 からnまでの長さn − 2の列Sが与えられたとき、プリューファー列が Sである一意のラベル付き木が存在する

直接的な帰結として、プリューファー列は、n頂点上のラベル付き木の集合と、ラベル 1 からnまでの長さn − 2の列の集合との間の一対一関係を与える。後者の集合のサイズはn n −2であるため、この一対一関係の存在はケイリーの公式、すなわちn頂点上にn n −2本のラベル付き木が存在することを証明する。

その他のアプリケーション

出典: [ 4 ]

  • ケイリーの公式を強化すると、次の主張が証明されます。
各頂点に次数が指定された完全グラフにおける全域木の数は多項式係数に等しい。Kn{\displaystyle K_{n}}d{\displaystyle d_{i}}{\displaystyle i}
n2d11d21dn1n2!d11!d21!dn1!{\displaystyle {\binom {n-2}{d_{1}-1,\,d_{2}-1,\,\dots ,\,d_{n}-1}}={\frac {(n-2)!}{(d_{1}-1)!(d_{2}-1)!\cdots (d_{n}-1)!}}.}
証明は、Prüfer シーケンスで番号が正確に何回も現れることを観察することによって行われます。{\displaystyle i}d1{\textstyle d_{i}-1}

参考文献

  1. ^プリューファー、H. (1918)。 「Neuer Beweis eines Satzes über Permutationen」。アーチ。数学。物理学27 : 742–744 .
  2. ^ Caminiti, S., Finocchi, I., Petreschi, R. (2007). 「ラベル付き木の符号化について」 .理論計算機科学. 382 (2): 97– 108. doi : 10.1016/j.tcs.2007.03.009 .{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク)
  3. ^ Jens Gottlieb、Bryant A. Julstrom、Günther R. Raidl、Franz Rothlauf (2001). 「Prüfer数:進化的探索におけるスパニングツリーの不適切な表現」(PDF) . Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2001) : 343– 350. 2006年9月26日時点のオリジナル(PDF)からアーカイブ
  4. ^梶本 秀次 (2003). 「プリューファーコードの拡張とブロックからの連結グラフの組み立て」.グラフと組合せ論. 19 (2): 231– 239. doi : 10.1007/s00373-002-0499-3 . S2CID 22970936 .