Линейный клеточный автомат, эквивалентность МТ — различия между версиями
| Строка 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) машины Тьюринга существует двумерный КА с окрестностью из семи клеток и клеточным пространством с состояниями, симулирующий ее в реальном времени. |
| Доказательство: |
|
Каждая клетка обладает множеством из состояний. Без потери общности, будем считать, что , так что будет сопоставляться символу машины Тьюринга при , а состояние будет соответствовать состоянию машины Тьюринга при . Ноль является состоянием покоя и не будет соответствовать символам и состояниям машины Тьюринга. Окрестность построим таким образом, чтобы выделять клетку, состояние которой будет соответствовать символу машины Тьюринга из клетки, состояние которой соответствует состоянию машины Тьюринга. В частности, подходит такая окрестность: здесь будет нормальная картинка
|