Линейный клеточный автомат, эквивалентность МТ — различия между версиями
KK (обсуждение | вклад) м (→Эквивалентность линейного клеточного автомата машине Тьюринга)  | 
				KK (обсуждение | вклад)  м (→Источники информации)  | 
				||
| Строка 66: | Строка 66: | ||
== Источники информации ==  | == Источники информации ==  | ||
| − | * ''A.R. Smith III'' - '''Simple Computation-Universal Cellular Spaces''', Journal of Association for Computing Machinery, Vol. 18, No. 3, July 1971.  | + | * ''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.  | + | * ''M. Delorme'' {{---}} '''An Introduction to Cellular Automata''', July 1998.  | 
[[Категория: Теория вычислимости]]  | [[Категория: Теория вычислимости]]  | ||
[[Категория: Вычислительные формализмы]]  | [[Категория: Вычислительные формализмы]]  | ||
Версия 22:32, 21 декабря 2015
Содержание
Определения
| Определение: | 
Клеточным автоматом (КА)  размерности  называется четверка , где
  | 
| Определение: | 
| Линейным клеточным автоматом (ЛКА) называется одномерный клеточный автомат, окрестность каждой клетки которого состоит из клеток, находящихся на расстоянии не более от данной. | 
| Определение: | 
| Состоянием покоя (англ. quiescent state) называется такое состояние автомата клетки , что если автоматы клетки и всех ее соседей (клеток из ее окрестности) находятся в состояниях покоя, то автомат на следующем шаге останется в текущем состоянии. | 
| Определение: | 
| Спокойной клеткой (англ. quiescent cell) назовем клетку, автомат в которой перешел в состояние покоя. | 
| Определение: | 
| Конфигурацией (англ. configuraton) КА называется распределение состояний автоматов по клеточному пространству, где — шаг, после которого была получена конфигурация. Начальная конфиграция — . | 
| Определение: | 
| Поддержкой (англ. support) конфигурации называется множество неспокойных клеток в ней. Обозначается . | 
Другое определение линейного клеточного автомата
| Определение: | 
| Линейным клеточным автоматом назовем бесконечную ленту, в каждой клетке которой записан некоторый автомат. На вход автомату в клетке подается вектор из состояний автоматов в клетках с по включительно. | 
| Лемма: | 
Для любого ЛКА можно построить эквивалентный ему ЛКА, во всех клетках которого будет записан один и тот же автомат.  | 
| Доказательство: | 
| Так как окрестность каждой клетки конечна и размер автомата в клетке конечен, то всего существует конечное число автоматов. Обозначим их множество как . Построим автомат следующим образом: множеством вершин будет объединение множеств вершин автоматов из , переходы между вершинами и будут совпадать с переходами , если и соответствуют вершинам из , иначе переход отсутствует. Начальным состоянием автомата будет состояние,соответствующее начальному состоянию автомата , который был записан в текущей клетке. Очевидно, что поведение такого автомата будет совпадать с поведением . | 
Эквивалентность линейного клеточного автомата машине Тьюринга
| Теорема: | 
Для произвольной  машины Тьюринга  существует двумерный КА с окрестностью из семи клеток и клеточным пространством  с  состояниями, симулирующий ее в реальном времени.  | 
| Доказательство: | 
| 
 
 Каждому состоянию автомата клетки будет сопоставляться либо состояние автомата МТ, либо символ на ленте. Все клетки будут либо клетками ленты, расположенными в одном ряду, и в этом случае их состояние соответствует символу на ленте МТ, либо служебными клетками. Среди служебных клеток клетка будет соответствовать головке MT и в каждый момент находиться над какой-то клеткой ленты, клетки и всегда будут указывать на клетки слева и справа от . Остальные клетки будут находиться в состоянии покоя. Заметим, что это порождает следующую проблему: размер входных данных МТ конечен, следовательно поддержка начальной конфигурации конечна. Так как МТ в общем случае может не остановиться, то в какой-то момент может потребоваться расширить ленту. Поэтому необходимо ввести две дополнительных служебных клетки, при необходимости расширяющих ленту влево или вправо (то есть переводящих соседнюю слева/справа клетку в свое состояние, а сами переходящие в состояние, соответствующее пустой клетке ленты МТ). Построим окрестность, необходимую для корректной работы такого КА. Рассмотрев поведение МТ и зависимости клеток КА, получим, что минимальная по размеру окрестность имеет вид, представленный на Рис. 1. Также определим в каждой клетке состояние , соответствующее начальному состоянию МТ. Перед началом эмуляции клетки ленты переведем в состояния эквивалентные входным символам, клетку над самой левой непустой клеткой ленты переведем в состояние , которая будет соответствовать начальному положению головки. Тогда клетки ленты будут менять свои состояние так же, как лента МТ. | 
| Теорема: | 
Для произвольной  машины Тьюринга существует линейный КА с окрестность не более, чем из шести клеток,  состояниями, эмулирующий эту МТ в реальном времени.  | 
| Доказательство: | 
| 
 Лента будет иметь следующий вид: Доказательство и построение автомата аналогично предыдущей теореме. | 
| Теорема: | 
Для произвольного ЛКА можно построить эмулирующую его машину Тьюринга.  | 
| Доказательство: | 
| Пусть эмулируется ЛКА с окрестностью радиуса (из клетки). Пусть в автомате клетки всего состояний. Сопоставим каждому состоянию алфавита МТ, так что состояние покоя будет отображаться в пустую клетку ленты. Дополнительно введем символы-терминалы, указывающие на то, что соответствующие клетке ленты автоматы еще находятся в состояниях покоя. С точки зрения ЛКА клетки с терминалами будут считаться пустыми. Автомат МТ будет иметь состояний — по состоянию для каждой возможной окрестности клетки, а также состояния, обеспечивающие правильную эмуляцию. Исходное состояние ленты МТ имеет следующий вид: отрезок, содержащий все клетки, эквивалентные неспокойным клеткам автомата, ограниченный с концов терминалами. Эмуляция каждой фазы ЛКА будет происходить следующим образом: головка будет сдвигаться до левого терминала, затем еще на влево. Затем левый терминал будет переноситься на клеток влево, а для каждой клетки правее нового положения левого терминала будет запоминаться ее окрестность, затем будет изменяться ее состояние соответственно поведению ЛКА. И так для всех клеток, пока не встретится правый терминал. В этом случае необходимо перенести его на клеток вправо и продолжить менять клетки до его следующего вхождения. Затем перейти к следующей фазе. Такая МТ будет эмулировать заданный ЛКА. | 
Из доказанных выше теорем следует, что линейный клеточный автомат и машина Тьюринга эквивалентны.
Источники информации
- 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.
 


