Коли ми знайшли кращі межі для відомих алгоритмів?


16

Чи є цікаві екземпляри алгоритмів, які були опубліковані з перевіреними межами, і де згодом були опубліковані суворо кращі межі? Не кращі алгоритми з кращими рамками - очевидно, що це сталося! Але кращий аналіз веде до кращого зв’язку з існуючим алгоритмом

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


Ідеальний приклад - Матричне множення. Останні вдосконалення - це насправді кращий аналіз (Le Gall, Williams тощо).
Lwins

Лвінс - я підозрював, що це може бути так, але знехтування деяких робіт змусило мене думати, що вони дещо відрізняються як алгоритмом, так і аналізом. Можливо, мені доведеться заглянути глибше.
Роб Сіммонс

Це напіввідповідь, оскільки це вже з другої сторони: під час роботи над визначенням автоматів Buechi ( dl.acm.org/citation.cfm?id=1398627 ) Сафра спочатку проаналізувала його конструкцію, щоб мати квадратичний показник. Потім, після запису конструкції і через деяке непорозуміння, він закінчився з кращим (оптимальним) показником. nlogn
Шаул

Я б запропонував розглянути проблеми планування руху - я відчуваю, що там було декілька випадків. Крім того, IIRC точна складність алгоритму симплекс (-ів) була предметом вивчення протягом досить довгого часу.
Стівен Стадницький

1
Дещо інше, але доказ існування вводу, що задовольняє пунктів в екземплярі 3SAT, було покращено до явного алгоритму шляхом більш ретельного аналізу. 7m/8
Stella

Відповіді:


23

Алгоритм Union-Find, який показав Tarjan 1, має складність , де - зворотна функція Акермана, раніше був проаналізований декількома людьми. Згідно з Вікіпедією, це були винайдені Галлером та Фішером 2 , але це, здається, невірно, оскільки у них не було всіх компонентів алгоритму, необхідних для того, щоб він швидко працював.nα(n)α(n)

Виходячи з коротких сканувань робіт, виявляється, що алгоритм був винайдений Хопкрофтом та Уллманом 3 , які дали (неправильний) обмежений час. Потім Фішер 4 виявив помилку в доказуванні і дав обмеження часу . Далі, Хопкрофт і Уллман 5 дали часовий відрізок , після якого Тарджан 1 знайшов (оптимальним) обмеженим часом.O(n)O ( n log log n ) O ( n log n ) O ( n α ( n ) )O(nloglogn)O(nlogn)O(nα(n))

1 Р. Р. Тар'ян, "Ефективність хорошого, але не лінійного заданого алгоритму об'єднання" (1975).
2 Б. С. Галлер і М. Дж. Фішер, «Вдосконалений алгоритм еквівалентності» (1964).
3 Дж. Е. Хопкрофт та Дж. Д. Уллман, "Алгоритм злиття лінійного списку" (1971).
4 М. Дж. Фішер, "Ефективність алгоритмів еквівалентності" (1972).
5 Дж. Е. Хопкрофт і Дж. Д. Уллман, "Алгоритми встановлення об'єднань" (1973).


2
Історія цієї структури даних мені трохи незрозуміла, і було б непогано дослідити її. Я прокинув статтю Галлера і Фішера, і, схоже, описує структуру даних Disjoint Sets Forest (DSF), але без вирішальної евристики стиснення (PC) та зваженого об'єднання (WU). Хопкрофт та Уллман приписують DSF разом із ПК та без WU Tritter, посилаючись на Кнут. Я не впевнений, чи було запропоновано DSF як з ПК, так і з WU в опублікованому документі до документа Hopcroft та Ullman, хоча я не був би здивований, якби це було.
Ніколов

1
@Sasho: Це все слід перевірити, оскільки це базується на коротких сканування робіт. Тарджан приписує DSF як з ПК, так і з WU Майклу Фішеру в "Алгоритмах ефективності еквівалентності" (1972), який дає час для нього. Скануючи папери Фішера, він, схоже, приписує алгоритм Хопкрофту та Уллману у "Алгоритмі злиття лінійного списку", але вони дають час роботи для нього, докази якого Фішер показує, є невірним. Тарджан каже, що Хопкрофт і Уллман в "Алгоритмах встановлення об'єднань" викуповують себе, надаючи . Θ ( n ) O ( n журнал n )O(nloglogn)Θ(n)O(nlogn)
Пітер Шор

12

Відомо, що алгоритм Патурі, Пудлака, Сакса і Зена (PPSZ) для має час роботи для , з кращою межею для формул, гарантовано мати унікальне задовольняюче призначення. Пізніше Гертлі дав вдосконалений аналіз, показавши, що ця покращена тривалість виконання також відповідає загальному випадку, показавши, що PPSZ є найкращим алгоритмом для відомого на той час . k-SATO(1.364n)3-SATO(1.308n)3 - S A T3-SAT


Це справді задовольняюча відповідь! Я думаю, що це приклади та знайдіть Союз - найкращі приклади того, на що я сподівався.
Роб Сіммонс,

8

Атака затору згадує , що аналіз загального решета числового поля (стосовно до обчислення дискретних логарифмів над ) кроком спуску був tightend см в лівому верхньому кутку 3 - е сторінки. Оскільки це єдиний крок, який неможливо попередньо обчислити (якщо виправлено), його ефективність була важливою для їх атаки.FpFp

Початковий аналіз, як видається, знаходиться в Гордоні 92 , де спуск проводився аналогічно попередньому обчисленню, при . Більш чіткий аналіз здається з тези Барбулеску , де спуск оплачується в , де: Варто зазначити, що це технічно очікувана вартість, а не верхня межа. Це все ще здається мені в дусі питання, але я його усуну, якщо це не те, що ви шукаєте.Lp(1/3,32/3)л р ( 1 / 3 , 1,232 ) л р ( v , C ) = ехр ( ( з + O ( 1 ) ) ( лог р ) v ( журнал журнал р ) 1 - v )Lp(1/3,1.232)

Lp(v,c)=exp((c+o(1))(logp)v(loglogp)1v)


1
Дуже в дусі, дякую!
Роб Сіммонс,

6

Недавня робота Анупама Гупти, Ейвонг Лі та Джейсона Лі [1] показує, що алгоритм Каргера-Штейна для мінімальної задачі cutk насправді має асимптотичну складність часу , вдосконалюючись на оригінальному аналізі, який дав (і на попередній роботі тих же авторів, яка отримала інший алгоритм, що працює в часі ).O(nk+o(1))O(n2k2)O ( n 1,98 k + O ( 1 ) )O(n1.98k+O(1))

Це, ймовірно, буде (найближчим) оптимальним, виходячи з умовної нижньої межі .Ω(nk)

Примітка . Розмова Джейсона Лі (та відповідні слайди) можна знайти на веб-сайті TCS + .


[1] Алгоритм Каргера-Штейна є оптимальним для -cutk , Анупама Гупта, Ейвонг Лі, Джейсона Лі. arXiv: 1911.09165 , 2019.



4

3 дати більш доопрацьований аналіз (підрахунок підпрограм / підструктур), що призводить до кращих повторень та до кращого виконання. Я думаю, що в літературі з параметризованою складністю є ряд таких прикладів, коли додавання ще однієї змінної до аналізу може призвести до поліпшення часу виконання, але я вже кілька років не в цій грі і не можу придумати конкретні з них момент. Існує ряд робіт з областей FPT та PTAS, які з'являються при пошуку "покращеного аналізу" в заголовках статті.

Якщо вказівка ​​варіантів вважається одним і тим же алгоритмом (наприклад, евристичний глибинний ранг об'єднань-пошуку), то алгоритм Едмондса-Карпа є «вдосконаленим аналізом» Форда-Фулкерсона, і я думаю, що існує багато інших проблем, які мають алгоритми які побачили покращення часу виконання від нових правил вибору.

Потім є цілий ряд амортизованого аналізу існуючих алгоритмів (я думаю, що об'єднання-пошук підходить під цей опис, ось ще один https://link.springer.com/article/10.1007/s00453-004-1145-7 )


Здійснення нового вибору є близьким до того, що я шукав, але це не зовсім так - в певному сенсі більш конкретний алгоритм - це "інший алгоритм" - але це все ще дуже цікаві приклади!
Роб Сіммонс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.