Який найбільш ефективний спосіб генерувати випадкову перестановку з імовірнісних парних свопів?


48

Питання, яке мене цікавить, пов’язане з генерацією випадкових перестановок. Враховуючи ймовірнісні парні ворота swap як основний будівельний блок, який є найбільш ефективним способом отримання рівномірно випадкової перестановки n елементів? Тут я беру "ймовірнісний парний шлюз swap" як операцію, яка реалізує ворота swap між обраними елементами i та j з певною вірогідністю p яку можна вільно обирати для кожного затвора, і ідентичність в іншому випадку.

Я розумію, що це звичайно не так, як можна генерувати випадкові перестановки, де зазвичай можна використовувати щось на зразок перемикання Фішера-Йейта, однак це не буде працювати для програми, яку я маю на увазі, оскільки дозволені операції різні.

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

ОНОВЛЕННЯ:

Ентоні Левер'є надає метод нижче, який дійсно забезпечує правильний розподіл за допомогою воріт O(n2) , а Цуйосі Іто пропонує інший підхід з таким же масштабуванням у коментарях. Однак найкраща нижня межа, яку я бачив досі, - це log2(n!) , який масштабується як O(nlogn) . Таким чином, питання лишається відкритим: Is O(n2) найкраще , що можна зробити (тобто є кращий нижня межа)? Або в якості альтернативи, чи існує більш ефективна сім'я схем?

ОНОВЛЕННЯ:

У кількох відповідях та коментарях запропоновані схеми, які повністю складаються з імовірнісних свопів, де ймовірність встановлена ​​на рівні 12 . Така схема не може вирішити цю проблему з наступної причини (знята з коментарів):

Уявіть схему, яка використовує m таких воріт. Тоді є 2m рівномірних обчислювальних шляхів, і тому будь-яка перестановка повинна відбуватися з ймовірністю k2m для деякого цілого k. Однак для рівномірного розподілу нам потрібно, щоб k2m=1n!kn!=2mkn33|n!n332m

ОНОВЛЕННЯ (від mjqxxxx, який пропонує винагороду):

Пропонована сума - це (1) доказ того, що потрібні ворота, або (2) робочий контур для будь-якого , що використовує менше воріт.n n ( n - 1 ) / 2ω(nlogn)nn(n1)/2


8
@Anthony: Можливо, це не очевидно, але ви можете: Уявіть, що схема створює рівномірний розподіл перестановок перших елементів. Тоді з подальшим імовірнісним свопом (з ймовірністю 0,5) між положенням і положенням буде проводити рівномірно випадковий вибір для позиції . Якщо дотримуватися цього, застосовуючи знову до перших елементів, ви повинні отримати рівномірно випадковий розподіл. n - 1 C n - 1 n n C n - 1Cn1Cn1nnCn1
Joe Fitzsimons

4
ок, дякую за пояснення! Зауважте, що ймовірнісний своп повинен мати proba між позицією та . n - 1 n(n1)/nn1n
Ентоні Левер'є

5
З точки зору необхідної ентропії, алгоритму потрібно випадкові біти, де є функцією бінарної ентропії. Я не можу точно обчислити цю суму, але це відповідно до математики це ... тоді як оптимум - принаймні . h ( . ) O ( n log 2 ( n(n1)h(1/2)+(n2)h(1/3)++(nk)h(1/(k+1))++h(1/n)h(.)O ( n log 2 ( n ) )O(nlog2(n)2)O(nlog2(n))
Ентоні Левер'є

8
Це відрізняється від того, що ви хочете, але є сімейство схем розміром O (n log n), які генерують кожну перестановку з вірогідністю щонайменше 1 / p (n!) Для деякого полінома p: розгляньте сортувальну мережу розміром O (n log n) і замініть кожен компаратор на імовірність 1/2 замінника. Через правильність системи сортування кожна перестановка повинна виникати з ненульовою ймовірністю, що обов'язково має бути не менше 1/2 ^ {O (n log n)} = 1 / poly (n!).
Цуйосі Іто

3
Повернутися до початкової проблеми. Зауважимо, що рішення O (n ^ 2), яке описав Ентоні, можна розглядати як заміну кожного компаратора в мережі сортування, що представляє сортування вибору, на імовірнісні ворота заміни з відповідною ймовірністю. (детальніше)
Tsuyoshi Ito

Відповіді:


17

Робочий алгоритм, який я описав у коментарі вище, наступний:

  • Спочатку почніть з приведення випадкового елемента з ймовірністю у позицію : поміняйте місцями позиції 1 і 2 з пробою , потім 2 і 3 з пробою , ... потім і з proba .п 1 / 2 2 / 3 п - 1 п ( п - 1 ) / п1/nn1/22/3n1n(n1)/n
  • Застосовуйте ту саму процедуру, щоб перевести випадковий елемент у позицію : поміняйте місцями позиції 1 та 2 за допомогою ... потім позиції та з proba .1 / 2 п - 2 п - 1 ( п - 2 ) / ( п - 1 )n11/2n2n1(n2)/(n1)
  • І т.д.

Кількість шлюзів, необхідних для цього алгоритму, становить .(n1)+(n2)++2+1=n(n1)/2=O(n2)


3
Цей алгоритм має зв'язок із сортуванням міхурів. Зокрема розглянемо простір стану всіх перестановок розміром n. Імовірність того, що 1-й елемент, більший за другий, становить 1/2, змінюється своєю ймовірністю. Припустимо, перші два елементи відсортовані, що таке пробний другий елемент> 3-й елемент 2/3 і т. Д. Тому, мабуть, можливо перетворити алгоритм сортування в ланцюг шлюзових міток, де кожен наступний крок повинен враховувати умовні ймовірності, що випливають з попереднього кроки. Які в певному сенсі пропонують явний неефективний метод побудови таких схем.
mkatkov

16

Це ні відповідь, ні нова інформація. Тут я спробую узагальнити дискусії, що відбулися в коментарях щодо відносин між цією проблемою та сортування мереж . У цій публікації всі часи знаходяться в UTC, а "коментар" означає коментар до питання, якщо не вказано інше.

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

  • Рішення Ентоні Левер з п ( п - 1) / 2 імовірнісних ворота свопу можна розуміти як сортувальна мережу для бульбашкового сортування з компараторами замінені імовірнісним свопом коміром з відповідними можливостями. Дивіться коментар mkatkov від 10 березня 4:53 щодо цієї відповіді для деталей. Так само можна використовувати мережу сортування для вибору сортування. (У коментарі 7 березня 23:04 я описав схему Ентоні як сортування, але це було неправильно.)
  • Якщо ми просто хочемо, щоб кожна перестановка була з ненульовою ймовірністю і не піклувалася про те, щоб розподіл був рівномірним, тоді кожна сортувальна мережа виконує роботу, коли всі компаратори замінені на ворота підміни ймовірності 1/2. Якщо ми використовуємо сортувальну мережу з порівняльниками O ( n log n ), отримана схема генерує кожну перестановку з вірогідністю щонайменше 1/2 O ( n log n ) = 1 / poly ( n !), Як це спостерігалось у моєму коментарі в березні 7 22:59.
  • У цій проблемі потрібно, щоб імовірнісна заміна воріт стріляла незалежно. Якщо ми видалимо це обмеження, кожна мережа сортування може бути перетворена на ланцюг, який генерує рівномірний розподіл, про що я згадував у коментарі 7 березня 23:08 та користувач1749, описаний більш детально 8 березня 14:07.

Ці факти, очевидно, говорять про те, що ця проблема тісно пов’язана з сортуванням мереж. Однак Пітер Тейлор знайшов докази того, що відносини можуть бути не дуже близькими. А саме, не кожну сортувальну мережу можна перетворити на потрібну схему шляхом заміни компараторів на ймовірнісні ворота заміни на відповідні ймовірності. П'ять-порівняльна мережа сортування для n = 4 є контрприкладом. Дивіться його коментарі 10 березня 11:08 та 10 березня 14:01.


3
@mkatkov: Я бачив три-чотири видалені відповіді і не пам'ятаю, чия була, вибачте. Якщо ви знайшли рішення з менш ніж n (n − 1) / 2 воріт, я хотів би знати всю конструкцію (і це не вкрасти у мене mjqxxxx виграш :)).
Цуйосі Іто

2
@mkatkov: Я все ще скептичний. Як я писав в останньому абзаці цього поста, Пітер Тейлор виявив, що п'ятистатистична порівняльна мережа для n = 4 не може бути перетворена на рішення поточної проблеми шляхом заміни компараторів на ймовірнісні ворота заміни. Це означає, що ваша логіка не може працювати для кожної мережі сортування, хоча вона не виключає можливості того, що вона якось працює для, скажімо, непарного злиття.
Цуйосі Іто

1
@mkatkov: Причина такого типу рішення, здається, не працює (або, принаймні, не було показано жодного робочого прикладу), полягає в тому, що ворота swap підпалюють сортування мережевого вогню в сильній кореляції. У цій проблемі всі ворота ведуть незалежно, що призводить до зовсім іншого простору можливих ланцюгів.
mjqxxxx

1
@mkatbov, кожен крок в мережі Ентоні вибирає один з m входів (де m варіюється від n до 2). Ви не можете вибрати один із m входів із меншою кількістю воріт m-1, тому, зокрема, ви не можете зробити це з воротами m log. Збивання , ймовірно, вимагатиме певного підходу «ділити-перемагай». O(n2)
Пітер Тейлор

3
@Tsuyoshi, Yuval та я проаналізували всі можливі 5-х воротні рішення для та усунули їх усі, що посилює результат того, що не всі сортувальні мережі можуть бути перетворені в рівномірні перестановочні мережі в результаті, що існують розміри проблем, для яких оптимальна рівномірна перестановочна мережа вимагає більше воріт, ніж оптимальна мережа сортування. n=4
Пітер Тейлор

15

Це не є повною відповіддю будь-якими способами, але вона включає результат, який може бути корисним, і застосовує його, щоб отримати деякі обмеження у випадку які обмежують можливі 5-ти воротні рішення до 2500 легко перелічуваних справ.n=4

Спочатку загальний результат: у будь-якому рішенні, яке переставляє об’єктів, повинно бути принаймні свопів, які мають ймовірність .n - 1 1nn112

Доведення: розглянемо перестановне подання перестановок порядку . Це матриць задовольняють . Розглянемо обмін між та з ймовірністю : це має представлення (використовуючи позначення циклу для представлення перестановки). Ви можете подумати про множення за цією матрицею з точки зору теорії представлення або з точки зору Маркова як застосування перестановки з ймовірністю і залишити речі незмінними з вірогідністю .nA π ( A π ) i , j = [ i = π ( j ) ] i j p ( 1 - p ) I + p A ( i j )n×nAπ(Aπ)i,j=[i=π(j)]ijp(1p)I+pA(ij)p 1 - p(ij)p1p

Отже, мережа перестановок є ланцюгом таких множин матриць. Почнемо з матриці ідентичності, і кінцевим результатом буде матриця де , тому ми переходимо від матриці рангу до матриці рангу множеннями - тобто ранг зменшується на .U i , j = 1U n1n-1Ui,j=1nn1n1

Розглядаючи ранг матриць , то ми бачимо, що вони по суті є матрицями тотожності, крім мінорних , тому вони мають повний ранг, якщо тільки , в цьому випадку вони мають ранг .( 1 - p p p 1 - p ) p = 1(1p)I+pA(ij)(1ppp1p) п-1p=12n1

Застосовуючи матричне нерівність Сільвестра, ми виявляємо, що кожен своп зменшує ранг лише у випадку, якщо , а коли ця умова виконується, вона зменшує її не більше ніж 1. Тому нам потрібні принаймні свопи ймовірності . п-11p=12n112

Зауважте, що цю межу неможливо посилити, оскільки мережа Ентоні Левер'є досягає цього.


Додаток до справи . У нас вже є рішення з 6 воротами, тому питання полягає в тому, чи можливі рішення з 5 воротами. Тепер ми знаємо, що принаймні на 3 воротах повинно бути 50/50 свопів, тому у нас є дві "вільні" ймовірності, і . Є 32 можливі події (5 незалежних подій з двома результатами) та відра, кожне з яких повинно містити принаймні одну подію. Події поділяються на 8 з ймовірністю , 8 з ймовірністю , 8 з ймовірністю , і 8 з ймовірністю .p q 4 ! = 24 p qn=4pq4!=24¯ p qpq8 p ¯ qp¯q8¯ p ¯ qpq¯8p¯q¯8

32 події на 24 відра без порожніх відра означають, що принаймні 16 відер містять точно одну подію, тому принаймні дві з чотирьох імовірностей, наведених вище, дорівнюють . З урахуванням симетрії ми маємо два випадки: або . pq= ¯ p q=1124 pq= ¯ p ¯ q =1pq=p¯q=13pq=p¯q¯=13

Перший випадок дає , ( виправлення або , розкручування симетрії). Другий випадок дає , тому , що не має реальних рішень. q=2p=p¯=12 q=1q=23 pq=1-p-q+pqpq=p(1-p)=1q=13pq=1pq+pqpq=p(1p)=13

Тому, якщо є рішення із 5-ти воротами, у нас є чотири ворота з ймовірністю і одна брама з ймовірністю або або . Перемістіть перший swap , а другий або або ; інші три мають (не більше) п'ять можливостей, тому що немає сенсу робити один і той же своп двічі поспіль. Таким чином, ми маємо розглянути послідовності свопів та 10 способів призначення ймовірностей, що призводить до 2500 випадків, які можна перерахувати та перевірити механічно. 112 213 0102232×53230102232×53

Оновлення: Ювал Філіус і я перерахували і протестували випадки, і не знайшли рішень, тому оптимальне рішення для передбачає 6 воріт, а приклади розв’язків із 6-ти воротами можна знайти в інших відповідях.n=4


2
У моєму переліку випадків не вдалося дати жодного коротшого прикладу.
Yuval Filmus

... навіть після виправлення.
Yuval Filmus

1
Чудово, це дуже приємне спостереження.
Джо Фіцсімонс

1
@mjqxxxx, я підрахував, що, шукаючи рішення 9-х воріт до вам доведеться врахувати приблизно 104 мільйони випадків (хоча це може бути трохи зменшено з розумом), але для кожного випадку ви б обчислювали 120 рівнянь у 5 змінних з перехресними термінами, а потім перевірка рішення. Це, мабуть, можливо для звичайного настільного комп’ютера, але це вимагає трохи більше зусиль, тому що ви не можете так легко обмежити можливі значення ймовірностей. n=5
Пітер Тейлор

4
Я присуджую цю нагороду, хоча відповідь не забезпечує асимптотичного покращення нижньої межі ані покращення на верхній межі , оскільки, принаймні, це доводить є оптимальним в одному нетривіальному випадку. n ( n - 1 ) / 2 n ( n - 1 ) / 2Ω(nlogn)n(n1)/2n(n1)/2
mjqxxxx

14

Здається, нова і відповідна інформація:

У статті [CKKL99] показано, як наблизити 1 / n до рівномірної перестановки n елементів за допомогою комутаційної мережі глибини O (log n), а отже, і загального O (n log n) компараторів.

Ця конструкція не є явною, але її можна зробити явною, якщо збільшити глибину до полілогу (n). Див. Покажчики у статті [CKKL01], де також міститься додаткова інформація.

У попередньому коментарі вже вказувався результат, який говорить про те, що вимикачі O (n log n) є достатніми, але різниця полягає в тому, що в комутаційних мережах порівнювані елементи фіксуються.


[CKKL99] Артур Чумай, Перемислава Канарек, Мирослав Кутиловський та Кшиштоф Лораріс. Затримка з’єднання шляху та генерування випадкових перестановок за допомогою розподілених стохастичних процесів. У симпозіумі з дискретних алгоритмів (СОДА), сторінки 271 {280, 1999.

[CKKL01] Артур Чумай, Перемислава Канарек, Мирослав Кутиловський та Кшиштоф Лораріс. Комутаційні мережі для генерації випадкових перестановок, 2001.


Дякую, що, безумовно, корисно знати. Мені все ж цікаво дізнатися про номер воріт для генерації точного розподілу.
Джо Фіцсімонс

12

Ось дещо цікаве рішення для . Ця ж ідея працює і при .n = 6n=4n=6

Почніть з вимикачів з вірогідністю . Знижуючи до і до , ми знаходимося в ситуації . Застосовуйте перемикачі з ймовірністю . Результат Наступним нашим кроком буде з вірогідністю . Таким чином, нас дійсно хвилює лише те, якщо результат попереднього етапу має форму (випадок A) або форму(0,1),(2,3)1/20,1X2,3YXXYY(0,3),(1,2)p

XXYY w.p. (1p)2,YYXX w.p. p2,XYXY w.p. p(1p),YXYX w.p. p(1p)
(0,2),(1,3)1/2XXYY/YYXXXYXY/YXYX (випадок B). У випадку, якщо ці перемикачі призведуть до рівномірної ймовірності понад . У випадку Б вони будуть неефективними. Тому повинен задовольняти Враховуючи це, результат є рівномірним.XXYY/XYYX/YXXY/YYXXp
p(1p)=1/6p=3±36.

Подібна ідея працює і для - ви спочатку випадковим чином сортуєте кожну половину, а потім "об'єднуєте" їх. Однак навіть при я не бачу, як правильно злити половинки.n=6n=8

Цікавим моментом щодо цього рішення є дивна ймовірність .p

Як бічне зауваження, набір ймовірностей який, можливо, може нам допомогти, подається через , де всі власні значення всіх представлень при всіх переміщеннях.p1/(1λ)λ0Sn


1
Дивні значення для справді підбадьорюють, тому що, на мою думку, існує досить простий доказ того, що якщо ми обмежимо ймовірності на для цілого то найкраще, що ви можете зробити, це . 1 / k k O ( n 2 )p1/kkO(n2)
Джо Фіцсімонс

5
Трохи інший спосіб для 2n елементів, який все ще дивний у подібному сенсі, - переміщення перших n елементів, переміщення останніх n елементів, підмінання (i, i + n) з імовірністю p_i на i = 1,…, n , перемістіть перші n елементів та перемістіть останні n елементів. Ймовірності p_i повинні бути обрані так, щоб ймовірність того, що точно k з n вогнів своп-ворота дорівнювала і такі ймовірності p_i задаються через ( 1 + x_i) / 2, де x_1,…, x_n - коріння полінома Лежандра P_n. (детальніше)(nk)2/(2nn)
Цуйосі Іто

6
(продовжує) Невтішна річ варіації, яку я описав, - це те, що для n потрібні n (n-1) / 2 імовірнісні заміни, коли n - потужність двох, тобто точно така ж кількість воріт, що і сортування міхура рішення Ентоні Левер'є.
Цуйосі Іто

@Tsuyoshi, ваша конструкція явно правильна, але мені цікаво, чи це робить більше, ніж потрібно. На даний момент я не маю часу проаналізувати аналіз, але якщо ви це зробите, то, можливо, вам варто подумати, чи існують такі, що ; ; ; ; потім застосувати відповідну перестановку коренів Legendre (і заповнити інші чверті) може працювати. p0,p101,p=1223,p=1202,p=p013,p=p1
Пітер Тейлор

7

Розглянемо проблему випадкового перетасування рядка , де кожен блок має довжину , із ланцюгом, що складається з імовірнісних парних змін. Тобто всі рядки з s та s повинні бути однаково ймовірними виходами схеми з урахуванням заданого входу. Нехай - оптимальна схема для цієї проблеми, а - оптимальна схема для вихідної задачі (випадковим чином переміщення елементів). Застосування випадкової перестановки достатньо для випадкового переплетення s і s, такXX..XY..YYn(2n)!/(n!)2n Xn YB2nC2n2nXY|B2n||C2n| . З іншого боку, ми можемо переміщувати елементів, переміщуючи перші елементів, перемішуючи останні елементів і, нарешті, застосовуючи схему . Це означає, що . Поєднавши ці два межі, ми можемо отримати такий результат:2nnnB2n|C2n|2|Cn|+|B2n|

  • |B2n| та є обома , або ні.|C2n|o(n2)

Ми бачимо, що дві проблеми однаково важкі, принаймні в цьому сенсі. Цей результат є дещо несподіваним, так як можна було б очікувати , що -shuffle проблему простіше. Зокрема, ентропічний аргумент показує, що є , але дає більш сильний результат, що є .XY|B2n|Ω(n)|C2n|Ω(nlogn)


7

Diaconis and Shahshahani 1981, "Генерування випадкової перестановки випадковими перекладами" показує, що 1/2 n log n випадкових транспозицій (зауважте: тут немає "O") призводить до перестановки, близької (в загальній відстані варіації) до рівномірної. Я не впевнений, якщо саме те, що дозволено у вашій програмі, дозволяє вам використовувати цей результат, але це досить швидко і чітко, оскільки це є прикладом відсічного явища. Дивіться випадкові прогулянки по кінцевих групах Saloff-Coste для опитування подібних результатів.


1
І, мабуть, дві майже випадкові перестановки можуть бути складені для отримання перестановки, яка є навіть майже майже випадковою.
mjqxxxx

7
... Однак слід зазначити, що це насправді не та сама проблема (навіть допускаючи приблизне, а не точне рішення), оскільки автори розглядають транспозиції випадково вибраних пар елементів, а не ймовірнісні переміщення зазначених пар елементів.
mjqxxxx

5

Це дійсно коментар, але занадто довгий, щоб публікувати як коментар. Я підозрюю, що теорія представлення симетричної групи може бути корисною для доведення кращої нижньої межі. Хоча я майже нічого не знаю про теорію представництва і, можливо, я не обійдусь, дозвольте мені пояснити, чому це може бути пов'язано з поточною проблемою.

Зауважимо, що поведінка ланцюга, що складається з імовірнісних шлюзових змінних шлюзів, може бути повністю визначена як розподіл ймовірностей p по S n , групі перестановок на n елементів. Перестановку g ∈S n можна розглядати як подію, коли i- й вихід - g ( i ) -й вхід для всіх i ∈ {1,…, n }. Тепер представіть розподіл ймовірності p як формальну суму ∑ g ∈S n p ( g ) g . Наприклад, ймовірнісний замін між проводами i іj з вірогідністю p представлений як (1− p ) e + p τ ij , де e ∈S n - елемент тотожності, а τ ij ∈S n - переміщення між i та j .

Цікавий факт цієї формальної суми полягає в тому, що поведінка конкатенації двох незалежних схем може бути формально описана як добуток цих формальних сум. А саме, якщо поведінка ланцюгів C 1 і C 2 представлені як формальні суми a 1 = ∑ g ∈S n p 1 ( g ) g і a 2 = ∑ g ∈S n p 2 ( g ) g відповідно, то поведінка ланцюга C 1 з наступним C 2зображено як ∑ g 1 , g 2 ∈S n p 1 ( g 1 ) p 2 ( g 2 ) g 1 g 2 = a 1 a 2 .

Тому потрібна схема з m імовірнісними свопами точно відповідає способу запису суми (1 / n !) ∑ g ∈S n g як добуток m сум, кожен з яких має вигляд (1− p ) e + p τ ij . Ми хотіли б знати мінімальну кількість m факторів.

Формальні суми ∑ g ∈S n f ( g ) g , де f - функція від S n до ℂ, оснащена природно визначеним складанням і множенням, утворюють кільце, що називається груповою алгеброю ℂ [S n ]. Групова алгебра тісно пов'язана з теорією представництва груп, що є глибокою теорією, як ми всі знаємо і боїмося :). Це змушує мене підозрювати, що щось із теорії представлення може бути застосовно до поточної проблеми.

А може, це просто надумано.


2
Ось до чого це зводиться. Існує купа уявлень симетричної групи, які можна чітко обчислити для транспозицій, з деякою роботою (зазвичай вони розраховуються явно лише для транспозицій ). Початкове значення кожного представлення - відповідна матриця ідентичності. Застосовуючи ймовірнісний своп, множимо кожне подання на , де - значення подання при виконаному свопі . (продовження)(k,k+1)(1p)I+pAijAij(ij)
Yuval Filmus

2
Для того щоб результат був рівномірним, нам потрібні всі представлення, крім представлення ідентичності, дорівнювати нулю. Тож ймовірності слід вибирати так, щоб принаймні деякі матриці були єдиними. Матриці для кожного подання мають різні власні вектори, тому незрозуміло, яка умова примусить певне представлення дорівнювати нулю. (продовження)p(1p)I+pAijAij
Yuval Filmus

3
Якщо, однак, ми могли б довести, що кожна транспозиція зменшує середній ранг представлення максимум на , скажімо, тоді ми отримаємо нижньої межі. Таку межу можна довести, якщо ми знаємо власні вектори, що відповідають кожному представленню та кожному транспоненту. Цю інформацію можна опрацювати в принципі, але немає впевненості, що такий підхід спричинить щось нетривіальне. 1/n2n2
Yuval Filmus

1
(продовження), і це лінійне перетворення є саме матрицею, що виникає в поданні S_n n n n матриць перестановки. Хоча n-1 є тривіальним як нижня межа кількості воріт (аргумент ентропії вже дає кращу нижню межу), я сподіваюся, що можливо вдасться узагальнити ваш аргумент до інших уявлень, щоб отримати кращу нижню межу на загальна кількість воріт.
Tsuyoshi Ito

4
@Yuval, @Peter: Я помітив, що для кожного подання (1 − p) I + pA_ {ij} є неоднорідним, якщо тільки p = 1/2 (тому що A_ {ij} ^ 2 = звідси випливає, що власне значення A_ {ij } є ± 1). Тому підрахунок рангу корисний лише для нижньої межі кількості воріт імовірності 1/2, що вже було зроблено оптимальним Петром. Іншими словами, якщо теорія представлення корисна у тому, як я запропонував у цій публікації, нам потрібно щось інше, ніж підрахунок рангу матриць! Я не впевнений, чи реально це.
Tsuyoshi Ito

1

Алгоритм Ентоні можна запустити паралельно, запустивши наступну ітерацію процедури після перших двох імовірнісних свопів, в результаті чого час виконання.O(n2)O(n)


4
Я думаю, що відповідним показником складності для цього питання є кількість воріт, а не час виконання.
Ентоні Левер’є

3
@Anthony правильно, що мене цікавить просто мінімальна кількість необхідних воріт.
Joe Fitzsimons

0

Якщо я правильно розумію, якщо ви хочете, щоб ваша схема могла генерувати всі перестановки, вам потрібні принаймні імовірнісні ворота, хоча я не впевнений, як можна побудувати мінімальну схему.log2(n!)

ОНОВЛЕННЯ:

Я думаю, що якщо взяти алгоритм Mergesort і замінити всі порівняння випадковим вибором з відповідними ймовірностями, ви отримаєте шукану схему.


2
Я не зовсім впевнений, як би ви перевели це в імовірнісну модель заміни, яку я дав вище. Я не бачу, як імовірнісний своп замінює порівняння і все ще досягає випадкового розподілу. Отже, я також не впевнений, чому це було б оптимально.
Joe Fitzsimons

1
І так, - мінімум, але це лише . log2(n!)O(nlog(n))
Joe Fitzsimons

1
Припустимо, і продовжуємо індукцією на . У вас є дві випадкові перестановки довжиною . Якщо об'єднати їх випадковим чином (тобто взяти наступний елемент з випадково вибраної субпермутації), то об'єднані результати, безумовно, повинні бути випадковими. Імовірність положення що має елемент із "лівої" субпермутації, явно 1/2 за симетрією. І обумовлений тим, що має елемент з лівої субпермутації, він повинен мати рівномірно випадковий від нього. Таким чином можна побачити, що отримана перестановка справді випадкова. n=2kk2k1i
Ендрю Д. Кінг

1
Це було також моєю думкою, коли я пропонував об'єднати, але, по-другому, мені здається, що реалізація операції злиття може бути неможливою, використовуючи лише необхідний тип воріт, оскільки вони не дають результату щоб сказати, чи виконували вони перестановку, і вони не мають керуючого введення, щоб їх обумовити.
Антоніо Валеріо Міцелі-Бароне

3
@Andrew: Я не бачу, як "об'єднати їх випадковим чином", використовуючи ворота, викладені у питанні.
Joe Fitzsimons

0

Наступна відповідь неправильна (див. Коментар @joe fitzsimon), але може бути корисною як вихідна точка

У мене є пропозиція ескізу в . Я перевірив, як це працює для (!), Але у мене поки немає доказів того, що результат є рівномірним за .O(nlogn)n=4n=4

Припустимо, у вас є схема яка генерує рівномірну випадкову перестановку на бітах. Les ймовірнісний шлюзовий своп, який підміняє біти та на ймовірність 1/2 і нічого не робить із ймовірністю . Побудуйте наступну схему діє на біт:CnnSi,j12ij1/2C2n2n

  1. 1kn , застосувати ворота ;Sk,k+n1/2
  2. Застосувати до перших бітів;Cnn
  3. Застосувати на останніх бітах;Cnn
  4. 1kn , застосуйте ворота .Sk,k+n1/2

Крок 1. потрібен, щоб біти і могли приземлитися в одній половині перестановки, а крок 4. потрібен симетрією: якщо є рішенням, то Отриманий шляхом застосування воріт у зворотному порядку - це також рішення.1n+1C2nC2n1

Розмір цього сімейства схем підпорядковується такому відношенню рекурсії: з, очевидно, . Тоді легко видно, що .| C 1 | = 0 | C n | = n журнал n

|C2n|=2|Cn|+2n
|C1|=0|Cn|=nlogn

Тоді залишається очевидним питання: чи виконують ці схеми рівномірні перестановки? Ні, дивіться перший коментар нижче


6
Я не вірю, що вони виконують однакові перестановки. Насправді, я думаю, що неможливо зробити саме такі ворота, якщо ви виправте ймовірність бути 1/2. Причина цього проста: уявіть собі схему, яка використовує таких воріт. Тоді є рівномірні обчислювальні шляхи, і тому будь-яка перестановка повинна відбуватися з ймовірністю для деякого цілого . Однак для рівномірного розподілу нам потрібно, щоб . Очевидно, що це не може бути задоволено для цілого значення для . 2 м к 2m2m kk 2 - m = 1k2mkкk2m=1n!kn3
Joe Fitzsimons

Справді. Я теж забув перевірити рівномірність ...n=4
Frédéric Grosshans
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.