Недавно, когда я разговаривал с физиком, я утверждал, что в моем опыте, когда проблема, которая наивно кажется такой, что она требует экспоненциального времени, нетривиально оказывается в P или BPP, обычно можно определить «общую причину», почему происходит сокращение --- и почти всегда эта причина принадлежит списку из дюжины или меньше «обычных подозреваемых» (например: динамическое программирование, линейная алгебра ...). Однако это заставило меня задуматься: можем ли мы записать достойный список таких причин? Вот первая, неполная попытка одного:
(0) Математическая характеристика. Задача имеет неочевидную «чисто математическую» характеристику, которая, как только она станет известна, сразу делает возможным полный поиск по списку поли (n) возможностей. Пример: планарность графа, для которой алгоритм O (n 6 ) следует из теоремы Куратовского.
(Как указывает «планарная» ниже, это был плохой пример: даже если вы знаете комбинаторную характеристику планарности, дать алгоритм для ее полиномиального времени все еще довольно нетривиально. Итак, позвольте мне привести лучший пример здесь: как насчет скажем, «учитывая входные данные n, записанные в двоичном виде, вычислите, сколько цветов необходимо для окраски произвольной карты, встроенной в поверхность с n отверстиями». Априори не очевидно, что это вообще вычислимо (или даже конечно!). Но есть известная формула, дающая ответ, и как только вы узнаете формулу, ее вычислить за полиномиальное время тривиально. Между тем, «сводится к исключенным несовершеннолетним / теория Робертсона-Сеймура», вероятно, следует добавить в качестве отдельной всеобъемлющей причины, по которой что-то может быть в п.)
Во всяком случае, это не та ситуация, которая меня больше всего интересует.
(1) Динамическое программирование. Проблема может быть разбита таким образом, чтобы обеспечить рекурсивное решение без экспоненциального увеличения - часто потому, что выполняемые ограничения расположены в линейном или другом простом порядке. «Чисто комбинаторный»; Алгебраическая структура не требуется. Возможно, достижимость графа (и, следовательно, 2SAT) являются частными случаями.
(2) Матроиды. Задача имеет матроидную структуру, позволяющую работать жадному алгоритму. Примеры: соответствие, минимальное остовное дерево.
(3) Линейная алгебра. Задача может быть сведена к решению линейной системы, вычислению детерминанта, вычислению собственных значений и т. Д. Возможно, большинство проблем, связанных с «чудесными отменами», в том числе теми, которые решаются с помощью формализма спичечных ворот Валианта, также попадают под линейно-алгебраический зонт.
(4) Выпуклость. Проблема может быть выражена как некая выпуклая оптимизация. Полуконечное программирование, линейное программирование и игры с нулевой суммой являются частыми (все более и более) частными случаями.
(5) Проверка полиномиальной идентичности. Задача может быть сведена к проверке полиномиального тождества, так что основная теорема об алгебре приводит к эффективному рандомизированному алгоритму, а в некоторых случаях, например, к простоте, даже доказуемо-детерминированному алгоритму.
(6) Марковская цепь Монте-Карло. Проблема может быть сведена к выборке из результата быстро смешанного хождения. (Пример: примерный подсчет идеальных совпадений.)
(7) Евклидов алгоритм. GCD, продолжение дроби ...
Разное / Непонятно, как именно классифицировать: стабильный брак, полиномиальный факторинг, проблема принадлежности для групп перестановок, различные другие проблемы в теории чисел и теории групп, задачи о низкоразмерных решетках ...
Мой вопрос: какие самые важные вещи я не учел?
Чтобы уточнить:
Я понимаю, что ни один список не может быть полным: независимо от конечного числа причин, которые вы приводите, кто- то сможет найти экзотическую проблему, которая есть в P, но не по любой из этих причин. Отчасти по этой причине меня больше интересуют идеи, которые ставят множество разных, казалось бы, не связанных проблем в P или BPP, чем идеи, которые работают только для одной проблемы.
Я также понимаю, что это субъективно, как разделить вещи. Например, должны ли матроиды быть особым случаем динамического программирования? Является ли разрешимость поиска в глубину достаточно важной, чтобы быть его собственной причиной, отдельной от динамического программирования? Кроме того, часто одна и та же проблема может быть в P по нескольким причинам, в зависимости от того, как вы на это смотрите: например, поиск главного собственного значения находится в P из-за линейной алгебры, а также потому, что это проблема выпуклой оптимизации.
Короче говоря, я не надеюсь на «теорему классификации» - просто на список, который с пользой отражает то, что мы в настоящее время знаем об эффективных алгоритмах. И именно поэтому меня больше всего интересуют методы размещения вещей в P или BPP, которые имеют широкую применимость, но которые не вписываются в приведенный выше список, или другие идеи по улучшению моей грубой первой попытки, чтобы преуспеть в своем хвастовстве перед физик.
источник
Ответы:
Некоторые классы графов допускают алгоритмы полиномиального времени для задач, которые NP-трудны для класса всех графов. Например, для совершенных графиков можно найти самый большой независимый набор за полиномиальное время (спасибо vzn в комментарии за пробежку в моей памяти). Через конструкцию продукта это также позволяет унифицированному объяснению нескольких явно различающихся CSP, таких как те с древовидной структурой, которые обычно решаются с помощью иерархической декомпозиции, и ограничения All-Different, которое обычно решается с помощью идеального сопоставления.
Можно утверждать, что совершенные графы «легки», потому что они допускают хорошие полуопределенные программные формулировки рассматриваемых задач (и, следовательно, попадают в линейную алгебру и / или выпуклость). Тем не менее, я не уверен, что полностью отражает происходящее.
András Z. Salamon и Peter G. Jeavons, Совершенные ограничения поддаются лечению, CP 2008, LNCS 5202, 524–528. doi: 10.1007 / 978-3-540-85958-1_35
Мейнольф Селлманн, Многогранник древовидно-ориентированных задач удовлетворения двоичных ограничений , CPAIOR 2008, LNCS 5015, 367–371. doi: 10.1007 / 978-3-540-68155-7_39
Как отметил Гил Калай, свойства графов, образующих минор-замкнутые классы, могут быть определены конечным набором запрещенных миноров (это теорема Робертсона-Сеймура ). Другой результат Робертсона и Сеймура состоит в том, что тестирование на присутствие несовершеннолетнего может быть выполнено в кубическое время. Вместе они приводят к алгоритму полиномиального времени для определения свойств, которые являются второстепенными.
Одна проблема со второстепенно замкнутыми свойствами графа состоит в том, что они «малы»; исключение даже одного несовершеннолетнего исключает множество графиков. Возможно, это одна из причин, по которой работает структурная декомпозиция Робертсона-Сеймура: осталось немного графов, чтобы они имели хорошую структуру.
Одна попытка выйти за пределы минор-замкнутых классов - через классы, определенные запрещенными подграфами или запрещенными индуцированными подграфами.
Свойства графа, определяемые конечным набором запрещенных подграфов или индуцированных подграфов, разрешимы за полиномиальное время путем изучения всех возможных подграфов.
источник
Редукция на основе решетки (алгоритм LLL). Это основа для эффективной целочисленной полиномиальной факторизации и некоторых эффективных криптоаналитических алгоритмов, таких как разрыв линейно-конгруэнтных генераторов и RSA низкой степени. В некотором смысле вы можете рассматривать евклидов алгоритм как частный случай.
источник
Целочисленное программирование Ленстры в ограниченной размерности, алгоритм Ленстры-Ленстры-Ловаша и связанные с ними последующие алгоритмы - алгоритм Барвинок для числа целочисленных решений задачи ИС в ограниченной размерности и P-алгоритм Каннана для задачи Фробениуса / Сильвестра можно добавить в виде особая категория. Примечательной открытой проблемой здесь является нахождение P-алгоритма для задач более высокого порядка в иерархии Пресбургера.
Другим классом P-алгоритма, заслуживающим упоминания, являются те P-алгоритмы, которые даны объекту, доказанному существованием рандомизированных доказательств. Примеры: алгоритмы для применения Ловаш-локальной леммы; алгоритмические версии результата дискретности Спенсера; (немного другого вида) алгоритмические версии леммы регулярности Семереди.
источник
Существует большое и все еще растущее количество теорий о классах задач удовлетворения фиксированных шаблонов, которые имеют алгоритмы полиномиального времени. Большая часть этой работы требует мастерства в книгах Хобби и МакКензи , но, к счастью, для тех из нас, кто больше интересуется информатикой, чем универсальной алгеброй, некоторые части этой теории теперь достаточно упрощены, чтобы быть доступными для аудитории TCS.
Результаты на сегодняшний день, кажется, указывают на то, что должно быть своего рода общее мощное преобразование базового пространства состояний достижимости, которое может превратить такие проблемы в проблемы с постоянным кортежем в каждом отношении, как в примере выше. (Это моя личная интерпретация текущих исследований и вполне может быть совершенно неправильно , в зависимости от того, как постоянный поиска алгоритма для алгебр с циклическими точками кастрюли, поэтому я оставляю за собой право отречься это.) Известно , что , когда там ISN Если это не трансформация, то проблема является NP-полной. Граница гипотезы дихотомии в настоящее время включает в себя сокращение этого разрыва; см. список открытых проблем из семинара 2011 года по алгебре и CSP .
В любом случае, это, вероятно, заслуживает записи в списке Скотта.
Второй класс в PTIME позволяет применять методы локальной согласованности для сокращения возможных решений до тех пор, пока решение не будет найдено или пока не будет невозможно. По сути, это сложная версия того, как большинство людей решают проблемы с судоку. Я не думаю, что эта причина в настоящее время фигурирует в списке Скотта либо.
Наконец, Мануэль Бодирски также предлагает много интересных работ для случая бесконечных областей. Некоторые алгоритмы выглядят довольно странно и в конечном итоге могут привести к большему количеству записей в списке Скотта.
источник
Я вижу, что на это ссылается Чандра, но я думаю, что структура релаксации ЛП (например, из-за полной унимодулярности) является распространяющейся формой «структуры», которая приводит к полиномиальности. Это объясняет большой класс поли времени алгоритмов. Если один включает в себя проблемы с обещаниями, он также учитывает большой класс алгоритмов приближения. Наиболее частые классы причин, которые встречаются, которые не вытекают из LP и / или SDP, - это гауссово исключение и динамическое программирование. Конечно, есть и другие, такие как голографические алгоритмы, которые не имеют простых объяснений.
источник