Коли рандомізація прискорює роботи алгоритмів, і вона "не повинна"?


39

Доказ Адлемана про те, що міститься в P / p o l y, показує, що якщо існує рандомізований алгоритм для задачі, яка працює за часом t ( n ) на входах розміром n , то також існує детермінований алгоритм для задачі що працює в часі Θ ( t ( n ) n ) на входах розміру n [алгоритм запускає рандомізований алгоритм на Θ ( n )BPPP/polyt(n)nΘ(t(n)n)nΘ(n)незалежні рядки випадковості. Повторний алгоритм повинен бути випадковим для всіх можливих входів]. Детермінований алгоритм неоднаковий - він може поводитися по-різному для різних розмірів вводу. Отже, аргумент Адлемана показує, що - якщо ніхто не піклується про рівномірність - рандомізація може прискорити алгоритми лише коефіцієнт, лінійний за розміром введення.2n

Які конкретні приклади, коли рандомізація прискорює обчислення (наскільки нам відомо)?

Одним із прикладів є тестування поліноміальної ідентичності. Тут вхід - це арифметична схема розміру n, що обчислює поліном m-змінної над полем, і завдання полягає у з'ясуванні того, чи є многочлен однаково нульовим. Рандомізований алгоритм може оцінити поліном у випадковій точці, тоді як найкращий детермінований алгоритм, який ми знаємо (і, можливо, найкращий, що існує), оцінює поліном у багатьох точках.

Інший приклад - мінімальне прольотоване дерево, де найкращий рандомізований алгоритм Каргера-Кляйна-Тарджана - це лінійний час (а ймовірність помилки експоненціально мала!), Тоді як найкращий детермінований алгоритм Chazelle працює в часі ( α - зворотна функція Акермана, тому швидкість рандомізації дійсно мала). Цікаво, що Петті та Рамачандран довели, що якщо існує нерівномірний детермінований лінійний алгоритм лінійного часу для мінімального діапазону дерева, то існує також рівномірний детермінований алгоритм лінійного часу.O(mα(m,n))α

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



Ви завжди можете перетворити будь-який рандомізований алгоритм у детермінований алгоритм, замінивши випадковий генератор на псевдовипадковий генератор криптографічного якості. За правдоподібних криптографічних припущень, що, наскільки нам відомо, справедливі, це працює чудово. Отже, моя відповідь була б: "Наскільки ми знаємо, відповідь є: таких проблем у реальному світі немає". (Іншими словами, наскільки нам відомо, розрив у виконанні відображає нашу нездатність довести жорсткі межі часу виконання, а не будь-яку реальну основу різниці.)
DW

1
За розумних припущень твердості ви можете подати випадковість алгоритму з генератора псевдовипадкових випадків, однак, щоб насправді отримати детермінований алгоритм з цього, потрібно запустити алгоритм на всіх можливих насінках. Це підірває час виконання!
Дана Мошковіц

На додаток до думки Дани, я думаю, що для дерандонізації BPP, PRG потрібно запустити більше часу, ніж оригінальний алгоритм (хоча я не знаю, яким має бути розрив). Також це може ілюструвати (фундаментальний?) Розрив між визначеністю та експоненціально високою впевненістю: Досить повторити рандомізований алгоритм разів (для будь-якої постійної с ), щоб отримати вірогідність коректності 2 - O ( c )cc2O(c) , але детерміновану версію потрібно щоб перевірити всі багаточлени насіння.
usul

@DanaMoshkovitz, це залежить від того, чи підходиш ти до цього з теоретичної чи перспективної практики. З точки зору практикуючого, ні, вам цього не потрібно робити. Дивіться конструкцію, яку я окреслюю в cs.stackexchange.com/a/41723/755 , яка запускає алгоритм лише на насінці . За випадковою моделлю оракул можна показати, що асимптотичного періоду виконання не збільшується і жоден обчислювальний супротивник, ймовірно, не зможе знайти будь-який вхід до алгоритму, де алгоритм дає неправильну відповідь. Це, мабуть, досить добре для всіх практичних цілей. O(1)
DW

Відповіді:


28

Я не знаю, чи може допомогти рандомізація "повинна" чи "не повинна", проте тестування цілості на первинність можна зробити вчасно за допомогою рандомізованого Міллера-Рабіна, хоча, наскільки я знаю, найвідоміший детермінованими алгоритмами є ˜ O ( n 4 ), припускаючи GRH (детермінований Міллер – Рабін) або ˜ OO~(n2)O~(n4) безумовно (варіанти АКС).O~(n6)


Хоча є підстави вважати , що найменший свідок на складовою має порядок журнал N журнал журнал N , який дав би ~ Про ( п 3 ) алгоритм. Але це залишається недоведеним навіть у стандартних числових теоретичних домислах на зразок варіантів РЗ. NlogNloglogNO~(n3)
Еміль Йерабек підтримує Моніку

Проблема в подібній жилі - це тестування поліноміальної невідводимості над кінцевими полями, де знову відомий детермінований алгоритм має гірші межі, ніж рандомізовані алгоритми, але деталей я не пам’ятаю.
Еміль Йерабек підтримує Моніку

19

Старий приклад - обчислення обсягу. Враховуючи політоп, описаний оракул членства, існує рандомізований алгоритм, що працює в поліноміальний час, щоб оцінити його обсяг накоефіцієнта 1 + ϵ , але жоден детермінований алгоритм не може зблизитися навітьбеззастережно.1+ϵ

Першим прикладом такої рандомізованої стратегії були Дайер, Фриз і Каннан, а результат твердості для детермінованих алгоритмів - Баран і Фюреді. Алістер Сінклер має приємні конспекти лекцій з цього приводу .

Я не впевнений, що я повністю розумію частину питання "і це не повинно", тому я не впевнений, що це відповідає законопроекту.


1
Мені було відомо про метод MCMC, але не про цю нижню межу, і я дуже здивований (я думав, що все, що було відомо, - # P-твердість). Стаття " Обчислити об'єм важко", доступна на веб-сторінці Füredi , і вони дають нижню межу по суті щодо того, наскільки добре може бути наближений об'єм. [n/logn]n
Джеремі Кун

9

Я не знаю, чи відповідає це на ваше питання (або принаймні його частина). Але для реальних прикладів, коли рандомізація може забезпечити прискорення, є проблеми оптимізації та відношення до теореми « Без вільного обіду» ( NFL ) .

Є стаття "Можливо, не безкоштовний обід, але принаймні безкоштовна закуска", де показано, що використання алгоритмів рандомізації (оптимізації) може мати кращі показники.

Анотація:

Часто стверджується, що еволюційні алгоритми переважають над іншими методами оптимізації, зокрема, в ситуаціях, коли про об'єктивну функцію оптимізації не відомо багато. На відміну від цього Волперт і Маккадрі (1997) довели, що всі методи оптимізації мають однакову поведінку --- в середньому по всіх де X і Yf:XYXYє кінцевими множинами. Цей результат називається [Теоремою безкоштовного обіду немає]. Тут представлені різні сценарії оптимізації. Стверджується, чому сценарій, на якому базується теорема "Без вільного обіду", не моделює оптимізацію реального життя. Для більш реалістичних сценаріїв стверджується, чому методи оптимізації відрізняються своєю ефективністю. Для невеликого прикладу це твердження доведено.

Список літератури:

  1. Немає теорем про безкоштовний обід для оптимізації (оригінальна теорема NFL для оптимізації)
  2. Можливо, не безкоштовний обід, але принаймні безкоштовна закуска
  3. Без вільного обіду та довжини опису (показує, що результати NFL утримуються для будь-якого підмножини набору всіх можливих функцій, якщо iff F закритий під перестановкою, чашка )FF
  4. Про класи функцій, для яких не дотримуються результатів "Безкоштовний обід" (Доведено, що частка підмножин є чашкою , незначно мала)
  5. Два широких класи функцій, для яких результат без вільного обіду не дотримується (показує, що NFL результат не застосовується до набору функцій, коли довжина опису функцій достатньо обмежена)
  6. Постійні обіди безкоштовні плюс розробка оптимальних алгоритмів оптимізації (показує, що для безперервних доменів [офіційна версія] NFL не виконується. Ця теорема вільного обіду заснована на формалізації поняття про випадкові функції фітнесу за допомогою випадкових полів )
  7. Поза межами вільного обіду: реалістичні алгоритми для довільних класів задач (показує, що ".. [a] всі порушення теорем про вільний обід можуть бути виражені як неблокові однорідні розподіли за проблемними підмножинами, які є чашкою ")
  8. Метагевристичні алгоритми на основі роя ​​та теорії без вільного обіду ("[..t] раніше, результати для неперевірених впорядкованих за часом ітерацій можуть бути неправдивими для випадків перегляду справ, оскільки повторювані ітерації порушують важливе припущення про чашка, необхідна для доведення теорем про НФЛ (Маршалл та Хінтон, 2010) ")
  9. Без вільного обіду та алгоритмічної випадковості
  10. Немає вільного обіду і орієнтирів (теоретично-теоретичний підхід він узагальнений до критеріїв, не характерних для чашки , але все ж зазначає, що (нетривіальні) рандомізовані алгоритми можуть в середньому перевершувати детерміновані алгоритми "[..] було продемонстровано, що ймовірність є недостатньою для підтвердження необмежених результатів НФЛ у загальному випадку. [..] ця робота відмовляється від ймовірності, віддаючи перевагу теоретично-теоретичній рамці, яка ухиляється від вимірювально-теоретичних обмежень, розподіляючи ймовірність взагалі ")

Підсумок про невільні обіди (та безкоштовні обіди) Девід Х. Волперт: Що коштує обід? ( зауважте, що теореми типу NFL ніколи не вказують фактичну " ціну " через їх тип підтвердження)

специфікація для узагальненої оптимізації (GO):

  1. XZXZ

  2. f:XZ

  3. mf

    dm={dm(1),dm(2),...,dm(m)}
    t
    dm(t)={dmX(t),dmZ(t)}
    dmZ(t)f[dmX(t)]
  4. a={dtdmX(t):t=0..m}

  5. C(f,dm)

  6. C(.,.)

CfCfC(f,dm)f=f

Нарешті, просте (і не дуже просте) зауваження, чому рандомізація (в тій чи іншій формі) може забезпечити кращі показники порівняно з строго детермінованими алгоритмами.

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

1

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


-5

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

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

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


Я новачок у cstheory.SE. Отже, downvoters - що не так у цій відповіді?
galdre

3
Дві речі помиляються: (1) ми не знаємо, як побудувати псевдовипадкові числа взагалі; (2) навіть коли ми знаємо, як їх побудувати, вони обчислювально дорогі. Псевдовипадкові числа, що застосовуються на практиці, не гарантують себе теоретично; Все, що ми знаємо, це те, що вони, здається, працюють емпірично. (Дійсно, більшість ПРНГ, які фактично використовуються, можуть бути зламані, тому вони фактично не безпечні для використання, лише тоді, коли ви спеціально не намагаєтесь їх зламати.)
Yuval Filmus,

2
cstheory.se - це теоретична інформатика *, а не практика програмування. Подобається це чи ні, обидві області досить окремі.
Yuval Filmus

2
@YuvalFilmus: Генератор змінних ступенів, винайдений К. Гунтером ще в 1987 році, ще не був зламаний (ще немає публічного перерви, і я сумніваюся, що АНБ його також зламало). Двадцять вісім років - це довгий час, щоб залишатися непорушеним, я вражений, що такий простий генератор (три LFSR та один затвор XOR, наскільки простий це?) Ще не був зламаний і не використовується частіше.
Вільям Хірд

2
@WilliamHird: Залежно від визначення поняття "зламане", воно, здається, було фактично порушено (більш-менш у схожій мірі, як пов'язана, більш ефективна та широко використовувана сім'я A5 / x). Дивіться crypto.stackexchange.com/a/342 .
Еміль Йерабек підтримує Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.