Примеры неразрешимых задач: задача о выводе в полусистеме Туэ — различия между версиями
Gr1n (обсуждение | вклад) |
Gr1n (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
Вывод <tex>\beta</tex> из <tex>\alpha</tex> - цепочка <tex>\alpha\vDash\epsilon_1\vDash\epsilon_2\vDash .. \vdash\beta</tex>, где каждое <tex>\epsilon_j</tex> получается из <tex>\epsilon_{j-1}</tex> некоторой подстановкой. | Вывод <tex>\beta</tex> из <tex>\alpha</tex> - цепочка <tex>\alpha\vDash\epsilon_1\vDash\epsilon_2\vDash .. \vdash\beta</tex>, где каждое <tex>\epsilon_j</tex> получается из <tex>\epsilon_{j-1}</tex> некоторой подстановкой. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Теорема | {{Теорема | ||
|id=th1 | |id=th1 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|statement= | |statement= | ||
В полусистеме Туэ задача вывода из слова <tex>\alpha </tex> слово <tex> \beta</tex> (word problem for semi-Thue systems) неразрешима. | В полусистеме Туэ задача вывода из слова <tex>\alpha </tex> слово <tex> \beta</tex> (word problem for semi-Thue systems) неразрешима. | ||
|proof= | |proof= | ||
− | Сведем (прим. [[m-сводимость]]) неразрешимую задачу проблемы останова к нашей. Для этого построим по структуре данной из проблемы останова МТ (прим. [[Машина Тьюринга]]) полусистему Туэ. Пусть <tex> q_1 </tex> {{---}} стартовое состояние, <tex> q_n </tex> {{---}} допускающее состояние МТ. Для построение искомой полусистемы будем описывать текущее состояние МТ с помощью строки <tex> \langle xqy\rangle </tex> , где <tex> q </tex> {{---}} текущее состояние автомата, <tex> xy </tex> {{---}} строка, записанная на ленте, <tex> \langle</tex> и <tex>\rangle </tex> {{---}} маркера начала и конца строки соответственно. Пусть <tex> s </tex> {{---}} последний символ строки <tex> x </tex>, а <tex> t </tex> {{---}} первый символ строки <tex> y </tex>. При этом головка указывает на символ <tex> t </tex>. Тогда текущий шаг МТ можно описать с помощью следующих преобразований строк: | + | Сведем (прим. [[m-сводимость]]) неразрешимую задачу проблемы останова (прим. приведена в примере использования [[Теорема_о_рекурсии|теоремы о рекурсии]].) к нашей. Для этого построим по структуре данной из проблемы останова МТ (прим. [[Машина Тьюринга]]) полусистему Туэ. Пусть <tex> q_1 </tex> {{---}} стартовое состояние, <tex> q_n </tex> {{---}} допускающее состояние МТ. Для построение искомой полусистемы будем описывать текущее состояние МТ с помощью строки <tex> \langle xqy\rangle </tex> , где <tex> q </tex> {{---}} текущее состояние автомата, <tex> xy </tex> {{---}} строка, записанная на ленте, <tex> \langle</tex> и <tex>\rangle </tex> {{---}} маркера начала и конца строки соответственно. Пусть <tex> s </tex> {{---}} последний символ строки <tex> x </tex>, а <tex> t </tex> {{---}} первый символ строки <tex> y </tex>. При этом головка указывает на символ <tex> t </tex>. Тогда текущий шаг МТ можно описать с помощью следующих преобразований строк: |
<tex> | <tex> |
Версия 14:12, 18 января 2014
Определение: |
Полусистема Туэ (semi-Thue system) — это формальная система, определяемая алфавитом | и конечным множеством подстановок вида , где - слова из .
Подстановка интерпретируется как правило вывода следующим образом:
по , если слово получается путем подстановки вместо какого-то вхождения в .
Вывод
из - цепочка , где каждое получается из некоторой подстановкой.Теорема: |
В полусистеме Туэ задача вывода из слова слово (word problem for semi-Thue systems) неразрешима. |
Доказательство: |
Сведем (прим. m-сводимость) неразрешимую задачу проблемы останова (прим. приведена в примере использования теоремы о рекурсии.) к нашей. Для этого построим по структуре данной из проблемы останова МТ (прим. Машина Тьюринга) полусистему Туэ. Пусть — стартовое состояние, — допускающее состояние МТ. Для построение искомой полусистемы будем описывать текущее состояние МТ с помощью строки , где — текущее состояние автомата, — строка, записанная на ленте, и — маркера начала и конца строки соответственно. Пусть — последний символ строки , а — первый символ строки . При этом головка указывает на символ . Тогда текущий шаг МТ можно описать с помощью следующих преобразований строк:
В силу конечности множеств состояний автомата ( ) и алфавита ( ) добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркеров (прим. B — пустой символ ленты) :и для И наконец добавим в наш набор те правила, которые позволят нам из конфигурации, в которой присутствует допускающее состояние , получить уникальное слово. Это необходимо, чтобы мы смогли построить критерий в терминах полуситсемы Туэ того, что из стартовой конфигураций наша программа корректно завершается. Имеем следующие правила:
Имея этот набор правил можем составить упомянутый выше критерий: программа корректно завершиться на данном на ленте входном слове для . , если в построенной полусистеме . Таким образом из разрешимости этой задачи следовала бы разрешимость задачи останова. Соответсвенно задача о выводе в полусистеме Туэ алгоритмически неразрешима. |