Примеры неразрешимых задач: задача о выводе в полусистеме Туэ — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 41: Строка 41:
 
}}
 
}}
  
В силу конечности множеств состояний автомата и алфавита добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера <tex> | </tex>:
+
В силу конечности множеств состояний автомата (<tex> Q </tex>) и алфавита (<tex> T </tex>) добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера <tex> | </tex>:
  
<tex>q| \rightarrow q0| </tex> <tex> \forall q \in Q \setminus \{q_n\}</tex>  
+
<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>. Таким образом из разрешимость этой задачи следовала бы разрешимость задачи останова. Соответсвенно задача о выводе в полусистеме Туэ алгоритмически неразрешима.
  
<tex>|q \rightarrow |0q </tex>  <tex> \forall q \in Q \setminus \{q_n\}</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) - это формальная система, определяемая алфавитом [math]A[/math] и конечным множеством подстановок вида [math]\alpha_i\rightarrow \beta_i[/math], где [math]\alpha_i, \beta_i[/math] - слова из [math]A[/math].


Подстановка [math]\alpha_i\rightarrow \beta_i[/math] интерпретируется как правило вывода [math]R_i[/math] следующим образом: [math]\gamma \vDash \delta[/math] по [math]R_i[/math] , если слово [math]\delta[/math] получается путем подстановки какого-нибудь [math]\beta_i[/math] вместо какого-то вхождения [math]\alpha_i[/math] в [math]\gamma[/math].

Вывод [math]\beta[/math] из [math]\alpha[/math] - цепочка [math]\alpha\vDash\epsilon_1\vDash\epsilon_2\vDash .. \vdash\beta[/math], где каждое [math]\epsilon_j[/math] получается из [math]\epsilon_{j-1}[/math] некоторой подстановкой.


Определение:
Проблема останова (halting problem) - это задача, в которой требуется по заданной программе проверить завершиться ли она на определенных входных данных.


Теорема:
Проблема останова неразрешима.
Доказательство:
[math]\triangleright[/math]
Доказательство теоремы приведено в примере использования теоремы о рекурсии.
[math]\triangleleft[/math]
Теорема:
В заданной полусистеме Туэ задача вывода из слова [math]\alpha [/math] слово [math] \beta[/math] (word problem for semi-Thue systems) неразрешима.
Доказательство:
[math]\triangleright[/math]

Сведем (прим. m-сводимость) неразрешимую задачу проблемы останова к нашей. Для этого построим по структуре данной из проблемы останова МТ (прим. Машина Тьюринга) полусистему Туэ. Пусть [math] q_1 [/math] — стартовое состояние, [math] q_n [/math] — допускающее состояние МТ. Для построение искомой полусистемы будем описывать текущее состояние МТ с помощью строки [math] |xqy| [/math] , где [math] q [/math] — текущее состояние автомата, [math] xy [/math] — строка, записанная на ленте. Пусть [math] s [/math] — последний символ строки [math] x [/math], а [math] t [/math] — строки [math] y [/math]. При этом головка указывает на символ [math] t [/math]. Тогда текущий шаг МТ можно описать с помощью следующих преобразований строк:

[math] sqt \vDash \begin{cases} q'st' & \text{if } \leftarrow \\ sq't' & \text{if } \downarrow \\ st'q' & \text{if } \rightarrow \end{cases} [/math]
[math]\triangleleft[/math]

В силу конечности множеств состояний автомата ([math] Q [/math]) и алфавита ([math] T [/math]) добавим все подобные правила (представленные выше) в нашу полусистему. Заметим, что в МТ лента у нас бесконечна. Поэтому добавим в нашу систему следующие правила, которые будут эмулировать расширение слова на ленте за счет сдвига маркера [math] | [/math]:

[math]q| \vDash q0| [/math] и [math]|q \vDash |0q [/math] для [math] \forall q \in Q \setminus \{q_n\}[/math]

И наконец добавим в наш набор те правила, которые позволят нам из конфигурации, в которой присутствует допускающее состояние [math] q_n [/math], получить уникальное слово. Это позволит нам построить критерий в терминах полуситсемы Туэ того, что из стартовой конфигураций наша программа корректно завершается. Имеем следующие правила:

[math]q_nt \vDash q_n [/math]

[math]q_n| \vDash w| [/math]

[math] tw \vDash w [/math] для [math] \forall t \in T[/math].

Имея этот набор правил можем составить упомянутый выше критерий: программа корректно завершиться на данном на ленте входном слове [math] u [/math], если в построенной полусистеме из слова [math] |q_0u| [/math] выводится [math] |w| [/math]. Таким образом из разрешимость этой задачи следовала бы разрешимость задачи останова. Соответсвенно задача о выводе в полусистеме Туэ алгоритмически неразрешима.


Источники