Доказательство закончено.
Замечание: обычно доказательство неразрешимости алгоритмической проблемы строится методом сведения. Идея этого метода состоит в том, что для исследуемой проблемы П доказывается, что она сводится к другой проблеме П¢, о которой известно, что она неразрешима.
Взаимосвязь алгоритмических систем.
В связи с существованием неразрешимых алгоритмических проблем возникает вопрос:
А не может ли оказаться так, что алгоритмическая проблема, неразрешимая в одной алгоритмической системе, окажется разрешимой в другой? Например, какая-то проблема, не разрешимая в терминах машины Тьюринга, окажется разрешимой в терминах НАМ.
Определение 4.3. Две алгоритмические системы называются эквивалентными, если множество алгоритмов, которые можно описать в первой системе, эквивалентно множеству алгоритмов, которое можно описать с помощью второй.
В следствии тезисов Тьюринга и Маркова, машины Тьюринга и нормальные алгоритмы Маркова - эквивалентные алгоритмические системы, т. к. они описывают одно и то же множество алгоритмов, соответствующих вычислимым функциям.
В этом разделе на примере МТ и НАМ мы покажем, что для эквивалентных алгоритмических систем, не может оказаться так, что какая-то алгоритмическая проблема, неразрешимая в МТ, окажется разрешимой в НАМ. Мы докажем, что для любой МТ U можно подобрать НАМ N такой, что
U(P)=N(P) и наоборот.
Отсюда и будет следовать, что если какая-то алгоритмическая проблема разрешима в МТ, то она автоматически разрешима в НАМ и наоборот.
Теорема 4.2 Для любой машины Тьюринга U существует НАМ N такой, что
U(P)=N(P), где Р Є DU*.
Доказательство: Для доказательства этой теоремы мы покажем, как для каждого правила ap®bqw машины U построить правило подстановки для НАМ N. Тем самым мы, зная функциональную схему U, построим систему правил для N.
В функциональной схеме машины U могут встретиться команды следующих видов:
aqj®bqsЛ
aqj®bqsП
aqj®bqsН
aqj®b!{Л,П,Н}.
Рассмотрим сначала команды машины U вида (1), т. е. запись в текущую позицию вместо символа a символа b и сдвиг влево. В соответствующем НАМ N мы будем обрабатываемый символ в слове р метить слева символом состояния т. е. DN=DUUQUU{Ñ}. Тогда команде (1) сопоставим следующую группу правил подстановки:
qja®qsÑb
{ciqsÑ®qsci} , ci ЄDU
Здесь символ Ñ “экранирует” q от следующего за ним символа в обрабатываемом слове.
Командам вида (2) сопоставим правила подстановки вида
qja®bqs
Командам вида (3) - qja®qsb
Командам вида (4) - qjaab.
Самым последним в системе правил подстановки НАМ будет начальное правило
®qo , машины U.
где qo - начальное состояние U.
Замечание: Если а=L, т. е. командам Lqj®bqsw надо будет сопоставлять правило qj®qsb либо qj®bqs в зависимости от значения w. Все такие правила подстановки надо собрать в конце схемы, сразу перед начальным правилом.
Обратите внимание, что если на вход N подать слово, к которому U не применим, то N будет бесконечно долго подставлять qo в начало слова.
N применим к тем же словам, что и U.
Допустим существование слова Р, к которому U применим, а N - нет. Раз U применим, то пусть его заключительной командой является команда aq®b!H. Ей по построению N соответствует терминальное правило подстановки, которое должно выполняться, т. к. в схеме N нет двух правил с одинаковыми правыми частями..
Пришли к противоречию.
Доказательство теоремы 4.2 закончено.
Теорема 4.3. Для любого НАМ N существует машина Тьюринга U такая, что
N(P)= U(P) для всех PЄDN*.
Доказательство:
Алфавит U : DU = DNUWN.
Обозначим
U*(Р)=*Р, т. е. МТ , ставящую символ * перед обрабатываемым символом.
U!(P)=P осталось без изменения слова.
1 || Q*aR если QaR=P0 || P* если a не входит в P |
mb (1||Q*aR)=QbR
U0 (0||P*)=P
Надеемся, что читателю будет не сложно построить функциональную схему любой из этих машин.
Схема НАМ N состоит из правил либо вида a®b, либо aab, где
a,b Є (DUW)*.
Каждому правилу вида
ai®bi
сопоставим машину Uic функциональной схемой вида
if
then mbi(1||Q*aiR)o U*o U1else Uоo U*o Ui+1 .
Каждому терминальному правилу вида
aiabi
сопоставим машину Uic функциональной схемой вида
if
then mbi(1||Q*aiR) o U!else Uоo U*o Ui+1 .
Последнему правилу подстановки в схеме НАМ N вида
ak®bk
сопоставим машину Uk с функциональной схемой
if
then mbk(1||Q*akR)o U*o U1else Uоo U*o U! .
В части else появление машины U! связано с тем, что по определению НАМ завершается, если не применимо ни одно из правил подстановки.
Функциональная схема искомой машины U будет иметь вид
U*(P)o U1o U2o … o Uk ,
где k - число правил подстановки в схеме НАМ N.
Доказательство теоремы 4.3 закончено.
Из теорем 4.2 и 4.3 следует, что если какая-то алгоритмическая проблема разрешима в одной алгоритмической системе, то она автоматически разрешима и в другой. Если предположить, что какая-то алгоритмическая проблема неразрешимая в одной алгоритмической системе, но разрешима в другой, то придём к противоречию. Действительно, согласно теоремам 4.2 и 4.3 если эта проблема разрешима хотя бы в одной системе, то она разрешима и в другой.
Выводы :
Для любой алгоритмической системы существует универсальный исполнитель, который есть интерпретатор множества действий заданной алгоритмической системы.;
В силу тезиса Тьюринга, любой алгоритм реализуем в терминах действий последовательной, параллельной композиций, выбора и цикла и базового набора действий;
Проблема самоприменимости алгоритмической системы алгоритмически не разрешима;
Если алгоритмическая проблема не разрешима, то она не разрешима в любой другой эквивалентной алгоритмической системы;
Алгоритмические системы МТ и НАМ эквивалентны.
Вопросы :
Что такое интерпретация?
Что такое кодирование?
В чем проблема линеаризации Ф.с. для МТ?
Что такое универсальный исполнитель:
- он может исполнять заданный А в любой А.с.?
- он может исполнять любой А, выразимый в данной А.с.?
Как решается проблема произвольности алфавита в УМТ?
Что такое А.п.?
Самоприменимость - что это такое?
А.п. самоприменимости разрешима?
В МТ А не закончен если нет применимого правила, в НАМ в этом случае А - закончен. Как это несоответствие решается при доказательстве сводимости МТ к НАМ и наоборот?
Что означает запись:
Если Fa (*P), то M(1||Q*aR)o U*o U1 иначе U0o U*o Ui+1?