Зарождение «Жизни»
Патриарх всея Кибернетики Джон фон Нейман в сороковых годах прошлого века заинтересовался проблемой самовоспроизводящихся машин. Такая машина, без преувеличения, позволит перевернуть мир. Представьте себе, что сложнейшую технику можно будет разводить и выращивать, как цыплят. Создавать ничего не надо — только кормить и воспитывать! Достаточно привезти одну такую машину, скажем, на Марс, и она воспроизведёт себя в стольких экземплярах, что планету можно сделать пригодной для жизни не за века, а за годы или даже месяцы!
Конечно, фон Нейман занимался лишь теорией, при этом он сумел создать сложнейшую систему правил, которым должна подчиняться такая машина. А в 1970-м году Джон Конвей усовершенствовал идею фон Неймана и построил модель с гораздо более простыми правилами, которые оформил в виде игры «Жизнь».
Игра «Жизнь» моделирует эволюцию живых существ. Место действия — клеточная «Вселенная». Возможны варианты ограниченной плоской вселенной и вселенной, замкнутой в виде тора, когда клетки на противоположных концах поля считаются соседними.
Представьте себе шахматную доску, где фигуры могут, уходя за край доски, появляться с другого края.
У каждой клетки (если она не крайняя в ограниченной Вселенной) есть 8 соседей. Каждая клеточка может быть или пуста (мертва) или заселена (жива). Вначале игрок, который в данной модели вселенной играет роль самого Создателя, расставляет некоторую исходную позицию (указывает, какие клетки будут заселены, а какие — пусты). Это — нулевое поколение.
Законы «Жизни»
Дальнейшее развитие колонии происходит уже без участия игрока — колония развивается, живёт и угасает по простым правилам:
1. Если у клетки менее 2 живых соседей, то в следующем поколении она умирает (от одиночества и тоски);
2. Если у клетки более 3 живых соседей, то в следующем поколении она также умирает (от перенаселённости и нехватки ресурсов);
3. Если у пустой клетки трое соседей, то там зарождается жизнь;
4. Все прочие клетки остаются в том же состоянии, в котором они и были;
5. Все рождения и смерти происходят мгновенно и одновременно, знаменуя смену поколений.
Исход игры существенно зависит от начальной позиции и бывает различный:
Некоторые колонии начисто вымирают;
Некоторые колонии эволюционируют в неизменные структуры, когда каждое новое поколение тождественно предыдущему (рис.1). Иногда колония эволюционирует в циклическую структуру, когда поколения начинают повторяться через некоторое число шагов;
Ряд колоний превращается в циклические структуры, перемещающиеся по полю. То есть они повторяются, но при этом сдвигаются на некоторое количество клеток;
И, самое поразительное, существуют колонии, эволюционирующие в циклические структуры, порождающие другие циклические структуры, которые перемещаются по полю (так называемые «ружья»). Эти колонии порождают потенциально бесконечное число живых клеток (!);
А ещё есть «паровозы» — циклические двигающиеся фигуры, оставляющие за собой след из устойчивых и циклических фигур.
Конуэй сначала считал, что невозможно найти такую начальную расстановку, чтобы в ходе эволюции создавалось бесконечное множество живых клеток. Он объявил премию в 50 долларов тому, кто сможет это доказать или опровергнуть.
Группа исследователей из Массачусетского технологического института придумала циклическую фигуру «Ружьё Госпера» (рис. 2), которая создавала движущиеся простейшие циклические фигуры, получившие название «глайдеры» — то есть скользящие (рис. 3). Так что в этой модели Вселенной «вечный двигатель» был благополучно изобретён.
Вместе с игрой появились и логические задачи. Например, нахождение «Райского Сада», или Эдема. Это такая позиция, которая не может быть достигнута при описанных правилах эволюции ни при каком предыдущем раскладе.
В математике такая модель вселенной получила название «Клеточный автомат». Влияние её на развитие науки трудно переоценить: игра пригодилась и в теории алгоритмов, и в теории автоматов, в теории игр, в теории вероятностей, во фрактальной геометрии, в комбинаторике и многих других дисциплинах.
Аналогии «Жизни»
Разумеется, эта замечательная игра не оставила равнодушными философов и теологов. Ведь она совмещает взгляды на эволюцию и идеалистов, и материалистов! Действительно, кто-то расставил начальное положение и придумал Законы развития (кто, как не Бог?), но дальше Вселенная развивается сама по установленным Законам Природы (в строгом соответствии с материалистическими воззрениями). И никаких вам случайностей и чудес.
Физики изумляются, насколько эта игра напоминает поведение элементарных частиц. Нейробиологи видят в ней подобие самовосстанавливающихся электрических цепей в тканях мозга. Астрономы поражены сходством игры с законами развития спиралевидных галактик. Социологи находят параллели с развитием групп и популяций, процессами поглощения, доминации, вытеснения
Ну, а далёкие от науки люди просто расставляют всевозможные начальные позиции в компьютерной реализации игры (которую способен написать любой нынешний старшеклассник) и зачарованно наблюдают за процессом эволюции. При достаточно развитом воображении в эволюции симметричных колоний можно углядеть таинственные письмена, символы и коды.
Игра «Жизнь» разнообразна, увлекательна и глубока, как сама жизнь. Может быть, и мы — суть гигантские колонии на бесконечной клетчатой доске, где размер клетки равен кванту пространства — постоянной Планка?
Виктор Губерниев, было дело в средине 70х играли.
Оценка статьи: 5
0 Ответить
Вселенная развивается сама по установленным Законам Природы (в строгом соответствии с материалистическими воззрениями). И никаких вам случайностей и чудес.- жаль...
Оценка статьи: 5
0 Ответить
Интересно, что с появлением компьютеров стало возможным создавать свои небольшие вселенные со своими законами. Пожалуй любая компьютерная игрушка и есть такая вселенная, со своим набором законов (гравитация, баллистика, поведение обитателей).
Я в своё время как то тоже написал простую программку по алгоритму муравья Лэнгтона: такая же пиксельная вселенная, в которой один из пикселей занимает муравей. Каждую итерацию он перекрашивает клетку перед собой в противоположный цвет, после чего, если клетка чёрная - поворачивается налево и делает шаг вперёд, иначе - направо. Что то вроде этого, правила могут быть разными. Суть в том, что при простейшем алгоритме - результат труднопредсказуем. Через несколько тысяч итераций муравей начинает рисовать широкую дорогу, по направлению к правому нижнему углу.
0 Ответить
Тимур Шакиров, а что если в игре "Жизнь" тоже оцветнить алогритм? Т.е. не удалять "умершие" клетки, а перекрашивать их. Например, всё живущее на данной итерации имеет зелёный цвет, умершее на прошлой - голубой, на позапрошлой - синий, 3 поколения назад - фиолетовый. То, что родится на следующей итерации - жёлтый, через одну - оранжевый, через 2 - красный. А все прочие клетки - лиловый.
Интересные рисунки, наверное, получатся...
0 Ответить
Виктор Губерниев, всё можно ) Но в данном случае, суть алгоритма - в простоте понимания и реализации. Его можно быстро и легко на написать на чём угодно, и использовать для проверки компьютера или языка программирования. Я, например, изучая новый язык, создаю на нём игру - тетрис. Если можешь написать тетрис - значит синтаксис ты освоил. )
Кстати говоря, реальная вселенная тоже часто имитируется физиками теоретиками. Изменишь например, какую нибудь космологическую постоянную - и смотришь, что произойдёт с такой вселенной: возникнут ли в ней адроны, появятся ли атомы, звёзды, планеты, или она и вовсе схлопнется в самом начале. Помнится где то писали, что по результатам симуляций - жизнь может возникнуть при отсутствии слабого взаимодействия.
Вспомнился забавный случай, когда майкрософт создала свой компьютерный мир, и туда можно было свободно добавить свою зверюгу, задав ей свой набор параметров и особенности поведения. У американских программистов хорошо получались хищники, а у русских - травоядные (коровки). Коровам задали такой алгоритм поведения: если рядом коровы своего вида - прибиться к ним в стаю и отслеживать хищников. Если рядом коровы другого вида - с максимальной скоростью сожрать в округе всю траву и сдохнуть от голода (заодно лишив пищи враждебных коров)
0 Ответить
Тимур Шакиров, а существуют ли в природе полухищники? Т.е. травоядные животные, переходящие на животную пищу только при отсутствии другой еды. Homo Sapiens vegetarianus - не в счёт...
0 Ответить
Виктор Губерниев, не зоолог, но всеядных животных вроде как полно. Медведи и кабаны например.
В Гордоновской передаче как то рассказывали о такой симуляции: сделали компьютерный мир, населённый всеядными (могли питаться травой или друг другом), задали каждому индивидуальный набор характеристик (скорости, агрессивность и тп ), возможность размножаться и возможность эволюционного развития (наследования, мутации). Через несколько тысяч поколений произошло разделение на хищников и травоядных. Хищники научились лениться - наевшись, ложились спать, и не передвигались пока не кончалась энергия, и не нужно было снова выходить на охоту.
0 Ответить
Тимур Шакиров, очень любопытные вещи рассказываете. Может статью напишете об этом?
0 Ответить
Виктор Губерниев, написал ))
https://www.shkolazhizni.ru/computers/articles/34004/
0 Ответить
Тимур Шакиров, очень интересно. Только Вам надо поработать над стилем и исправить некоторые пунктуационные ошибки. Статья классная!
0 Ответить
Виктор Губерниев, интересная идея - попробую. Ещё ни разу в жизни статей не писал ))
0 Ответить