Знаете ли вы о каких-либо проблемах (предпочтительно, по крайней мере, несколько хорошо известных), где для практического размера задачи экспоненциальный алгоритм работает намного быстрее, чем самый известный аналог полиномиального времени.
Например, предположим, что задача имеет практический размер *, равный и существует два известных алгоритма: один равен 2 n, а другой - n c для некоторой константы c . Ясно, что для любого c > 15 показательный алгоритм является предпочтительным.
* Я думаю, что практический размер будет означать что-то, что обычно встречается в реальном мире. Как и количество поездов в сети.
Ответы:
Как насчет симплексного алгоритма для линейного программирования? Во многих случаях это используется на практике.
Отредактированный , чтобы добавить: Я думаю , что это более «хуже случая экспоненциального алгоритма» , который работает эффективно на практике инстанций / распределения , а не бежит быстрее на практике размера состязательного экземпляров.
источник
источник
Есть несколько примеров с (непробиваемым / точным) обнаружением / тестированием первичности . Алгоритм AKS был первый алгоритм проверки простоты показано, что в Р. Он не конкурирует благоприятно по сравнению с некоторыми экспоненциальных алгоритмов времени для «малых» входов. Детали несколько хитры, потому что для демонстрации этого обычно требуется реализация алгоритмов, что является сложным делом и может зависеть от аспектов, связанных с реализацией.
Больше информации / деталей / ссылок на этот вопрос cs.se:
источник