Линейный клеточный автомат, эквивалентность МТ — различия между версиями
Строка 1: | Строка 1: | ||
==Определения== | ==Определения== | ||
{{Определение|definition= | {{Определение|definition= | ||
− | '''Клеточным автоматом''' (КА) <tex>A</tex> размерности <tex>d</tex> называется четверка <tex> | + | '''Клеточным автоматом''' (КА) <tex>A</tex> размерности <tex>d</tex> называется четверка <tex> \langle {Z^d}, S, N, \delta \rangle</tex>, где |
* <tex>S</tex> {{---}} конечное множество, элементы которого являются состояниями <tex>A</tex>. | * <tex>S</tex> {{---}} конечное множество, элементы которого являются состояниями <tex>A</tex>. | ||
* <tex>N</tex> {{---}} конечное упорядоченное подмножество <tex>Z^d</tex>, <tex>N=\{{n_j}|{n_j}=(x_{1_j}, \dots, x_{d_j}), j \in \{1 \dots n\}\}</tex>, называемое '''окрестностью''' (''neighborhood'') <tex>A</tex>. | * <tex>N</tex> {{---}} конечное упорядоченное подмножество <tex>Z^d</tex>, <tex>N=\{{n_j}|{n_j}=(x_{1_j}, \dots, x_{d_j}), j \in \{1 \dots n\}\}</tex>, называемое '''окрестностью''' (''neighborhood'') <tex>A</tex>. | ||
Строка 50: | Строка 50: | ||
==Эквивалентность линейного клеточного автомата машине Тьюринга== | ==Эквивалентность линейного клеточного автомата машине Тьюринга== | ||
{{Лемма | {{Лемма | ||
− | |statement= | + | |statement= |
+ | Для произвольной (m, n) машины Тьюринга <tex>T</tex> существует двумерный КА с окрестностью из семи клеток и клеточным пространством <tex>Z_T</tex> с <tex>max(n + 1, m + 1)</tex> состояниями, симулирующий ее в реальном времени. | ||
+ | |proof= | ||
+ | Каждая клетка <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)</tex> будет соответствовать состоянию <tex>q_j</tex> машины Тьюринга при <tex>0 \le j \le n - 1</tex>. Ноль является состоянием покоя <tex>Z_T</tex> и не будет соответствовать символам и состояниям машины Тьюринга. Окрестность построим таким образом, чтобы выделять клетку, состояние которой <tex>Q_1 \in A = \{ 1, 2, \dots, m\}</tex> будет соответствовать символу машины Тьюринга из клетки, состояние которой <tex>Q_2 \in B = \{ 1, 2, \dots, n\}</tex> соответствует состоянию машины Тьюринга. В частности, подходит такая окрестность: | ||
+ | |||
+ | здесь будет нормальная картинка | ||
+ | |||
+ | <tex>\_*\_</tex> | ||
+ | |||
+ | <tex>*X*</tex> | ||
+ | |||
+ | <tex>***</tex> | ||
+ | |||
+ | |||
+ | Таким образом, <tex>Z_T</tex> симулирует машину Тьюринга, используя конфигурацию, в которой оно <tex>"</tex>выглядит как<tex>"</tex> машина Тьюринга. Один ряд клеток в <tex>Z_T</tex> представляет из себя ленту машины Тьюринга - одна клетка <tex>Z_T</tex> для каждой клетки ленты, а одна клетка из соседнего ряда будет соответствовать головке МТ. | ||
}} | }} |
Версия 22:51, 23 января 2012
Определения
Определение: |
Клеточным автоматом (КА)
| размерности называется четверка , где
Определение: |
Линейным клеточным автоматом (ЛКА) называется одномерный клеточный автомат, окрестность каждой клетки которого состоит из | клеток, находящихся на расстоянии не более от данной.
Определение: |
Состоянием покоя (quiescent state) называется такое состояние автомата | , что если автомат перешел в состояние , то на следующем шаге он также будет находиться в состоянии .
Определение: |
Спокойной клеткой (quiescent cell) назовем клетку, автомат в которой перешел в состояние покоя. |
Определение: |
Конфигурацией (configuraton) | КА называется распределение состояний автоматов по клеточному пространству, где --- шаг, после которого была получена конфигурация. Начальная конфиграция--- .
Определение: |
Поддержкой (support) конфигурации | называется множество неспокойных клеток в ней. Обозначается .
Определение: |
Конфигурация называется пассивной (passive), если | .
Определение: |
Конфигурации называются непересекающимися (disjoint), если их поддержки не пересекаются как множества. |
Другое определение линейного клеточного автомата
Определение: |
Линейным клеточным автоматом | назовем бесконечную ленту, в каждой клетке которой записан некоторый автомат. На вход автомату в клетке подается вектор из состояний автоматов в клетках с по включительно.
Утверждение: |
Для любого ЛКА можно построить эквивалентный ему ЛКА, во всех клетках которого будет записан один и тот же автомат. |
Так как окрестность каждой клетки конечна и размер автомата в клетке конечен, то всего существует конечное число автоматов. Обозначим их множество как | . Построим автомат следующим образом: множеством вершин будет объединение множеств вершин автоматов из , переходы между вершинами и будет совпадать с переходами , если и соответствуют вершинам из , иначе переход отсутствует. Начальным состоянием автомата будет состояние,соответствующее начальному состоянию автомата , который был записан в текущей клетке. Очевидно, что поведение такого автомата будет совпадать с поведением .
Эквивалентность линейного клеточного автомата машине Тьюринга
Лемма: |
Для произвольной (m, n) машины Тьюринга существует двумерный КА с окрестностью из семи клеток и клеточным пространством с состояниями, симулирующий ее в реальном времени. |
Доказательство: |
Каждая клетка обладает множеством из состояний. Без потери общности, будем считать, что , так что будет сопоставляться символу машины Тьюринга при , а состояние будет соответствовать состоянию машины Тьюринга при . Ноль является состоянием покоя и не будет соответствовать символам и состояниям машины Тьюринга. Окрестность построим таким образом, чтобы выделять клетку, состояние которой будет соответствовать символу машины Тьюринга из клетки, состояние которой соответствует состоянию машины Тьюринга. В частности, подходит такая окрестность:здесь будет нормальная картинка
|