Доказ Адлемана про те, що міститься в P / p o l y, показує, що якщо існує рандомізований алгоритм для задачі, яка працює за часом t ( n ) на входах розміром n , то також існує детермінований алгоритм для задачі що працює в часі Θ ( t ( n ) ⋅ n ) на входах розміру n [алгоритм запускає рандомізований алгоритм на Θ ( n )незалежні рядки випадковості. Повторний алгоритм повинен бути випадковим для всіх можливих входів]. Детермінований алгоритм неоднаковий - він може поводитися по-різному для різних розмірів вводу. Отже, аргумент Адлемана показує, що - якщо ніхто не піклується про рівномірність - рандомізація може прискорити алгоритми лише коефіцієнт, лінійний за розміром введення.
Які конкретні приклади, коли рандомізація прискорює обчислення (наскільки нам відомо)?
Одним із прикладів є тестування поліноміальної ідентичності. Тут вхід - це арифметична схема розміру n, що обчислює поліном m-змінної над полем, і завдання полягає у з'ясуванні того, чи є многочлен однаково нульовим. Рандомізований алгоритм може оцінити поліном у випадковій точці, тоді як найкращий детермінований алгоритм, який ми знаємо (і, можливо, найкращий, що існує), оцінює поліном у багатьох точках.
Інший приклад - мінімальне прольотоване дерево, де найкращий рандомізований алгоритм Каргера-Кляйна-Тарджана - це лінійний час (а ймовірність помилки експоненціально мала!), Тоді як найкращий детермінований алгоритм Chazelle працює в часі ( α - зворотна функція Акермана, тому швидкість рандомізації дійсно мала). Цікаво, що Петті та Рамачандран довели, що якщо існує нерівномірний детермінований лінійний алгоритм лінійного часу для мінімального діапазону дерева, то існує також рівномірний детермінований алгоритм лінійного часу.
Які ще є приклади? Які приклади ви знаєте, де швидкість рандомізації велика, але це можливо лише тому, що ми ще не знайшли достатньо ефективних детермінованих алгоритмів?