漸近的に、


17

順列を。反転は、i < jおよびσ (i )> σ (j )のようなインデックスのペアとして定義されます。[ 1 .. n ] (i 、j )σ[1..n](i,j)i<jσ(i)>σ(j)

Akを、最大k回の反転を持つの順列の数として定義します。[1..n]k

質問:厳密な漸近境界は何Akですか?

関連する質問が以前に尋ねられました:同じケンダル・タウ距離を持つ置換の数

しかし、上記の質問はA kの計算 に関するものでした。ここに示す繰り返し関係を満たすため、動的プログラミングを使用して計算できます:https : //stackoverflow.com/questions/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble -ソートスワップAk

正確に k反転を伴う順列の数も研究されており、生成関数として表現できます:http : //en.wikipedia.org/wiki/Permutation#Inversions

しかし、閉形式の公式や漸近的な境界を見つけることができません。


2
シーケンスの生成多項式がある場合、多項式に乗算するだけで、プレフィックス和の生成多項式を導出できます。あなたの場合、リンクした多項式を使用して、正確にk回の反転を計算します。1/(1−x)
— Suresh Venkat


1
@SureshVenkatヒントをありがとう。しかし、この本当に複雑な多項式でnとkに関しての係数を見つけることにまだ固執し、それを行う方法がわかりません。xknk
— ビナヤックパタック

3
係数を取得するために、取るK生成多項式の誘導体番目およびでそれを評価し、X = 0。xkkx=0
— サショニコロフ2013

回答:


12

ウィキペディアによると、正確にk回の反転を伴うの順列の数は、 1 (1 + X )(1 + X + X 2)⋯ (1 + X + ⋯ + X n − 1)のX kの係数です。 これをc (n 、k )で示します。これは、 c (n + 1 、SnkXk

1(1+X)(1+X+X2)⋯(1+X+⋯+Xn−1).
c(n,k) したがって、最大 n回の反転を伴う S nの順列の数は、正確に k回の反転を伴う S n + 1の順列の数に等しくなります。これは、ニートコンビナトリアル証拠も(:テイクヒント有する π ∈ S N + 1と削除 N + 1)。
c(n+1,k)=∑l=0kc(n,k−l).
SnkSn+1kπ∈Sn+1n+1

の係数のみに関心がある場合、m > kの係数X mは違いを生じません。そうするためにN > K、C (N 、K )の係数であり、X Kには XkXmm>kn>kc(n,k)Xk

1(1+X)⋯(1+X+⋯+Xk−1)(1+X+⋯+Xk+⋯)n−k=1(1+X)⋯(1+X+⋯+Xk−1)1(1−X)n−k=1(1+X)⋯(1+X+⋯+Xk−1)∑t=0∞(t+n−k−1t)Xt.
c(n,k)=∑t=0k(n+t−k−1t)c(k,k−t),n>k.

kt=k

c(n,k)=(n−1k)+Ok(nk−1)=1k!nk+Ok(nk−1).
c(n+1,k)

k(n+t−k−1t)=(n+t−k−1n−k−1)t∑t=0kc(k,t)≤k!

(n−1k)≤c(n,k)≤k!(n−1k).

スターリングの近似と二項境界を使用して、最後の式を簡略化できます。c(n,k)≤k!(n−1k)≤ekk+1/2e−k(e(n−1)/k)kc(n,k)≤ek(n−1)k
— SamM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.