Альтернативное понятие сложности, основанное на разрыве между грубой силой и лучшим алгоритмом?


17

Как правило, эффективные алгоритмы имеют полиномиальное время выполнения и экспоненциально большое пространство решений. Это означает, что проблема должна быть простой в двух смыслах: во-первых, проблема может быть решена за полиномиальное число шагов, и, во-вторых, пространство решений должно быть очень структурированным, поскольку время выполнения является только полилогарифмическим по числу возможных решений.

Однако иногда эти два понятия расходятся, и проблема проста только в первом смысле. Например, общая методика в алгоритмах аппроксимации и параметризованной сложности (примерно) состоит в том, чтобы доказать, что пространство решений может быть на самом деле ограничено гораздо меньшим размером, чем простое определение, а затем использовать грубую силу, чтобы найти лучший ответ в этом ограниченном пространстве. , Если мы можем априори ограничить себя, скажем, n ^ 3 возможными ответами, но нам все равно нужно проверить каждый из них, то в некотором смысле такие проблемы все еще «трудны», поскольку нет лучшего алгоритма, чем грубая сила.

И наоборот, если у нас есть проблема с двояко-экспоненциальным числом возможных ответов, но мы можем решить ее только за экспоненциальное время, то я хотел бы сказать, что такая проблема «проста» («структурированная» может быть лучше слово), так как время выполнения - только журнал размера пространства решения.

Кто-нибудь знает о каких-либо работах, в которых рассматривается что-то вроде твердости, основанной на разрыве между эффективным алгоритмом и грубой силой или твердостью относительно размера пространства решения?

Ответы:


12

Одна проблема с формализацией вопроса состоит в том, что фраза «пространство решения для проблемы А» не является четко определенной. Для определения пространства решений требуется алгоритм верификатора , который, учитывая экземпляр и возможное решение, проверяет, является ли решение правильным. Затем пространство решений экземпляра относительно верификатора представляет собой набор возможных решений, которые делают вывод верификатора «правильным».

Например, возьмем задачу SAT0: с учетом булевой формулы, удовлетворяется ли она присваиванием всех нулей? Эта проблема тривиально за полиномиальное время, но пространство ее решения может сильно различаться в зависимости от того, какой верификатор вы используете. Если ваш верификатор игнорирует возможное решение и просто проверяет, работают ли все нули на экземпляре, то «пространство решения» для любого экземпляра SAT0 на этом верификаторе тривиально: это все возможные решения. Если ваш верификатор проверяет, является ли решение-кандидат удовлетворительным назначением, то пространство решений экземпляра SAT0 может быть довольно сложным, возможно, таким же сложным, как пространство решений любого экземпляра SAT.

Тем не менее, проблема «избегания поиска методом грубой силы» может быть формализована следующим образом (как видно из статьи «Улучшение исчерпывающего поиска подразумевает суперполиномиальные нижние оценки»). Вам предоставляется алгоритм верификатора, который выполняется за время , в случаях размера n и возможных решениях k битов. Вопрос в том, * в произвольных случаях размера n , можем ли мы определить, существует ли правильное решение (с этим верификатором) с не более чем k битами, за намного меньшее, чем O ( 2 k t ( n , k ) ) время?T(N,К)NКNКО(2КT(N,К))

О(2КT(N,К))2N

В статье показаны некоторые интересные последствия улучшения поиска методом перебора некоторых проблем. Даже улучшение поиска методом "грубой силы" "пространств решений полиномиального размера" будет иметь интересные последствия.


1
,,

Я более чем неохотно ссылаюсь на свои статьи в ответе. Но когда это точно соответствует вопросу, трудно сопротивляться ...
Райан Уильямс

5

Как бы вы справились с типичными проблемами динамического программирования? Здесь часто случается так, что пространство оптимальных решений ограничено полиномиально, а пространство решений - нет. Таким образом, это кажется «легким» в вашем смысле, потому что время выполнения является логарифмическим в пространстве решений, но это «сложно» в вашем смысле, потому что оно работает «грубой силой» над всеми потенциально оптимальными решениями.


Есть несколько тонкостей в определениях, которые необходимо будет разработать, например, какие именно алгоритмы квалифицируются как грубая сила. Вероятно, я бы попытался ограничить пространство решения следующим образом: если для данного размера задачи вы можете удалить ответ из рассмотрения, не просматривая данные, тогда он не будет находиться в пространстве решения (по общему признанию, это позволяет использовать несколько различных пространств решения). Тем не менее, я был бы рад ответу, который по духу похож на мой вопрос, даже если он отличается во многих деталях.
Ян

3

Перспектива, кажется, предполагает некоторые вещи, такие как конечность пространств решений.

Например, подумайте о проблеме генерации тесселяции Вороного из набора входных точек. Здесь существует пространство решений бесконечного размера, так как каждая точка на краях диаграммы представляет собой набор действительных чисел. Тем не менее решение может быть достигнуто в O (n log (n)) в количестве входных точек (для плоскости).


Правда, некоторые проблемы могут не вписаться в эти рамки. Хотя для некоторых проблем с выходами действительных чисел можно сделать пространство конечным, описав выход алгебраически в терминах входов (например, в виде линейных комбинаций входных точек). Я не знаю много о геометрических алгоритмах, где обычно встречаются реальные числа, поэтому я не уверен, насколько часто или возможно ли это.
Ян

1
Вещественные числа - не единственный способ получить бесконечные пространства решений. Рассмотрим игру между Алисой и Бобом. Алиса выбирает целое число n. Боб догадывается, и Алиса сообщает ему, выше ли он, равен ли ей или равен ее секрету n. У Боба есть конечная стратегия времени для нахождения n, потому что она всегда конечна. Он начинает 0, а затем выбирает большую константу c. Алиса сообщает ему, в каком направлении находится ее n, и Боб будет угадывать поворот, пока не найдет нижнюю и верхнюю границы, где он выполняет двоичный поиск n. С другой стороны, я полагаю, вы могли бы утверждать, что существует конечное пространство решений в количестве битов n ...
Росс Снайдер

3

С этим связаны проблемы, допускающие алгоритмы с полиномиальной задержкой . Первое решение и каждое последующее решение может быть сгенерировано за полиномиальное время. Джонсон, Яннакакис и Папдимитриу обсуждают эту структуру в контексте других возможных пробелов (таких как общее полиномиальное время): « О создании всех максимальных независимых наборов» , «Обработка информации», 27 , 119–123, 1988.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.