Разница между Тьюринг-разрешимым и Ко-Тьюринг-разрешимым
Я действительно борюсь с пониманием разницы между этими двумя. Из моего учебника он по существу описывает разницу, говоря
язык является узнаваемым, если он является дополнением узнаваемого языка Тьюринга.
Я думаю, что часть этого определения я не понимаю: что это значит, когда это дополнение к узнаваемому языку Тьюринга?
Как именно вы определяете, является ли это дополнение другого языка?
2 ответов
(Примечание-термины "разрешимый Тьюринг" и "разрешимый ко-Тьюринг" - одно и то же. Однако "Тьюринг-узнаваемый" и "ко-Тьюринг-узнаваемый" - это не одно и то же, и именно это я решил охватить в своем ответе. Причина этого заключается в том, что если язык разрешим, то его дополнение также должно быть разрешимым. То же самое не относится к узнаваемым языкам.)
интуитивно язык является Тьюринг-узнаваемым, если есть какая-то компьютерная программа, которая, учитывая строка на языке, может подтвердить, что строка действительно находится в пределах языка. Эта программа может бесконечно петлять, если строка не находится на языке, но она гарантированно всегда будет принимать, если вы дадите ей строку на языке.
Хотя верно, что язык является ко-Тьюринг-узнаваемым, если это дополнение к языку, который является Тьюринг-узнаваемым, это определение не проливает много света на то, что происходит. Интуитивно, если язык co-Turing-узнаваемый, это означает, что существует компьютерная программа, которая, учитывая строку не на языке, в конечном итоге подтвердит, что строка не находится на языке. Однако он может бесконечно петлять, если строка действительно находится внутри языка. Причина этого проста - если некоторая строка w не содержится в распознаваемом ко-Тьюрингом языке, то эта строка w должна содержаться в дополнении к этому распознаваемому ко-Тьюрингом языку, который (по определению) должно быть, Тьюринг узнаваем. Поскольку w находится в узнаваемом дополнении Тьюринга, должна быть какая-то программа, которая может подтвердить, что w действительно находится в дополнении. Поэтому эта программа может подтвердить, что w не находится на оригинальном языке Co-Turing-recognizable.
короче говоря, распознаваемость Тьюринга означает, что существует программа, которая может подтвердить, что строка w находится на языке, а распознаваемость Тьюринга означает, что существует программа, которая может подтвердить, что строка w не в языке.
надеюсь, что это помогает!
язык узнаваем, если есть машина Тьюринга, которая остановится и примет только строки на этом языке, а для строк не на языке ТМ либо отклоняет, либо не останавливается вообще. Примечание: нет требования, что машина Тьюринга должна остановиться для строк не на языке.
язык разрешим, если есть машина Тьюринга, которая будет принимать строки на языке и отклонять строки не на языке.