Выбрать главу

2. Живая клетка, с которой граничат две или три живые клетки, выживает.

3. Живая клетка, граничащая с более чем тремя живыми клетками, умирает.

4. Мертвая клетка, граничащая с тремя живыми клетками, оживает.

Если взять приведенное начальное состояние, мы увидим следующее развитие.

Последовательные состояния игры «Жизнь», слева направо, сверху вниз.

Игру Конвея можно считать динамической системой. Существует определенное положение в фазовом пространстве — конфигурация системы, которая работает по установленным правилам. Следовательно, если рассматривать другие динамические системы, одни начальные условия приведут систему к неподвижным точкам, после которых развитие остановится; другие — к предельным циклам, когда одно и то же поведение будет периодически повторяться. Наконец, третьи начальные условия приведут систему к странным аттракторам, и она начнет демонстрировать непредсказуемое и хаотичное поведение.

Так, все эти конфигурации из двух, трех и четырех клеток ведут к аттрактору в виде неподвижной точки.

Эти конфигурации, наоборот, порождают повторяющиеся предельные циклы.

В целом поведение игры «Жизнь» хаотично: при изменении начального состояния хотя бы одной клетки мы получим абсолютно разные результаты.

Возникновение произвольных сложных конфигураций в игре Конвея доказывает, что самоорганизация — нередкое явление, не связанное с большой сложностью системы: она может опираться на самые простые законы и не требовать вмешательства человека. Подобный подход совпадает с видением мира как физической системы, управляемой конечным набором простых законов, которые, несмотря на свою простоту, делают возможным существование таких сложных существ, как люди.

* * *

ИГРА «ЖИЗНЬ» КАК КОМПЬЮТЕР

Игра «Жизнь» так разнообразна, что ею можно пользоваться как персональным компьютером. Если взять достаточно большую доску, можно рассматривать ячейки в качестве битов и логических схем — двух базовых элементов для создания процессора, с помощью которых можно написать любую компьютерную программу. Это означает, что при достаточно большом размере решётки игры «Жизнь» можно выполнить любой алгоритм, написанный для персонального компьютера. Например, уже существуют программы, которые вычисляют простые числа, пользуясь исключительно игрой «Жизнь». Конечно, это не очень практичное использование игры, но оно хорошо иллюстрирует то, как на основе ограниченного перечня простых правил можно создать действительно сложную конфигурацию.

* * *

Английский физик и разработчик Стивен Вольфрам (1959) посвятил значительную часть своей жизни изучению клеточных автоматов. Полученные им заключения показывают, что простые правила лежат в основе достаточной высокой сложности результата. Вольфрам сегодня работает над выведением физических законов с помощью клеточных автоматов: ему уже удалось получить модели, совместимые с релятивизмом и квантовой механикой.

Одно из самых важных достижений Вольфрама заключается в том, что его клеточный автомат, называемый правило 110, является тъюринг-полным. Система называется тьюринг-полной, если она способна выполнять любую операцию, подвластную машине Тьюринга, которую можно считать примером идеального компьютера с бесконечными вычислительными возможностями и памятью. Машина Тьюринга может использоваться для вычисления любой математической функции.

Итак, один из клеточных автоматов Вольфрама способен вычислить результат любой математической функции, если задать ему подходящие начальные условия. Клеточный автомат 110 гораздо проще, чем игра «Жизнь» Конвея. В нем имеется только одна линия расчетов, размещенная рядом с другой. Правила трансформации определяются значением этой ячейки и двух соседних. Если обозначить «живое» состояние через 1 и «мертвое» — через 0, правило 110 можно свести к следующей записи:

111 —> 0

110 —> 1

101 —> 1

100 —> 0

011 —> 1

010 —> 1

001 —> 1

000 —> 0

Ниже показан пример развития правила 110 при произвольных начальных условиях.

Правило 110. Для создания рисунка начинают с произвольной последовательности белых и черных квадратов в нижней части. Затем для создания следующей линии над предыдущей используется правило 110. Процесс продолжается до формирования завершенного рисунка.