Изменения

Перейти к: навигация, поиск
Переписал на человеческий, убрал таблицу с переходами.
Для произвольной (m, n) машины Тьюринга <tex>T</tex> существует двумерный КА с окрестностью из семи клеток и клеточным пространством <tex>Z_T</tex> с <tex>max(n + 1, m + 1)</tex> состояниями, симулирующий ее в реальном времени.
|proof=
[[Изображение:Mpneighbour.jpg|thumb|right|comment|Рис. 1. Окрестность клетки]] Каждая клетка <tex>Z_T</tex> обладает множеством <tex>Q</tex> из <tex>M = max(n + 1Каждому состоянию автомата клетки будет сопоставляться либо состояние автомата МТ, m + 1)</tex> состоянийлибо символ на ленте. Без потери общностиВсе клетки будут либо клетками ленты, будем считатьрасположенными в одном ряду, что <tex>Q = \{ 0, 1, \dots , M - 1\}</tex>, так что <tex>(i + 1)</tex> будет сопоставляться и в этом случае их состояние соответствует символу <tex>x_i</tex> машины Тьюринга при <tex>0 \le i \le m - 1</tex>на ленте МТ, а состояние либо служебными клетками. Среди служебных клеток клетка <tex>(j + 1)h</tex> будет соответствовать состоянию <tex>q_j</tex> машины Тьюринга при <tex>0 \le j \le n головке MT и в каждый момент находиться над какой- 1</tex>. Ноль является состоянием покоя то клеткой ленты, клетки <tex>Z_Ta</tex> и не будет соответствовать символам и состояниям машины Тьюринга. Окрестность построим таким образом, чтобы выделять клетку, состояние которой <tex>Q_1 \in A = \{ 1, 2, \dots, m\}b</tex> будет соответствовать символу машины Тьюринга из всегда будут указывать на клетки, состояние которой слева и справа от <tex>Q_2 \in B = \{ 1, 2, \dots, n\}h</tex> соответствует состоянию машины Тьюринга (окрестность . Остальные клетки будут находиться в таком КА показана на Рис. 1)состоянии покоя.
Таким образомЗаметим, <tex>Z_T</tex> симулирует машину Тьюрингачто это порождает следующую проблему: размер входных данных МТ конечен, используя конфигурацию, в которой оно <tex>"</tex>выглядит следовательно поддержка начальной конфигурации конечна. Так как<tex>"</tex> машина Тьюринга. Один ряд клеток МТ в <tex>Z_T</tex> представляет из себя ленту машины Тьюринга {{---}} одна клетка <tex>Z_T</tex> для каждой клетки лентыобщем случае может не остановиться, а одна клетка из соседнего ряда будет соответствовать головке МТ, и то в каждый какой-то момент времени автомат будет выглядеть такможет потребоваться расширить ленту. Поэтому необходимо ввести две дополнительных служебных клетки, как показано на рисунке нижепри необходимости расширяющих ленту влево или вправо (т.е. Клетки <tex>a</tex> и <tex>b<переводящих соседнюю слева/tex> всегда указывают на клетки слева и справа от головки <tex>h</tex> соответственно. Все остальные символы используются для хранения состояний: <tex>S_k \in A</tex> обозначает клетку в свое состояние клетки ленты на расстоянии <tex>|k|</tex> от головки по направлению знака индекса, <tex>P \in B</tex> обозначает а сами переходящие в состояние головки. Также определим клетки <tex>C_R</tex> и <tex> C_L</tex>, которые будут определять правый или левый конец используемой соответствующее пустой клетке ленты. Все клетки кроме <tex>h</tex> и клеток ленты будут находится в состоянии покоя ноль, включая <tex>C_R</tex> и <tex> C_L</tex>МТ).
Таким образомПостроим окрестность, при симуляции головка <tex>h</tex> будет двигаться, повторяя необходимую для корректной работы такого КА. Рассмотрев поведение головки соответствующей МТи зависимости клеток КА, при этом менять состояние будут только клетки <tex>aполучим, h, b, C_Rчто минимальная по размеру окрестность имеет вид, C_L</tex>, для которых необходимо определить функции перехода. Обозначим для них функцию перехода: если <tex>x_u, q_v</tex> {{---}} символ представленный на ленте и состояние МТ, то переход будет иметь вид <tex>(x_u, q_v) = {x_p}X/q_q</tex>, где <tex>X</tex> {{---}} сдвиг влево <tex>L</tex> или вправо <tex>R</tex>. Состояния <tex>C_L</tex> и <tex>C_R</tex> необходимы для решения проблемы конца ленты: в общем случае машина Тьюринга работает с бесконечной лентой, в то время как поддержка начальной конфигурации построенного автомата конечна, и в некоторый момент пустые состояния закончатсяРис. Чтобы этого не произошло, введены <tex>C_L</tex> и <tex>C_R</tex>, которые переводят спокойные клетки в состояния, соответствующие пустым символам ленты МТ1.
[[Изображение:Mptape.jpg|640px|thumb|center|Рис. 2. Эмуляция ленты МТ в КА]]
 
Функция перехода имеет следующий вид:
 
[[Изображение:Transit.jpg|640px|thumb|center|Рис. 3. Функция перехода]]
Также определим в каждой клетке состояние <tex>w</tex>, соответствующее начальному состоянию МТ. Перед началом эмуляции клетки ленты переведем в состояния, эквивалентные входным символам, клетку над самой левой непустой клеткой ленты переведем в состояние <tex>w</tex>, которая будет соответствовать начальному положению головки. Тогда клетки ленты будут менять свои состояние так же, как лента МТ.
|proof=Лента будет иметь следующий вид:
[[Изображение:Mplintape.jpg|640px|thumb|center|Рис. 4. Эмуляция ленты МТ в ЛКА]]
Доказательство и построение автомата аналогично предыдущей теореме.
}}
105
правок

Навигация