NP-полнота
[71/58%]SAT принадлежит NP.
Сформулируйте следующую головоломку в виде булевой формулы и решите её, определив, выполнима ли :
За пять игр до конца регулярного сезона командный математик доложил менеджеру бейсбольной команды A: «Мы всё ещё можем попасть в плей-офф, если победим команду , а также если команда побеждает команду , то команда побеждает команду , а если мы проигрываем команде , то команда также побеждает либо команду , либо команду ». Позже, среди оставшихся пяти игр, каждая команда выиграла хотя бы одну игру, но ни одна команда не выиграла все свои оставшиеся игры, и не было ни одной ничьей. Был ли у команды A шанс попасть в плей-офф? Если да, то как?
Сформулируйте следующую головоломку в виде булевой формулы и решите её, определив, выполнима ли :
Трое мужчин по имени Льюис, Миллер и Нельсон занимают должности бухгалтера, кассира и управляющего в ведущем универмаге города NP. Об их работе известно следующее:
-
Если Нельсон — кассир, то Миллер — управляющий.
-
Если Нельсон — управляющий, то Миллер — бухгалтер.
-
Если Миллер — не кассир, то Льюис — управляющий.
-
Если Льюис — бухгалтер, то Нельсон — управляющий.
Какую должность занимает каждый из мужчин?
Гамильтонов цикл (HC): Дан граф , определить, есть ли в гамильтонов цикл.
HC принадлежит NP.
(Обход коня) Найти обход шахматной доски конём, который посещает каждую клетку ровно один раз и возвращается на начальную клетку.
| 3 | 6 | 33 | 40 | 27 | 44 | 29 | 46 |
|---|---|---|---|---|---|---|---|
| 34 | 37 | 2 | 5 | 32 | 47 | 26 | 43 |
| 7 | 4 | 39 | 36 | 41 | 28 | 45 | 30 |
| 38 | 35 | 8 | 1 | 48 | 31 | 42 | 25 |
| 9 | 64 | 13 | 56 | 17 | 24 | 49 | 58 |
| 14 | 55 | 10 | 61 | 52 | 57 | 18 | 21 |
| 63 | 12 | 53 | 16 | 23 | 20 | 59 | 50 |
| 54 | 15 | 62 | 11 | 60 | 51 | 22 | 19 |
| : Рисунок 7.1: Обход коня. |
Вершинное покрытие (VC): Даны граф и положительное целое , определить, есть ли в вершинное покрытие размера не более .
VC принадлежит NP.
Задача о поражении множества (HS): Даны подмножества множества и целое , определить, существует ли подмножество размера такое, что для всех .
HS принадлежит NP.
Сформулируйте следующую логическую головоломку как экземпляр задачи HS и решите её, найдя правильное подмножество.
Три женщины, Джоан, Мишель и Трейси, сделали следующие заявления о своём возрасте.
Джоан: «Мне 92 года. Я на два года младше Мишель. Я на один год старше Трейси». Мишель: «Я не самая младшая. Мы с Трейси отличаемся по возрасту на три года. Трейси 25 лет». Трейси: «Я моложе Джоан. Джоан 23 года. Мишель на три года старше Джоан». Известно, что из трёх заявлений каждого человека ровно два верны. Каков их возраст?
IS принадлежит NP.
(Задача о восьми ферзях) Расставить восемь ферзей на доске так, чтобы они не били друг друга. (В шахматах ферзь бьёт другую фигуру, если они находятся в одной строке, или в одном столбце, или на одной диагонали.)
3DM принадлежит .
IP принадлежит .
Сформулируйте следующую логическую головоломку как экземпляр задачи IP и решите её, решив соответствующую систему неравенств.
Профессор выступал с коллоквиумом на кафедре теории сложности. Начав доклад, он заметил, что 15 присутствующих в аудитории удовлетворяют следующим условиям:
-
Студентов было больше, чем профессоров.
-
Профессоров-мужчин было больше, чем студентов-мужчин.
-
Студентов-мужчин было больше, чем студенток.
-
Была хотя бы одна женщина-профессор.
Пять минут спустя в комнату вбежал ещё один человек. Однако появление этого человека не изменило вышеуказанные четыре условия. Этот человек — мужчина или женщина, студент или профессор?
Prime принадлежит NP.
Докажите, что 683 — простое число.
Для любого множества пусть , а . Покажите, что если принадлежит NP, то и также принадлежат .
Для любого множества пусть .
Предположим, что существует полиномиальная функция такая, что из следует . Покажите, что если , то prefix.
Покажите, что если для некоторой полиномиальной функции и если prefix, то .
Функция называется полиномиально-временно вычислимой, если существует полиномиально-временная ДМТ, вычисляющая функцию (то есть на входе она останавливается за шагов для некоторого полинома , со строкой на выходной ленте). Функция называется полиномиально честной, если существует полиномиальная функция такая, что и для всех . Предположим, что полиномиально-временно вычислима и полиномиально честна.
Предположим, что — биекция. Покажите, что если , то и .
Покажите, что если , то следующие функции полиномиально-временно вычислимы:
где — лексикографический порядок на .
Сформулируйте следующие головоломки как экземпляры задач из NP, а затем решите головоломки, найдя свидетелей для этих экземпляров:
Шесть мужчин, и F, — единственные члены, имеющие право занять должности президента, вице-президента и секретаря в клубе NP. Известны следующие предпочтения этих мужчин:
-
A не станет должностным лицом, если только E не президент.
-
B не будет служить, если он превосходит по рангу C.
-
B ни при каких условиях не будет служить вместе с F.
-
C не будет служить одновременно с E и F.
-
C не будет служить, если F президент или B секретарь.
-
D не будет служить с C или E, если только он не превосходит их по рангу.
-
E не станет вице-президентом.
-
E не станет секретарём, если D — должностное лицо.
-
E не будет служить с A, если только F тоже не служит.
-
F не будет служить, если только он сам или C не президент.
Как можно распределить три должности, удовлетворив всем указанным условиям?
Полиция арестовала четверых мужчин по подозрению в убийстве. На допросе они сделали следующие заявления:
Джон: «Это сделал Ник». Ник: «Это сделал Билл». Дэн: «Я этого не делал». Билл: «Ник солгал, когда сказал, что это сделал я».
Если известно, что ровно один из них — настоящий убийца и ровно одно из вышеуказанных заявлений истинно, кто убийца?
Браун, Джонс и Смит работают в деревне NP пожарным, полицейским и учителем, хотя и не обязательно соответственно. Кто-то в деревне сообщил, что:
-
Браун и учитель — соседи.
-
Джонс и учитель — соседи.
-
И Браун, и Смит — соседи пожарного.
-
И полицейский, и пожарный — соседи Джонса.
-
Все эти люди — соседи друг другу.
Однако на самом деле верны только два из этих утверждений. Можете ли вы определить, какую должность занимает каждый из мужчин?
И у Смитов, и у Тейлоров есть по два маленьких сына младше одиннадцати лет. Имена мальчиков, чей возраст, округлённый до ближайшего года, у всех разный, — Артур, Берт, Карл и Дэвид. Если брать возраст мальчиков только с точностью до ближайшего года, верны следующие утверждения:
-
Артур на три года младше своего брата.
-
Берт самый старший.
-
Карл вдвое младше одного из мальчиков Тейлоров.
-
Дэвид на пять лет старше младшего из мальчиков Смитов.
-
Суммарный возраст мальчиков в каждой семье сегодня отличается на ту же величину, что и пять лет назад.
Сколько лет каждому мальчику и к какой семье он принадлежит?»
Пороговая функция — это булева функция, определённая следующим образом:
Постройте булевы формулы , использующие операции и переменные , такие что они вычисляют функцию .
Покажите, что существуют булевы формулы , использующие операции , , переменные и некоторые вспомогательные переменные , такие что (i) длина ограничена для некоторой константы , и (ii) присваивание удовлетворяет тогда и только тогда, когда присваивает значение 1 хотя бы переменным из .
Докажите, что следующие числа простые: .
Покажите, что следующие задачи принадлежат NP:
Наидлиннейший путь (LP): Даны граф и целое , определить, есть ли в простой путь из не менее чем рёбер. (Путь простой, если ни одна вершина не встречается дважды.)
Задача коммивояжёра (TSP): Дан полный граф с функцией стоимости и целое , определить, существует ли тур (то есть гамильтонов цикл) графа с суммарной стоимостью рёбер, не превышающей .
Изоморфизм графов (GIso): Даны два графа и , определить, изоморфен ли графу . (Два графа и изоморфны, если и существует взаимно однозначное отображение "на" такое, что тогда и только тогда, когда . Функция называется изоморфизмом.)
Ограниченная PCP: Дано конечное множество упорядоченных пар , строк над алфавитом и целое (в унарной форме ), определить, существует ли конечная последовательность целых чисел , с каждым и , такая что
Ограниченное мощение (Bounded Tiling): Дано конечное число типов цветных плиток и целое (в унарной форме ), определить, возможно ли замостить квадрат цветными плитками этих типов, начиная с плитки типа в левом нижнем углу. (См. Упражнение 6 из Раздела 5.6 для подробностей определения.)
Пусть — целочисленная матрица размера , а — -мерный целочисленный вектор. Пусть — максимальная абсолютная величина чисел в и , а .
Покажите, что если — квадратная подматрица , то , где обозначает определитель матрицы .
Покажите, что если , то существует ненулевой вектор такой, что и максимальная абсолютная величина чисел в ограничена .
Предположим, что имеет целочисленное решение . Пусть обозначает -ю строку , — -ю компоненту , а — -й -мерный единичный вектор (то есть все компоненты равны 0, кроме -й компоненты, равной 1). Пусть — решение , максимизирующее число элементов следующего множества:
Докажите, что ранг равен .
Используя (c) выше, докажите Лемму 7.14.
HC .
IS.
GIso DGIso.
SAT CNF-SAT.
.
.
.
.
Докажите, что CNF-Sat 3Sat.
В этом упражнении мы рассматриваем альтернативное доказательство для примера 7.25. Заменим условия (1) и (2) условием (3): для каждого существует тройка такая, что (i) , и (ii) если , то . Переведите это условие в булеву формулу над переменными и покажите, что выполнима тогда и только тогда, когда имеет трёхмерное паросочетание .
Постройте следующие сведения:
3SAT .
.
.
Рассмотрим следующие варианты проблемы 3Sat:
3Sat-Exactly-One: дана 3-КНФ ; определить, существует ли присваивание переменным , которое присваивает значение TRUE ровно одному литералу в каждом дизъюнкте .
3Sat-Not-All: дана 3-КНФ ; определить, существует ли присваивание переменным , которое присваивает значение TRUE одному или двум литералам (но не всем трём) в каждом дизъюнкте .
Покажите, что 3Sat, 3Sat-Exact-One и 3Sat-Not-All полиномиально эквивалентны относительно .
Рассмотрим следующие проблемы: Изоморфизм подграфов (SGIso): даны два графа и ; определить, существует ли инъективное отображение такое, что для всех , влечёт .
Автоморфизм графа (GAuto): дан граф ; определить, существует ли инъективная функция , отличная от тождественной функции, такая, что для всех тогда и только тогда, когда .
Докажите все полиномиальные сведения, какие вы сможете найти, среди трёх проблем GIso, SGIso и GAuto.
Покажите, что если , то все непустые собственные подмножества множества являются NP-полными.
Если известно, что является -полным, будет ли всегда -полным?
В доказательстве теоремы Кука мы использовали условия (4.1) на ???-образных окнах над матрицей , чтобы обеспечить выполнение условия (4). Покажите, что если вместо этого работать с ???-образными окнами над матрицей , то никакие условия на эти окна не могут обеспечить выполнение условия (4). Другими словами, покажите, что следующее соотношение не выполняется ни для какого подмножества :
где обозначает -ю конфигурацию, соответствующую присваиваниям переменным .
Покажите, что в доказательстве теоремы Кука функция необходима. То есть никакое определение подмножества не может сделать истинным следующее: выполнима тогда и только тогда, когда .
В доказательстве теоремы Кука можно убрать условие (1), если заменить условие (4') новым условием (4'') над шестиклеточными окнами ???-образной формы. Найдите подусловия над шестиклеточными, ???-образными окнами, которые делают эквивалентным условию (4) без предположения о выполнении условия (1).
Булева формула, являющаяся произведением литералов, называется элементарным произведением. ДНФ (дизъюнктивная нормальная форма) — это сумма элементарных произведений.
Докажите, что булеву формулу в ДНФ можно за полиномиальное время преобразовать в формулу в КНФ (возможно, с большим числом переменных), сохраняющую выполнимость.
Докажите, что если , то не существует полиномиального по времени алгоритма, преобразующего булеву формулу в КНФ в формулу в ДНФ и сохраняющего выполнимость.
Предположим, что и — два -полных множества. Покажите, что и не обязательно являются -полными, если . Всегда ли является -полным, если ?
Это упражнение использует обозначения, определённые в упражнении 3 раздела 7.1.
Покажите, что существует полиномиально вычислимая, полиномиально честная функция , такая что её область значений является NP-полной. [Подсказка: для любого -полного множества , принимает на входе экземпляр множества и строку и определяет, является ли свидетелем того, что .]
Определим . Покажите, что существует полиномиально вычислимая, полиномиально честная функция , такая что является NP-полным. [Подсказка: постройте функцию, аналогичную функции из пункта (a), за исключением того, что задача является задачей минимизации.]
Предположим, что . Пусть и — два множества, полных для (т.е. и являются NP-полными). Обязательно ли принадлежит co-NP? Обязательно ли является co-NP-полным? Возможно ли, что принадлежит ? Обоснуйте свой ответ.
Предположим, что в доказательстве теоремы Кука мы убираем условие (1) и заменяем условие на , которое задаёт некоторые подусловия на пятиклеточных окнах одной из четырёх форм, показанных на рисунке 7.11. Покажите, что никакие такие подусловия на пятиклеточных окнах не могут сделать (4) эквивалентным .
Рассмотрим альтернативное доказательство теоремы Кука, приведённое в примере 7.33. Пусть — множество, соответствующее двенадцати окнам рисунка 7.10; то есть тогда и только тогда, когда имеет один из двенадцати видов на рисунке 7.10 и удовлетворяет соответствующим условиям, заданным в трёх случаях. Покажите, что если существует отображение , такое что тогда и только тогда, когда , то принадлежит .
В этом упражнении мы рассматриваем иную схему для доказательства теоремы Кука. Вместо того чтобы присоединять символ состояния к ленточному символу, который в данный момент сканируется головкой ленты, мы можем определить отдельные булевы переменные для представления состояния и положения головки ленты. То есть, помимо переменных (только для ), для каждого и каждого мы определяем переменную , означающую, что символ состояния конфигурации равен , а для каждой пары , с , — переменную , означающую, что в конфигурации головка ленты сканирует -й символ. Чтобы доказать теорему Кука в этой схеме, нам нужно определить шесть булевых функций , таких что для тогда и только тогда, когда выполняется приведённое ниже условие :
(1) Для каждого , находится ровно в одном состоянии.
(2) Для каждого , головка сканирует ровно одну ячейку в .
(3) Для каждого и каждого , -я ячейка содержит ровно один символ.
(4) — начальная конфигурация на входе .
(5) — допускающая конфигурация.
(6) Для каждого , .
Предположим, что удовлетворяют условию, что тогда и только тогда, когда выполняется условие . Также пусть равно
где , если , и , если . Найдите контрпример, опровергающий, что тогда и только тогда, когда допускает . Найдите новую функцию , для которой тогда и только тогда, когда допускает .
Остаётся ли задача VC NP-полной, если каждое ребро должно покрываться ровно одной вершиной?
Докажите, что MCG является NP-полной.
Partition является NP-полной.
Knapsack является NP-полной.
BP является NP-полной.
Покажите, что следующая задача является NP-полной: Даны положительные целые числа ; определить, выполняется ли
SMT является NP-полной.
Для каждой из следующих задач определите, является ли она -полной или принадлежит . Если она -полна, найдите сведение от известной -полной задачи к ней. Если она принадлежит , найдите для неё полиномиальный алгоритм.
Даны граф , две вершины и в и положительное целое число ; определить, существует ли между и путь длины не более .
Даны граф , две вершины и в и положительное целое число ; определить, существует ли между и путь длины не менее .
Дан ориентированный граф ; определить, содержит ли цикл нечётной длины.
Дан ориентированный граф ; определить, содержит ли цикл чётной длины.
Дан граф ; определить, содержит ли цикл нечётной длины.
Даны полный граф с весами на рёбрах, три подмножества вершин , и положительное целое число ; определить, существует ли подграф графа веса , содержащий остовное дерево для каждого из и . (Остовным деревом для подмножества называется связный подграф графа на множестве вершин , не содержащий циклов.)
Даны граф и положительное целое число ; определить, существует ли подмножество из не более чем рёбер, такое что каждая вершина из инцидентна хотя бы одному ребру из .
Неэквивалентность регулярных выражений: Даны два регулярных выражения и без операции звезды Клини; определить, выполняется ли .
Ограниченная PCP (см. упражнение 7(d) раздела 7.1).
Ограниченное замощение (Bounded Tiling) (см. упражнение 7(e) раздела 7.1).
Докажите, что следующие варианты задачи VC являются -полными:
Planar VC: задача VC, ограниченная планарными графами. (Планарным графом называется граф, который можно нарисовать на двумерной плоскости так, что никакие два ребра не пересекаются в точке, не являющейся вершиной.)
Cubic VC: задача VC, ограниченная кубическими графами. (Кубическим графом называется граф, в котором каждая вершина имеет степень три.)
Planar Connected-VC-4: Даны планарный граф , в котором каждая вершина из имеет степень не более 4, и целое число ; определить, существует ли вершинное покрытие графа размера такое, что порождённый подграф на множестве вершин связен.
Дан граф ; определить, имеет ли вершинное покрытие , удовлетворяющее следующим условиям:
(i) Подграф , порождённый , не имеет изолированных точек.
(ii) Каждая вершина из смежна с вершиной, не принадлежащей .
Полярным представлением КНФ называется двудольный граф , где — множество всех переменных, а — множество всех дизъюнктов в , причём в есть ребро между и тогда и только тогда, когда переменная встречается в дизъюнкте (в виде или ). Докажите следующие утверждения:
имеет планарное полярное представление и выполнима тогда и только тогда, когда .
Существует 3-КНФ формула с планарным полярным представлением и тремя переменными и , такая что выполнима тогда и только тогда, когда .
Существует 3-КНФ формула с планарным полярным представлением и тремя переменными и , такая что выполнима тогда и только тогда, когда . [Указание: .]
Следующая задача, называемая Planar Polar-3Sat, является NP-полной: Дана 3-КНФ формула с планарным полярным представлением; определить, выполнима ли . [Указание: примените к построению тот факт, что и .]
Неполярным представлением КНФ называется граф , множество вершин которого состоит из всех литералов и всех дизъюнктов в , а множество рёбер состоит из всех пар по всем переменным в , а также всех пар литерал-дизъюнкт таких, что встречается в . Докажите следующие утверждения:
Если неполярное представление КНФ-формулы планарно, то её полярное представление также обязательно планарно. Однако обратное не обязательно верно.
Следующая задача, называемая Planar Nonpolar-3Sat, является NP-полной: Дана 3-КНФ формула с планарным неполярным представлением; определить, выполнима ли .
-КНФ — это КНФ, в которой каждый дизъюнкт содержит ровно литералов, а каждая переменная встречается не более чем в дизъюнктах. Задача -Sat — это задача 3SaT, ограниченная -КНФ. Докажите следующие результаты:
При любом каждая -КНФ выполнима.
При любом задача (2, )-SAT полиномиально разрешима. (На самом деле задача 2Sat, являющаяся задачей 3Sat, ограниченной КНФ с не более чем 2 литералами в каждом дизъюнкте, полиномиально разрешима.)
-Sat является -полной.
Покажите, что Min-VC является NP-полной задачей поиска.
TSP является NP-полной.
Задача -Approx-TSP является NP-полной для всех .
Задача -Approx-VC является NP-полной для некоторого .
Для каждого задача -Approx-VC- является NP-полной для некоторого .
Для задача -Approx-BST является NP-полной.
Для каждой из следующих задач поиска сформулируйте соответствующую проблему разрешения и покажите, что проблема разрешения и задача поиска эквивалентны относительно полиномиальной сводимости по Тьюрингу.
Max-3Sat.
Версия оптимизации KNAPSACK.
LP (версия оптимизации): для данного графа найти самый длинный простой путь в .
Для данного положительного целого числа найти его наибольший простой делитель.
Для каждой из следующих задач оптимизации покажите, что она NP-полна:
Для данного ориентированного графа найти минимальное подмножество рёбер такое, что каждый ориентированный цикл содержит хотя бы одно ребро из этого подмножества.
Для данного ориентированного графа найти минимальное подмножество вершин такое, что каждый ориентированный цикл содержит хотя бы одну вершину из этого подмножества.
Для данных целых чисел и найти , , максимизирующие значение , при следующих ограничениях:
Для данного графа найти колесо максимального размера. (Колесо размера — это подграф из вершин, в котором вершин образуют простой цикл, а оставшаяся вершина соединена со всеми этими вершинами.)
Покажите, что для каждой из следующих задач оптимизации II существует коэффициент приближения такой, что -Approx- является -полной.
Network SMT: для данного графа , функции веса рёбер и подмножества найти связный подграф с минимальным суммарным весом рёбер, соединяющий вершины из .
Connected-VC: для данного графа найти минимальное вершинное покрытие такое, что подграф , порождённый , связен.
TSP with Triangle Inequality: для данного полного графа и функции расстояния , удовлетворяющей неравенству треугольника, найти гамильтонов цикл с минимальным суммарным расстоянием. (Функция расстояния удовлетворяет неравенству треугольника, если для любых трёх вершин .)
TSP with -Distance: для данного полного графа и функции веса рёбер найти гамильтонов цикл с минимальным суммарным расстоянием.
Для графа его рёберно-квадратный граф — это граф, полученный из заменой каждого ребра на копию , называемую , и соединением как , так и с каждой вершиной в .
Покажите, что -Approx-LP является NP-полной для некоторого .
Покажите, что если самый длинный простой путь в имеет длину , то самый длинный простой путь в имеет длину не менее . Более того, по данному пути длины в путь длины в можно найти за полиномиальное время.
Покажите, что -Approx-LP является NP-полной для всех .
Покажите, что для каждой из следующих задач оптимизации существует константа такая, что -Approx- является -полной.
Раскраска вершин: для данного графа найти раскраску (т.е. функцию ) с минимальным числом цветов такую, что никакие две смежные вершины не имеют одинакового цвета.
Раскраска рёбер: для данного графа найти раскраску (т.е. функцию ) с минимальным числом цветов такую, что никакие два смежных ребра (рёбра с общей вершиной) не имеют одинакового цвета.