Глава 7

NP-полнота

[71/58%]
Показать
LaTeX
§
7.1 · NP[23/65%]
Пример 7.2

SAT принадлежит NP.

?
Пример 7.3

Сформулируйте следующую головоломку в виде булевой формулы FF и решите её, определив, выполнима ли FF:

За пять игр до конца регулярного сезона командный математик доложил менеджеру бейсбольной команды A: «Мы всё ещё можем попасть в плей-офф, если победим команду BB, а также если команда BB побеждает команду CC, то команда CC побеждает команду DD, а если мы проигрываем команде CC, то команда DD также побеждает либо команду BB, либо команду CC». Позже, среди оставшихся пяти игр, каждая команда выиграла хотя бы одну игру, но ни одна команда не выиграла все свои оставшиеся игры, и не было ни одной ничьей. Был ли у команды A шанс попасть в плей-офф? Если да, то как?

?
Пример 7.4

Сформулируйте следующую головоломку в виде булевой формулы FF и решите её, определив, выполнима ли FF:

Трое мужчин по имени Льюис, Миллер и Нельсон занимают должности бухгалтера, кассира и управляющего в ведущем универмаге города NP. Об их работе известно следующее:

  • Если Нельсон — кассир, то Миллер — управляющий.

  • Если Нельсон — управляющий, то Миллер — бухгалтер.

  • Если Миллер — не кассир, то Льюис — управляющий.

  • Если Льюис — бухгалтер, то Нельсон — управляющий.

Какую должность занимает каждый из мужчин?

?
Пример 7.5

Гамильтонов цикл (HC): Дан граф GG, определить, есть ли в GG гамильтонов цикл.

HC принадлежит NP.

?
Пример 7.6

(Обход коня) Найти обход шахматной доски 8×88 \times 8 конём, который посещает каждую клетку ровно один раз и возвращается на начальную клетку.

36334027442946
34372532472643
74393641284530
38358148314225
964135617244958
1455106152571821
6312531623205950
5415621160512219
: Рисунок 7.1: Обход коня.
?
Пример 7.7

Вершинное покрытие (VC): Даны граф GG и положительное целое kk, определить, есть ли в GG вершинное покрытие размера не более kk.

VC принадлежит NP.

?
Пример 7.8

Задача о поражении множества (HS): Даны подмножества A1,A2,,AnA_{1}, A_{2}, \ldots , A_{n} множества SS и целое kk, определить, существует ли подмножество ASA \subseteq S размера Ak\left|A\right| \leq k такое, что AAiA \cap A_{i} \neq \emptyset для всех i=1,,ni=1, \ldots , n.

HS принадлежит NP.

?
Пример 7.9

Сформулируйте следующую логическую головоломку как экземпляр задачи HS и решите её, найдя правильное подмножество.

Три женщины, Джоан, Мишель и Трейси, сделали следующие заявления о своём возрасте.

Джоан: «Мне 92 года. Я на два года младше Мишель. Я на один год старше Трейси». Мишель: «Я не самая младшая. Мы с Трейси отличаемся по возрасту на три года. Трейси 25 лет». Трейси: «Я моложе Джоан. Джоан 23 года. Мишель на три года старше Джоан». Известно, что из трёх заявлений каждого человека ровно два верны. Каков их возраст?

?
Пример 7.10

IS принадлежит NP.

?
Пример 7.11

(Задача о восьми ферзях) Расставить восемь ферзей на доске 8×88 \times 8 так, чтобы они не били друг друга. (В шахматах ферзь бьёт другую фигуру, если они находятся в одной строке, или в одном столбце, или на одной диагонали.)

?
Пример 7.12

3DM принадлежит NP\mathrm{NP}.

?
Пример 7.13

IP принадлежит NP\mathrm{NP}.

?
Пример 7.15

Сформулируйте следующую логическую головоломку как экземпляр задачи IP и решите её, решив соответствующую систему неравенств.

Профессор XX выступал с коллоквиумом на кафедре теории сложности. Начав доклад, он заметил, что 15 присутствующих в аудитории удовлетворяют следующим условиям:

  • Студентов было больше, чем профессоров.

  • Профессоров-мужчин было больше, чем студентов-мужчин.

  • Студентов-мужчин было больше, чем студенток.

  • Была хотя бы одна женщина-профессор.

Пять минут спустя в комнату вбежал ещё один человек. Однако появление этого человека не изменило вышеуказанные четыре условия. Этот человек — мужчина или женщина, студент или профессор?

?
Пример 7.17

Prime принадлежит NP.

?
Пример 7.18

Докажите, что 683 — простое число.

?
Задача 7.1.1

Для любого множества AA пусть A={w#0nw — суффикс некоторого x из A с x=n}A^{\prime }=\left\{ w \# 0^{n} \mid w\text{ — суффикс некоторого }x\text{ из }A\text{ с }\left|x\right|=n\right\}, а A={ww имеет суффикс x из A}A^{\prime \prime }=\left\{ w \mid w\text{ имеет суффикс }x\text{ из }A\right\}. Покажите, что если AA принадлежит NP, то AA^{\prime } и AA^{\prime \prime } также принадлежат NP\mathrm{NP}.

?
Задача 7.1.2

Для любого множества B{0,1}#{0,1}B \subseteq \left\{ 0,1\right\}^{*} \# \left\{ 0,1\right\}^{*} пусть prefix(B)={x#ux,u{0,1},(v{0,1})x#uvB}\operatorname {prefix}(B)=\left\{ x \# u \mid x, u \in \left\{ 0,1\right\}^{*},\left(\exists v \in \left\{ 0,1\right\}^{*}\right) x \# u v \in B \right\}.

?
(a)

Предположим, что существует полиномиальная функция pp такая, что из x#yBx \# y \in B следует yp(x)\left|y\right| \leq p(\left|x\right|). Покажите, что если BNPB \in \mathrm{NP}, то prefix(B)NP(B) \in \mathrm{NP}.

(b)

Покажите, что если A={x(u)[up(x),x#uB}A=\left\{ x \mid (\exists u)[\left|u\right| \leq p(\left|x\right|), x \# u \in B\right\} для некоторой полиномиальной функции pp и если prefix(B)P(B) \in P, то APA \in P.

Задача 7.1.3

Функция f:{0,1}{0,1}f: \left\{ 0,1\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*} называется полиномиально-временно вычислимой, если существует полиномиально-временная ДМТ, вычисляющая функцию ff (то есть на входе xx она останавливается за p(x)p(|x|) шагов для некоторого полинома pp, со строкой f(x)f(x) на выходной ленте). Функция f:{0,1}{0,1}f: \left\{ 0,1\right\}^{*} \rightarrow \left\{ 0,1\right\}^{*} называется полиномиально честной, если существует полиномиальная функция pp такая, что f(x)p(x)|f(x)| \leq p(|x|) и xp(f(x))|x| \leq p(|f(x)|) для всех x{0,1}x \in \left\{ 0,1\right\}^{*}. Предположим, что ff полиномиально-временно вычислима и полиномиально честна.

?
(a)

Предположим, что ff — биекция. Покажите, что если ANPA \in \mathrm{NP}, то f(A)NPf(A) \in \mathrm{NP} и f1(A)NPf^{-1}(A) \in \mathrm{NP}.

(b)

Покажите, что если P=NPP=\mathrm{NP}, то следующие функции полиномиально-временно вычислимы:

Maxf(u,v)=max{f(x)ulex xlex v},Minf(u,v)=min{f(x)ulex xlex v}, \begin{aligned} \operatorname {Max}_{f}(u, v) & =\max \left\{ f(x) \mid u \leq _{\text{lex }} x \leq _{\text{lex }} v\right\} , \\ \operatorname {Min}_{f}(u, v) & =\min \left\{ f(x) \mid u \leq _{\text{lex }} x \leq _{\text{lex }} v\right\} , \end{aligned}

где lex \leq_{\text{lex }} — лексикографический порядок на {0,1}\left\{ 0,1\right\}^{*}.

Задача 7.1.4

Сформулируйте следующие головоломки как экземпляры задач из NP, а затем решите головоломки, найдя свидетелей для этих экземпляров:

?
(a)

Шесть мужчин, A,B,C,D,E\mathrm{A}, \mathrm{B}, \mathrm{C}, \mathrm{D}, \mathrm{E} и 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 не президент.

Как можно распределить три должности, удовлетворив всем указанным условиям?

(b)

Полиция арестовала четверых мужчин по подозрению в убийстве. На допросе они сделали следующие заявления:

Джон: «Это сделал Ник». Ник: «Это сделал Билл». Дэн: «Я этого не делал». Билл: «Ник солгал, когда сказал, что это сделал я».

Если известно, что ровно один из них — настоящий убийца и ровно одно из вышеуказанных заявлений истинно, кто убийца?

(c)

Браун, Джонс и Смит работают в деревне NP пожарным, полицейским и учителем, хотя и не обязательно соответственно. Кто-то в деревне сообщил, что:

  • Браун и учитель — соседи.

  • Джонс и учитель — соседи.

  • И Браун, и Смит — соседи пожарного.

  • И полицейский, и пожарный — соседи Джонса.

  • Все эти люди — соседи друг другу.

Однако на самом деле верны только два из этих утверждений. Можете ли вы определить, какую должность занимает каждый из мужчин?

(d)

И у Смитов, и у Тейлоров есть по два маленьких сына младше одиннадцати лет. Имена мальчиков, чей возраст, округлённый до ближайшего года, у всех разный, — Артур, Берт, Карл и Дэвид. Если брать возраст мальчиков только с точностью до ближайшего года, верны следующие утверждения:

  • Артур на три года младше своего брата.

  • Берт самый старший.

  • Карл вдвое младше одного из мальчиков Тейлоров.

  • Дэвид на пять лет старше младшего из мальчиков Смитов.

  • Суммарный возраст мальчиков в каждой семье сегодня отличается на ту же величину, что и пять лет назад.

Сколько лет каждому мальчику и к какой семье он принадлежит?»

Задача 7.1.5

Пороговая функция Tn,kT_{n, k} — это булева функция, определённая следующим образом:

Tn,k(x1,,xn)={1 если среди x1,,xn хотя бы k единиц0 иначе.  T_{n, k}\left(x_{1}, \cdots , x_{n}\right)= \begin{cases} 1 & \text{ если среди } x_{1}, \cdots , x_{n} \text{ хотя бы } k \text{ единиц} \\ 0 & \text{ иначе. }\end{cases}
?
(a)

Постройте булевы формулы Fn,kF_{n, k}, использующие операции ,,¬\wedge , \vee , \neg и переменные x1,x2,,xnx_{1}, x_{2}, \ldots , x_{n}, такие что они вычисляют функцию Tn,kT_{n, k}.

(b)

Покажите, что существуют булевы формулы Gn,kG_{n, k}, использующие операции ,\wedge , \vee, ¬\neg, переменные x1,x2,,xnx_{1}, x_{2}, \ldots , x_{n} и некоторые вспомогательные переменные y1,,ymy_{1}, \ldots , y_{m}, такие что (i) длина Gn,kG_{n, k} ограничена ncn^{c} для некоторой константы c>0c>0, и (ii) присваивание tt удовлетворяет Gn,kG_{n, k} тогда и только тогда, когда tt присваивает значение 1 хотя бы kk переменным из {x1,,xn}\left\{ x_{1}, \ldots , x_{n}\right\}.

Задача 7.1.6

Докажите, что следующие числа простые: 293,587,65537,214177293,587,65537,214177.

?
Задача 7.1.7

Покажите, что следующие задачи принадлежат NP:

?
(a)

Наидлиннейший путь (LP): Даны граф GG и целое k>0k>0, определить, есть ли в GG простой путь из не менее чем kk рёбер. (Путь простой, если ни одна вершина не встречается дважды.)

(b)

Задача коммивояжёра (TSP): Дан полный граф G=(V,E)G=(V, E) с функцией стоимости c:ENc: E \rightarrow \mathbf{N} и целое kk, определить, существует ли тур (то есть гамильтонов цикл) графа GG с суммарной стоимостью рёбер, не превышающей kk.

(c)

Изоморфизм графов (GIso): Даны два графа GG и HH, определить, изоморфен ли GG графу HH. (Два графа G=(V1,E1)G=\left(V_{1}, E_{1}\right) и H=(V2,E2)H=\left(V_{2}, E_{2}\right) изоморфны, если V1=V2\left|V_{1}\right|=\left|V_{2}\right| и существует взаимно однозначное отображение "на" f:V1V2f: V_{1} \rightarrow V_{2} такое, что {u,v}E1\left\{ u, v\right\} \in E_{1} тогда и только тогда, когда {f(u),f(v)}E2\left\{ f(u), f(v)\right\} \in E_{2}. Функция ff называется изоморфизмом.)

(d)

Ограниченная PCP: Дано конечное множество упорядоченных пар (x1,y1),\left(x_{1}, y_{1}\right), \ldots, (xn,yn)\left(x_{n}, y_{n}\right) строк над алфавитом Σ\Sigma и целое KK (в унарной форме 1K1^{K}), определить, существует ли конечная последовательность целых чисел (i1,i2,,im)\left(i_{1}, i_{2}, \ldots , i_{m}\right), с каждым ij{1,,n}i_{j} \in \left\{ 1, \ldots , n\right\} и mKm \leq K, такая что

xi1xi2xim=yi1yi2yim. x_{i_{1}} x_{i_{2}} \cdots x_{i_{m}}=y_{i_{1}} y_{i_{2}} \cdots y_{i_{m}}.
(e)

Ограниченное мощение (Bounded Tiling): Дано конечное число типов t0,t1,,tnt_{0}, t_{1}, \ldots , t_{n} цветных плиток и целое KK (в унарной форме 1K1^{K}), определить, возможно ли замостить квадрат K×KK \times K цветными плитками этих типов, начиная с плитки типа t0t_{0} в левом нижнем углу. (См. Упражнение 6 из Раздела 5.6 для подробностей определения.)

Задача 7.1.8

Пусть AA — целочисленная матрица размера n×nn \times n, а bbnn-мерный целочисленный вектор. Пусть α\alpha — максимальная абсолютная величина чисел в AA и bb, а q=max{m,n}q= \max \left\{ m, n\right\}.

?
(a)

Покажите, что если BB — квадратная подматрица AA, то det(B)(αq)q\left|\operatorname {det}(B)\right| \leq (\alpha q)^{q}, где det(B)\operatorname {det}(B) обозначает определитель матрицы BB.

(b)

Покажите, что если rank(A)=r<m\operatorname {rank}(A)=r<m, то существует ненулевой вектор zz такой, что Az=0A z=0 и максимальная абсолютная величина чисел в zz ограничена (αq)q(\alpha q)^{q}.

(c)

Предположим, что AxbA x \geq b имеет целочисленное решение xx. Пусть aia_{i} обозначает ii-ю строку AA, bib_{i}ii-ю компоненту bb, а eje_{j}jjmm-мерный единичный вектор (то есть все компоненты eje_{j} равны 0, кроме jj-й компоненты, равной 1). Пусть xx — решение AxbA x \geq b, максимизирующее число элементов следующего множества:

Ax={aibiaixbi+(αq)q+1,1in}{ejxj(αq)q,1jm} \begin{aligned} \mathcal{A}_{x}= & \left\{ a_{i} \mid b_{i} \leq a_{i} x \leq b_{i}+(\alpha q)^{q+1}, 1 \leq i \leq n\right\} \\ & \cup \left\{ e_{j} \mid \left|x_{j}\right| \leq (\alpha q)^{q}, 1 \leq j \leq m\right\} \end{aligned}

Докажите, что ранг Ax\mathcal{A}_{x} равен mm.

(d)

Используя (c) выше, докажите Лемму 7.14.

§
Пример 7.20

HC mPLP\leq_{m}^{P} \mathrm{LP}.

?
Пример 7.21

VCmP\mathrm{VC} \equiv_{m}^{P} IS.

?
Пример 7.22

GIso mP\equiv_{m}^{P} DGIso.

?
Пример 7.23

SAT mP\leq_{m}^{P} CNF-SAT.

?
Пример 7.24

VCmPIP\mathrm{VC} \leq_{m}^{P} \mathrm{IP}.

?
Пример 7.25

3DMmPSAT3\mathrm{DM} \leq_{m}^{P} \mathrm{SAT}.

?
Пример 7.26

3SATmPVC3\mathrm{SAT} \leq_{m}^{P} \mathrm{VC}.

?
Пример 7.27

3SATmpHC3\mathrm{SAT} \leq_{m}^{p} \mathrm{HC}.

?
Задача 7.2.1

Докажите, что CNF-Sat mP\leq_{m}^{P} 3Sat.

?
Задача 7.2.2

В этом упражнении мы рассматриваем альтернативное доказательство для примера 7.25. Заменим условия (1) и (2) условием (3): для каждого aABCa \in A \cup B \cup C существует тройка wWw \in W^{\prime } такая, что (i) awa \in w, и (ii) если wW,www^{\prime } \in W^{\prime }, w^{\prime } \neq w, то awa \notin w^{\prime }. Переведите это условие в булеву формулу GG над переменными xwx_{w} и покажите, что GG выполнима тогда и только тогда, когда WW имеет трёхмерное паросочетание WW^{\prime }.

?
Задача 7.2.3

Постройте следующие сведения:

?
(a)

3SAT mp3DM\leq_{m}^{p} 3 \mathrm{DM}.

(b)

VCmPHC\mathrm{VC} \leq_{m}^{P} \mathrm{HC}.

(c)

HCmP3Sat\mathrm{HC} \leq_{m}^{P} 3 \mathrm{Sat}_{\text{. }}

(d)

VCmPHS\mathrm{VC} \leq_{m}^{P} \mathrm{HS}.

Задача 7.2.4

Рассмотрим следующие варианты проблемы 3Sat:

3Sat-Exactly-One: дана 3-КНФ FF; определить, существует ли присваивание tt переменным FF, которое присваивает значение TRUE ровно одному литералу в каждом дизъюнкте FF.

3Sat-Not-All: дана 3-КНФ FF; определить, существует ли присваивание tt переменным FF, которое присваивает значение TRUE одному или двум литералам (но не всем трём) в каждом дизъюнкте FF.

Покажите, что 3Sat, 3Sat-Exact-One и 3Sat-Not-All полиномиально эквивалентны относительно mP\leq_{m}^{P}.

?
Задача 7.2.5

Рассмотрим следующие проблемы: Изоморфизм подграфов (SGIso): даны два графа G1=(V1,E1)G_{1}= \left(V_{1}, E_{1}\right) и G2=(V2,E2)G_{2}=\left(V_{2}, E_{2}\right); определить, существует ли инъективное отображение f:V1V2f: V_{1} \rightarrow V_{2} такое, что для всех u,vV1u, v \in V_{1}, {u,v}E1\left\{ u, v\right\} \in E_{1} влечёт {f(u),f(v)}E2\left\{ f(u), f(v)\right\} \in E_{2}.

Автоморфизм графа (GAuto): дан граф G=(V,E)G= (V, E); определить, существует ли инъективная функция f:VVf: V \rightarrow V, отличная от тождественной функции, такая, что для всех u,vV,{u,v}Eu, v \in V,\left\{ u, v\right\} \in E тогда и только тогда, когда {f(u),f(v)}E\left\{ f(u), f(v)\right\} \in E.

Докажите все полиномиальные сведения, какие вы сможете найти, среди трёх проблем GIso, SGIso и GAuto.

?
§
Пример 7.28

Покажите, что если P=NPP=\mathrm{NP}, то все непустые собственные подмножества AA множества Σ\Sigma^{*} являются NP-полными.

?
Пример 7.29

Если известно, что AA является NP\mathrm{NP}-полным, будет ли A2A^{2} всегда NP\mathrm{NP}-полным?

?
Пример 7.31

В доказательстве теоремы Кука мы использовали условия (4.1) (4.5)-(4.5) на ???-образных окнах над матрицей SS, чтобы обеспечить выполнение условия (4). Покажите, что если вместо этого работать с ???-образными окнами над матрицей SS, то никакие условия на эти окна не могут обеспечить выполнение условия (4). Другими словами, покажите, что следующее соотношение не выполняется ни для какого подмножества T(Γ)4T \subseteq \left(\Gamma^{\prime }\right)^{4} :

(j=0r(n)(a,b,c,d)Tyi,j1,ayi,j,byi,j+1,cyi+1,j,d)=1αiαi+1, \left(\prod _{j=0}^{r(n)} \sum _{(a, b, c, d) \in T} y_{i, j-1, a} y_{i, j, b} y_{i, j+1, c} y_{i+1, j, d}\right)=1 \Longleftrightarrow \alpha _{i} \vdash \alpha _{i+1},

где αi\alpha_{i} обозначает ii-ю конфигурацию, соответствующую присваиваниям переменным yi,j,ay_{i, j, a}.

?
Пример 7.32

Покажите, что в доказательстве теоремы Кука функция f1f_{1} необходима. То есть никакое определение подмножества TT не может сделать истинным следующее: Fx=f0f2f3f4F_{x}^{\prime }=f_{0} f_{2} f_{3} f_{4} выполнима тогда и только тогда, когда xL(M)x \in L(M).

?
Пример 7.33

В доказательстве теоремы Кука можно убрать условие (1), если заменить условие (4') новым условием (4'') над шестиклеточными окнами ???-образной формы. Найдите подусловия над шестиклеточными, ???-образными окнами, которые делают (4)\left(4^{\prime \prime }\right) эквивалентным условию (4) без предположения о выполнении условия (1).

?
Задача 7.3.1

Булева формула, являющаяся произведением литералов, называется элементарным произведением. ДНФ (дизъюнктивная нормальная форма) — это сумма элементарных произведений.

?
(a)

Докажите, что булеву формулу в ДНФ можно за полиномиальное время преобразовать в формулу в КНФ (возможно, с большим числом переменных), сохраняющую выполнимость.

(b)

Докажите, что если PNPP \neq \mathrm{NP}, то не существует полиномиального по времени алгоритма, преобразующего булеву формулу в КНФ в формулу в ДНФ и сохраняющего выполнимость.

Задача 7.3.2

Предположим, что AA и BB — два NP\mathrm{NP}-полных множества. Покажите, что ABA \cup B и ABA \cap B не обязательно являются NP\mathrm{NP}-полными, если PNPP \neq \mathrm{NP}. Всегда ли ABA \cup B является NP\mathrm{NP}-полным, если AB=A \cap B=\emptyset?

?
Задача 7.3.3

Это упражнение использует обозначения, определённые в упражнении 3 раздела 7.1.

?
(a)

Покажите, что существует полиномиально вычислимая, полиномиально честная функция ff, такая что её область значений f({0,1})f\left(\left\{ 0,1\right\}^{*}\right) является NP-полной. [Подсказка: для любого NP\mathrm{NP}-полного множества AA, ff принимает на входе экземпляр xx множества AA и строку yy и определяет, является ли yy свидетелем того, что xAx \in A.]

(b)

Определим Sf={u,v,yylev Minf(u,v)}S_{f}=\left\{ \langle u, v, y\rangle \mid y \geq_{\text{lev }} \operatorname {Min}_{f}(u, v)\right\}. Покажите, что существует полиномиально вычислимая, полиномиально честная функция ff, такая что SfS_{f} является NP-полным. [Подсказка: постройте функцию, аналогичную функции из пункта (a), за исключением того, что задача AA является задачей минимизации.]

Задача 7.3.4

Предположим, что PNPP \neq \mathrm{NP}. Пусть AA и BB — два множества, полных для coNPc o-\mathrm{NP} (т.е. Aˉ\bar{A} и Bˉ\bar{B} являются NP-полными). Обязательно ли ABA B принадлежит co-NP? Обязательно ли ABA B является co-NP-полным? Возможно ли, что ABA B принадлежит PP? Обоснуйте свой ответ.

?
Задача 7.3.5

Предположим, что в доказательстве теоремы Кука мы убираем условие (1) и заменяем условие (4)\left(4^{\prime }\right) на (4)(\overline{4}), которое задаёт некоторые подусловия на пятиклеточных окнах одной из четырёх форм, показанных на рисунке 7.11. Покажите, что никакие такие подусловия на пятиклеточных окнах не могут сделать (4) эквивалентным (4)\left(4^{\prime }\right).

?
Задача 7.3.6

Рассмотрим альтернативное доказательство теоремы Кука, приведённое в примере 7.33. Пусть T(Γ)6T \subseteq \left(\Gamma^{\prime }\right)^{6} — множество, соответствующее двенадцати окнам рисунка 7.10; то есть (a,b,c,d,e,g)T(a, b, c, d, e, g) \in T тогда и только тогда, когда (a,b,c,d,e,g)(a, b, c, d, e, g) имеет один из двенадцати видов на рисунке 7.10 и удовлетворяет соответствующим условиям, заданным в трёх случаях. Покажите, что если существует отображение ϕ:(Γ)3(Γ)3\phi :\left(\Gamma^{\prime }\right)^{3} \rightarrow \left(\Gamma^{\prime }\right)^{3}, такое что (a,b,c,d,e,g)T(a, b, c, d, e, g) \in T тогда и только тогда, когда ϕ(a,b,c)=(d,e,g)\phi (a, b, c)= (d, e, g), то L(M)L(M) принадлежит PP.

?
Задача 7.3.7

В этом упражнении мы рассматриваем иную схему для доказательства теоремы Кука. Вместо того чтобы присоединять символ состояния к ленточному символу, который в данный момент сканируется головкой ленты, мы можем определить отдельные булевы переменные для представления состояния и положения головки ленты. То есть, помимо переменных yi,j,ay_{i, j, a} (только для aΓa \in \Gamma), для каждого i=0,,r(n)i=0, \ldots , r(n) и каждого qQq \in Q мы определяем переменную Qi,qQ_{i, q}, означающую, что символ состояния конфигурации αi\alpha_{i} равен qq, а для каждой пары (i,j)(i, j), с i,j{0,,r(n)}i, j \in \left\{ 0, \ldots , r(n)\right\}, — переменную Hi,jH_{i, j}, означающую, что в конфигурации αi\alpha_{i} головка ленты сканирует jj-й символ. Чтобы доказать теорему Кука в этой схеме, нам нужно определить шесть булевых функций g1,,g6g_{1}, \ldots , g_{6}, таких что для k=1,,6,gk=1k=1, \ldots , 6, g_{k}=1 тогда и только тогда, когда выполняется приведённое ниже условие (k)(k):

(1) Для каждого i=0,,r(n)i=0, \ldots , r(n), αi\alpha_{i} находится ровно в одном состоянии.

(2) Для каждого i=0,,r(n)i=0, \ldots , r(n), головка сканирует ровно одну ячейку в αi\alpha_{i}.

(3) Для каждого i=0,,r(n)i=0, \ldots , r(n) и каждого j=0,,r(n)j=0, \ldots , r(n), jj-я ячейка αi\alpha_{i} содержит ровно один символ.

(4) α0\alpha_{0} — начальная конфигурация MM на входе xx.

(5) αr(n)\alpha_{r(n)} — допускающая конфигурация.

(6) Для каждого i=0,,r(n)1i=0, \ldots , r(n)-1, αiαi+1\alpha_{i} \vdash \alpha_{i+1}.

Предположим, что g1,,g5g_{1}, \ldots , g_{5} удовлетворяют условию, что gk=1g_{k}=1 тогда и только тогда, когда выполняется условие (k)(k). Также пусть g6g_{6} равно

i=0r(n)j=0r(n)qQuΓ(p,v,D)δ(q,u)[(Hˉi,j+Qˉi,q+yˉi,j,u+Hi+1,j+Δ)(Hˉi,j+Qˉi,q+yˉi,j,u+Qi+1,p)(Hˉi,j+Qˉi,q+yˉi,j,u+yi+1,j,v)] \begin{aligned} & \prod _{i=0}^{r(n)} \prod _{j=0}^{r(n)} \prod _{q \in Q} \prod _{u \in \Gamma } \sum _{(p, v, D) \in \delta (q, u)}\left[\left(\bar{H}_{i, j}+\bar{Q}_{i, q}+\bar{y}_{i, j, u}+H_{i+1, j+\Delta }\right)\right. \\ & \left.\cdot \left(\bar{H}_{i, j}+\bar{Q}_{i, q}+\bar{y}_{i, j, u}+Q_{i+1, p}\right) \cdot \left(\bar{H}_{i, j}+\bar{Q}_{i, q}+\bar{y}_{i, j, u}+y_{i+1, j, v}\right)\right] \end{aligned}

где Δ=1\Delta =-1, если D=LD=L, и Δ=1\Delta =1, если D=RD=R. Найдите контрпример, опровергающий, что Gx=i=16gi=1G_{x}=\prod_{i=1}^{6} g_{i}=1 тогда и только тогда, когда MM допускает xx. Найдите новую функцию g6g_{6}, для которой Gx=1G_{x}=1 тогда и только тогда, когда MM допускает xx.

?
§
Пример 7.36

Остаётся ли задача VC NP-полной, если каждое ребро должно покрываться ровно одной вершиной?

?
Пример 7.37

Докажите, что MCG является NP-полной.

?
Пример 7.38

Partition является NP-полной.

?
Пример 7.39

Knapsack является NP-полной.

?
Пример 7.40

BP является NP-полной.

?
Пример 7.41

Покажите, что следующая задача является NP-полной: Даны положительные целые числа a1,,ana_{1}, \ldots , a_{n}; определить, выполняется ли

02π(i=1ncos(ait))dt0 \int _{0}^{2 \pi }\left(\prod _{i=1}^{n} \cos \left(a_{i} t\right)\right) d t \neq 0
?
Пример 7.42

SMT является NP-полной.

?
Задача 7.4.1

Для каждой из следующих задач определите, является ли она NP\mathrm{NP}-полной или принадлежит PP. Если она NP\mathrm{NP}-полна, найдите сведение от известной NP\mathrm{NP}-полной задачи к ней. Если она принадлежит PP, найдите для неё полиномиальный алгоритм.

?
(a)

Даны граф GG, две вершины ss и tt в GG и положительное целое число kk; определить, существует ли между ss и tt путь длины не более kk.

(b)

Даны граф GG, две вершины ss и tt в GG и положительное целое число kk; определить, существует ли между ss и tt путь длины не менее kk.

(c)

Дан ориентированный граф GG; определить, содержит ли GG цикл нечётной длины.

(d)

Дан ориентированный граф GG; определить, содержит ли GG цикл чётной длины.

(e)

Дан граф GG; определить, содержит ли GG цикл нечётной длины.

(f)

Даны полный граф GG с весами на рёбрах, три подмножества вершин X1,X2X_{1}, X_{2}, X3X_{3} и положительное целое число kk; определить, существует ли подграф HH графа GG веса k\leq k, содержащий остовное дерево для каждого из X1,X2X_{1}, X_{2} и X3X_{3}. (Остовным деревом для подмножества XVX \subseteq V называется связный подграф HH графа GG на множестве вершин XX, не содержащий циклов.)

(g)

Даны граф G=(V,E)G=(V, E) и положительное целое число kk; определить, существует ли подмножество TET \subseteq E из не более чем kk рёбер, такое что каждая вершина из VV инцидентна хотя бы одному ребру из TT.

(h)

Неэквивалентность регулярных выражений: Даны два регулярных выражения r1r_{1} и r2r_{2} без операции звезды Клини; определить, выполняется ли L(r1)L(r2)L\left(r_{1}\right) \neq L\left(r_{2}\right).

(i)

Ограниченная PCP (см. упражнение 7(d) раздела 7.1).

(j)

Ограниченное замощение (Bounded Tiling) (см. упражнение 7(e) раздела 7.1).

Задача 7.4.2

Докажите, что следующие варианты задачи VC являются NP\mathrm{NP}-полными:

?
(a)

Planar VC: задача VC, ограниченная планарными графами. (Планарным графом называется граф, который можно нарисовать на двумерной плоскости так, что никакие два ребра не пересекаются в точке, не являющейся вершиной.)

(b)

Cubic VC: задача VC, ограниченная кубическими графами. (Кубическим графом называется граф, в котором каждая вершина имеет степень три.)

(c)

Planar Connected-VC-4: Даны планарный граф G=(V,E)G=(V, E), в котором каждая вершина из VV имеет степень не более 4, и целое число k>0k>0; определить, существует ли вершинное покрытие CC графа GG размера kk такое, что порождённый подграф GC\left.G\right|_{C} на множестве вершин CC связен.

(d)

Дан граф GG; определить, имеет ли GG вершинное покрытие CC, удовлетворяющее следующим условиям:

(i) Подграф GC\left.G\right|_{C}, порождённый CC, не имеет изолированных точек.

(ii) Каждая вершина из CC смежна с вершиной, не принадлежащей CC.

Задача 7.4.3

Полярным представлением КНФ FF называется двудольный граф GF=(V1,V2,E)G_{F}= \left(V_{1}, V_{2}, E\right), где V1V_{1} — множество всех переменных, а V2V_{2} — множество всех дизъюнктов в FF, причём в EE есть ребро между xiV1x_{i} \in V_{1} и cjV2c_{j} \in V_{2} тогда и только тогда, когда переменная xix_{i} встречается в дизъюнкте cjc_{j} (в виде xix_{i} или xˉi\bar{x}_{i}). Докажите следующие утверждения:

?
(a)

(x+y+zˉ)(xˉ+z+w)(xˉ+z+wˉ)(yˉ+z+u)(yˉ+z+uˉ)(x+y+\bar{z})(\bar{x}+z+w)(\bar{x}+z+\bar{w})(\bar{y}+z+u)(\bar{y}+z+\bar{u}) имеет планарное полярное представление и выполнима тогда и только тогда, когда x+y=zx+y=z.

(b)

Существует 3-КНФ формула FF с планарным полярным представлением и тремя переменными x,yx, y и zz, такая что FF выполнима тогда и только тогда, когда xy=zx y=z.

(c)

Существует 3-КНФ формула FF с планарным полярным представлением и тремя переменными x,yx, y и zz, такая что FF выполнима тогда и только тогда, когда xy=zx \oplus y=z. [Указание: xy=x(xˉ+yˉ)+(xˉ+yˉ)yx \oplus y=x(\bar{x}+\bar{y})+(\bar{x}+\bar{y}) y.]

(d)

Следующая задача, называемая Planar Polar-3Sat, является NP-полной: Дана 3-КНФ формула FF с планарным полярным представлением; определить, выполнима ли FF. [Указание: примените к построению тот факт, что x(xy)=yx \oplus (x \oplus y)=y и (xy)y=x(x \oplus y) \oplus y=x.]

Задача 7.4.4

Неполярным представлением КНФ FF называется граф GF=(V,E)G_{F}=(V, E), множество вершин VV которого состоит из всех литералов и всех дизъюнктов в FF, а множество рёбер EE состоит из всех пар {x,xˉ}\left\{ x, \bar{x}\right\} по всем переменным xx в FF, а также всех пар литерал-дизъюнкт {z,c}\left\{ z, c\right\} таких, что zz встречается в cc. Докажите следующие утверждения:

?
(a)

Если неполярное представление КНФ-формулы FF планарно, то её полярное представление также обязательно планарно. Однако обратное не обязательно верно.

(b)

Следующая задача, называемая Planar Nonpolar-3Sat, является NP-полной: Дана 3-КНФ формула FF с планарным неполярным представлением; определить, выполнима ли FF.

Задача 7.4.5

(k,)(k, \ell )-КНФ FF — это КНФ, в которой каждый дизъюнкт содержит ровно kk литералов, а каждая переменная встречается не более чем в \ell дизъюнктах. Задача (k,)(k, \ell )-Sat — это задача 3SaT, ограниченная (k,)(k, \ell )-КНФ. Докажите следующие результаты:

?
(a)

При любом k>0k>0 каждая (k,k)(k, k)-КНФ FF выполнима.

(b)

При любом >0\ell >0 задача (2, \ell)-SAT полиномиально разрешима. (На самом деле задача 2Sat, являющаяся задачей 3Sat, ограниченной КНФ с не более чем 2 литералами в каждом дизъюнкте, полиномиально разрешима.)

(c)

(3,4)(3,4)-Sat является NP\mathrm{NP}-полной.

§
Пример 7.43

Покажите, что Min-VC является NP-полной задачей поиска.

?
Пример 7.46

TSP является NP-полной.

?
Пример 7.47

Задача rr-Approx-TSP является NP-полной для всех r>1r>1.

?
Пример 7.49

Задача rr-Approx-VC является NP-полной для некоторого r>1r>1.

?
Пример 7.51

Для каждого d3d \geq 3 задача rr-Approx-VC-dd является NP-полной для некоторого r>1r>1.

?
Пример 7.52

Для 1<r<21<r<\sqrt{2} задача rr-Approx-BST является NP-полной.

?
Задача 7.5.1

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

?
(a)

Max-3Sat.

(b)

Версия оптимизации KNAPSACK.

(c)

LP (версия оптимизации): для данного графа GG найти самый длинный простой путь в GG.

(d)

Для данного положительного целого числа nn найти его наибольший простой делитель.

Задача 7.5.2

Для каждой из следующих задач оптимизации покажите, что она NP-полна:

?
(a)

Для данного ориентированного графа найти минимальное подмножество рёбер такое, что каждый ориентированный цикл содержит хотя бы одно ребро из этого подмножества.

(b)

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

(c)

Для данных целых чисел a1,a2,,an,b1,b2,,bn,sa_{1}, a_{2}, \ldots , a_{n}, b_{1}, b_{2}, \ldots , b_{n}, s и tt найти x1,x2,x_{1}, x_{2}, \ldots, xn{0,1}x_{n} \in \left\{ 0,1\right\}, максимизирующие значение x1+x2++xnx_{1}+x_{2}+\cdots +x_{n}, при следующих ограничениях:

a1x1+a2x2++anxns,b1x1+b2x2++bnxnt. \begin{aligned} a_{1} x_{1}+a_{2} x_{2}+\cdots +a_{n} x_{n} & \leq s, \\ b_{1} x_{1}+b_{2} x_{2}+\cdots +b_{n} x_{n} & \leq t. \end{aligned}
(d)

Для данного графа найти колесо максимального размера. (Колесо размера kk — это подграф из k+1k+1 вершин, в котором kk вершин образуют простой цикл, а оставшаяся вершина соединена со всеми этими kk вершинами.)

Задача 7.5.3

Покажите, что для каждой из следующих задач оптимизации II существует коэффициент приближения r>1r>1 такой, что rr-Approx- Π\Pi является NP\mathrm{NP}-полной.

?
(a)

Network SMT: для данного графа G=(V,E)G=(V, E), функции веса рёбер w:E Nw: E \rightarrow \mathrm{~ N} и подмножества PVP \subseteq V найти связный подграф с минимальным суммарным весом рёбер, соединяющий вершины из PP.

(b)

Connected-VC: для данного графа GG найти минимальное вершинное покрытие CC такое, что подграф GC\left.G\right|_{C}, порождённый CC, связен.

(c)

TSP with Triangle Inequality: для данного полного графа GG и функции расстояния d:E Nd: E \rightarrow \mathrm{~ N}, удовлетворяющей неравенству треугольника, найти гамильтонов цикл с минимальным суммарным расстоянием. (Функция расстояния d:ENd: E \rightarrow \mathbf{N} удовлетворяет неравенству треугольника, если d({a,b})+d({b,c})d({a,c})d(\left\{ a, b\right\} )+d(\left\{ b, c\right\} ) \geq d(\left\{ a, c\right\} ) для любых трёх вершин a,b,ca, b, c.)

(d)

TSP with (1,2)(1,2)-Distance: для данного полного графа GG и функции веса рёбер d:E{1,2}d: E \rightarrow \left\{ 1,2\right\} найти гамильтонов цикл с минимальным суммарным расстоянием.

Задача 7.5.4

Для графа GG его рёберно-квадратный граф G2G^{2} — это граф, полученный из GG заменой каждого ребра {u,v}\left\{ u, v\right\} на копию GG, называемую Gu,vG_{u, v}, и соединением как uu, так и vv с каждой вершиной в Gu,vG_{u, v}.

?
(a)

Покажите, что rr-Approx-LP является NP-полной для некоторого r>1r>1.

(b)

Покажите, что если самый длинный простой путь в GG имеет длину \ell, то самый длинный простой путь в G2G^{2} имеет длину не менее 2\ell^{2}. Более того, по данному пути длины mm в G2G^{2} путь длины m1\sqrt{m}-1 в GG можно найти за полиномиальное время.

(c)

Покажите, что rr-Approx-LP является NP-полной для всех r>1r>1.

Задача 7.5.5

Покажите, что для каждой из следующих задач оптимизации Π\Pi существует константа ε>0\varepsilon >0 такая, что nεn^{\varepsilon }-Approx- Π\Pi является NP\mathrm{NP}-полной.

?
(a)

Раскраска вершин: для данного графа G=(V,E)G=(V, E) найти раскраску VV (т.е. функцию c:V{1,2,,m}c: V \rightarrow \left\{ 1,2, \ldots , m\right\}) с минимальным числом mm цветов такую, что никакие две смежные вершины не имеют одинакового цвета.

(b)

Раскраска рёбер: для данного графа G=(V,E)G=(V, E) найти раскраску EE (т.е. функцию c:E{1,2,,m}c: E \rightarrow \left\{ 1,2, \ldots , m\right\}) с минимальным числом mm цветов такую, что никакие два смежных ребра (рёбра с общей вершиной) не имеют одинакового цвета.