Ймовірність того, що працює випадкова мережа сортування


14

З огляду на входів , ми побудуємо випадкову мережу сортування з воротами шляхом ітеративного вибору двох змінних з та додавання ворота порівняння, який заміняє їх, якщо .nx0,,xn1mxi,xji<jxi>xj

Питання 1 : При фіксованому , наскільки велика необхідність бути в мережі , щоб правильно сортувати з ймовірністю ?nm>12

У нас є щонайменше нижня межа оскільки впорядкування, яке правильно сортується, за винятком того, що кожна пара послідовно розміщена, займе час для кожного пара, яку слід вибрати як компаратор. Це також верхня межа, можливо, більше факторів?m=Ω(n2logn)Θ(n2logn2)logn

Питання 2 : Чи існує розподіл воріт порівняння, що досягає , можливо, вибираючи близькі компаратори з більшою ймовірністю?m=O~(n)


1
Я думаю, що можна отримати верхню межу O(n3logO(1)) , подивившись один на один вхід, а потім обмежуючи об'єднання, але це звучить далеко не тісно.
daniello

2
Ідея запитання 2: вибрати сортувальну мережу глибини O(log2n) . На кожному кроці випадковим чином виберіть один із воріт сортувальної мережі та виконайте це порівняння. Після того, як O~(n) кроків, все ворота в першому шарі будуть застосовані. Після чергових O~(n) кроків, всі ворота у другому шарі будуть застосовані. Якщо ви зможете показати, що це монотонно (вставлення додаткових порівнянь у середині сортувальної мережі не може зашкодити), ви отримали рішення з O~(n)в середньому загальні порівняльники. Я не впевнений, чи монетичність насправді справедлива.
DW

2
@DW: Монотонність не обов'язково має місце. Розглянемо послідовності Послідовністьsробіт; sне враховує вхід (1, 0, 0)). Ідея полягає в тому, що(x0,x2),(x0,x1)
s=(x1,x2),(x0,x2),(x0,x1);s=(x1,x2),(x0,x1),(x0,x2),(x0,x1).
ss(x0,x2),(x0,x1)сортує будь-який вхід, який він отримує, крім (див. тут ). У s , цей вхід не може досягти ( x 0 , x 2 ) , ( x 0 , x 1 ) . У s ' може. (0,1,0)s(x0,x2),(x0,x1)s
Ніл Янг

3
Розглянемо варіант, коли мережу вибирають шляхом вибору двох сусідніх змінних випадковим чином на кожному кроці. Тепер монотонність має місце (оскільки сусідні свопи не створюють інверсій). Застосуйте ідею @ DW до непарної мережі сортування , яка має n раундів: у непарних раундах вона порівнює всі сусідні пари, де я непарна, у парних раундах вона порівнює всі сусідні пари там, де я парний. Whp випадкова мережа правильна в порівняннях O ( n 2 log n ) , оскільки вона "включає" цю мережу. (Або я щось пропускаю?)xi,xi+1niiO(n2logn)
Ніл Янг

2
Монотонність суміжних мереж: Дано , для j { 0 , 1 , , n } визначте s j ( a ) = j i = 1 a i . Скажіть a b, якщо s j ( a ) s j ( b ) ( ja,b{0,1}nj{0,1,,n}sj(a)=i=1jaiabsj(a)sj(b)j). Виправте будь-яке порівняння " ". Нехай a ' і b ' походять від a і b , зробивши це порівняння. Пункт 1. a a і b b . Спосіб 2: якщо a b , то a b . Тоді покажіть індуктивно: якщо y результат послідовності порівняння s на вході xxi<xi+1abab aabb ababysxІ є результатом супер-послідовності з ' з х на х , то у 'у . Отже, якщо y відсортовано, так і y ' . yssxyyyy
Ніл Янг

Відповіді:


3

Ось деякі емпіричні дані для питання 2, засновані на ідеї DW, застосованій до бітонічного сортування. Для змінних виберіть j - i = 2 k з ймовірністю, пропорційною lg n - k , а потім виберіть i рівномірно i рівномірно, щоб отримати компаратор ( i , j ) . Це відповідає розподілу компараторів у бітонічному роді, якщо n є потужністю 2, і наближає його інакше.nji=2klgnki(i,j)n

Для заданої нескінченної послідовності воріт, витягнутих із цього розподілу, ми можемо наблизити кількість воріт, необхідних для отримання сортувальної мережі, сортуючи безліч випадкових бітових послідовностей. Ось ця оцінка для із середнім значенням понад 100 послідовностей воріт із 6400 бітовими послідовностями, використовуваними для апроксимації підрахунку: Здається, вона відповідає Θ ( n log 2 n ) , такої ж складності, як і бітонічне сортування. Якщо це так, ми не їмо додатковий коефіцієнт log n через проблеми зі збирачем купонів, що потрапляють через кожну браму.n<2001006400Approximate number of gatesΘ(nlog2n)logn

Наголошу: я використовую лише бітових послідовностей, щоб наблизити очікувану кількість шлюзів, а не 2 n . Середнє необхідне число воріт зростає з цим числом: для n = 199, якщо я використовую послідовності 6400 , 64000 та 640000, оцінки становлять 14270 ± 1069 , 14353 ± 1013 та 14539 ± 965 . Таким чином, можливо отримання кількох останніх послідовностей збільшує асимптотичну складність, хоча інтуїтивно це здається малоймовірним.64002nn=19964006400064000014270±106914353±101314539±965

Редагувати : Ось подібна ділянка до , але з використанням точної кількості воріт (обчислюється за допомогою комбінації вибірки та Z3). Я перейшов з потужності двох d = j - i на довільну d [ 1 , nn=80d=jiз ймовірністю, пропорційноюlogn-logdd[1,n2] . Θ(nlog2n)все ще виглядає правдоподібно.lognlogddΘ(nlog2n)

Exact numbers of gates


2
Гарний експеримент! Там інший спосіб питання купона колектора може виникнути тут, хоча: ви тільки вибірки малої частини послідовностей біт , необхідних для перевірки коректності на всі входи. Здається, ми можемо зробити висновок (науково, не математично, звичайно) з вашого експерименту, що випадкова мережа такого типу та розміру сортує випадкову перестановку whp. Мені б також цікаво побачити вичерпне 2 n тестування в таких випадкових мережах для всіх n , до яких ви готові пройти. ( n = 20 не має бути занадто поганим, можливо, навіть n = 30, залежно від мови та обладнання, яким ви користуєтесь).2n2nnn=20n=30
Joshua Grochow

1
It looks the same for exact up to n=27, but I don’t view that as conclusive.
Geoffrey Irving

1
@JoshuaGrochow: I've added exact values up to n=80.
Geoffrey Irving

1
Nice! There does appear to be a growing spread to the exact data though, which perhaps indicates an upper bound with an extra factor of logn? (That is, if the "spread" is growing at a rate of logn.)
Joshua Grochow

1
Yeah, we can't rule out an extra factor. I'd be surprised if it was logn, though, since up at 80 we have lgn6 and the constant is suspiciously close to 1 otherwise. At this point I think theory has to take over. :)
Geoffrey Irving
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.