7.1

NP

[23/65%]
Показать
LaTeX
Пример 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.