Игра «Жизнь» — различия между версиями
Mariashka (обсуждение | вклад) (Новая страница: «{{Определение |id=def1 |definition='''Игра "Жизнь"''' (англ. ''Conway's Game of Life'') — клеточный автомат, приду...») |
Mariashka (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | '''Игра «Жизнь»''' (англ. ''Conway's Game of Life'') — [[Линейный_клеточный_автомат,_эквивалентность_МТ#cellularautomaton |клеточный автомат]], придуманный английским математиком Джоном Конвеем в 1970. | |
− | |||
− | |||
− | |||
== Правила == | == Правила == | ||
Строка 16: | Строка 13: | ||
== Универсальность == | == Универсальность == | ||
{{Теорема | {{Теорема | ||
− | |statement = Игра "Жизнь" | + | |statement = Игра "Жизнь" вычисляет то же множество функций, что и МТ. |
|proof = | |proof = | ||
− | Для того, чтобы доказать этот факт, докажем возможность построения всех возможных | + | Для того, чтобы доказать этот факт, докажем возможность построения всех возможных [[Машина_Тьюринга |машин Тьюринга]]. |
− | В состав | + | В состав МТ входит: |
* неограниченная в обе стороны лента, разделённая на ячейки | * неограниченная в обе стороны лента, разделённая на ячейки | ||
* управляющее устройство, способное находиться в одном из множества состояний. | * управляющее устройство, способное находиться в одном из множества состояний. | ||
Строка 55: | Строка 52: | ||
Заметим, что управляющая часть МТ считывает с ленты входную строчку и завершается, записав на ленту выходную строчку. Без ограничения общности, будем рассматривать бинарные строки. Следовательно, управляющая часть МТ есть булева функция. | Заметим, что управляющая часть МТ считывает с ленты входную строчку и завершается, записав на ленту выходную строчку. Без ограничения общности, будем рассматривать бинарные строки. Следовательно, управляющая часть МТ есть булева функция. | ||
<br> | <br> | ||
− | Каждая | + | Каждая МТ вычисляет определенную вычислимую функцию. Так как мы можем записать управляющий автомат в виде строки, можно подать МТ и входные данные на вход другой МТ. Следовательно, достаточно построить универсальную МТ. |
<br> | <br> | ||
Если показать, что мы можем построить в игре "Жизнь" любую булеву функцию, то мы сможем построить булеву функцию УМТ. | Если показать, что мы можем построить в игре "Жизнь" любую булеву функцию, то мы сможем построить булеву функцию УМТ. |
Версия 11:49, 13 января 2016
Игра «Жизнь» (англ. Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970.
Содержание
Правила
- Действие происходит на бесконечной плоскости, разделенной на клетки
- Каждая клетка может находиться в двух состояниях: быть живой или быть мёртвой
- У каждой клетки 8 соседей
- Если клетка жива и у нее 2-3 живых соседа, то она остается живой, иначе умирает
- Если клетка мертва и у нее 3 живых соседа, то она становится живой, иначе остается мертвой
- Игра прекращается, если на поле не останется ни одной живой клетки
- Игра прекращается, если при очередном шаге ни одна из клеток не меняет своего состояния
- Игра прекращается, если конфигурация на очередном шаге в точности повторит себя же на одном из более ранних шагов
Универсальность
Теорема: |
Игра "Жизнь" вычисляет то же множество функций, что и МТ. |
Доказательство: |
Для того, чтобы доказать этот факт, докажем возможность построения всех возможных машин Тьюринга. В состав МТ входит:
Базовые конструкцииРассмотрим базовые конструкции необходимые для построения этих элементов МТ. В игры "Жизнь" можно построить различные конструкции:
ПамятьЯчейки памяти можно построить с помощью стабильныx конструкций. ЧасыВ клеточных автоматах изначально есть часы, так как время увеличивается. Но в МТ необходимо, например, через определенное время передвигать головку записи, передавать информацию и пр. Для этой цели можно использовать планеры или космические корабли, так как они двигаются с известной скоростью. Следовательно, в качестве часов используем glider gun. Булевы функцииЗаметим, что управляющая часть МТ считывает с ленты входную строчку и завершается, записав на ленту выходную строчку. Без ограничения общности, будем рассматривать бинарные строки. Следовательно, управляющая часть МТ есть булева функция.
Построение NOTРассмотрим поток данных, состоящий из планеров. Наличие планера - 1, отсутствие - 0. Добавим поток планеров, состоящий только из 1. При столкновении планеры исчезают, следовательно на месте 1 образуется 0 и наоборот.
Построение ANDСм. рисунок. Пусть x AND y, тогда y соударяется с NOT(x). Если NOT x = 1, то на выходе ничего не попадет, если NOT x = 0, то просто пройдет y. |
Построение
Подробное описание построения МТ можно найти здесь: Rendell, P. (2014) Turing machine universality of the game of life. PhD, University of the West of England. Available from: http://eprints.uwe.ac.uk/22323