Теория вычислимости
[90/36%]Покажите, что множество примитивно рекурсивно.
Покажите, что следующие предикаты примитивно рекурсивны:
legal является корректным кодом конфигурации .
final legal и является финальной конфигурацией .
если final , то , иначе .
Покажите, что следующие функции примитивно рекурсивны:
начальная конфигурация на входах (, , закодированная так, как описано выше.
выход, содержащийся в , если является финальной конфигурацией , и в противном случае.
Покажите, что следующие функции примитивно рекурсивны:
является корректным кодом ДМТ и , ) равно и представляет состояние в ].
код ДМТ, полученной из заменой каждого состояния на , если является корректным кодом ДМТ ; и в противном случае.
является корректным кодом ДМТ и не определена в состоянии ни для какого символа из .
Завершите доказательство примера 5.4(c).
Покажите подробно, как универсальная ДМТ моделирует работу ДМТ . В частности, приведите инструкции, которые ищут код инструкции, соответствующий текущему состоянию на ленте 3 и текущему символу на ленте 2. Затем покажите, как изменить состояние, изменить символ на ленте и сдвинуться влево или вправо в соответствии с кодом инструкции.
Пусть множества и являются р.п. Покажите, что множества и также являются р.п.
Покажите, что множество является р.п.
Покажите, что если является р.п., то также является р.п.
Покажите, что область значений частично рекурсивной функции : является р.п. множеством.
Покажите, что если и — рекурсивные множества, то , и также рекурсивны.
Пусть — р.п. множества. Пусть
Постройте ДМТ, которая моделирует параллельную работу трёх ДМТ, допускающих множества и , и допускает множество .
Постройте ДМТ, которая моделирует работу трёх ДМТ, допускающих множества и , методом чередования, и допускает .
Найдите рекурсивный предикат такой, что .
Разработайте два алгоритма чередования для множества из примера 5.11: первый — на основе интуитивного алгоритма, приведённого в решении, а второй — на основе последней строки доказательства с помощью теоремы о проекции.
Пусть и . Пусть также существуют три частично рекурсивные функции , обладающие следующими свойствами:
Докажите, что множества все рекурсивны.
Пусть и — три ДМТ, вычисляющие функции и соответственно. Постройте ДМТ, которые моделируют работу и для вычисления и .
Покажите, что каждое бесконечное р.п. множество имеет бесконечное рекурсивное подмножество.
Пусть — частично рекурсивная функция, а — р.п. множество. Покажите, что и являются р.п. (Напомним, что и .)
Пусть — рекурсивная функция, а — рекурсивное множество. Является ли рекурсивным? Является ли рекурсивным?
Функция называется строго возрастающей, если для всех . Покажите, что бесконечное множество рекурсивно тогда и только тогда, когда является областью значений строго возрастающей рекурсивной функции .
Покажите, что следующие множества являются р.п.
.
. [Указание: используйте гёделеву нумерацию, чтобы закодировать строк в одну строку.]
.
.
.
Напомним, что . Определим .
Покажите, что если и — р.п. множества, то , и также являются р.п.
Покажите, что если и — рекурсивные множества, то , и также рекурсивны.
Определим множество .
Докажите, что является р.п.
Является ли рекурсивным? Почему?
Покажите, что следующая функция частично рекурсивна:
Покажите, что множество функций из в несчётно.
Покажите, что существует ко-р.п. множество, не являющееся р.п.
Мы говорим, что частично рекурсивная функция продолжима, если существует рекурсивная функция такая, что всякий раз, когда . Покажите, что существует частично рекурсивная функция, не являющаяся продолжимой.
Покажите, что TOT не является р.п.
Покажите, что существует простое множество.
Пусть — произвольное множество (не обязательно счётное). Покажите, что не существует взаимно однозначного соответствия между множеством и множеством всех подмножеств .
Покажите, что множество всех инъективных возрастающих функций из в N несчётно.
Что не так в следующих диагональных доказательствах?
Мы покажем, что существует частично рекурсивная функция , которая не перечислена среди . Определим . Тогда, в силу существования универсальной ДМТ, видно, что частично рекурсивна. Таким образом, мы получили частично рекурсивную функцию , отличную от каждой на входе , .
Мы покажем, что множество не является р.п. Предположим, от противного, что REC является р.п. Тогда существует рекурсивная функция , областью значений которой является REC. Определим . Поскольку каждое рекурсивно, разрешимо, принадлежит ли множеству . Следовательно, — рекурсивное множество. Но это противоречие, поскольку для каждого .
Пусть — множество со следующими свойствами: (i) рекурсивна для всех , и (ii) для каждой рекурсивной функции имеем для некоторого . Покажите, что не является р.п. множеством.
Покажите, что класс примитивно рекурсивных функций эффективно перечислим (в том смысле, что существует р.п. множество такое, что (i) примитивно рекурсивна для всех , и (ii) для каждой примитивно рекурсивной функции имеем для некоторого ).
Покажите, что существует рекурсивная функция, не являющаяся примитивно рекурсивной.
Покажите, что множество не является рекурсивным множеством.
Покажите, что множество не является р.п. множеством.
Мы говорим, что два множества и рекурсивно отделимы, если существует рекурсивное множество такое, что и . Покажите, что для любых множества и не являются рекурсивно отделимыми, где .
Дайте формальное доказательство того, что множество , определённое в примере 5.23, является р.п. А именно, пусть — строка, печатаемая на стадии алгоритмом для (, если на стадии не выводится никакая строка). Докажите, что частично рекурсивна (не используя тезис Чёрча — Тьюринга).
Покажите, что существует множество такое, что и , и бесконечны, но ни одно из них не имеет бесконечного р.п. подмножества.
Пусть и — непустые собственные подмножества .
Покажите, что если рекурсивно, то .
Покажите, что если разности множеств и оба рекурсивны, то .
Покажите, что множество не рекурсивно.
Проблема останова полна.
Пусть — нетривиальное индексное множество функций. Покажите, что если EMP , то не является р.п. Таким образом, следующие индексные множества не являются р.п.: , EMP, , Fin, Rec, Reg и Rev.
Пусть — р.п. индексное множество. Покажите, что если и , то . Таким образом, следующие множества не являются р.п.: .
Пусть — р.п. индексное множество функций. Покажите, что если , то существует такое, что — конечное подмножество . Таким образом, следующие множества не являются р.п.: Tot, .
Покажите, что TOT и TOT.
(Продолжение) Покажите, с помощью ---теоремы, что .
Пусть и . Покажите, что если и являются р.п., то .
Если инъективна, определим . Покажите, что существует рекурсивная функция такая, что для каждой инъективной функции выполнено .
Покажите, что существует рекурсивная функция такая, что .
Покажите, что для каждой частично рекурсивной функции существует рекурсивная функция такая, что .
Покажите, что существует рекурсивная функция такая, что для всех ,
(Теорема Райса для р.п. индексных множеств) Для конечного множества будем говорить, что (в любом порядке) — код . Покажите, что индексное множество является р.п. тогда и только тогда, когда
-
из и следует ;
-
из следует, что существует такое, что — конечное подмножество ; и
-
существует р.п. множество , содержащее коды всех и только конечных множеств таких, что (т.е. для каждого , для которого конечно, содержит хотя бы один его код, и для каждого и каждого такого, что .
Для каждой частично рекурсивной функции обозначим через её область определения . Пусть — три частично рекурсивные функции.
Покажите, что существует частично рекурсивная функция такая, что , и для каждого выполнено , или , или .
Покажите, что не всегда существует частично рекурсивная функция такая, что , и для каждого выполнено , или , или , и для каждого выполнено .
Определим
Является ли частично рекурсивной функцией? Докажите свой ответ.
Покажите, что существует р.п. множество такое, что не является р.п.
Покажите, что если — р.п. индексное множество, то также является р.п.
Пусть — класс всех рекурсивных множеств, — класс всех р.п. множеств, не являющихся рекурсивными, — класс всех ко-р.п. множеств, не являющихся р.п., а — класс всех множеств, которые не являются ни р.п., ни ко-р.п. Для каждого из следующих множеств определите, какому классу , оно принадлежит.
.
.
.
.
.
.
, где — фиксированное положительное целое число.
.
, где — множество простых чисел.
, где — множество простых чисел.
.
Множество называется однозначным, если для каждого существует не более одного такого, что . Пусть . Покажите, что EMP и EMP,
Покажите, что существует рекурсивный предикат такой, что
Пусть COINF . Покажите, что существует рекурсивный предикат такой, что
Докажите следующие сведения:
TOT REC.
TOT COINF.
Пусть .
Покажите, что существует рекурсивный предикат такой, что
Покажите, что Tot и Tot .
Пусть .
Покажите, что существует рекурсивный предикат такой, что
Покажите, что REC .
Множество называется продуктивным, если существует частично рекурсивная функция такая, что для каждого , если , то и .
Покажите, что если продуктивно, то имеет бесконечное р.п. подмножество.
Покажите, что если , то продуктивно.
Заключите из (a) и (b) выше, что простое множество не может быть полным р.п. множеством.
Покажите, что существуют два р.п. множества и такие, что и .
(Продолжение) Докажите теорему Райса с помощью теоремы о рекурсии.
Покажите, что существует константа такая, что для всех .
Покажите, что существует константа такая, что .
Покажите, что существует константа такая, что .
Напишите программу (на псевдо-Паскале), которая на любом входе печатает свой собственный программный код в качестве выхода (такая программа называется самовоспроизводящейся).
Пусть — рекурсивная функция. Покажите, что существует целое число такое, что — рекурсивное множество, и наименьшее целое число такое, что , больше .
(Трудолюбивый бобр) Пусть . Покажите, что не является рекурсивной функцией.
Для каждой строки , — это минимальная машина Тьюринга (в нашей стандартной нумерации), которая печатает , начиная с пустого входа. Интуитивно мы можем рассматривать как строку, кодирующую минимальную информацию о , необходимую для того, чтобы восстановить с помощью универсальной ДМТ . (Замечание: по определению, .) Идея доказательства состоит в том, что если бы была рекурсивна, мы могли бы использовать ДМТ , вычисляющую , чтобы искать строки , чьи «коды минимальной информации» намного больше размера , и напечатать такую строку . Однако, поскольку мы могли бы получить , моделируя , машина была бы по существу её собственным кодом минимальной информации. Таким образом, это приводит нас к противоречию. Далее мы приведём два доказательства. Первое представляет собой неформальное построение, а второе — формальное доказательство с помощью теоремы о рекурсии.
Если внимательнее посмотреть на самовоспроизводящуюся программу с рисунка 5.5 (и программу с рисунка 5.4(b)), можно увидеть, что она всё ещё не совсем корректна, поскольку все двойные кавычки в программе печатаются на выходе как одинарные кавычки. Точнее, каждая двойная кавычка в правой части первого оператора присваивания «» сохраняется в в виде одинарной кавычки, и поэтому третий оператор «write;» печатает правую часть первого оператора с каждой двойной кавычкой, заменённой на одинарную. Исправьте эту проблему, чтобы программа печатала в точности свой собственный программный код.
Напишите компьютерную программу (на любом удобном вам языке высокого уровня), которая печатает свой код в обратном порядке.
Напишите компьютерную программу (на любом удобном вам языке высокого уровня), которая читает вход и печатает свой код раз.
Напишите компьютерную программу (на любом удобном вам языке высокого уровня), которая читает вход и выдаёт 1, если в точности совпадает с её собственным программным кодом, и выдаёт 0 в противном случае. (Такая программа называется самораспознающей.)
Докажите, что существует целое число такое, что .
Докажите, что для каждой рекурсивной функции существует константа такая, что .
Докажите, что существует рекурсивная функция такая, что для всех .
Докажите, что существуют два целых числа такие, что и .
Докажите, что ---теорему можно усилить так, чтобы каждая функция была инъективной в том смысле, что если , то , для всех .
Покажите, что для любой частично рекурсивной функции и любой константы существует константа такая, что .
Существует ли целое число такое, что ? Существует ли целое число такое, что ? Докажите свои ответы.
Покажите, что существуют целые числа и такие, что , причём и .
Используя теорему о рекурсии, докажите, что следующие множества не являются р.п.: Fin, Rec, .
Пусть — функция, определённая в примере 5.40. Определим как обратную к ней функцию: . Докажите, что растёт быстрее, чем любая рекурсивная функция . То есть для любой рекурсивной функции существует такое, что для всех . (Функция называется функцией трудолюбивого бобра и растёт даже быстрее функции Аккермана.)
Покажите, что следующие задачи неразрешимы:
Дана ДМТ и строка ; определите, останавливается ли на некотором входе , который больше либо равен .
Даны две ДМТ и ; определите, эквивалентны ли они (т. е. вычисляют ли они одну и ту же функцию).
Даны ДМТ , вход и состояние машины ; определите, переходит ли когда-либо в состояние в вычислении на входе .
Дана ДМТ ; определите, содержит ли вычисление конфигурацию, в которой лента содержит подстроку 000.
Покажите, что следующие задачи неразрешимы:
Дана грамматика и строка ; определите, верно ли, что .
Даны грамматика и две строки и ; определите, верно ли, что .
Даны грамматика и две строки ; определите, существует ли вывод строки , более длинный, чем кратчайший вывод строки . (Длиной вывода называется число сентенциальных форм в этом выводе.)
Дана грамматика ; определите, верно ли, что .
Даны две грамматики и ; определите, верно ли, что .
Дана грамматика ; определите, является ли контекстно-свободным языком (т. е. для данной неограниченной грамматики определите, существует ли эквивалентная ей контекстно-свободная грамматика).
Покажите, что проблема определения того, верно ли, что данная контекстно-свободная грамматика над алфавитом удовлетворяет условию , неразрешима.
Докажите, что задача PCP неразрешима (относительно некоторого алфавита ).
Докажите, что проблема определения того, обладают ли две данные контекстно-свободные грамматики и свойством , неразрешима.
Докажите, что проблема определения того, является ли данная контекстно-свободная грамматика неоднозначной, неразрешима.
Для каждой из следующих задач о машинах Тьюринга определите, разрешима она или нет:
Даны однонаправленная одноленточная ДМТ (определённая в разделе 4.1) и строка ; определите, посетит ли когда-либо считывающая головка машины -ю ячейку в вычислении на входе , где (крайнюю левую ячейку ленты мы называем 0-й ячейкой, следующую за ней справа — первой ячейкой и т. д.).
Даны двунаправленная одноленточная ДМТ (определённая в разделе 4.3) и строка ; определите, посетит ли когда-либо считывающая головка машины -ю ячейку в вычислении на входе , где (ячейку, содержащую крайний левый символ строки , мы называем первой ячейкой, следующую за ней справа — второй ячейкой и т. д.).
Даны двунаправленная одноленточная ДМТ и строка ; определите, сдвинется ли считывающая головка машины влево более чем раз (не обязательно подряд идущими шагами) в вычислении на входе , где .
Даны двунаправленная одноленточная ДМТ , множество ленточных символов которой , и строка ; определите, перезапишет ли машина когда-либо символ символом в вычислении на входе .
Даны две ДМТ и и две строки и ; определите, верно ли, что в какой-то момент вычисления на входе и вычисления на входе первые три ячейки их лент содержат одинаковые символы (т. е. существует ли конфигурация вычисления и конфигурация вычисления , такие что первые три ленточных символа конфигурации совпадают с первыми тремя символами конфигурации ).
Для каждой из следующих задач о неограниченных грамматиках определите, разрешима она или нет:
Дана грамматика над алфавитом ; определите, содержит ли строку , в которой aaa встречается в качестве подстроки.
Даны грамматика и строка ; определите, существует ли вывод строки , не содержащий сентенциальной формы, в которой встречается в качестве подстроки, где — терминальный символ, а — нетерминальный символ грамматики .
Даны грамматика и строка ; определите, существует ли вывод строки , в котором длины сентенциальных форм не убывают.
Даны грамматика и строка ; определите, существует ли вывод строки , в котором длины сентенциальных форм убывают не более раз, где .
Дополните детали работы МПА из примера 5.43. А именно, постройте МПА , принимающий множество .
Для каждой из следующих задач о контекстно-свободных грамматиках определите, разрешима она или нет:
Даны контекстно-свободная грамматика и ДКА ; определите, верно ли, что .
Даны контекстно-свободная грамматика и ДКА ; определите, верно ли, что .
Дана контекстно-свободная грамматика ; определите, является ли регулярным.
Дана контекстно-свободная грамматика ; определите, является ли дополнение контекстно-свободным.
Даны две контекстно-свободные грамматики и ; определите, является ли контекстно-свободным.
Для каждого из следующих вариантов задачи PCP определите, разрешим он или нет:
Задача PCP над алфавитом .
Задача PCP над алфавитом .
Дано конечное множество упорядоченных пар строк из ; определите, существует ли бесконечная последовательность целых чисел из , такая что .
Дано конечное множество упорядоченных пар строк из ; определите, существуют ли две последовательности целых чисел (, и , каждый элемент которых принадлежит , такие что .
Тот же вопрос, что и в пункте (d) выше, но с тем условием, что обе последовательности целых чисел должны быть одинакового размера, то есть .
В этой задаче мы рассматриваем задачу о мозаике. Цветной плиткой называется квадратная плитка размера , четыре стороны которой окрашены цветами, выбранными из конечного множества . Четыре стороны цветной плитки чётко обозначены как верхняя, нижняя, левая и правая. Две цветные плитки можно разместить на плоскости рядом друг с другом, если их соприкасающиеся стороны имеют одинаковый цвет.
Мозаика. Дано конечное число типов цветных плиток; определите, можно ли покрыть первый квадрант плоскости цветными плитками этих типов (при неограниченном запасе плиток каждого типа), начиная с плитки типа в нижнем левом углу (см. рис. 5.6).
Рис. 5.6: задача Мозаика (c 1, \ldots , c 4 обозначают четыре цвета плитки t_{0}).
Покажите, что задача Мозаика неразрешима.