Линейный клеточный автомат, эквивалентность МТ — различия между версиями
(→Эквивалентность линейного клеточного автомата машине Тьюринга) |
KK (обсуждение | вклад) м (→Определения) |
||
| Строка 11: | Строка 11: | ||
}} | }} | ||
{{Определение|definition= | {{Определение|definition= | ||
| − | '''Состоянием покоя''' (quiescent state) называется такое состояние автомата клетки <tex>c</tex>, что если автоматы клетки <tex>c</tex> и всех ее соседей (клеток из ее окрестности) находятся в состояниях покоя, то автомат <tex>c</tex> на следующем шаге останется в текущем состоянии. | + | '''Состоянием покоя''' (англ. ''quiescent state'') называется такое состояние автомата клетки <tex>c</tex>, что если автоматы клетки <tex>c</tex> и всех ее соседей (клеток из ее окрестности) находятся в состояниях покоя, то автомат <tex>c</tex> на следующем шаге останется в текущем состоянии. |
}} | }} | ||
{{Определение|definition= | {{Определение|definition= | ||
| − | '''Спокойной клеткой''' (quiescent cell) назовем клетку, автомат в которой перешел в состояние покоя. | + | '''Спокойной клеткой''' (англ. ''quiescent cell'') назовем клетку, автомат в которой перешел в состояние покоя. |
}} | }} | ||
{{Определение|definition= | {{Определение|definition= | ||
| − | '''Конфигурацией''' (configuraton) <tex>c_i</tex> КА называется распределение состояний автоматов по клеточному пространству, где <tex>i</tex> {{---}} шаг, после которого была получена конфигурация. | + | '''Конфигурацией''' (англ. ''configuraton'') <tex>c_i</tex> КА называется распределение состояний автоматов по клеточному пространству, где <tex>i</tex> {{---}} шаг, после которого была получена конфигурация. |
Начальная конфиграция {{---}} <tex>c_0</tex>. | Начальная конфиграция {{---}} <tex>c_0</tex>. | ||
}} | }} | ||
{{Определение|definition= | {{Определение|definition= | ||
| − | '''Поддержкой''' (support) конфигурации <tex>c</tex> называется множество неспокойных клеток в ней. Обозначается <tex>sup(c)</tex>. | + | '''Поддержкой''' (англ. ''support'') конфигурации <tex>c</tex> называется множество неспокойных клеток в ней. Обозначается <tex>sup(c)</tex>. |
}} | }} | ||
| + | |||
==Другое определение линейного клеточного автомата== | ==Другое определение линейного клеточного автомата== | ||
{{Определение|definition= | {{Определение|definition= | ||
Версия 22:01, 21 декабря 2015
Содержание
Определения
| Определение: |
Клеточным автоматом (КА) размерности называется четверка , где
|
| Определение: |
| Линейным клеточным автоматом (ЛКА) называется одномерный клеточный автомат, окрестность каждой клетки которого состоит из клеток, находящихся на расстоянии не более от данной. |
| Определение: |
| Состоянием покоя (англ. quiescent state) называется такое состояние автомата клетки , что если автоматы клетки и всех ее соседей (клеток из ее окрестности) находятся в состояниях покоя, то автомат на следующем шаге останется в текущем состоянии. |
| Определение: |
| Спокойной клеткой (англ. quiescent cell) назовем клетку, автомат в которой перешел в состояние покоя. |
| Определение: |
| Конфигурацией (англ. configuraton) КА называется распределение состояний автоматов по клеточному пространству, где — шаг, после которого была получена конфигурация. Начальная конфиграция — . |
| Определение: |
| Поддержкой (англ. support) конфигурации называется множество неспокойных клеток в ней. Обозначается . |
Другое определение линейного клеточного автомата
| Определение: |
| Линейным клеточным автоматом назовем бесконечную ленту, в каждой клетке которой записан некоторый автомат. На вход автомату в клетке подается вектор из состояний автоматов в клетках с по включительно. |
| Лемма: |
Для любого ЛКА можно построить эквивалентный ему ЛКА, во всех клетках которого будет записан один и тот же автомат. |
| Доказательство: |
| Так как окрестность каждой клетки конечна и размер автомата в клетке конечен, то всего существует конечное число автоматов. Обозначим их множество как . Построим автомат следующим образом: множеством вершин будет объединение множеств вершин автоматов из , переходы между вершинами и будут совпадать с переходами , если и соответствуют вершинам из , иначе переход отсутствует. Начальным состоянием автомата будет состояние,соответствующее начальному состоянию автомата , который был записан в текущей клетке. Очевидно, что поведение такого автомата будет совпадать с поведением . |
Эквивалентность линейного клеточного автомата машине Тьюринга
| Теорема: |
Для произвольной (m, n) машины Тьюринга существует двумерный КА с окрестностью из семи клеток и клеточным пространством с состояниями, симулирующий ее в реальном времени. |
| Доказательство: |
|
Каждому состоянию автомата клетки будет сопоставляться либо состояние автомата МТ, либо символ на ленте. Все клетки будут либо клетками ленты, расположенными в одном ряду, и в этом случае их состояние соответствует символу на ленте МТ, либо служебными клетками. Среди служебных клеток клетка будет соответствовать головке 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.


