Задачи
[27/4%]Пусть . Покажите, что PSPACE.
Лестницей называется последовательность строк , в которой каждая строка отличается от предыдущей ровно одним символом. Например, вот лестница из английских слов, начинающаяся с «head» и заканчивающаяся «free»: head, hear, near, fear, bear, beer, deer, deed, feed, feet, fret, free. Пусть . Покажите, что принадлежит PSPACE.
В японской игре го-моку двое игроков, «X» и «O», играют на доске . Игроки по очереди ставят фишки, и выигрывает тот, кто первым выстроит пять своих фишек подряд по горизонтали, вертикали или диагонали. Рассмотрим эту игру, обобщённую на доску . Пусть
Под позицией мы понимаем доску с расставленными на ней фишками — такую, какая может встретиться в середине партии, — вместе с указанием того, чей ход следующий. Покажите, что PSPACE.
Покажите, что если каждый NP-трудный язык также PSPACE-труден, то PSPACE = NP.
Покажите, что , ограниченная формулами, где часть после кванторов записана в конъюнктивной нормальной форме, по-прежнему PSPACE-полна.
Определим . Покажите, что PSPACE-полна.
- Игра «кот и мышь» ведётся двумя игроками, «Кот» и «Мышь», на произвольном неориентированном графе. В каждый момент каждый игрок занимает некоторую вершину графа. Игроки по очереди перемещаются в вершину, смежную с той, которую они занимают в данный момент. Особая вершина графа называется «Нора». Кот выигрывает, если игроки когда-либо оказываются в одной и той же вершине. Мышь выигрывает, если она достигает Норы раньше, чем произойдёт предыдущее событие. Игра завершается вничью, если ситуация повторяется (то есть оба игрока одновременно занимают позиции, которые они уже одновременно занимали ранее, причём ход того же самого игрока).
Покажите, что HAPPY-CAT принадлежит P. (Подсказка: решение несложное и не зависит от тонких деталей того, как именно определена игра. Рассмотрите всё дерево игры целиком. Оно экспоненциально велико, но его можно обойти за полиномиальное время.)
Рассмотрим следующий вариант языка PUZZLE, описанного в задаче 7.28, для двух игроков. Каждый игрок начинает с упорядоченной стопкой карточек-головоломки. Игроки по очереди кладут карточки по порядку в коробку и могут выбирать, какой стороной вверх. Игрок I выигрывает, если в итоговой стопке все позиции отверстий перекрыты, а Игрок II выигрывает, если хотя бы одна позиция отверстия остаётся не перекрытой. Покажите, что задача определения того, у какого игрока есть выигрышная стратегия для данной начальной конфигурации карточек, PSPACE-полна.
Задача 7.28: Вам дана коробка и набор карточек, каждая из которых помещается в коробку одним из двух способов благодаря штырькам в коробке и выемкам на карточках. Каждая карточка содержит два столбца отверстий, некоторые из которых могут быть непробитыми. Головоломка решена, если все карточки размещены в коробке так, что полностью закрывают дно коробки (т.е. каждая позиция отверстия перекрыта хотя бы одной карточкой, у которой в этом месте нет отверстия). .
Вспомните определение MIN-FORMULA из задачи 7.46.
Покажите, что MIN-FORMULA PSPACE.
Объясните, почему следующее рассуждение не показывает, что MIN-FORMULA coNP: Если FORMULA, то у есть более короткая эквивалентная формула. НМТ может проверить, что , угадав эту формулу.
Пусть — язык правильно вложенных скобок. Например, (()) и (()(()))() принадлежат , а )( — нет. Покажите, что принадлежит L.
- Пусть — язык правильно вложенных круглых и квадратных скобок. Например, (()()[]) принадлежит , а ([)] — нет. Покажите, что принадлежит L.
- Игра Ним ведётся с набором кучек камней. За один ход игрок может убрать любое ненулевое число камней из одной кучки. Игроки по очереди делают ходы. Игрок, убирающий самый последний камень, проигрывает. Пусть у нас есть игровая позиция в Ниме с кучками, содержащими камней. Назовём позицию сбалансированной, если в каждом разряде бит нечётное число единиц не встречается — то есть каждый разряд содержит чётное число единиц, — когда каждое из чисел записано в двоичной системе, а сами двоичные числа выписаны в виде строк матрицы, выровненных по младшим разрядам. Докажите следующие два факта.
Начиная с несбалансированной позиции, существует ход, переводящий позицию в сбалансированную.
Начиная со сбалансированной позиции, любой ход переводит позицию в несбалансированную.
Пусть . Используя приведённые выше факты о сбалансированных позициях, покажите, что .
Пусть . Покажите, что MULT .
Для произвольного положительного целого пусть — целое число, двоичная запись которого является обращением двоичной записи . (Считайте, что в двоичной записи нет ведущих нулей.) Определим функцию , где .
Пусть . Покажите, что .
Пусть . Покажите, что .
Пусть . Покажите, что .
Пусть . (Заметим, что двоичная запись суммы предполагается без ведущих нулей. Палиндром — это строка, равная своему обращению.) Покажите, что PAL-ADD .
- Определим . Покажите, что UCYCLE . (Примечание: может быть графом, не являющимся связным.)
- Для каждого предъявите два регулярных выражения, и , длины , для которых , но первая строка, на которой они различаются, имеет экспоненциальную длину. Иными словами, и должны быть различны, но при этом совпадать на всех строках длины вплоть до для некоторой константы .
Неориентированный граф называется двудольным, если его вершины можно разбить на два множества так, чтобы все рёбра шли из вершины одного множества в вершину другого. Покажите, что граф двудолен тогда и только тогда, когда он не содержит цикла с нечётным числом вершин. Пусть BIPARTITE . Покажите, что BIPARTITE NL.
Определим UPATH как аналог PATH для неориентированных графов. Покажите, что UPATH. (Примечание: на самом деле можно доказать, что UPATH , а значит, и BIPARTITE , но алгоритм [62] слишком сложен, чтобы приводить его здесь.)
Вспомним, что ориентированный граф называется сильно связным, если любые две вершины соединены ориентированным путём в каждом направлении. Пусть
Покажите, что STRONGLY-CONNECTED NL-полна.
Пусть . Покажите, что NL-полна.
Покажите, что NL-полна.
Покажите, что NL-полна.
- Покажите, что 2SAT NL-полна.
Пусть . Покажите, что NL-полна.
- Приведите пример NL-полного контекстно-свободного языка.
Определим . Покажите, что CYCLE NL-полна.