Для яких алгоритмів існує великий розрив між теоретичним аналізом та реальністю?


52

Два способи аналізу ефективності алгоритму є

  1. поставити асимптотичну верхню межу на час її виконання, і
  2. запустити його та зібрати експериментальні дані.

Цікаво, чи існують відомі випадки, коли між (1) і (2) існує значна розрив. Під цим я маю на увазі, що або (a) експериментальні дані говорять про більш жорстку асимптотичну, або (b) існують алгоритми X і Y, так що теоретичний аналіз дозволяє припустити, що X набагато краще, ніж Y, а експериментальні дані говорять про те, що Y набагато краще, ніж Y X.

Оскільки експерименти зазвичай виявляють поведінку середнього випадку, я очікую, що найцікавіші відповіді стосуються верхніх меж середнього випадку. Однак я не хочу виключати можливі цікаві відповіді, які говорять про різні межі, наприклад, відповідь Ноама про Simplex.

Включіть структури даних. Будь ласка, введіть один algo / ds за відповідь.


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

У цьому випадку, я думаю, є два питання, які слід задавати окремо: одне про прогалини між найгіршим складною ситуацією та середнім випадком / згладженою складністю, а також про прогалини між теоретичною середньою справою / згладженою складністю та практичними експериментальними результатами. Редагувати: ви внесли зміни до цього питання, поки я писав коментар :)
Джеймс Кінг,

Відповіді:


37

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

Більш загально, багато випадків програмування Integer можна вирішити досить добре, використовуючи стандартні IP-рішення, наприклад, комбінаторні аукціони для більшості дистрибуцій, що намагаються вводити значні розміри, можуть бути вирішені - http://www.cis.upenn.edu/~mkearns /teaching/cgt/combinatorial-auctions-survey.pdf


3
Чи знайдено чітке сімейство лінійних програм, для яких симплекс займає експоненціальний час?
Опт

1
Наскільки я розумію, існує багато чітких сімей, які потребують експоненціального часу (наприклад, перше відведення, яке дають Клі та Мінті: «Наскільки хороший алгоритм симплекс?», 1972). Однак вибір правила повороту є актуальним для цих результатів. Я здогадуюсь, що більшість посилань на ці результати можна знайти у статті Спілмана та Тенга ( arxiv.org/abs/cs/0111050 ).
MRA


У цьому документі є нижні обмеження
Ігор Шинкар

26

Основи Грібнера . Найгірший час роботи - подвійно-експоненціальний (у кількості змінних). На практиці, особливо для добре структурованих проблем, алгоритми F4 і F5 ефективні (тобто припиняються досить швидко). Це все ще є активною областю дослідження, щоб з'ясувати, яка належна гіпотеза навіть повинна бути щодо середнього або очікуваного часу роботи. Можна припустити, що він певним чином пов'язаний з об'ємом політопа Ньютона основного ідеалу.


Середній / очікуваний при якому розподілі? Я думав, що навіть визначити очікуваний час роботи важко для алгебраїчних проблем ...
Джошуа Грохов,

1
Я не знаю для випадків, які швидко вирішуються методами F4 і F5, але побудувати систему поліномів з багатьма змінними і низьким ступенем, які кодують екземпляр SAT, досить просто. У такому випадку мені невідомо, що алгоритм перевершує DPLL / DPLL +. Я дуже хотів би дізнатися більше про експериментальні результати з цих речей!
MassimoLauria

@Joshua: на даний момент будь-який розподіл, який дозволяє отримати результати ... @Massimo: проблема кодування X як екземпляр Y майже ніколи не перемагає спеціалізовані алгоритми для X! Але GB та DPLL по суті еквівалентні, тому я був би дуже здивований, побачивши ефективну різницю.
Жак Каретт

1
@Massimo: Так, обчислення ГБ є NP-Hard. Залежно від рецептури. Насправді, більшість питань (заповнення, ідеальне членство, алгебраїчно закрите поле проти булевих) - це PSPACE повна або гірша (EXPSPACE завершена). Що означає, що очікується, що обчислення ГБ будуть набагато складнішими, ніж проблеми, пов'язані з NP (і тому навіть середній випадок, будь-який алгоритм для них, як F5, швидше за все, не перевершить DPLL).
Мітч

22

О(2((нлогн)))

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


1
О(2нжурналн)

2
Ой! Можливо, ви думаєте про Бабай-Кучеру, який дає лінійний алгоритм середнього періоду для GI: doi.ieeecomputersociety.org/10.1109/SFCS.1979.8
Джошуа Грохов

Так, саме Бабай-Кучера! Дякую за довідку.
Ананд Кулкарні

20

Від Девіда Джонсона розбіжність у співвідношенні теоретичного та експериментального наближення: Проблема мандрівного продавця: Дослідження місцевої оптимізації, DS Johnson та LA McGeoch . У цій роботі вони дають експериментальні докази асимптотики (оскільки експерименти тривають до розміру N = 10 000 000!), Які не піддаються теоретичній асимптотиці: алгоритм Джона Бентлі "Жадібний" або "Мультифракційний" алгоритм (найгірший коефіцієнт наближення принаймні logN / loglogN) б'є Найближчі вставки та подвійні MST, обидва з яких мають найгірший коефіцієнт наближення 2.


20

Інший приклад, який до недавнього часу не був добре зрозумілий, - це час роботи алгоритму k-засобів Ллойда , який (з практичної точки зору) є алгоритмом вибору кластеру вже більше 50 років. Лише нещодавно, у 2009 році, було доведено ( Ваттані ), що в гіршому випадку алгоритм Ллойда вимагає ряду ітерацій, які є експоненціальними за кількістю вхідних точок. З іншого боку, в той же час згладжений аналіз ( Артура, Мантія та Рьогліна ) довів, що згладжене число ітерацій є просто поліномом, що пояснювало емпіричну ефективність.


10

Приклади таких прогалин є перехідними, декейними та роздвоєними наслідками гіпотези динамічної оптимальності для хижих дерев. Експерименти підтверджують заявку на лінійний час, але невідомих доказів.


3
Сет Петті довів, що n deque-операцій займає не більше, ніж O (n alpha * (n)) часу, де "alpha *" є ітераційною оберненою функцією Ackermann, що є досить невеликим проміжком.
jbapple

9

Існує невелике питання з питанням. Насправді існує більше ніж два способи аналізу алгоритму, і одним із теоретичних способів, яким було занедбано, є очікуваний час виконання, а не найгірший час виконання. Це дійсно така середня поведінка у випадку, що стосується проведення експериментів. Ось дуже простий приклад: Уявіть, що у вас є алгоритм введення розміру n, який займає час n для кожного можливого введення розміру n, за винятком одного конкретного вводу кожної довжини, який займає час 2 ^ n. Почуйте найгірший час запуску - експоненціальний, але середній випадок - [(2 ^ n -1) n + (2 ^ n) 1] / (2 ^ n) = n - (n-1) / 2 ^ n межі до n. Очевидно, що два типи аналізу дають дуже різні відповіді, але цього можна очікувати, коли ми обчислюємо різні величини.

Проводячи експеримент ще чимало разів, навіть якщо ми беремо найдовший час виконання для вибірки, ми все ще лише відбираємо невелику частину простору можливих входів, і тому, якщо важкі екземпляри рідкісні, ми, швидше за все, пропустимо їх .

Побудувати таку проблему порівняно просто: Якщо перші n / 2 біти всі нульові, то вирішіть екземпляр 3SAT, закодований останніми n / 2 бітами. В іншому випадку відхиліть. Коли n стає великим, проблема має приблизно однаковий час виконання у гіршому випадку, як найефективніший алгоритм для 3SAT, де, як середній час виконання, гарантовано, буде дуже низьким.


Я вже відповів Джеймсу Кінгу вище, що очікую, що найцікавіші відповіді стосуватимуться очікуваного часу виконання. Я відредагую питання, щоб зробити це більш помітним.
Раду ГРИГо

9

Визначення типу Дамаса-Мілнера виявляється повним за експоненціальний час, і є легко побудовані випадки з експоненціальним вибухом у розмірі результату. Тим не менш, на більшості реальних внесків він поводиться ефективно лінійно.


Чи є посилання, які ви б рекомендували для цього результату? Я хотів би прочитати більше про це.
Раду ГРИГо

1
Я сам цього не читав, але найчастіше цитується праця - Гаррі Г. Мейрсон: "Рішучість типізації ML завершена за детермінованим експоненціальним часом", 17-й симпозіум з принципів мов програмування (1990).
sclv

9

PTAS для Штайнера в планарних графах має смішну залежність від епсилона. Однак є реалізація, яка показує напрочуд гарну ефективність на практиці.


8

Створення пар, з [1] - вони реалізують купи, де вставляння та злиття мають амортизовану складність O (log n), але передбачається, що це O (1). На практиці вони надзвичайно ефективні, особливо для користувачів злиття.

Я щойно їх виявив сьогодні, читаючи розд. 5.5 книги К. Окасакі "Чисто функціональні структури даних", тому я подумав, що я повинен поділитися інформацією про них.

[1] Fredman, ML, Sedgewick, R., Sleator, DD та Tarjan, RE 1986. Купа пар: нова форма самоналагоджувальної купи. Algorithmica 1, 1 (січень 1986), 111-129. DOI = http://dx.doi.org/10.1007/BF01840439


З часу Окасакі було досягнуто певних зрушень, і зараз існують (імперативні) спарювання купи з O (0) meld, O (1) вставленням і findMin, O (lg lg n) зменшенняKey, і O (lg n) deleteMin: arxiv. org / abs / 0903.4130 . Ця купа використовує інший механізм сполучення, ніж оригінальні групи пар Fredman et al.
jbapple

7

Зв'язане із зауваженням Ільяраза про гілку та зв’язане, Патакі та ін. покажіть, що скорочення базисних і пов'язаних плюс решітки може вирішити майже всі випадкові ІР в політи.


6

Евристика Ліна-Кернігана для TSP ("Ефективна евристика для проблеми мандрівного продавця", Operations Research 21: 489–516, 1973) є дуже успішною на практиці, але все ще не вистачає середнього випадку або згладженого аналізу для пояснення її ефективності. . На відміну від цього, існує згладжений аналіз евристики 2-opt для TSP Маттіаса Енглерта, Хайко Рьогліна та Бертольда Векінга (Algorithmica).


5

На практиці існує багато дуже швидких та ефективних алгоритмів, пов’язаних з галузями та зв'язаними для різних проблемних завдань, які ми не можемо жорстко проаналізувати: TSP, дерево Steiner, упаковка у сміттєві контейнери тощо.

Ω(нм)


Ви маєте на увазі O (mn), чи я плутаюся?
Раду ГРИГо

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