Это хорошая статья. Для получения дополнительной информации нажмите здесь.
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В информатике , 2-выполнимость , 2SAT или просто 2SAT является вычислительной задачей присвоения значений переменных, каждый из которых имеет два возможных значение для того, чтобы удовлетворить систему ограничений по парам переменных. Это частный случай общей проблемы логической выполнимости , которая может включать ограничения более чем на две переменные, и проблем удовлетворения ограничений , которые могут допускать более двух вариантов выбора значения каждой переменной. Но в отличие от тех более общих проблем, которые являются NP-полными , 2-выполнимость может быть решена за полиномиальное время .

Примеры проблемы 2-выполнимости обычно выражаются в виде булевых формул специального типа, называемых конъюнктивной нормальной формой (2-CNF) или формулами Крома . В качестве альтернативы они могут быть выражены как специальный тип ориентированного графа , граф импликации , который выражает переменные экземпляра и их отрицания как вершины в графе, а ограничения на пары переменных как направленные ребра. Оба этих типа входных данных могут быть решены за линейное время либо методом, основанным на отслеживании с возвратом, либо с использованием сильно связанных компонентов графа импликации. Разрешение, метод объединения пар ограничений для создания дополнительных допустимых ограничений, также приводит к полиномиальному временному решению. Проблемы 2-выполнимости обеспечивают один из двух основных подклассов формул конъюнктивной нормальной формы, которые могут быть решены за полиномиальное время; другой из двух подклассов - выполнимость по Хорну .

2-выполнимость может быть применена к задачам геометрии и визуализации, в которых каждый набор объектов имеет два потенциальных местоположения, и цель состоит в том, чтобы найти размещение для каждого объекта, которое избегает перекрытия с другими объектами. Другие приложения включают в себя кластеризацию данных для минимизации суммы диаметров кластеров, расписание занятий и занятий спортом, а также восстановление форм на основе информации об их поперечных сечениях.

В теории сложности вычислений 2-выполнимость представляет собой пример NL-полной проблемы, которая может быть решена недетерминированно с использованием логарифмического объема памяти и является одной из самых сложных проблем, решаемых в рамках этой границы ресурса. Множеству всех решений для случая 2-выполнимости может быть задана структура медианного графа , но подсчет этих решений является # P-полным.и поэтому не ожидается получения решения за полиномиальное время. Случайные экземпляры претерпевают резкий фазовый переход от разрешимых экземпляров к неразрешимым по мере того, как отношение ограничений к переменным увеличивается после 1, явление предполагаемое, но недоказанное для более сложных форм проблемы выполнимости. Сложный в вычислительном отношении вариант 2-выполнимости, нахождение присвоения истинности, которое максимизирует количество удовлетворяемых ограничений, имеет алгоритм аппроксимации , оптимальность которого зависит от гипотезы уникальных игр , и еще один сложный вариант, нахождение удовлетворительного назначения, минимизирующего количество истинных переменных. - важный тестовый пример для параметризованной сложности .

Представления о проблемах [ править ]

Граф импликации для примера 2-выполнимости, показанного в этом разделе.

Проблема 2-выполнимости может быть описана с помощью логического выражения со специальной ограниченной формой. Это соединение (логическое значение и операция) предложений , где каждое предложение представляет собой дизъюнкцию (логическое значение или операцию) двух переменных или инвертированных переменных. Переменные или их отрицания, фигурирующие в этой формуле, называются литералами . [1] Например, следующая формула имеет конъюнктивную нормальную форму с семью переменными, одиннадцатью пунктами и 22 литералами:

Проблема 2-выполнимости состоит в том, чтобы найти присвоение истинности этим переменным, которое делает всю формулу истинной. Такое присваивание выбирает, делать ли каждую из переменных истинной или ложной, так что по крайней мере один литерал в каждом предложении становится истинным. Для показанного выше выражения одно из возможных удовлетворяющих присваиваний - это то, которое устанавливает для всех семи переменных значение true. Каждое предложение имеет по крайней мере одну неотрицательную переменную, поэтому это присвоение удовлетворяет каждому предложению. Есть также 15 других способов установить все переменные, чтобы формула стала истинной. Следовательно, экземпляр 2-выполнимости, представленный этим выражением, является выполнимым.

Формулы в этой форме известны как формулы 2-CNF. «2» в этом имени обозначает количество литералов в предложении, а «CNF» обозначает конъюнктивную нормальную форму , тип логического выражения в форме конъюнкции дизъюнкций. [1] Их также называют формулами Крома, в честь работы математика из Калифорнийского университета в Дэвисе Мелвена Р. Крома, чья статья 1967 года была одной из самых ранних работ по проблеме 2-выполнимости. [2]

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

Из-за этой эквивалентности между этими различными типами операций экземпляр 2-выполнимости также может быть записан в импликативной нормальной форме , в которой мы заменяем каждое предложение or в конъюнктивной нормальной форме двумя импликациями, которым оно эквивалентно. [3]

Третий, более графический способ описания экземпляра 2-выполнимости - это граф импликации . Граф импликации - это ориентированный граф, в котором есть одна вершина для каждой переменной или отрицательной переменной, и ребро, соединяющее одну вершину с другой, когда соответствующие переменные связаны импликацией в импликативной нормальной форме экземпляра. Граф импликации должен быть кососимметричным графом , что означает, что он обладает симметрией, которая принимает каждую переменную к своему отрицанию и меняет ориентацию всех ребер. [4]

Алгоритмы [ править ]

Известно несколько алгоритмов решения проблемы 2-выполнимости. Наиболее эффективные из них занимают линейное время . [2] [4] [5]

Разрешение и переходное закрытие [ править ]

Кром (1967) описал следующую процедуру решения за полиномиальное время для решения случаев 2-выполнимости. [2]

Предположим, что экземпляр 2-выполнимости содержит два предложения, в каждом из которых используется одна и та же переменная x , но что x инвертируется в одном предложении, а не в другом. Затем два предложения могут быть объединены для получения третьего предложения, имеющего два других литерала в двух предложениях; это третье предложение также должно выполняться, когда удовлетворяются оба первых два предложения. Например, мы можем объединить предложения и таким образом создать предложение . В терминах импликативной формы формулы 2-CNF это правило сводится к обнаружению двух импликаций и к выводу посредством транзитивности третьей импликации . [2]

Кром пишет, что формула является непротиворечивой, если повторное применение этого правила вывода не может генерировать одновременно предложения и для любой переменной . Как он доказывает, формула 2-CNF выполнима тогда и только тогда, когда она непротиворечива. Ведь, если формула несовместима, невозможно удовлетворить оба пункта и одновременно. И, если это непротиворечиво, то формулу можно расширить, многократно добавляя одно предложение формы илиза один раз, сохраняя согласованность на каждом шаге, пока не будет включено такое предложение для каждой переменной. На каждом из этих шагов расширения одно из этих двух предложений всегда может быть добавлено с сохранением согласованности, поскольку в противном случае другое предложение может быть сгенерировано с использованием правила вывода. Как только все переменные имеют предложение этой формы в формуле, можно сгенерировать удовлетворительное присвоение всех переменных, установив для переменной значение true, если формула содержит предложение, и установив для нее значение false, если формула содержит предложение . [2]

Крома интересовала в первую очередь полнота систем правил вывода, а не эффективность алгоритмов. Однако его метод приводит к полиномиальной оценке времени для решения задач 2-выполнимости. Сгруппировав вместе все предложения, использующие одну и ту же переменную, и применив правило вывода к каждой паре предложений, можно найти все выводы, которые возможны из данного экземпляра 2-CNF, и проверить его согласованность, за общее время O ( n 3 ) , где n - количество переменных в экземпляре. Эта формула получена путем умножения количества переменных на O ( n 2 )количество пар предложений, включающих данную переменную, к которым может быть применено правило вывода. Таким образом, можно определить, является ли данный экземпляр 2-CNF выполнимым за время O ( n 3 ) . Поскольку поиск удовлетворительного задания с использованием метода Крома включает в себя последовательность проверок согласованности O ( n ) , это займет время O ( n 4 ) . Даже Итаи и Шамир (1976) цитируют более быструю временную границу O ( n 2 ) для этого алгоритма, основанную на более тщательном упорядочивании его операций. Тем не менее, даже эта меньшая временная граница была значительно улучшена более поздними алгоритмами линейного времениЭвен, Итаи и Шамир (1976) и Аспвалл, Пласс и Тарджан (1979) .

В терминах импликационного графа экземпляра 2-выполнимости правило вывода Крома можно интерпретировать как построение транзитивного замыкания графа. Как отмечает Кук (1971) , его также можно рассматривать как пример алгоритма Дэвиса – Патнэма для решения проблем выполнимости с использованием принципа разрешения . Его правильность следует из более общей правильности алгоритма Дэвиса – Патнэма. Его полиномиальная временная граница следует из того факта, что каждый шаг разрешения увеличивает количество клозов в экземпляре, которое ограничено сверху квадратичной функцией количества переменных. [6]

Ограниченный возврат [ править ]

Эвен Итаи и Шамир (1976) описывают методику, включающую ограниченный поиск с возвратом для решения проблем удовлетворения ограничений с помощью двоичных переменных и парных ограничений. Они применяют эту технику к задаче составления расписания занятий, но они также отмечают, что она применима и к другим задачам, включая 2-SAT. [5]

Основная идея их подхода - построить частичное присвоение истинности, по одной переменной за раз. Определенные шаги алгоритмов являются «точками выбора», точками, в которых переменной может быть присвоено одно из двух разных значений истинности, а более поздние шаги в алгоритме могут привести к возврату к одной из этих точек выбора. Однако можно вернуться только к самому последнему выбору. Все варианты, сделанные ранее, чем последний, являются постоянными. [5]

Изначально точки выбора нет, и все переменные не присвоены. На каждом шаге алгоритм выбирает переменную, значение которой нужно установить, следующим образом:

  • Если есть предложение, обе переменные которого уже установлены, таким образом, что это фальсифицирует предложение, то алгоритм возвращается к своей самой последней точке выбора, отменяя присвоения, сделанные после этого выбора, и отменяет решение, принятое при этом выборе. Если нет точки выбора или если алгоритм уже вернулся к самой последней точке выбора, то он прерывает поиск и сообщает, что входная формула 2-CNF неудовлетворительна.
  • Если есть предложение, в котором одна из двух переменных предложения уже была установлена, и предложение все еще может стать либо истинным, либо ложным, тогда другая переменная устанавливается таким образом, что заставляет предложение стать истинным.
  • В оставшемся случае каждое предложение либо гарантированно станет истинным, независимо от того, как присвоены оставшиеся переменные, либо ни одна из двух его переменных еще не назначена. В этом случае алгоритм создает новую точку выбора и устанавливает для любой из неназначенных переменных произвольно выбранное значение.

Интуитивно алгоритм следует всем цепочкам выводов после каждого выбора. Это либо приводит к противоречию и шагу возврата, либо, если противоречие не выводится, следует, что выбор был правильным, что приводит к удовлетворительному заданию. Следовательно, алгоритм либо правильно находит удовлетворительное назначение, либо правильно определяет, что входные данные неудовлетворительны. [5]

Even et al. не описал подробно, как эффективно реализовать этот алгоритм. Они заявляют только, что «используя соответствующие структуры данных для поиска последствий любого решения», каждый шаг алгоритма (кроме обратного отслеживания) может быть выполнен быстро. Однако некоторые входные данные могут привести к тому, что алгоритм будет возвращаться много раз, каждый раз выполняя много шагов перед возвратом, поэтому его общая сложность может быть нелинейной. Чтобы избежать этой проблемы, они модифицируют алгоритм таким образом, чтобы после достижения каждой точки выбора он начинал одновременно тестировать оба из двух назначений для переменной, установленной в точке выбора, затрачивая равное количество шагов на каждое из двух назначений. Как только тест для одного из этих двух назначений создаст другую точку выбора, другой тест останавливается,так что на любом этапе алгоритма есть только две ветви дерева поиска с возвратом, которые все еще тестируются. Таким образом, общее время, затраченное на выполнение двух тестов для любой переменной, пропорционально количеству переменных и пунктов входной формулы, значения которых присвоены постоянно. В результате алгоритм принимаетлинейное время в целом. [5]

Сильно связанные компоненты [ править ]

Аспвалл, Пласс и Тарьян (1979) нашли более простую процедуру с линейным временем для решения случаев 2-выполнимости, основанную на понятии сильно связных компонентов из теории графов . [4]

Две вершины ориентированного графа называются сильно связанными друг с другом, если существует направленный путь от одной к другой и наоборот. Это отношение эквивалентности , и вершины графа могут быть разбиты на компоненты сильной связности, подмножества, внутри которых каждые две вершины сильно связаны. Существует несколько эффективных алгоритмов линейного времени для поиска сильно связанных компонентов графа, основанных на поиске в глубину : алгоритм сильносвязных компонентов Тарьяна [7] и алгоритм сильных компонентов, основанный на путях [8], каждый выполняет одиночный поиск в глубину. Алгоритм Косараджу выполняет два поиска в глубину, но он очень прост.

С точки зрения графа импликации, два литерала принадлежат одному и тому же компоненту сильной связности, если существуют цепочки импликаций от одного литерала к другому и наоборот. Следовательно, два литерала должны иметь одинаковое значение в любом удовлетворительном присвоении данному экземпляру 2-выполнимости. В частности, если переменная и ее отрицание принадлежат одному и тому же компоненту с сильной связью, экземпляр не может быть удовлетворен, потому что невозможно присвоить обоим этим литералам одно и то же значение. Aspvall et al. Как было показано, это необходимое и достаточное условие : формула 2-КНФ выполнима тогда и только тогда, когда нет переменной, принадлежащей той же сильносвязной компоненте, что и ее отрицание. [4]

Это немедленно приводит к алгоритму линейного времени для проверки выполнимости формул 2-CNF: просто выполните строгий анализ связности на графе импликации и проверьте, что каждая переменная и ее отрицание принадлежат разным компонентам. Однако, как отмечает Aspvall et al. Также было показано, что это также приводит к алгоритму линейного времени для поиска удовлетворительного задания, если оно существует. Их алгоритм выполняет следующие шаги:

  • Постройте граф импликации экземпляра и найдите его компоненты с сильной связью, используя любой из известных алгоритмов линейного времени для анализа сильной связности.
  • Проверьте, содержит ли какой-либо сильно связанный компонент как переменную, так и ее отрицание. Если да, сообщите, что экземпляр не подходит и остановитесь.
  • Постройте уплотнение графа импликации, меньший граф, который имеет одну вершину для каждой сильно связной компоненты и ребро от компонента i к компоненту j, если граф импликации содержит ребро uv такое, что u принадлежит компоненту i, а v принадлежит компоненту j . Сгущение автоматически является ориентированным ациклическим графом и, как и граф импликации, из которого он был сформирован, является кососимметричным .
  • Топологически упорядочить вершины сгущения. На практике это может быть эффективно достигнуто как побочный эффект предыдущего шага, поскольку компоненты генерируются алгоритмом Косараджу в топологическом порядке и алгоритмом Тарьяна в обратном топологическом порядке. [9]
  • Для каждого компонента в обратном топологическом порядке, если его переменные еще не имеют присвоений истинности, установите все литералы в компоненте как истинные. Это также приводит к тому, что для всех литералов в дополнительном компоненте устанавливается значение false.

Из-за обратного топологического порядка и асимметрии, когда для литерала установлено значение true, все литералы, которые могут быть получены из него через цепочку импликаций, уже будут установлены в значение true. Симметрично, когда для литерала x установлено значение false, все литералы, которые приводят к нему через цепочку импликаций, сами уже будут установлены в значение false. Следовательно, присвоение истинности, построенное с помощью этой процедуры, удовлетворяет данной формуле, что также завершает доказательство правильности необходимого и достаточного условия, идентифицированного Аспваллом и др. [4]

Aspvall et al. Как показано, аналогичная процедура, включающая топологическое упорядочение сильно связанных компонентов графа импликации, также может использоваться для вычисления полностью количественно определенных булевых формул, в которых количественно определяемая формула является формулой 2-CNF. [4]

Приложения [ править ]

Бесконфликтное размещение геометрических объектов [ править ]

Ряд точных и приближенных алгоритмов для задачи автоматического размещения этикеток основан на 2-выполнимости. Эта проблема касается размещения текстовых меток на элементах диаграммы или карты. Как правило, набор возможных местоположений для каждой надписи сильно ограничен не только самой картой (каждая метка должна быть рядом с объектом, который она маркирует, и не должна закрывать другие объекты), но и друг другом: каждые две надписи должны избегать перекрытия. друг друга, иначе они стали бы неразборчивыми. В общем, найти размещение метки, которое подчиняется этим ограничениям, является NP-сложной задачей.проблема. Однако, если у каждого объекта есть только два возможных местоположения для его метки (скажем, влево и вправо от объекта), то размещение метки может быть решено за полиномиальное время. Ведь в этом случае можно создать экземпляр 2-выполнимости, который имеет переменную для каждой метки и имеет предложение для каждой пары меток, которые могут перекрываться, предотвращая присвоение им перекрывающихся позиций. Если все метки являются конгруэнтными прямоугольниками, можно показать, что соответствующий экземпляр 2-выполнимости имеет только линейное количество ограничений, что приводит к почти линейным временным алгоритмам для поиска меток. [10] Пун, Чжу и Чин (1998)описать проблему маркировки карты, в которой каждая метка представляет собой прямоугольник, который может быть размещен в одном из трех положений относительно сегмента линии, который он маркирует: он может иметь сегмент в качестве одной из его сторон, или он может быть центрирован на сегменте . Они представляют эти три позиции с использованием двух бинарных переменных таким образом, что снова проверка существования действительной маркировки становится проблемой 2-выполнимости. [11]

Formann & Wagner (1991) используют 2-выполнимость как часть алгоритма аппроксимациидля задачи поиска квадратных меток максимально возможного размера для заданного набора точек с ограничением, что каждая метка имеет один из своих углов в точке, которую она маркирует. Чтобы найти метку заданного размера, они удаляют квадраты, которые, если их удвоить, перекрывают другую точку, и они исключают точки, которые могут быть помечены способом, который не может перекрываться с меткой другой точки. Они показывают, что эти правила исключения приводят к тому, что оставшиеся точки имеют только два возможных размещения меток на точку, позволяя найти допустимое размещение меток (если оно существует) в качестве решения для случая 2-выполнимости. Путем поиска самого большого размера метки, который приводит к разрешимому экземпляру 2-выполнимости, они находят допустимое размещение метки, размеры меток которого как минимум вдвое меньше оптимального решения. Этокоэффициент аппроксимации их алгоритма не более двух. [10] [12] Точно так же, если каждая метка прямоугольная и должна быть размещена таким образом, чтобы точка, которую она маркирует, находилась где-то вдоль ее нижнего края, тогда с помощью 2-выполнимости найти самый большой размер метки, для которого существует решение в котором каждая метка имеет точку в нижнем углу, дает коэффициент аппроксимации не более двух. [13]

Аналогичные применения 2-выполнимости были сделаны для других задач геометрического размещения. При рисовании графа , если положения вершин фиксированы и каждое ребро должно быть нарисовано как дуга окружности с одним из двух возможных положений (например, как дуговая диаграмма ), тогда возникает проблема выбора, какую дугу использовать для каждого ребра, чтобы Избегать пересечений - это проблема 2-выполнимости с переменной для каждого ребра и ограничением для каждой пары размещений, которые могут привести к пересечению. Однако в этом случае можно ускорить решение по сравнению с алгоритмом, который строит, а затем ищет явное представление графа импликации, путем неявного поиска в графе . [14] В СБИСпроектирование интегральной схемы: если набор модулей должен быть соединен проводами, каждый из которых может изгибаться не более одного раза, то опять же есть два возможных маршрута для проводов и проблема выбора, какой из этих двух маршрутов использовать, таким образом что все провода могут быть проложены в одном слое схемы, может быть решена как 2-выполнимый пример. [15]

Boros et al. (1999) рассматривают другую проблему проектирования СБИС: вопрос о том, нужно ли зеркально перевернуть каждый модуль в схеме. Этот зеркальный поворот оставляет операции модуля неизменными, но меняет порядок точек, в которых входные и выходные сигналы модуля подключаются к нему, возможно, изменяя то, насколько хорошо модуль вписывается в остальную конструкцию. Boros et al.рассмотрим упрощенную версию задачи, в которой модули уже размещены вдоль одного линейного канала, в котором провода между модулями должны быть проложены, и существует фиксированный предел плотности канала (максимальное количество сигналов, которые должен проходить через любое поперечное сечение канала). Они отмечают, что эта версия проблемы может быть решена как пример 2-выполнимости, в котором ограничения связывают ориентации пар модулей, которые находятся непосредственно через канал друг от друга. Как следствие, оптимальная плотность также может быть эффективно вычислена путем выполнения двоичного поиска, в котором каждый шаг включает решение экземпляра 2-выполнимости. [16]

Кластеризация данных [ править ]

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

Тот же метод также можно использовать в качестве подпрограммы, когда диаметры отдельных кластеров неизвестны. Чтобы проверить, может ли быть достигнута заданная сумма диаметров, не зная диаметров отдельных кластеров, можно попробовать все максимальные пары целевых диаметров, которые в сумме составляют не более заданной суммы, представляя каждую пару диаметров как экземпляр 2-выполнимости и используя алгоритм 2-выполнимости, чтобы определить, может ли эта пара быть реализована путем кластеризации. Чтобы найти оптимальную сумму диаметров, можно выполнить двоичный поиск, в котором каждый шаг является проверкой выполнимости этого типа. Тот же подход также работает для поиска кластеров, которые оптимизируют другие комбинации, кроме сумм диаметров кластеров, и которые используют произвольные числа несходства (а не расстояния в метрическом пространстве) для измерения размера кластера. [17]Временная граница для этого алгоритма определяется временем решения последовательности двух экземпляров выполнимости, которые тесно связаны друг с другом, и Рамнат (2004) показывает, как решить эти связанные экземпляры быстрее, чем если бы они решались независимо от каждого из них. другое, что приводит к общему ограничению времени O ( n 3 ) для задачи кластеризации суммы диаметров. [18]

Планирование [ править ]

Даже Итаи и Шамир (1976) рассматривают модель расписания занятий, в которой группа из n учителей должна быть запланирована для обучения каждой из m групп учеников. Количество часов в неделю, которые учитель i проводит с когортой j , описывается записью R ij матрицы R, заданной в качестве входных данных для задачи, и у каждого учителя также есть набор часов, в течение которых он или она доступны для планирования. Как они показывают, проблема NP-полная., даже когда у каждого учителя есть не более трех свободных часов, но это может быть решено как пример 2-выполнимости, когда у каждого учителя есть только два свободных часа. (Учителей, у которых есть только один доступный час, можно легко исключить из задачи.) В этой задаче каждая переменная v ij соответствует часу, который учитель i должен провести с когортой j , присвоение переменной указывает, является ли этот час первым. или второй из доступных часов учителя, и есть пункт о 2-выполнимости, предотвращающий любой конфликт любого из двух типов: две когорты, назначенные учителю одновременно, друг с другом, или одна когорта, назначенная двум учителям одновременно время. [5]

Миясиро и Мацуи (2005) применяют 2-выполнимость к задаче спортивного расписания, в которой пары кругового турнирауже выбраны, и игры должны быть назначены на стадионы команд. В этой задаче желательно по возможности чередовать домашние и выездные игры, избегая «перерывов», в которых команда играет две домашние игры подряд или две выездные игры подряд. Максимум две команды могут полностью избежать перерывов, чередуя домашние и выездные игры; ни одна другая команда не может иметь такое же расписание домашних матчей, как эти две, потому что тогда она не сможет играть с командой, с которой у нее было такое же расписание. Таким образом, в оптимальном расписании есть две команды без перерыва и по одному перерыву для всех остальных команд. После того, как выбрана одна из команд без перерыва, можно создать задачу о 2-выполнимости, в которой каждая переменная представляет собой домашнее задание для одной команды в одной игре.и ограничения обеспечивают выполнение свойств, согласно которым любые две команды имеют согласованное назначение для своих игр, что у каждой команды есть не более одного перерыва до и не более одного перерыва после игры с безбарьерной командой, и что ни у одной команды нет двух перерывов. Следовательно, проверка того, допускает ли расписание решение с оптимальным количеством перерывов, может быть проведена путем решения линейного числа задач 2-выполнимости, по одной на каждый выбор непобедимой команды. Подобный метод также позволяет находить расписания, в которых у каждой команды есть один перерыв, и максимизировать, а не минимизировать количество перерывов (чтобы уменьшить общий пробег, пройденный командами).Проверка того, допускает ли расписание решение с оптимальным количеством перерывов, может быть проведена путем решения линейного числа задач с двумя задачами выполнимости, по одной на каждый выбор группы без перерывов. Подобный метод также позволяет находить расписания, в которых у каждой команды есть один перерыв, и максимизировать, а не минимизировать количество перерывов (чтобы уменьшить общий пробег, пройденный командами).Проверка того, допускает ли расписание решение с оптимальным количеством перерывов, может быть проведена путем решения линейного числа задач с двумя задачами выполнимости, по одной на каждый выбор группы без перерывов. Подобный метод также позволяет находить расписания, в которых у каждой команды есть один перерыв, и максимизировать, а не минимизировать количество перерывов (чтобы уменьшить общий пробег, пройденный командами).[19]

Дискретная томография [ править ]

Пример решаемой головоломки с нонограммами.

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

Хотя существуют алгоритмы с полиномиальным временем для поиска матрицы, имеющей заданные суммы по строкам и столбцам, [20] решение может быть далеко не уникальным: любая подматрица в форме единичной матрицы 2 × 2 может быть дополнена, не влияя на правильность решения. . Поэтому исследователи искали ограничения на реконструируемую форму, которые можно использовать для ограничения пространства решений. Например, можно предположить, что форма связана; однако проверка наличия связанного решения является NP-полной. [21] Еще более ограниченная версия, которую легче решить, заключается в том, что форма ортогонально выпуклая.: один непрерывный блок квадратов в каждой строке и столбце. Усовершенствовав несколько предыдущих решений, Chrobak & Dürr (1999) показали, как эффективно реконструировать связанные ортогонально выпуклые формы с помощью 2-SAT. [22]Идея их решения состоит в том, чтобы угадать индексы строк, содержащих крайнюю левую и крайнюю правую ячейки фигуры, подлежащей восстановлению, а затем установить задачу 2-выполнимости, которая проверяет, существует ли форма, соответствующая этим предположениям и данным. суммы строк и столбцов. Они используют четыре переменные 2-выполнимости для каждого квадрата, который может быть частью данной формы, по одной, чтобы указать, принадлежит ли он каждой из четырех возможных «угловых областей» формы, и они используют ограничения, которые заставляют эти области не пересекаться, иметь желаемые формы, формировать общую форму с непрерывными строками и столбцами и иметь желаемые суммы строк и столбцов. Их алгоритм занимает время O ( m 3 n ), где m- меньшее из двух измерений входной формы, а n - большее из двух измерений. Позже тот же метод был распространен на ортогонально выпуклые формы, которые могли быть соединены только по диагонали, вместо того, чтобы требовать ортогональной связи. [23]

Батенбург и Костерс ( 2008 , 2009 ), являющиеся частью решателя для полных головоломок без грамматики , использовали 2-выполнимость для объединения информации, полученной из нескольких других эвристик . Получив частичное решение головоломки, они используют динамическое программирование в каждой строке или столбце, чтобы определить, заставляют ли ограничения этой строки или столбца какой-либо из его квадратов быть белым или черным, и могут ли любые два квадрата в одной строке или столбце быть связаны отношением импликации. Они также превращают нонограмму в проблему цифровой томографии, заменяя последовательность длин блоков в каждой строке и столбце ее суммой, и используют максимальный потокформулировка, чтобы определить, есть ли в этой задаче цифровой томографии, объединяющей все строки и столбцы, какие-либо квадраты, состояние которых может быть определено, или пары квадратов, которые могут быть связаны отношением импликации. Если одна из этих двух эвристик определяет значение одного из квадратов, оно включается в частичное решение, и те же вычисления повторяются. Однако, если обе эвристики не могут установить какие-либо квадраты, последствия, обнаруженные обеими из них, объединяются в проблему 2-выполнимости, и решатель 2-выполнимости используется для поиска квадратов, значение которых фиксируется задачей, после чего процедура снова повторил. Эта процедура может или не может успешно найти решение, но она гарантированно выполняется за полиномиальное время. Батенбург и Костерс сообщают, что, хотя большинство газетных головоломок не нуждаются в полной мощности,как эта процедура, так и более мощная, но более медленная процедура, которая сочетает в себе подход 2-выполнимости с ограниченным обратным отслеживаниемДаже Итаи и Шамир (1976) [5] значительно более эффективны, чем динамическое программирование и эвристика потока без 2-выполнимости, когда применяются к более сложным случайно сгенерированным нонограммам. [24]

Возможность переименования рожка [ править ]

Помимо 2-выполнимости, другой основной подкласс проблем выполнимости, который может быть решен за полиномиальное время, - это выполнимость по Хорну . В этом классе задач выполнимости входом снова является формула в конъюнктивной нормальной форме. В каждом предложении может быть сколь угодно много литералов, но не более одного положительного литерала. Льюис (1978) нашел обобщение этого класса, переименовываемую выполнимость Хорна , которое все еще может быть решено за полиномиальное время с помощью вспомогательного примера 2-выполнимости. Формула можно переименовать Hornкогда его можно преобразовать в форму Рога, заменив некоторые переменные их отрицаниями. Для этого Льюис устанавливает экземпляр 2-выполнимости с одной переменной для каждой переменной переименовываемого экземпляра Horn, где переменные 2-выполнимости указывают, следует ли отрицать соответствующие переименовываемые переменные Horn. Чтобы создать экземпляр Horn, никакие две переменные, которые появляются в одном и том же предложении переименованного экземпляра Horn, не должны появляться в этом предложении положительно; это ограничение на пару переменных является ограничением 2-выполнимости. Найдя удовлетворительное присвоение полученному экземпляру 2-выполнимости, Льюис показывает, как превратить любой переименовываемый экземпляр Horn в экземпляр Horn за полиномиальное время. [25]Разбив длинные предложения на несколько более мелких предложений и применив алгоритм 2-выполнимости с линейным временем, можно сократить это до линейного времени. [26]

Другие приложения [ править ]

2-выполнимость также применительно к задачам распознавания неориентированных графов , которые могут быть разделены в независимый набор и небольшое число полных подграфов двудольных , [27] выводя деловые отношения между автономными подсистемами Интернета, [28] и реконструкцией эволюционным деревья . [29]

Сложность и расширения [ править ]

NL-полнота [ править ]

Недетерминированная алгоритм для определения , является ли экземпляр 2-выполнимости является не выполним, используя только логарифмическое количество записываемой памяти, легко описать: просто выбрать (недетерминировано) переменную V и поиск (недетерминировано) для цепочки последствий , ведущей от V к его отрицанию, а затем обратно к ст . Если такая цепочка найдена, экземпляр не может быть выполнимым. По теореме Иммермана – Селепсеньи в недетерминированном лог -пространстве также можно проверить выполнимость выполнимого экземпляра 2-выполнимости.

2-выполнимость является NL-полным , [30] это означает , что это один из самых «трудных» или «наиболее выразительных» проблем в сложности класса NL задач , решаемой недетерминировано в логарифмическом пространстве. Полнота здесь означает, что детерминированная машина Тьюринга, использующая только логарифмическое пространство, может преобразовать любую другую проблему в NL в эквивалентную проблему 2-выполнимости. Аналогично аналогичным результатам для более известного класса сложности NP , это преобразование вместе с теоремой Иммермана – Селепсеньи позволяет представить любую проблему в NL в виде логики второго порядкаформула с одним экзистенциально определенным предикатом с предложениями, ограниченными длиной 2. Такие формулы известны как SO-Krom. [31] Точно так же импликативная нормальная форма может быть выражена в логике первого порядка с добавлением оператора для транзитивного замыкания . [31]

Набор всех решений [ править ]

Средний график , представляющий все решения примера 2-выполнимости , например , чей Подразумевается график приведен выше.

Множество всех решений для экземпляра 2-выполнимости имеет структуру медианного графа , в котором ребро соответствует операции переворачивания значений набора переменных, которые все ограничены, чтобы быть равными или неравными друг другу. В частности, следуя таким образом по ребрам, можно перейти от любого решения к любому другому решению. И наоборот, любой медианный граф может быть представлен таким образом как множество решений для случая 2-выполнимости. Медиана любых трех решений формируется путем присвоения каждой переменной значения, которое она имеет в большинстве трех решений. Эта медиана всегда образует другое решение для данного экземпляра. [32]

Федер (1994) описывает алгоритм для эффективного перечисления всех решений данного экземпляра 2-выполнимости и для решения нескольких связанных проблем. [33] Также существуют алгоритмы для поиска двух удовлетворяющих назначений, которые имеют максимальное расстояние Хэмминга друг от друга. [34]

Подсчет количества удовлетворительных заданий [ править ]

# 2SAT - это проблема подсчета количества удовлетворяющих назначений данной формуле 2-CNF. Эта проблема подсчета является # P-полной , [35] что означает, что она не разрешима за полиномиальное время, если P = NP . Более того, нет полностью полиномиальной рандомизированной схемы аппроксимации для # 2SAT, если NP = RP, и это справедливо даже, когда ввод ограничен монотонными формулами 2-CNF, то есть формулами 2-CNF, в которых каждый литерал является положительным вхождением переменной . [36]

Самый быстрый из известных алгоритмов вычисления точного числа удовлетворяющих назначений формуле 2SAT выполняется во времени . [37] [38] [39]

Случайные случаи 2-выполнимости [ править ]

Можно сформировать случай 2-выполнимости случайным образом для заданного числа n переменных и m предложений, выбирая каждое предложение равномерно случайным образом из множества всех возможных предложений с двумя переменными. Когда m мало по сравнению с n , такой пример, вероятно, будет удовлетворительным, но большие значения m имеют меньшую вероятность того, что он будет выполнимым. Точнее, если m / n фиксируется как константа α ≠ 1, вероятность выполнимости стремится к пределу, когда n стремится к бесконечности: если α <1, предел равен единице, а если α> 1, предел равен нулю. . Таким образом, в задаче наблюдается фазовый переходпри α = 1. [40]

Максимум-2-выполнимость [ править ]

В задаче максимальной-2-выполнимости ( MAX-2-SAT ) входными данными является формула в конъюнктивной нормальной форме с двумя литералами на каждое предложение, и задача состоит в том, чтобы определить максимальное количество предложений, которые могут быть одновременно удовлетворены назначением . Как и более общая проблема максимальной выполнимости , MAX-2-SAT NP-сложна . Доказательство - сокращение от 3SAT . [41]

Сформулируя MAX-2-SAT как задачу поиска разреза (то есть разделения вершин на два подмножества), максимизируя количество ребер, которые имеют одну конечную точку в первом подмножестве и одну конечную точку во втором, в графе связанного с графом импликации, и применяя методы полуопределенного программирования к этой задаче разрезания, можно найти за полиномиальное время приближенное решение, которое удовлетворяет по крайней мере 0,940… оптимальному количеству предложений. [42] сбалансирован экземпляр MAX 2-SAT является экземпляром MAX 2-SAT , где каждая переменная появляется положительно и отрицательно с равным весом. Для этой проблемы Острин улучшил коэффициент приближения до . [43]

Если гипотеза об уникальных играх верна, то невозможно приблизить MAX 2-SAT, сбалансированное или нет, с константой приближения лучше, чем 0,943 ... за полиномиальное время. [44] При более слабом предположении, что P ≠ NP , проблема, как известно, не аппроксимируется только в пределах константы лучше, чем 21/22 = 0,95454 ... [45]

Различные авторы также исследовали экспоненциальные ограничения времени наихудшего случая для точного решения экземпляров MAX-2-SAT. [46]

Взвешенная-2-выполнимость [ править ]

В задаче взвешенной 2-выполнимости ( W2SAT ) входом является экземпляр -переменной 2SAT и целое число k , и проблема состоит в том, чтобы решить, существует ли удовлетворяющее присвоение, в котором истинно не более k переменных.

Задача W2SAT включает в себя как частный случай проблему покрытия вершин, состоящую в нахождении набора из k вершин, которые вместе касаются всех ребер данного неориентированного графа. Для любого данного случая проблемы покрытия вершин можно построить эквивалентную задачу W2SAT с переменной для каждой вершины графа. Каждое ребро uv графа может быть представлено предложением 2SAT uv, которое может быть удовлетворено только включением либо u, либо v в число истинных переменных решения. Тогда удовлетворяющие экземпляры результирующей формулы 2SAT кодируют решения проблемы вершинного покрытия, и существует удовлетворяющее присвоение с kистинные переменные тогда и только тогда, когда существует вершинное покрытие с k вершинами. Следовательно, как и вершинное покрытие, W2SAT является NP-полным .

Более того, в параметризованной сложности W2SAT обеспечивает естественную W [1] -полную задачу [47], из чего следует, что W2SAT не является управляемым с фиксированными параметрами, если это не выполняется для всех задач в W [1] . То есть маловероятно, что существует алгоритм для W2SAT, время работы которого имеет вид f ( k ) · n O (1) . Более того, W2SAT не может быть решен за время n o ( k ), если гипотеза экспоненциального времени не верна. [48]

Количественные логические формулы [ править ]

Помимо поиска первого полиномиального алгоритма 2-выполнимости, Кром (1967) также сформулировал проблему вычисления полностью количественно определенных булевых формул, в которых количественно определяемая формула является формулой 2-CNF. Проблема 2-выполнимости является частным случаем этой количественной проблемы 2-CNF, в которой все кванторы экзистенциальны . Кром также разработал эффективную процедуру принятия решения для этих формул. Aspvall, Plass и Tarjan (1979) показали, что эта проблема может быть решена за линейное время путем расширения их техники сильно связных компонентов и топологического упорядочения. [2] [4]

Многозначная логика [ править ]

Проблема 2-выполнимости также может быть задана для пропозициональной многозначной логики . Алгоритмы обычно не являются линейными, а для некоторых логик проблема даже NP-полная. См. Обзоры у Hähnle ( 2001 , 2003 ). [49]

Ссылки [ править ]

  1. ^ a b Прествич, Стивен (2009), «2. Кодировки CNF» , в Биере, Армин; Heule, Marijn; ван Маарен, Ханс; Уолша, Тоби (ред.), Справочник по выполнимости , Фронтиэрс в области искусственного интеллекта и приложений, 185 , IOS Press, стр. 75-98, DOI : 10,3233 / 978-1-58603-929-5-75 , ISBN 978-1-58603-929-5.
  2. ^ a b c d e f Кром, Мелвен Р. (1967), "Проблема решения для класса формул первого порядка, в котором все дизъюнкции двоичны", Zeitschrift für Mathematische Logik und Grundlagen der Mathematik , 13 (1-2 ): 15-20, DOI : 10.1002 / malq.19670130104.
  3. ^ Рассел, Стюарт Джонатан; Норвиг, Питер (2010), Искусственный интеллект: современный подход , серия изданий Prentice Hall по искусственному интеллекту, Prentice Hall, стр. 282, ISBN 978-0-13-604259-4.
  4. ^ Б с д е е г Aspvall, Бенгт; Plass, Майкл Ф .; Тарьян, Роберт Э. (1979), «Алгоритм линейного времени для проверки истинности определенных количественных булевых формул» (PDF) , Письма об обработке информации , 8 (3): 121–123, DOI : 10.1016 / 0020-0190 ( 79) 90002-4 .
  5. ^ Б с д е е г Даже, С. ; Itai, A .; Шамир, А. (1976), "О сложности времени таблицы и мульти-товар потока проблем", SIAM журнал по вычислениям , 5 (4): 691-703, DOI : 10,1137 / 0205048.
  6. ^ Кук, Стивен А. (1971), "Сложность процедур доказательства теорем", Proc. 3-й симпозиум ACM. Теория вычислений (STOC) , стр 151-158,. DOI : 10,1145 / 800157,805047.
  7. ^ Тарьян, Роберт Е. (1972), "поиск в глубину и линейный график алгоритмы", SIAM журнал по вычислениям , 1 (2): 146-160, DOI : 10,1137 / 0201010.
  8. ^ Впервые опубликовано Cheriyan, J .; Mehlhorn, К. (1996), "Алгоритмы для плотных графов и сетей на случайном доступе к компьютеру", Algorithmica , 15 (6): 521-549, DOI : 10.1007 / BF01940880. Вновь открыт в 1999 году Гарольдом Н. Габоу и опубликован в Gabow, Harold N. (2003), «Searching (Ch 10.1)», в Gross, JL; Йеллен Дж. (Ред.), Дискретная математика. и его приложения: Справочник по теории графов , 25 , CRC Press, стр. 953–984.
  9. ^ Харрисон, Пол, Надежная топологическая сортировка и алгоритм Тарьяна в Python , получено 9 февраля 2011 г.
  10. ^ a b Formann, M .; Вагнер, Ф. (1991), "Проблема упаковки с приложениями к надписи на картах", Proc. 7 - я ACM симпозиум по вычислительной геометрии ., Стр 281-288, DOI : 10,1145 / 109648,109680 , ISBN 978-0-89791-426-0.
  11. Пун, Чунг Кеунг; Чжу, Биньхай; Chin, Фрэнсис (1998), "Полином решение времени для маркировки прямолинейных карт", Information Processing Letters , 65 (4): 201-207, DOI : 10.1016 / S0020-0190 (98) 00002-7.
  12. ^ Вагнер, Франк; Вольф Александр (1997), "Практическая карта алгоритм маркировки", Вычислительная геометрия: теория и приложение , 7 (5-6): 387-404, DOI : 10.1016 / S0925-7721 (96) 00007-7.
  13. ^ Додди, Шринивас; Marathe, Madhav V .; Мирзаян, Энди; Морет, Бернард МЭ; Чжу, Биньхай (1997), «Разметка карт и их обобщения», Proc. 8-й симпозиум ACM-SIAM. Дискретные алгоритмы (SODA) , Soda '97, стр. 148–157, ISBN 9780898713909.
  14. ^ Эфрат, Алон; Эртен, Цесим; Кобуров, Стивен Г. (2007), «Рисование дуги окружности с фиксированным расположением плоских графов» (PDF) , Журнал алгоритмов и приложений графов , 11 (1): 145–164, doi : 10.7155 / jgaa.00140 .
  15. ^ Рагхаван, Рагхунатх; Кохун, Джеймс; Сахни, Сартадж (1986), «Подключение с одним изгибом», Журнал алгоритмов , 7 (2): 232–237, DOI : 10.1016 / 0196-6774 (86) 90006-4.
  16. ^ Борос, Эндре; Хаммер, Питер Лэдислав ; Мину, Мишель; Рейдер, Дэвид Дж, младший (1999), «Оптимальная клетка листать , чтобы минимизировать плотность каналов в конструкции СБИС и псевдобулевой оптимизации», дискретное прикладная математика , 90 (1-3): 69-88, DOI : 10.1016 / S0166 -218X (98) 00114-0.
  17. ^ Hansen, P .; Jaumard, В. (1987), "Минимальная сумма диаметров кластеризации", журнал классификации , 4 (2): 215-226, DOI : 10.1007 / BF01896987.
  18. ^ Ramnath, Sarnath (2004), "подключение динамического диграфа торопит минимальную сумму, из-диаметров кластеризации", SIAM журнал по дискретной математике , 18 (2): 272-286, DOI : 10.1137 / S0895480102396099.
  19. ^ Миясиро, Рюхэй; Мацуи, Томоми (2005), «Алгоритм с полиномиальным временем для поиска справедливого назначения дома и в гостях», Operations Research Letters , 33 (3): 235–241, CiteSeerX 10.1.1.64.240 , doi : 10.1016 / j.orl .2004.06.004 .
  20. ^ Brualdi, RA (1980), "Матрицы нулей и единиц с фиксированными векторами суммы строк и столбцов", Linear Algebra Appl. , 33 : 159-231, DOI : 10,1016 / 0024-3795 (80) 90105-6.
  21. ^ Woeginger, GJ (1996), Реконструкция полимино по их ортогональным проекциям , Технический отчет SFB-65, Грац, Австрия: TU Graz.
  22. ^ Хробак, Марек; Дюрр, Кристоф (1999), «Реконструкция hv-выпуклых полимино из ортогональных проекций», Письма об обработке информации , 69 (6): 283–289, arXiv : cs / 9906021 , Bibcode : 1999cs ........ 6021D , DOI : 10.1016 / S0020-0190 (99) 00025-3.
  23. Куба, Аттила; Балог, Emese (2002), "Реконструкция выпуклых 2D дискретных множеств в полиномиальное время", Теоретическая информатика , 283 (1): 223-242, DOI : 10.1016 / S0304-3975 (01) 00080-9; Брунетти, Сара; Даурат, Ален (2003), "Алгоритм восстанавливающего выпуклые решетки множеств" (PDF) , теоретическая информатика , 304 (1-3): 35-57, DOI : 10.1016 / S0304-3975 (03) 00050-1 .
  24. ^ Batenburg, К. Йост; Костерс, Уолтер А. (2008), «Структура рассуждений для решения нонограмм», Комбинаторный анализ изображений, 12-й международный семинар, IWCIA 2008, Буффало, штат Нью-Йорк, США, 7–9 апреля 2008 г., Труды , конспекты лекций по информатике, 4958 ., Springer-Verlag, стр 372-383, DOI : 10.1007 / 978-3-540-78275-9_33 , ISBN 978-3-540-78274-2; Батенбург, К. Йост; Костерс, Уолтер А. (2009), «Решение нонограмм путем комбинирования релаксаций», Распознавание образов , 42 (8): 1672–1683, CiteSeerX 10.1.1.177.76 , doi : 10.1016 / j.patcog.2008.12.003 .
  25. ^ Льюис, Гарри Р. (1978), "Переименование набора пунктов как набор Horn", Журнал ACM , 25 (1): 134-135, DOI : 10,1145 / 322047,322059 , MR 0468315 .
  26. ^ Аспвалл, Бенгт (1980), «Распознавание замаскированных экземпляров NR (1) проблемы выполнимости», Журнал алгоритмов , 1 (1): 97–103, DOI : 10.1016 / 0196-6774 (80) 90007-3 , MR 0578079 .
  27. ^ Brandstädt, Андреас ; Хаммер, Питер Лэдислав ; Ле, Ван Банг; Лозин, Вадим В. (2005), «Бисплитные графы», Дискретная математика , 299 (1–3): 11–32, doi : 10.1016 / j.disc.2004.08.046.
  28. ^ Ван, Хао; Се, Хайён; Ян, Ян Ричард; Зильбершатц, Ави; Ли, Ли Эрран; Лю, Яньбинь (2005), "Выбор стабильного исходящего маршрута для проектирования междоменного трафика: модель и анализ", 13-я конференция IEEE Conf. Сетевые протоколы (ICNP) . С. 16-29, CiteSeerX 10.1.1.106.7345 , DOI : 10,1109 / ICNP.2005.39 , ISBN  978-0-7695-2437-5.
  29. Эскин, Елеазар; Гальперин, Эран; Карп, Ричард М. (2003), "Эффективное восстановление структуры гаплотипов через совершенный филогения", журнал биоинформатики и вычислительной биологии , 1 (1): 1-20, DOI : 10,1142 / S0219720003000174 , PMID 15290779 .
  30. ^ Papadimitriou, Christos H. (1994), вычислительная сложность , Addison-Wesley, стр. Глава 4.2, ISBN 978-0-201-53082-7., Thm. 16.3.
  31. ^ a b Кук, Стивен ; Колоколова, Антонина (2004), "Теория второго порядка для NL", 19-й ежегодный симпозиум IEEE по логике в компьютерных науках (LICS'04) , стр. 398–407, doi : 10.1109 / LICS.2004.1319634 , ISBN 978-0-7695-2192-3.
  32. ^ Бандельт, Ханс-Юрген; Чепой, Виктор (2008), «Метрическая теория графов и геометрия: обзор», Обзоры по дискретной и вычислительной геометрии , Современная математика, 453 , Провиденс, Род-Айленд: Американское математическое общество, стр. 49–86, DOI : 10.1090 / conm / 453/08795 , ISBN 9780821842393, Руководство по ремонту  2405677. Чанг, ФРК ; Graham, RL ; Сакс, ME (1989), "Динамическая задача размещения графов" (PDF) , Combinatorica , 9 (2): 111-132, DOI : 10.1007 / BF02124674 . Федер Т. (1995), Стабильные сети и графы продуктов , Мемуары Американского математического общества, 555.
  33. ^ Федер, Томас (1994), "текут сети и 2-выполнимости", Algorithmica , 11 (3): 291-319, DOI : 10.1007 / BF01240738.
  34. ^ Angelsmark, Ола; Thapper, Йохан (2005), "Алгоритмы для максимального расстояния Хэмминга проблемы", Последние достижения в области ограничений , Lecture Notes в области компьютерных наук, 3419 , Springer-Verlag, стр.  128-141 , DOI : 10.1007 / 11402763_10 , ISBN 978-3-540-25176-7.
  35. ^ Valiant, Лесли Г. (1979), "Сложность перечисления и надежности проблем", SIAM журнал по вычислениям , 8 (3): 410-421, DOI : 10,1137 / 0208032
  36. ^ Валлийский, Доминик ; Гейл, Эми (2001), "Сложность задач подсчета", Аспекты сложности: мини-курсы по алгоритмике, сложности и вычислительной алгебре: семинар по математике, Каикоура, 7–15 января 2000 г. , стр. 115ff, Теорема 57.
  37. ^ Дахлёф, Вильгельм; Йонссон, Питер; Вальстрема, Magnus (2005), "модели для подсчета 2SAT и 3SAT формул", теоретической информатики , 332 (1-3): 265-291, DOI : 10.1016 / j.tcs.2004.10.037
  38. ^ Фюрер, Мартин; Kasiviswanathan, Shiva Prasad (2007), «Алгоритмы для подсчета 2-SAT решений и раскраски с приложениями», Алгоритмические аспекты в информации и управлении , Lecture Notes in Computer Science, 4508 , Springer-Verlag, pp. 47–57, CiteSeerX 10.1. 1.634.4498 , DOI : 10.1007 / 978-3-540-72870-2_5 , ISBN  978-3-540-72868-9.
  39. ^ Wahlström, Magnus (2008), «Более жесткая граница для подсчета решений с максимальным весом для экземпляров 2sat», Международный семинар по параметризованным и точным вычислениям , Lecture Notes in Computer Science, 5018 , pp. 202–213, CiteSeerX 10.1.1.129. 9232 , DOI : 10.1007 / 978-3-540-79723-4_19 , ISBN  978-3-540-79722-7
  40. ^ Bollobás, Бел ; Боргс, Кристиан; Чайес, Дженнифер Т .; Ким, Чон Хан; Уилсон, Дэвид Б. (2001), «Окно масштабирования перехода 2-SAT», Случайные структуры и алгоритмы , 18 (3): 201–256, arXiv : math / 9909031 , doi : 10.1002 / rsa.1006; Chvátal, V .; Рид, Б. (1992), «Мик получает немного (шансы на его стороне)», Proc. 33-й симпозиум IEEE. Основы информатики и вычислительной техники (FOCS) . С. 620-627, DOI : 10,1109 / SFCS.1992.267789 , ISBN 978-0-8186-2900-6; Goerdt, A. (1996), "Порог для невыполнимости", журнал компьютерных и системных наук , 53 (3): 469-486, DOI : 10,1006 / jcss.1996.0081.
  41. ^ MR Garey; Д.С. Джонсон; LJ Stockmeyer (1976), "Некоторые упрощенные NP-полные задачи на графах", Теоретическая информатика , 1 (3): 237-267, DOI : 10,1016 / 0304-3975 (76) 90059-1 , ISSN 0304-3975 ; см. стр. 4–6
  42. ^ Левин, Майкл; Ливнар, Дрор; Цвик, Ури (2002), «Улучшенные методы округления для задач MAX 2-SAT и MAX DI-CUT», Труды 9-й Международной конференции IPCO по целочисленному программированию и комбинаторной оптимизации , Springer-Verlag, стр. 67–82, ISBN 978-3-540-43676-8
  43. ^ Austrin, Per (2007), "Сбалансированный Max 2-СБ не мог бы быть Сильнее", Труды тридцать девятого ежегодного симпозиума ACM по теории вычислений (STOC '07) , Нью - Йорк, Нью - Йорк, США: АКМ, стр . 189-197, DOI : 10,1145 / 1250790,1250818 , ISBN 978-1-59593-631-8.
  44. ^ Хот, Субхаш ; Киндлер, Гай; Моссель, Эльханан; О'Доннелл, Райан (2004), «Результаты оптимальной несовместимости для MAX-CUT и других CSP с двумя переменными?», FOCS '04: Материалы 45-го ежегодного симпозиума IEEE по основам компьютерных наук , IEEE, стр. 146–154 , CiteSeerX 10.1.1.126.2295 , DOI : 10.1109 / FOCS.2004.49 , ISBN  978-0-7695-2228-9
  45. ^ Håstad, Йохан (2001), "Некоторые результаты оптимальной inapproximability", Журнал ACM , 48 (4): 798-859, CiteSeerX 10.1.1.638.2808 , DOI : 10,1145 / 502090,502098 .
  46. ^ Bansal, N .; Раман, В. (1999), «Верхние границы для MaxSat: дальнейшее улучшение», в Aggarwal, A .; Pandu Rangan, C. (ред.), Proc. 10-я конф. Алгоритмы и вычисления, ISAAC'99 , Lecture Notes in Computer Science, 1741 , Springer-Verlag, pp. 247–258.; Грамм, Йенс; Хирш, Эдвард А .; Нидермайер, Рольф; Rossmanith, Питер (2003), "наихудшие верхние оценки для MAX-2-SAT с приложением к MAX-CUT", дискретное Прикладная математика , 130 (2): 139-155, DOI : 10.1016 / S0166-218X (02 ) 00402-X; Кожевников, Арист; Куликов, Александр С. (2006), "Новый подход к доказательству верхних оценок для MAX-2-SAT", Proc. 17-й симпозиум ACM-SIAM. Дискретные алгоритмы . С. 11-17, DOI : 10,1145 / 1109557,1109559 , ISBN 978-0-89871-605-4
  47. ^ Флум, Йорг; Grohe, Мартин (2006), параметризованная теория сложности , Springer, ISBN 978-3-540-29952-3
  48. ^ Chen, Jianer; Хуанг, Сючжэнь; Kanj, Iyad A .; Ся, Ге (2006), "Сильные нижние оценки вычислений с помощью параметризованной сложности", Журнал компьютерных и системных наук , 72 (8): 1346–1367, DOI : 10.1016 / j.jcss.2006.04.007
  49. ^ Hähnle, Reiner (2001), «Продвинутая многозначная логика», в Gabbay, Dov M .; Günthner, Франц (ред.), Справочник по философской логике , 2 ., Springer, С. 297-395, DOI : 10.1007 / 978-94-017-0452-6_5 , ISBN 978-94-017-0452-6(см., в частности, стр. 373 ); Хенле, Райнер (2003), «Сложность многозначных логик», в Фиттинге, Мелвин; Orlowska, Эва (ред.), За два: теория и приложения логики многозначной , Исследования в размытости и Soft Computing, 114 , Springer, С. 211-233,. DOI : 10.1007 / 978-3-7908-1769-0_9 , ISBN 978-3-7908-1541-2