436
правок
Изменения
"Life" added, quotes fixed
}}
= Игра «Жизнь"Жизнь={{Определение|definition='''«Жизнь" ''' {{---}} клеточный автомат, представляющий из себя бесконечное клетчатое поле, каждая клетка может быть белой или черной. За один ход клетки перекрашиваются по определенным правилам, в зависимости от их соседей в [[#moore_neighborhood | окрестности Мура]].}} == Состояния ==Каждая клетка поля может быть либо белого, либо черного цвета. Белые клетки называются «живыми», черные {{---}} «мертвыми».== Правила ==На каждом шаге автомата ко всем клеткам применяются следующие правила:* В черная клетка, имеющая ровно три белые соседние клетки, становится белой («зарождается жизнь»);* Если у белой клетки есть две или три белые соседние клетки, то эта клетка сохраняет свой цвет;* Если у белой клетки соседей белого цвета меньше двух или больше трёх, клетка становится черной («умирает от одиночества» или «от перенаселённости»).
= Коды Вольфрама =
На каждом шаге автомата ко всем клеткам применяются следующие правила:
# Пустая клетка остается пустой.
# Клетка, находящаяся в состоянии "голова электрона" «голова электрона» переходит в состояние "хвост электрона"«хвост электрона».# Клетка, находящаяся в состоянии "хвост электрона" «хвост электрона» переходит в состояние "проводник"«проводник».# Клетка, находящаяся в состоянии "проводник" «проводник» переходит в состояние "голова электрона"«голова электрона», в том случае, если среди соседних клеток ровно одна или две находятся в состоянии "голова электрона"«голова электрона». Во всех остальных случаях "проводник" «проводник» остается "проводником"«проводником».
<br>
При применении данных правил используется [[#moore_neighborhood | окрестность Мура]] – считается, что с данной
=== Тактовый генератор ===
Данный элемент представляет собой "петлю" «петлю» из клеток проводника, к которой подсоединен провод – выход генератора, и изначально содержит один электрон. С периодом, равным длине петли, этот электрон достигает точки соединения петли с выходом, и дальше разветвляется на два электрона, один из которых идет по выходу, второй – дальше по петле. Таким образом, этот элемент можно использовать для получения в проводе бесконечного количества электронов, следующих один за другим на расстоянии, регулируемом длиной петли.<br>
[[Файл:Tact_generator_wireworld.jpg|100px|300px|thumb|center|Тактовый генератор]]
=== Логические элементы OR, XOR и NAND ===
Каждый из этих элементов имеет по 2 входа и выход. Наличие электрона на входе соответствует логическому значению "единица"«единица», отсутствие – логическому значению "ноль"«ноль». Электрон на выходе появляется согласно таблице истинности соответствующей логической операции.<br>
* Так, для элемента '''OR''' электрон на любом из входов, или электроны на обоих входах одновременно дают электрон на выходе.<br>
* Для элемента '''XOR''' электрон на любом из входов дает электрон на выходе, но при одновременной подаче электронов на оба входа они исчезают, и электрон на выходе не создается.<br>
=== Двоичный сумматор ===
Рассмотрим пример более сложной структуры, состоящей из множества простых элементов – двоичный сумматор. Его функция заключается в том, что при подаче на два входа закодированных особым образом чисел, через фиксированное количество шагов (в изображенном примере – 48) на выходе появится закодированное таким же образом число – сумма чисел на входах. Числа кодируются в двоичном виде, от младших битов к старшим, каждый бит кодируется наличием или отсутствием электрона на определенной позиции. На
рисунке ниже эти позиции отмечены точками и изображениями чисел (значений каждого бита) из клеток в состоянии "проводник" «проводник» по краям входов и выхода. Сами по себе эти отметки не несут никакой функциональной нагрузки, а служат лишь в пояснительных целях. Изображенный ниже сумматор имеет разрядность входов три бита, но можно получить сумматор с любой разрядностью, удлинив или укоротив провода на входах и выходе.
[[File:Binary_summator_wireworld.jpg|200px|350px|center|thumb|Двоичный сумматор]]