Пусть Есть ли машина Тьюринга R, которая решает (я не имею в виду, распознает) язык ?L ∅
Похоже, тот же метод, который использовался, чтобы показать, что должен работать здесь.
Пусть Есть ли машина Тьюринга R, которая решает (я не имею в виду, распознает) язык ?L ∅
Похоже, тот же метод, который использовался, чтобы показать, что должен работать здесь.
Ответы:
Под маркировкой вы, вероятно, подразумеваете анализ достижимости - поиск пути от исходного состояния к принимающему состоянию. Действительно, язык DFA пуст, если такого пути нет.
Давайте начнем с примера того, почему это не удается в TM. Рассмотрим ТМ , что в , игнорирует это вход, но пишет на это ленты, перемещает право голову и переходит в состояние , то в он снова игнорирует вход, пишет , перемещает голову влево и идет к . В , если он читает , то он пишет перемещает право голову и возвращается к . a q 1 q 1 a q 2 q 2 a a q 1
То есть, машина просто пишет и чередуется между двумя состояниями ( и ) и всегда имеет два смежных «S на ленте.q 1 q 2 a
Теперь мы добавим переход от который при чтении переходит в принимающее состояние и останавливается. B
Язык этой машины пуст. Действительно, бег всегда застревает в цикла, и никогда не будет в допускающее состояние. Тем не менее, существует путь к принимающему состоянию. Так что пошло не так?
Что ж, интуитивно, «состояние» ТМ недостаточно информативно, чтобы описать продолжение прогона. Чтобы получить всю информацию, вам нужна конфигурация ТМ, которая включает в себя состояние, положение головки и содержимое ленты. Если вы найдете путь к конфигурации (который называется прогоном ) к принимающей конфигурации, то на самом деле язык не пустой, и это условие iff.
Проблема с использованием анализа достижимости на графе конфигурации состоит в том, что он может быть бесконечным. Вот почему решение о пустоте языка неразрешимо.
Именно поэтому языковая незаполненность распознаваема - вы можете выполнить BFS на бесконечном графе конфигурации. Если есть путь к принимающему состоянию, вы найдете его в конце концов. Если нет, однако, вы можете застрять в бесконечном поиске.
неразрешима из-за теоремы Райса , которая утверждает, что нетривиальные свойства частичных функций не разрешимы.
Это означает , что функции , вычисленные с помощью элементов имеют нетривиальное свойство. Поэтому не разрешимы.A
E разрешима только в предположении, что DFA кодируются особым образом, таким как таблица перехода состояний или т. Д. (Мы не можем решить, принимает ли ТМ только обычные языки, из-за теоремы Райса!). В этом случае теорема Райса не применяется , поскольку конкретное кодирование элемента необходимо решить на . Поэтому мы не просто выбираем частичные функции.
(То есть, если бы проблема заключалась в том, чтобы решить, является ли конкретный TM DFA - или DFA вычислимым - и язык, принятый им, является пустым, будет неразрешимым по теореме Райса. Обратите внимание, что в этом случае .)A = E
Еще один совет: попробуйте уменьшить проблему остановки до .
(Первоначальный совет - использовать теорему Райса, но в этом случае прямое доказательство также довольно просто.)
Лемма 1. Если L неразрешима, то и дополнение L.
Мы знаем, что проблема остановки неразрешима. Следовательно, согласно дополнению леммы 1 к задаче остановки, также неразрешима. Н с Т М
=
=
=
Предположим, что разрешимо. Мы уменьшим до - другими словами, мы покажем, как построить машину Тьюринга которая решает используя TM, который решает . Это дает нам противоречие, потому что мы знаем, что неразрешима, и поэтому не может существовать. Слово «уменьшить» просто означает решение данной проблемы путем преобразования ее в другую проблему, которую мы уже знаем для решения. Таким образом, машина Тьюринга для может быть построена следующим образом:
= «на входе
1. Создайте код для TM, который выполняет следующие действия:
= "на входе
1. Имитируйте на .
2. Принять, если остановится. "
2. Запустите на
3. Принять, если принимает, отклонить в противном случае. "
Важно понимать, что TM никогда не моделируется - такое моделирование может пойти в бесконечный цикл. Все, что мы делаем, это создаем код для .
построен так, что на любом заданном им входе он будет имитировать с входом . может остановить или зациклить на и, следовательно, может быть два случая:
1. принимает все входы если останавливается на . отклонит как .
2. Если зацикливается на , также будет зацикливаться для каждого входного данного ему. В любом случае, поскольку является решателем он отклонит и остановит вход как .
: поскольку всегда останавливается (по нашему предположению), также всегда останавливается. принимает, если принимает, то есть если что происходит, если зацикливается на . отклоняет, если отклоняет это что происходит, если останавливается на . Таким образом, решает, что противоречит, поскольку неразрешима.
Пусть R будет сокращением от до .
Снижение дает:
i)
M зацикливается на вводе x, если язык, распознаваемый ничего не принимает
ii)
M останавливает ввод x, если язык, распознаваемый что-то принимает
Доказательство противоречит (что, как мы знаем, неразрешимо).
Предположим, что существует , TM, который решает
Затем можно использовать при построении TM , который является решающим для
⟨ М , ш ⟩ М ш «На входе , где представляет собой кодирование ТМА и является строкой:
Измените , принимая во внимание ввод , так что новый (назовите его ) отклоняет все входные данные, которые не равны , где встроен в его описание. Если вход равен , то запускает на и выводит все, что выводит.w M M 1 w w w M 1 M w M
Запустите с помощью ввода ⟨ М 1 , ш ⟩
Выведите противоположный вывод . "
Предположение, что существует deicer машины Тьюринга для , позволяет нам построить решающий элемент для , что является противоречием.A T M
E = {| М представляет собой ТМ и L (M) = Φ}. Является ли E Turing узнаваемым?
E - это язык, чтобы принять язык E, мы создаем машину Тьюринга. Предположим, мы создаем EM Тьюринга для языка E.
EM будет вводиться в качестве входного кода для кодирования других машин Тьюринга. Если эта введенная машина M принимает пустой язык, то она будет членом языка E, иначе она не будет членом языка.
Предположим, у нас есть машина Тьюринга M, нам нужно проверить, принимает ли она пустой язык. У машины Тьюринга EM есть M и строки eps, a, b, aa, bb, ..... EM проверит, может ли M достичь конечного состояния хотя бы на одном входе, и принимает ли он хотя бы один вход будет отброшен и не включен в язык E. Теперь рассмотрим возможность того, что TM M попадет в цикл, поэтому M продолжит работать, и мы не могли решить, может ли он принимать или не принимать что-либо. Следовательно, данный язык E НЕ RE.
PS: я думаю, что дополнением к данному языку E будет RE.