Випадкова перестановка — це випадкове впорядкування множини об'єктів, тобто випадкова величина, елементарними подіями якої є перестановки. Випадкові перестановки часто застосовують у галузях, які використовують увипадковлені алгоритми: теорії кодування, криптографії, моделюванні тощо. Прикладом випадкової перестановки є тасування колоди карт.
Генерування випадкових перестановок
Прямий метод (елемент за елементом)
Одним з методів генерування випадкової перестановки множини з елементів є використання рівномірного розподілу, для чого вибирають послідовно випадкові числа між 1 і , забезпечуючи при цьому відсутність повторень. Отримана послідовність інтерпретується як перестановка
Прямий метод генерування вимагає повторення вибору випадкового числа, якщо число, що випало, вже є в послідовності. Цього можна уникнути, якщо на -му кроці (коли вже вибрано), вибирати випадкове число між 1 і і, потім, вибирати рівним -му невибраному числу.
Тасування Кнута
Простий алгоритм генерування випадкових перестановок з елементів (із рівномірним розподілом) без повторів, відомий як , починається з довільної перестановки (наприклад, з тотожної — без переставляння елементів), і проходить з позиції 1 до позиції , переставляючи елемент на позиції з випадково вибраним елементом на позиціях від до включно. Легко показати, що в такий спосіб ми отримаємо всі перестановки елементів зі ймовірністю рівно .
Статистика на випадкових перестановках
Нерухомі точки
Розподіл імовірностей числа нерухомих точок у рівномірно розподілених випадкових перестановках на елементах, у разі зростання , наближається до закону Пуассона. Підрахунок числа нерухомих точок є класичним прикладом використання формули включень-виключень, яка показує, що ймовірність відсутності нерухомих точок наближається до . При цьому математичне сподівання числа нерухомих точок дорівнює 1 за будь-якого розміру перестановки.
Перевірка випадковості
Як і у всіх інших випадкових процесах, якість алгоритму генерування перестановок, зокрема алгоритму тасування Кнута, залежить від покладеного в основу генератора випадкових чисел, такого як генератор псевдовипадкових чисел. Є багато можливих , наприклад, тести diehard. Типовий приклад такого тесту полягає у виборі деякої статистики, для якої розподіл відомий, і перевірці, чи дійсно розподіл цієї статистики на множині отриманих перестановок достатньо близький до цього розподілу.
Див. також
Примітки
- Д. Кнут, Р. Грэхем, О. Паташник. Конкретная математика. — Мир, 1998. — С. 431.
Література
- Jim Pitman. Probability. — Springer Science & Business Media, 2012. — P. 153–. — .
- В. Г. Потемкин «Справочник по MATLAB» Работа с разреженными матрицами. - описано використання процедури randperm генерування випадкових перестановок у пакунку MATLAB.
- Альфред В. Ахо, Джон Хопкрофт, Джеффри Д. Ульман. Структуры данных и алгоритмы. — Издательский дом "Вильямс", 2003. — С. 129-130. — / 5-8459-0122-7.
- Альфред В Ахо, Джон Э Хопкрофт, Джеффри Д Ульман. Алгоритмы. Построение и анализ. — Санкт-Петербург, Москва, Киев : Издательский дом "Вильямс", 2007. — С. 152-153 Глава 5. Вероятностный анализ и рандомизированные алгоритмы.
- Арнольд В.И. Экспериментальное наблюдение математических фактов. — М. : МЦНМО, 2006. — С. 66-84. — (Летняя школа «Современная математика») — .
- Т. Кристиансен,Н. Торкингтон. Perl. Библиотека программиста. — Питер, 2001. — С. У розділі 4 "Масиви" розглянуто все, що стосується операцій зі списками та масивами, зокрема пошук унікальних елементів, ефективне сортування та випадкові перестановки елементів. — .
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн K. Алгоритмы: построение и анализ. — М. : "Вильямс", 2005. — С. Глава 5.3 Рандомизированные алгоритмы. — .
- Борис Николаевич Иванов. Дискретная математика. Алгоритмы и программы. Расширенный курс. — М. : Известия, 2011. — С. 180, Случайные перестановки. — .
- И.В. Красиков, И.Е. Красиков. Алгоритмы. Просто как дважды два. — М. : Эксмо, 2007. — .
- Б.Н. Иванов. Дискретная математика. Алгоритмы и программы: Учеб. пособие. Просто как дважды два. — М. : Лаборатория Базовых Знаний, 2003. — С. 89. 4.8 Генерация случайных перестановок. — (Технический университет) — .
Посилання
- Випадкова перестановка на MathWorld
- Random permutation generation — детальний виклад алгоритму тасування Кнута та його варіантів для генерування -перестановок (перестановок елементів, вибраних зі списку) та -підмножин
- Герасимов В. А. Генерация случайных сочетаний. Генерация сочетания по его порядковому номеру. RSDN Magazine #3-2010 (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vipadkova perestanovka ce vipadkove vporyadkuvannya mnozhini ob yektiv tobto vipadkova velichina elementarnimi podiyami yakoyi ye perestanovki Vipadkovi perestanovki chasto zastosovuyut u galuzyah yaki vikoristovuyut uvipadkovleni algoritmi teoriyi koduvannya kriptografiyi modelyuvanni tosho Prikladom vipadkovoyi perestanovki ye tasuvannya kolodi kart Generuvannya vipadkovih perestanovokPryamij metod element za elementom Odnim z metodiv generuvannya vipadkovoyi perestanovki mnozhini z n displaystyle n elementiv ye vikoristannya rivnomirnogo rozpodilu dlya chogo vibirayut poslidovno vipadkovi chisla mizh 1 i n displaystyle n zabezpechuyuchi pri comu vidsutnist povtoren Otrimana poslidovnist x 1 x n displaystyle x 1 cdots x n interpretuyetsya yak perestanovka 1 2 3 n x 1 x 2 x 3 x n displaystyle begin pmatrix 1 amp 2 amp 3 amp cdots amp n x 1 amp x 2 amp x 3 amp cdots amp x n end pmatrix Pryamij metod generuvannya vimagaye povtorennya viboru vipadkovogo chisla yaksho chislo sho vipalo vzhe ye v poslidovnosti Cogo mozhna uniknuti yaksho na i displaystyle i mu kroci koli x 1 x i 1 displaystyle x 1 cdots x i 1 vzhe vibrano vibirati vipadkove chislo j displaystyle j mizh 1 i n i 1 displaystyle n i 1 i potim vibirati x i displaystyle x i rivnim j displaystyle j mu nevibranomu chislu Tasuvannya Knuta Prostij algoritm generuvannya vipadkovih perestanovok z n displaystyle n elementiv iz rivnomirnim rozpodilom bez povtoriv vidomij yak pochinayetsya z dovilnoyi perestanovki napriklad z totozhnoyi bez perestavlyannya elementiv i prohodit z poziciyi 1 do poziciyi n 1 displaystyle n 1 perestavlyayuchi element na poziciyi i displaystyle i z vipadkovo vibranim elementom na poziciyah vid i displaystyle i do n displaystyle n vklyuchno Legko pokazati sho v takij sposib mi otrimayemo vsi perestanovki n displaystyle n elementiv zi jmovirnistyu rivno 1 n displaystyle 1 n Statistika na vipadkovih perestanovkahNeruhomi tochki Rozpodil imovirnostej chisla neruhomih tochok u rivnomirno rozpodilenih vipadkovih perestanovkah na n displaystyle n elementah u razi zrostannya n displaystyle n nablizhayetsya do zakonu Puassona Pidrahunok chisla neruhomih tochok ye klasichnim prikladom vikoristannya formuli vklyuchen viklyuchen yaka pokazuye sho jmovirnist vidsutnosti neruhomih tochok nablizhayetsya do 1 e displaystyle 1 e Pri comu matematichne spodivannya chisla neruhomih tochok dorivnyuye 1 za bud yakogo rozmiru perestanovki Perevirka vipadkovostiYak i u vsih inshih vipadkovih procesah yakist algoritmu generuvannya perestanovok zokrema algoritmu tasuvannya Knuta zalezhit vid pokladenogo v osnovu generatora vipadkovih chisel takogo yak generator psevdovipadkovih chisel Ye bagato mozhlivih napriklad testi diehard Tipovij priklad takogo testu polyagaye u vibori deyakoyi statistiki dlya yakoyi rozpodil vidomij i perevirci chi dijsno rozpodil ciyeyi statistiki na mnozhini otrimanih perestanovok dostatno blizkij do cogo rozpodilu Div takozhKonstanta Golomba Dikmana Perestanovka Psevdovipadkova perestanovkaPrimitkiD Knut R Grehem O Patashnik Konkretnaya matematika Mir 1998 S 431 LiteraturaJim Pitman Probability Springer Science amp Business Media 2012 P 153 ISBN 978 1 4612 4374 8 V G Potemkin Spravochnik po MATLAB Rabota s razrezhennymi matricami opisano vikoristannya proceduri randperm generuvannya vipadkovih perestanovok u pakunku MATLAB Alfred V Aho Dzhon Hopkroft Dzheffri D Ulman Struktury dannyh i algoritmy Izdatelskij dom Vilyams 2003 S 129 130 ISBN 0 201 00023 7 5 8459 0122 7 Alfred V Aho Dzhon E Hopkroft Dzheffri D Ulman Algoritmy Postroenie i analiz Sankt Peterburg Moskva Kiev Izdatelskij dom Vilyams 2007 S 152 153 Glava 5 Veroyatnostnyj analiz i randomizirovannye algoritmy Arnold V I Eksperimentalnoe nablyudenie matematicheskih faktov M MCNMO 2006 S 66 84 Letnyaya shkola Sovremennaya matematika ISBN 978 5 94057 282 4 T Kristiansen N Torkington Perl Biblioteka programmista Piter 2001 S U rozdili 4 Masivi rozglyanuto vse sho stosuyetsya operacij zi spiskami ta masivami zokrema poshuk unikalnih elementiv efektivne sortuvannya ta vipadkovi perestanovki elementiv ISBN 5 8046 0094 X Kormen T Lejzerson Ch Rivest R Shtajn K Algoritmy postroenie i analiz M Vilyams 2005 S Glava 5 3 Randomizirovannye algoritmy ISBN 5 8459 0857 4 Boris Nikolaevich Ivanov Diskretnaya matematika Algoritmy i programmy Rasshirennyj kurs M Izvestiya 2011 S 180 Sluchajnye perestanovki ISBN 978 5 206 00824 1 I V Krasikov I E Krasikov Algoritmy Prosto kak dvazhdy dva M Eksmo 2007 ISBN 978 5 699 21047 3 B N Ivanov Diskretnaya matematika Algoritmy i programmy Ucheb posobie Prosto kak dvazhdy dva M Laboratoriya Bazovyh Znanij 2003 S 89 4 8 Generaciya sluchajnyh perestanovok Tehnicheskij universitet ISBN 5 93208 093 0 PosilannyaVipadkova perestanovka na MathWorld Random permutation generation detalnij viklad algoritmu tasuvannya Knuta ta jogo variantiv dlya generuvannya k displaystyle k perestanovok perestanovok k displaystyle k elementiv vibranih zi spisku ta k displaystyle k pidmnozhin Gerasimov V A Generaciya sluchajnyh sochetanij Generaciya sochetaniya po ego poryadkovomu nomeru RSDN Magazine 3 2010 ros