Задачи
[14/7%]Опишите ошибку в следующем ошибочном «доказательстве» того, что . Предположим, что , и придём к противоречию. Если , то , и потому при некотором , . Поскольку каждый язык из NP сводится к за полиномиальное время, получаем . Следовательно, . Но по теореме об иерархии по времени, содержит язык, не принадлежащий , что противоречит . Следовательно, .
Рассмотрим функцию pad : , определённую следующим образом. Пусть , где , а — длина . Таким образом, просто добавляет к концу достаточно много копий нового символа , чтобы длина результата была не менее . Для произвольного языка и функции определим язык как
Докажите, что если , то .
Докажите, что если NEXPTIME EXPTIME, то . Вам может пригодиться функция pad, определённая в задаче 9.13.
Определим pad, как в задаче 9.13.
Докажите, что для любого языка и натурального числа , тогда и только тогда, когда .
Докажите, что .
Докажите, что .
- Вспомните определение 2DFA (двухголовочного конечного автомата), приведённое в задаче 5.26. Докажите, что P содержит язык, не распознаваемый никаким 2DFA.
Задача 5.26: Двухголовочный конечный автомат (2DFA) — это детерминированный конечный автомат с двумя доступными только для чтения двунаправленными головками, которые начинают работу с левого конца входной ленты и могут независимо перемещаться в любом направлении. Лента 2DFA конечна и имеет размер, достаточный лишь для размещения входных данных плюс две дополнительные пустые ячейки ленты — по одной с каждого конца — служащие разделителями. 2DFA допускает входную строку, переходя в специальное допускающее состояние.
Пусть . Покажите, что P.
Определим задачу об однозначной выполнимости как
Покажите, что USAT .
Докажите, что существует оракул , для которого .
Машиной Тьюринга с оракулом и запросами называется машина Тьюринга с оракулом, которой разрешено делать не более запросов на каждом входе. Машина Тьюринга с оракулом для и запросами обозначается . Определим как совокупность языков, разрешаемых полиномиальными по времени машинами Тьюринга с оракулом для и запросами.
Покажите, что .
Предположим, что . Покажите, что .
Предположим, что и — два оракула. Один из них — оракул для , но вы не знаете, какой именно. Приведите алгоритм, имеющий доступ и к , и к , который гарантированно решает TQBF за полиномиальное время.
Напомним, что можно рассматривать схемы, выдающие строки над , выделив несколько выходных вентилей. Пусть принимает два -битовых двоичных целых числа и выдаёт их -битовую сумму. Покажите, что функцию add можно вычислить схемами размера .
Определим функцию majority как
Таким образом, функция majority возвращает результат голосования большинства входов. Покажите, что majority можно вычислить:
схемами размера .
схемами размера . (Подсказка: рекурсивно делите число входов пополам и используйте результат задачи 9.23.)
- Определим функцию majority, как в задаче 9.24. Покажите, что её можно вычислить схемами размера .
Задача 9.24: Функция определяется как
Таким образом, функция возвращает результат голосования большинством по входным значениям.