Примеры неразрешимых задач: задача о выводе в полусистеме Туэ — различия между версиями
Gr1n (обсуждение | вклад) |
Gr1n (обсуждение | вклад) |
||
Строка 41: | Строка 41: | ||
}} | }} | ||
− | В силу конечности множеств состояний автомата и алфавита добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера <tex> | </tex>: | + | В силу конечности множеств состояний автомата (<tex> Q </tex>) и алфавита (<tex> T </tex>) добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера <tex> | </tex>: |
− | <tex>q| \ | + | <tex>q| \vDash q0| </tex> и <tex>|q \vDash |0q </tex> для <tex> \forall q \in Q \setminus \{q_n\}</tex> |
+ | |||
+ | И наконец добавим в наш набор те правила, которые позволят нам из конфигурации, в которой присутствует допускающее состояние <tex> q_n </tex>, получить уникальное слово. Это позволит нам построить критерий в терминах полуситсемы Туэ того, что из стартовой конфигураций наша программа корректно завершается. Имеем следующие правила: | ||
+ | |||
+ | <tex>q_nt \vDash q_n </tex> | ||
+ | |||
+ | <tex>q_n| \vDash w| </tex> | ||
+ | |||
+ | <tex> tw \vDash w </tex> для <tex> \forall t \in T</tex>. | ||
+ | |||
+ | Имея этот набор правил можем составить упомянутый выше критерий: программа корректно завершиться на данном на ленте входном слове <tex> u </tex>, если в построенной полусистеме из слова <tex> |q_0u| </tex> выводится <tex> |w| </tex>. Таким образом из разрешимость этой задачи следовала бы разрешимость задачи останова. Соответсвенно задача о выводе в полусистеме Туэ алгоритмически неразрешима. | ||
− | |||
== Источники == | == Источники == | ||
* [[wikipedia:Semi-Thue_system | Wikipedia {{---}} Semi-Thue system]] | * [[wikipedia:Semi-Thue_system | Wikipedia {{---}} Semi-Thue system]] | ||
*[http://problem24.wordpress.com/2011/07/07/lecture-on-undecidability-7-the-word-problem-for-thue-systems Undecidability of the word problem for semi-Thue systems ] | *[http://problem24.wordpress.com/2011/07/07/lecture-on-undecidability-7-the-word-problem-for-thue-systems Undecidability of the word problem for semi-Thue systems ] |
Версия 01:55, 14 января 2014
Определение: |
Полусистема Туэ (semi-Thue system) - это формальная система, определяемая алфавитом | и конечным множеством подстановок вида , где - слова из .
Подстановка интерпретируется как правило вывода следующим образом:
по , если слово получается путем подстановки какого-нибудь вместо какого-то вхождения в .
Вывод
из - цепочка , где каждое получается из некоторой подстановкой.
Определение: |
Проблема останова (halting problem) - это задача, в которой требуется по заданной программе проверить завершиться ли она на определенных входных данных. |
Теорема: |
Проблема останова неразрешима. |
Доказательство: |
Доказательство теоремы приведено в примере использования теоремы о рекурсии. |
Теорема: |
В заданной полусистеме Туэ задача вывода из слова слово (word problem for semi-Thue systems) неразрешима. |
Доказательство: |
Сведем (прим. m-сводимость) неразрешимую задачу проблемы останова к нашей. Для этого построим по структуре данной из проблемы останова МТ (прим. Машина Тьюринга) полусистему Туэ. Пусть — стартовое состояние, — допускающее состояние МТ. Для построение искомой полусистемы будем описывать текущее состояние МТ с помощью строки , где — текущее состояние автомата, — строка, записанная на ленте. Пусть — последний символ строки , а — строки . При этом головка указывает на символ . Тогда текущий шаг МТ можно описать с помощью следующих преобразований строк: |
В силу конечности множеств состояний автомата (
) и алфавита ( ) добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера :и для
И наконец добавим в наш набор те правила, которые позволят нам из конфигурации, в которой присутствует допускающее состояние
, получить уникальное слово. Это позволит нам построить критерий в терминах полуситсемы Туэ того, что из стартовой конфигураций наша программа корректно завершается. Имеем следующие правила:
для .
Имея этот набор правил можем составить упомянутый выше критерий: программа корректно завершиться на данном на ленте входном слове
, если в построенной полусистеме из слова выводится . Таким образом из разрешимость этой задачи следовала бы разрешимость задачи останова. Соответсвенно задача о выводе в полусистеме Туэ алгоритмически неразрешима.