Изменения

Перейти к: навигация, поиск

Линейный клеточный автомат, эквивалентность МТ

562 байта добавлено, 19:51, 10 марта 2019
Нет описания правки
==Определения==
{{Определение| id=cellularautomaton|definition='''Клеточным автоматом''' (КА) (англ. ''cellular automaton'') <tex>A</tex> размерности <tex>d</tex> называется четверка <tex> \langle {Z^d}, S, N, \delta \rangle</tex>, где
* <tex>S</tex> {{---}} конечное множество, элементы которого являются состояниями <tex>A</tex>.
* <tex>N</tex> {{---}} конечное упорядоченное подмножество <tex>Z^d</tex>, <tex>N=\{{n_j}|\mid {n_j}=(x_{1_j}, \dots, x_{d_j}), j \in \{1 \dots n\}\}</tex>, называемое '''окрестностью''' (англ. ''neighborhood'') <tex>A</tex>. В данном определении полагается, что клетка всегда принадлежит своей окрестности.
* <tex>\delta : S^{n} \rightarrow S</tex> {{---}} функция перехода для <tex>A</tex>.
}}
{{Определение|definition=
'''Линейным клеточным автоматом''' (ЛКА) (англ. ''linear cellular automaton'') называется одномерный клеточный автомат, окрестность каждой клетки которого состоит из <tex>2 \cdot r + 1</tex> клеток,
находящихся на расстоянии не более <tex>r</tex> от данной.
}}
{{Определение|definition=
'''Состоянием покоя''' (англ. ''quiescent state'') называется такое состояние автомата клетки <tex>c</tex>, что если автоматы клетки <tex>c</tex> и всех ее соседей (клеток из ее окрестности) находятся в состояниях покоя, то автомат <tex>c</tex> на следующем шаге останется в текущем состоянии.
}}
{{Определение|definition=
'''Спокойной клеткой''' (англ. ''quiescent cell'') назовем клетку, автомат в которой перешел в состояние покоя.
}}
{{Определение|definition=
'''Конфигурацией''' (англ. ''configuraton'') <tex>c_i</tex> КА называется распределение состояний автоматов по клеточному пространству, где <tex>i</tex> {{---}} шаг, после которого была получена конфигурация.
Начальная конфиграция {{---}} <tex>c_0</tex>.
}}
{{Определение|definition=
'''Поддержкой''' (англ. ''support'') конфигурации <tex>c</tex> называется множество неспокойных клеток в ней. Обозначается <tex>sup(c)</tex>.
}}
 
==Другое определение линейного клеточного автомата==
{{Определение|definition=
{{Теорема
|statement=
Для произвольной <tex>(m, n) </tex> машины Тьюринга <tex>T</tex> существует двумерный КА с окрестностью из семи клеток и клеточным пространством <tex>Z_T</tex> с <tex>max(n + 1, m + 1)</tex> состояниями, симулирующий ее в реальном времени.
|proof=
[[Изображение:Mpneighbour.jpg|thumb|right|comment|Рис. 1. Окрестность клетки]]
{{Теорема
|statement=Для произвольного ЛКА можно построить эмулирующую его машину Тьюринга.
|proof=Пусть эмулируется ЛКА с окрестностью радиуса <tex>d</tex> (из <tex>2d + 1</tex> клетки). Пусть в автомате клетки всего <tex>n</tex> состояний. Сопоставим каждому состоянию алфавита МТ, так что состояние покоя будет отображаться в пустую клетку ленты. Дополнительно введем символы-терминалы, указывающие на то, что соответствующие клетке ленты автоматы еще находятся в состояниях покоя. С точки зрения ЛКА клетки с терминалами будут считаться пустыми. Автомат МТ будет иметь <tex>O(n^{2d+1})</tex> состояний {{---}} по состоянию для каждой возможной окрестности клетки, а также состояния, обеспечивающие правильную эмуляцию. Исходное состояние ленты МТ имеет следующий вид: отрезок, содержащий все клетки, эквивалентные неспокойным клеткам автомата, ограниченный с концов терминалами. Эмуляция каждой фазы ЛКА будет происходить следующим образом: головка будет сдвигаться до левого терминала, затем еще на <tex>d</tex> влево, затем . Затем левый терминал будет переноситься на <tex>2d+1d</tex> вправоклеток влево, запоминая а для каждой клетки правее нового положения левого терминала будет запоминаться ее окрестность клетки, затем менять будет изменяться ее состояние текущей клетки соответственно поведению ЛКА, затем изменять окрестность, до тех пор. И так для всех клеток, пока не поменяет встретится правый терминал. При В этом, если головка обрабатывает терминал, то после этого случае необходимо сдвинуться влево или перенести его на <tex>d</tex> клеток вправо соответственно тому, какой терминал сейчас меняется, и поставить в текущую пустую клетку этот терминалпродолжить менять клетки до его следующего вхождения. Затем перейти к следующей фазе. Такая МТ будет эмулировать заданный ЛКА.
}}
Из доказанных выше теорем следует, что линейный клеточный автомат и машина Тьюринга эквивалентны.
==ЛитератураСм. также ==* [[Машина Тьюринга]]* [[Линейный ограниченный автомат]] == Источники информации ==* ''A.R. Smith III, '' {{---}} '''Simple Computation-Universal Cellular Spaces''', Journal of Association for Computing Machinery, Vol. 18, No. 3, July 1971.* ''M. Delorme, '' {{---}} '''An Introduction to Cellular Automata''', July 1998. [[Категория: Теория вычислимости]][[Категория: Вычислительные формализмы]]
36
правок

Навигация