Как правило, эффективные алгоритмы имеют полиномиальное время выполнения и экспоненциально большое пространство решений. Это означает, что проблема должна быть простой в двух смыслах: во-первых, проблема может быть решена за полиномиальное число шагов, и, во-вторых, пространство решений должно быть очень структурированным, поскольку время выполнения является только полилогарифмическим по числу возможных решений.
Однако иногда эти два понятия расходятся, и проблема проста только в первом смысле. Например, общая методика в алгоритмах аппроксимации и параметризованной сложности (примерно) состоит в том, чтобы доказать, что пространство решений может быть на самом деле ограничено гораздо меньшим размером, чем простое определение, а затем использовать грубую силу, чтобы найти лучший ответ в этом ограниченном пространстве. , Если мы можем априори ограничить себя, скажем, n ^ 3 возможными ответами, но нам все равно нужно проверить каждый из них, то в некотором смысле такие проблемы все еще «трудны», поскольку нет лучшего алгоритма, чем грубая сила.
И наоборот, если у нас есть проблема с двояко-экспоненциальным числом возможных ответов, но мы можем решить ее только за экспоненциальное время, то я хотел бы сказать, что такая проблема «проста» («структурированная» может быть лучше слово), так как время выполнения - только журнал размера пространства решения.
Кто-нибудь знает о каких-либо работах, в которых рассматривается что-то вроде твердости, основанной на разрыве между эффективным алгоритмом и грубой силой или твердостью относительно размера пространства решения?
Как бы вы справились с типичными проблемами динамического программирования? Здесь часто случается так, что пространство оптимальных решений ограничено полиномиально, а пространство решений - нет. Таким образом, это кажется «легким» в вашем смысле, потому что время выполнения является логарифмическим в пространстве решений, но это «сложно» в вашем смысле, потому что оно работает «грубой силой» над всеми потенциально оптимальными решениями.
источник
Перспектива, кажется, предполагает некоторые вещи, такие как конечность пространств решений.
Например, подумайте о проблеме генерации тесселяции Вороного из набора входных точек. Здесь существует пространство решений бесконечного размера, так как каждая точка на краях диаграммы представляет собой набор действительных чисел. Тем не менее решение может быть достигнуто в O (n log (n)) в количестве входных точек (для плоскости).
источник
С этим связаны проблемы, допускающие алгоритмы с полиномиальной задержкой . Первое решение и каждое последующее решение может быть сгенерировано за полиномиальное время. Джонсон, Яннакакис и Папдимитриу обсуждают эту структуру в контексте других возможных пробелов (таких как общее полиномиальное время): « О создании всех максимальных независимых наборов» , «Обработка информации», 27 , 119–123, 1988.
источник