Игра «Жизнь» — различия между версиями
Mariashka (обсуждение | вклад) |
Mariashka (обсуждение | вклад) м |
||
Строка 36: | Строка 36: | ||
* стабильные {{---}} не меняются с течением времени(первые два ряда), | * стабильные {{---}} не меняются с течением времени(первые два ряда), | ||
* циклические {{---}} принимают исходное положение каждые <tex>n</tex> итераций (третий ряд), | * циклические {{---}} принимают исходное положение каждые <tex>n</tex> итераций (третий ряд), | ||
− | * планер(glider) {{---}} фигура, которая смещается на одну клетку вниз и в право каждые <tex>4</tex> итерации (<tex>4</tex> ряд), | + | * планер (glider) {{---}} фигура, которая смещается на одну клетку вниз и в право каждые <tex>4</tex> итерации (<tex>4</tex> ряд), |
* космический корабль {{---}} фигура, которая смещается ортогонально на <tex>1</tex> клетку каждые <tex>4</tex> итерации, | * космический корабль {{---}} фигура, которая смещается ортогонально на <tex>1</tex> клетку каждые <tex>4</tex> итерации, | ||
* glider gun {{---}} фигура, бесконечно производящая планер каждые <tex>30</tex> итераций, | * glider gun {{---}} фигура, бесконечно производящая планер каждые <tex>30</tex> итераций, | ||
Строка 54: | Строка 54: | ||
<br> | <br> | ||
Если показать, что мы можем построить в игре "Жизнь" любую булеву функцию, то мы сможем построить булеву функцию УМТ. | Если показать, что мы можем построить в игре "Жизнь" любую булеву функцию, то мы сможем построить булеву функцию УМТ. | ||
− | Из курса дискретной математики [[Полные системы функций. Теорема Поста о полной системе функций |известно]], что <tex>NAND</tex> - полная система, т.е. с его помощью можно построить любую. Следовательно, чтобы построить любую булеву функцию, нам нужно просто построить <tex>NAND</tex>, то есть <tex>NOT</tex> и <tex>AND</tex> в игре "Жизнь". | + | Из курса дискретной математики [[Полные системы функций. Теорема Поста о полной системе функций |известно]], что <tex>NAND</tex> {{---}} полная система, т.е. с его помощью можно построить любую. Следовательно, чтобы построить любую булеву функцию, нам нужно просто построить <tex>NAND</tex>, то есть <tex>NOT</tex> и <tex>AND</tex> в игре "Жизнь". |
===Построение NOT=== | ===Построение NOT=== | ||
Рассмотрим поток данных, состоящий из планеров. Наличие планера {{---}} <tex>1</tex>, отсутствие {{---}} <tex>0</tex>. Добавим поток планеров, состоящий только из <tex>1</tex>. При столкновении планеры исчезают, следовательно на месте <tex>1</tex> образуется <tex>0</tex> и наоборот.<br> | Рассмотрим поток данных, состоящий из планеров. Наличие планера {{---}} <tex>1</tex>, отсутствие {{---}} <tex>0</tex>. Добавим поток планеров, состоящий только из <tex>1</tex>. При столкновении планеры исчезают, следовательно на месте <tex>1</tex> образуется <tex>0</tex> и наоборот.<br> |
Версия 14:29, 13 января 2016
Игра «Жизнь» (англ. Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970.
Содержание
Правила
- Правило 1. Действие происходит на бесконечной плоскости, разделенной на клетки, которую можно иногда представить как зацикленную конечную.
- Правило 2. Каждая клетка может находиться в двух состояниях: быть живой или быть мёртвой.
- Правило 3. У каждой клетки соседей.
- Правило 4. Если клетка жива и у нее живых соседа, то она остается живой, иначе умирает.
- Правило 5. Если клетка мертва и у нее живых соседа, то она становится живой, иначе остается мертвой.
- Правило 6. Игра прекращается, если на поле не останется ни одной живой клетки.
- Правило 7. Игра прекращается, если при очередном шаге ни одна из клеток не меняет своего состояния.
- Правило 8. Игра прекращается, если конфигурация на очередном шаге в точности повторит себя же на одном из более ранних шагов.
Универсальность
Теорема: |
Игра «Жизнь» вычисляет то же множество функций, что и МТ. |
Доказательство: |
Для того, чтобы доказать этот факт, докажем возможность построения всех возможных машин Тьюринга.
Базовые конструкцииРассмотрим базовые конструкции необходимые для построения этих элементов МТ.
ПамятьЯчейки памяти можно построить с помощью стабильныx конструкций Булевы функцииЗаметим, что управляющая часть МТ считывает с ленты входную строчку и завершается, записав на ленту выходную строчку. Без ограничения общности, будем рассматривать бинарные строки. Следовательно, управляющая часть МТ есть булева функция.
Построение NOTРассмотрим поток данных, состоящий из планеров. Наличие планера — Построение ANDСм. рисунок. Пусть |
См.также
- 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