Наскільки асимптотично поганим є наївне перетасування?


33

Добре відомо, що цей "наївний" алгоритм переміщення масиву шляхом заміни кожного елемента іншим випадково вибраним не працює належним чином:

for (i=0..n-1)
  swap(A[i], A[random(n)]);

Зокрема, оскільки на кожному з ітерацій робиться один із варіантів (з однаковою ймовірністю), можливі можливих 'шляхів' через обчислення; тому що кількість можливих перестановокне ділиться рівномірно на кількість шляхів , за цим алгоритмом неможливо створити кожен зперестановки з однаковою ймовірністю. (Натомість слід використовувати так званий перетасовок Фішера-Йейта , який по суті змінює виклик на вибір випадкового числа з [0..n) з викликом на вибір випадкового числа з [i..n); але це спір мого питання.)nnnnn!nnn!

Мені цікаво, наскільки «поганим» може бути наївне побиття? Більш конкретно, нехай - це сукупність усіх перестановок, а - кількість шляхів через наївний алгоритм, що виробляє отриману перестановку , яка асимптотична поведінка функціїP(n)C(ρ)ρP(n)

M(n)=n!nnmaxρP(n)C(ρ)

і

m(n)=n!nnminρP(n)C(ρ) ?

Провідним фактором є «нормалізація» цих значень: якщо наївне переміщення «асимптотично добре», то

limnM(n)=limnm(n)=1 .

Я підозрюю (на основі деяких комп'ютерних симуляцій, які я бачив), що фактичні значення обмежені від 1, але чи відомо навіть, якщо limM(n) є кінцевим, або якщо limm(n) обмежений від 0? Що відомо про поведінку цих величин?


8
Приємне запитання. Я не знаю, де найкраще місце для цього питання. Якщо не зрозуміло, що інший форум краще для нього, я думаю, ви повинні залишити його на тиждень або близько того, і якщо ви не отримаєте задовільної відповіді, задайте його на одному з інших форумів (і покладіть посилання в обох питаннях ).
Пітер Шор

4
@vzn "Навіщо робити жорсткий аналіз за відомим недосконалим алгоритмом?" Оскільки математика є цікавою, і ви ніколи не знаєте , де можуть виникнути інші додатки - див аналіз Кнута бульбашкового сортування, наприклад. Діаграми Етвуда дають приблизний якісний аналіз неоднорідності, але це далеко не математичний кількісний аналіз. (І є кілька різних еквівалентних формулювань перемішування Фішера-Йейта - той, про який я згадую, працює чудово.)
Стівен Стадницький

4
Для запису, послідовність OEIS A192053 є макс і не містить закритої форми. Також примітки до цього запису припускають, що min може бути , маючи на увазі, що . C(ρ)C(ρ)2n1m(n)0
mhum

2
@vzn Що не так із відкритими питаннями?
Yuval Filmus

1
@vzn Не погоджуюсь з вашим останнім реченням, існує багато аналізу "недосконалих" перетасовок. Наприклад, якщо ми робимо випадкові переміщення, відомо, що поріг випадковості приблизно . Це питання може бути важким, але апріорі важко сказати, чи є "дуже важким". Відповідь на зразок mhum вже дуже задовольняє, показуючи, що питання було відповідним форуму і не представляло непереборного бар'єру (формальні докази відкладені). (1/2)nlogn
Yuval Filmus

Відповіді:


13

Індукцією покажемо, що перестановка є прикладом із . Якщо це найгірший випадок, як це для перших кількох (див. Примітки до OEIS-послідовності A192053 ), то . Отже, нормалізований хв, як і нормалізований макс, є "експоненціально поганим".ρn=(2,3,4,,n,1)C(ρn)=2n1nm(n)(2/e)n

Базовий корпус простий. Для етапу індукції нам потрібна лема:

Лемма: У будь-якому шляху від до або перший переміщується місцями позицій і , або останній переміщує місцями позиції і .(2,3,4,,n,1)(1,2,3,,n)1n1n

Ескіз доказування: Припустимо, що ні. Розглянемо перший хід, що стосується -ї позиції. Припустимо, що це -й хід, і . Цей хід повинен поставити пункт на -му місці. Тепер розглянемо наступний хід, який стосується пункту . Припустимо, що цей крок - -й хід. Цей крок повинен поміняти і , переміщаючи пункт в «е місце, з . Аналогічний аргумент говорить про те, що пункт може бути згодом переміщений праворуч. Але пунктnii1in1i1jij1ji<j11має закінчитися, в першу чергу, суперечливістю.

Тепер, якщо перший хід поміняє місцями позиції і , інші рухи повинні перестановити на . Якщо інші рухи не торкаються першого положення, то це перестановка у позиціях , і за індукцією ми знаємо, що є шляхи, які роблять це. Аргумент, подібний до доказу леми, говорить про те, що не існує шляху, який стосується першого положення, оскільки пункт повинен потім опинитися в неправильному положенні.1n(1,3,4,5,,n,2)(1,2,3,4,,n)ρn12nC(ρn1)=2n21

Якщо останній хід змінюється місцями позицій і , перші переміщення повинні приймати перестановку на перестановку . Знову ж таки, якщо ці рухи не торкаються останньої позиції, то це перестановка , і за індукцією є шляхи що це роблять. І знову: якщо один з перших рухів сюди торкнеться останнього положення, пункт ніколи не може опинитися в потрібному місці.1nn1(2,3,4,,n,1)(n,2,3,4,,n1,1)ρn1C(ρn1)=2n2n11

Таким чином, .C(ρn)=2C(ρn1)=2n1


Ідеально - аргумент за лемою дуже схожий на той, який я мав для інволюцій, як єдиний спосіб отримати перестановку ідентичності, але я пропустив рекурсивну структуру в явному заміні. Дякую!
Стівен Стадницький

10

Після деякого копання, завдяки вказівнику mhum на OEIS, я нарешті знайшов чудовий аналіз та хороший (відносно) елементарний аргумент (завдяки, наскільки я можу сказати, Голдштейну та Моєву [1]), що зростає суперекспоненціально швидко в :M(n)n

Будь-яка інволюція з відповідає циклу "наївного" алгоритму перетасовки, який створює перестановку ідентичності як результат, оскільки алгоритм буде заміняти на і згодом поміняти з , залишаючи обидва незмінними. Це означає, що кількість запусків алгоритму, які дають перестановку тотожності, є щонайменше число інволюцій (насправді, трохи роздумування показує, що відповідність дорівнює 1-1, і це точно ) , і тому максимум в обмежений знизу .ι{1n}kι(k)ι(k)kQ(n)Q(n)M(n)Q(n)

Q(n) мабуть, має ряд імен, включаючи номери телефонів : див. Http://oeis.org/A000085 та http://en.wikipedia.org/wiki/Telephone_number_%28mathematics%29 . Асимптотики добре відомі, і виявляється, що ; із відношення рецидиву можна індуктивно показати, що відношення задовольняє і звідси базовий аналіз отримує провідний член в асимптотиці, хоча інший умови вимагають більш ретельних зусиль. З моменту "коефіцієнта масштабу"Q(n)C(ne)n/2enQ(n)=Q(n1)+(n1)Q(n2)R(n)=Q(n)Q(n1)n<R(n)<n+1nn/2n!nn у визначенні йдеться лише про , провідний член домінує і врожає (асимптотично) .M(n)CnenQ(n)M(n)Cn(n+1)/2e3n/2+n

Голдштейн та Моєвс продовжують показувати в [1], що перестановка тотожності є найбільш ймовірною для великих , тому насправді є а поведінка повністю врегульована. Це все ще залишає відкритим питання про поведінку ; Я би не надто здивувався, якби це також піддалося аналізу в їх роботі, але я ще не мав можливості прочитати його досить уважно, щоб дійсно зрозуміти свої методи, достатньо лише підвести основний результат.nM(n)m(n)

[1] Гольдштейн, Д. та Моєвс, D .: "Ідентичність - це найімовірніша перестановка для обміну для великих", http://arxiv.org/abs/math/0010066


1
Не надто важко показати, що перестановка є прикладом із . Якщо це найгірший випадок, як це для перших кількох , то . (2,3,4,,n,1)C(ρ)=2n1nm(n)(2/e)n
Петро Шор

@PeterShor Ви можете дати основний аргумент? Мені здається, я пропускаю просту версію аргументу інволюцій, яка б спрацювала, але я не зовсім розумію. Я думаю, навіть якщо це не зовсім мінімально, це було б досить добре; мінімальний підрахунок, мабуть, не є субекспоненціальним у і лише знаючи, що нормовані максимум і хв є "експоненціально поганими", є досить задовільною відповіддю. n
Стівен Стадницький

Я додав відповідь з аргументом ... занадто довго для коментаря.
Пітер Шор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.