Asimptotik olarak,


17

Bir permütasyon düşünün σσ arasında [ 1 .. n ][1..n] . Ters çevirme, i < j ve σ ( i ) > σ ( j ) olacak şekilde bir çift indeks ( i , j ) olarak tanımlanır .(i,j)i<jσ(i)>σ(j)

Tanımla bir kAk permütasyon sayısı olduğu [ 1 .. n ][1..n] en ile kk inversiyonu.

Soru: A k için sıkı asimptotik sınır Aknedir?

İlgili bir soru daha önce sorulmuştur: Aynı Kendall-Tau mesafesine sahip permütasyon sayısı

Ancak yukarıdaki soru A k hesaplamasıyla ilgiliydi . Dinamik programlama kullanılarak hesaplanabilir, çünkü burada gösterilen yineleme ilişkisini karşılar: /programming/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble -swap-SıralamaAk

Tam olarak kk inversiyonlu permütasyonların sayısı da incelenmiştir ve bir üretme fonksiyonu olarak ifade edilebilir: http://en.wikipedia.org/wiki/Permutation#Inversions

Ancak kapalı formülü veya asimtotik bir bağ bulamıyorum.


2
If you have a generating polynomial for a sequence, you can derive the generating polynomial for the prefix sums merely by multiplying the polynomial by 1/(1x)1/(1x). In your case, you'd use the polynomial you linked to that computes the exactly-k inversions.
Suresh Venkat


1
@SureshVenkat Tavsiye için teşekkürler. Ama yine de bu gerçekten karmaşık polinomda n ve k açısından x k katsayısını bulmakta sıkışıp kalacağım ve bunu nasıl yapacağımı göremiyorum. xknk
Vinayak Pathak

3
katsayısını elde etmek için x k almak k üreten polinomun türevi inci ve en değerlendirmek x = 0 . xkkx=0
Sasho Nikolov

Yanıtlar:


12

According to Wikipedia, the number of permutations in SnSn with exactly kk inversions is the coefficient of XkXk in 1(1+X)(1+X+X2)(1+X++Xn1).

1(1+X)(1+X+X2)(1+X++Xn1).
Denote this by c(n,k)c(n,k). This shows that c(n+1,k)=kl=0c(n,kl).
c(n+1,k)=l=0kc(n,kl).
So the number of permutations in SnSn with at most kk inversions is equal to the number of permutations in Sn+1Sn+1 with exactly kk inversions. This has a neat combinatorial proof as well (hint: take πSn+1πSn+1 and remove n+1n+1).

If we are interested only in the coefficient of XkXk, then factors XmXm for m>km>k don't make any difference. So for n>kn>k, c(n,k)c(n,k) is the coefficient of XkXk in 1(1+X)(1+X++Xk1)(1+X++Xk+)nk=1(1+X)(1+X++Xk1)1(1X)nk=1(1+X)(1+X++Xk1)t=0(t+nk1t)Xt.

==1(1+X)(1+X++Xk1)(1+X++Xk+)nk1(1+X)(1+X++Xk1)1(1X)nk1(1+X)(1+X++Xk1)t=0(t+nk1t)Xt.
This implies the formula c(n,k)=kt=0(n+tk1t)c(k,kt),n>k.
c(n,k)=t=0k(n+tk1t)c(k,kt),n>k.

When kk is constant, the asymptotically most important term is the one corresponding to t=kt=k, and we have c(n,k)=(n1k)+Ok(nk1)=1k!nk+Ok(nk1).

c(n,k)=(n1k)+Ok(nk1)=1k!nk+Ok(nk1).
The same asymptotics work for c(n+1,k)c(n+1,k), which is what you were after.

For non-constant kk, using the fact that (n+tk1t)=(n+tk1nk1)(n+tk1t)=(n+tk1nk1) is increasing in tt and kt=0c(k,t)k!kt=0c(k,t)k!, we get the bounds (n1k)c(n,k)k!(n1k).

(n1k)c(n,k)k!(n1k).
Better bounds are surely possible, but I'll leave that to you.

Using Stirling's Approximation and the binomial bounds we can simplify the last expression to c(n,k)k!(n1k)ekk+1/2ek(e(n1)/k)kc(n,k)k!(n1k)ekk+1/2ek(e(n1)/k)k so c(n,k)ek(n1)kc(n,k)ek(n1)k. This is not tight of course but it's a more elegant bound than I would expect from those approximations.
SamM
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.