Asymptotiquement, combien de permutations de


17

Considérons une permutation σ de [1..n] . Une inversion est définie comme une paire (i,j) d'indices tels que i<j et σ(i)>σ(j) .

Définissez Ak comme le nombre de permutations de [1..n] avec au plus k inversions.

Question: Quelle est la limite asymptotique étroite pour Ak ?

Une question connexe a été posée auparavant: nombre de permutations qui ont la même distance Kendall-Tau

Mais la question ci-dessus concernait le calcul de . Il peut être calculé à l'aide de la programmation dynamique, car il satisfait la relation de récurrence indiquée ici: /programming/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble -sort-swapsAk

Le nombre de permutations avec exactement inversions a également été étudié et il peut être exprimé comme une fonction génératrice: http://en.wikipedia.org/wiki/Permutation#Inversionsk

Mais je ne trouve pas de formule de forme fermée ou de borne asymptotique.


2
Si vous avez un polynôme générateur pour une séquence, vous pouvez dériver le polynôme générateur pour les sommes de préfixe simplement en multipliant le polynôme par . Dans votre cas, vous utiliseriez le polynôme auquel vous avez lié qui calcule les inversions exactement-k. 1/(1x)
Suresh Venkat


1
@SureshVenkat Merci pour l'astuce. Mais je serai toujours coincé à trouver le coefficient de dans ce polynôme vraiment compliqué en termes de n et k et je ne vois pas comment faire cela. xknk
Vinayak Pathak

3
pour obtenir le coefficient de , prendre la dérivée k -ième du polynôme générateur et l'évaluer à x = 0 . xkkx=0
Sasho Nikolov

Réponses:


12

Selon Wikipedia, le nombre de permutations dans avec exactement k inversions est le coefficient de X k dans 1 ( 1 + X ) ( 1 + X + X 2 ) ( 1 + X + + X n - 1 ) . Notons c ( n , k ) . Cela montre que c ( n + 1 ,SnkXk

1(1+X)(1+X+X2)(1+X++Xn1).
c(n,k) Ainsi, le nombre de permutations dans S n avec au plus k inversions est égal au nombre de permutations dans S n + 1 avec exactement k inversions. Cela a aussi une preuve combinatoire nette (indice: prenez π S n + 1 et supprimez n + 1 ).
c(n+1,k)=l=0kc(n,kl).
SnkSn+1kπSn+1n+1

Si nous ne nous intéressons qu'au coefficient de , alors les facteurs X m pour m > k ne font aucune différence. Donc pour n > k , c ( n , k ) est le coefficient de X k dans XkXmm>kn>kc(n,k)Xk

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.
c(n,k)=t=0k(n+tk1t)c(k,kt),n>k.

k est constant, le terme asymptotiquement le plus important est celui correspondant à t=k, et nous avons

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

For non-constant k, using the fact that (n+tk1t)=(n+tk1nk1) is increasing in t and t=0kc(k,t)k!, we get the bounds

(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)k so c(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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.