転倒 (数学)

提供: testwiki
ナビゲーションに移動 検索に移動
The permutation (4,1,5,2,6,3) has the inversion vector (0,1,0,2,0,3) and the inversion set {(1,2),(1,4),(3,4),(1,6),(3,6),(5,6)}.The inversion vector converted to decimal is 373.

計算機科学および離散数学における列の転倒(てんとう、テンプレート:Lang-en-short)は、その列の項の対であって、それらの項の成分が自然な順番から外れているようなものを言う。

定義

きちんと述べれば、A=(A1,,An) を相異なる n 個の全順序付けられた文字(例えば、数)の成す列として、i<j かつ Ai>Aj が成り立つとき、順序対 (i,j)A の転倒と呼ぶテンプレート:Sfnテンプレート:Sfn

列の転倒数 (inversion number) は、その整列性の測度として広く用いられるテンプレート:Sfnテンプレート:Sfn。きちんと述べれば、転倒数とは、その列が持つ転倒の総数

inv(A)=#{(Ai,Aj)i<j and Ai>Aj}

のことを言うテンプレート:Sfn。他の(事前-)整列性測度としては、その列からいくつかの項を消し去って完全に整列された列にするために必要な取り去る項数の最小値、列が含む整列された run の長さ及び総数、文字列をソートするのに必要な入れ替えの数の最小値などがあるテンプレート:Sfn。標準的な比較ソートアルゴリズムは転倒数を テンプレート:Math で計算することができる。

列の転倒ベクトル (inversion vector) V は各 i = 2, …, n に対して

Vi=#{kk<i and Ak>Ai}

で成分が与えられる。つまり、V の各成分は、もとの列の対応する項の値より大きくなる先行項の総数である。列の転倒ベクトルの成分数は、もちろん初項に先行するそれより大きくなる項などはないので、もとの列の成分数より一つ少なくなることに注意。列の各置換はただ一つの転倒ベクトルを持ち、(完全に整列された)列の任意に与えられた置換を、その列と置換の転倒ベクトルをつかって作り出すことができるテンプレート:Sfn

置換の弱順序

4次対称群の置換多面体

n 文字の置換全体の成す集合に、置換の弱順序 (weak order) と呼ばれる半順序の構造を入れることができて、が得られる。

この順序を定義するために、使う文字は 1 から n までの整数とし、Inv(u) は整数の間の自然な順序に対する置換 u の転倒集合とする。つまり、Inv(u) は 1 ≤ i < jn かつ u(i) > u(j) となるような順序対 (i, j) 全体の成す集合である。このとき、弱順序に関して uv となることを、Inv(u) ⊆ Inv(v) を以って定義する。

この弱順序のハッセ図の辺は、u < v かつ vu から隣接した二つの値を入れ替えることによって得られるような置換の組 u, v で与えられる。これらの辺全体は、置換多面体骨格に同型な置換群ケイリーグラフを成す。

恒等置換は弱順序に関する最小元であり、恒等置換を逆順にして得られる置換が最大元になる。

関連項目

参考文献

テンプレート:Reflist

出典

テンプレート:Refbegin

テンプレート:Refend

関連文献

事前整列性測度