O permutare aleatoare este o ordonare aleatorie a unui set de obiecte, adică o variabilă aleatoare ale cărei evenimente elementare sunt permutări . Utilizarea permutărilor aleatoare este adesea baza în câmpuri care utilizează algoritmi aleatorii . Astfel de domenii includ teoria codificării , criptografia și modelarea . Un bun exemplu de permutare aleatorie este amestecarea unui pachet de cărți .
O metodă pentru a genera o permutare aleatorie a unui set de n elemente este de a utiliza o distribuție uniformă , care selectează secvențial numere aleatorii între 1 și n , asigurându-se în același timp că nu există repetări. Secvența rezultată ( x 1 , …, x n ) este interpretată ca o permutare
Metoda de generare directă necesită repetarea selecției unui număr aleatoriu dacă numărul extras este deja în secvență. Acest lucru poate fi evitat dacă, la pasul i -a (când sunt deja aleși x 1 , …, x i - 1 ), alegeți un număr aleator j între 1 și n - i + 1 și, apoi, alegeți x i egal cu j --lea număr neales.
Un algoritm simplu pentru generarea de permutări aleatorii a n elemente (distribuite uniform) fără repetări, cunoscut sub numele de amestecare Knuth , începe cu o permutare arbitrară (de exemplu, permutarea identică fără permutarea elementelor) și merge de la poziția 1 la poziția n - 1, permutarea elementului prin pozițiile i cu un element selectat aleatoriu la pozițiile de la i la n inclusiv. Este ușor de arătat că în acest fel obținem toate permutările n elemente cu o probabilitate de exact 1/ n !.
Distribuția de probabilitate a numărului de puncte fixe în permutări aleatoare distribuite uniform pe n elemente se apropie de legea lui Poisson pe măsură ce n crește . Numărarea numărului de puncte fixe este un exemplu clasic de utilizare a formulei de includere-excludere , care arată că probabilitatea de lipsă de puncte fixe se apropie de 1/ e . În acest caz, așteptarea matematică a numărului de puncte fixe este egală cu 1 pentru orice dimensiune a permutării. [unu]
Ca și în cazul tuturor proceselor aleatoare, calitatea unui algoritm de generare a permutării, în special algoritmul de amestecare al lui Knuth, depinde de generatorul de numere aleatoare subiacent, cum ar fi generatorul de numere pseudo-aleatoare . Există un număr mare de teste de aleatorie posibile , cum ar fi testele dureroase . Un exemplu tipic al unui astfel de test este alegerea unei statistici pentru care distribuția este cunoscută și verificarea dacă distribuția acestei statistici pe mulțimea de permutări obținute este suficient de apropiată de distribuția reală.