|
Арбузный ломтик по средам № 88
Есть ли у вас жизнь?
|
Жизнь это гонка, где каждый стремится вырваться вперёд, чтобы придти к финишу последним. |
Знаете ли вы забаву, которая связывала бы математику, программирование, философию и, самое главное, приятные размышления об устройстве мира? Только игра «Жизнь» связывает такие далекие друг от друга области наук и развлечений. Впервые рассказ об этой игре появился в книге Мартина Гарднера «Математические досуги» (М.,Мир 1972), а в его же книге «Крестики-нолики» (М.,Мир 1988) приведен материал, обобщающий буквальный шквал находок, появившихся на волне всеобщего увлечения игрой. Популярность её была необычайно высока. Не было ни одного программиста, не писавшего программы для Жизни. Как только появлялось новое оборудование: древние теперь ЕС-ки, СМ-3, СМ-14-20 ДВК, Синклер-Спектрум на экранах вскоре начинали ползать причудливые организмы. Появление ПК, массовый доступ к ним открывает возможность желающим написать программу для Жизни или, имея такую программу, поиграть с ней.
В книге Ч. Узерелла «Этюды для программистов» (М. Мир 1982) самым первым пунктом идёт предложение написать программу для игры Жизнь. Сам процесс обдумывания нехитрого алгоритма, способа задания колонии клеток и вывод на экран очень полезен для новичков и доставит удовольствие опытным программистам. Но, как выяснилось, пришло новое поколение незнакомое с игрой Жизнь, даже многие программисты не слышали о ней, не говоря уже о школьниках и студентах. Поэтому познакомим их с правилами Жизни.
Игру создал Джон Конуэй. Он экспериментировал с так называемыми клеточными автоматами и нашел изюминку, сделавшую его открытие сверхпопулярным. Напомню кратко правила «Жизни». Каждую клетку доски а доска предполагается в идеальном случае бесконечной окружают восемь соседних клеток. Законы Конуэя формулируются следующим образом:
Выживание. Каждая фишка, у которой две или три соседки, выживает и переходит в следующее поколение.
Гибель. Фишка, у которой больше трёх соседей, погибает от «перенаселённости» и снимается с доски. Фишка, вокруг которой нет соседей или только одна соседка, умирает от одиночества.
Рождение. Если число фишек, с которыми граничит какая-нибудь пустая клетка в точности равно трём (не больше и не меньше), то на этой клетке рождается новый организм, то есть следующим ходом на него ставиться одна фишка.
Важно понять, что рождение и гибель всех «организмов» происходит одновременно. Вместе взятые они образуют одно поколение, или один ход. Начните игру расположите на доске произвольную конфигурацию из фишек (можно использовать обычные шашки) и запустите первый шаг жизни, то есть уберите погибших и поставьте родившихся. Потом повторяйте шаги, наблюдая за популяцией. Вскоре после начала игры вы заметите, что популяция всё время претерпевает необычные, нередко очень красивые и всегда неожиданные изменения. Интересно играть просто на шахматной доске, снимая и добавляя шашки, чем я и занимался часто в докомпьютерную эпоху.
Идея «Жизни» необычайно плодотворна. Подумайте, например, о том, что, во-первых, нельзя заранее спрогнозировать будущую конфигурацию, во-вторых, самое мистическое, по известной конфигурации невозможно однозначно определить предыдущую конфигурацию. Получили развитие и фантастические «доработки» «Жизней», вывод ее в третье и четвертое измерение, разработка правил для «Жизни» на полях с треугольными и шестиугольными ячейками. Создано большое количество программ и онлайновых апплетов, множество сайтов посвящено этому чуду. Четыре года назад я создал «Жизнь» на шестиугольном поле и реализовал оригинальную идею правила жизни меняются в зависимости от количества живых ячеек. Это позволяет оптимизировать жизнь колонии в течение длительного времени. Вообще, все время приходят сообщения о каких-то новинках в этой области, смотрите, например, тему в Арбузном форуме, я получаю письма с интересными идеями. Например запустить две враждующие колонии и назначить правила «боя». Или придать пол ячейкам и назначить рождение нового организма лишь при наличии двух родителей. Или трех недавно в Компьютере серьезно обсуждалась возможность рождения организма, наследующего признаки трех родителей.
К чему это все я написал? Чувствую, что пока я не занимаюсь «Жизнью», она проходит зря и бездарно. Надо бросить, наконец суету и попробовать еще раз сконструировать нечто эдакое. Самое приятное то, что жуткие фантастические находки рождаются при создании и отладке очередного монстра. Призываю читателей поиграйте с «Жизнью», без этих забав реальная жизнь всего лишь скучное ожидание старости.
Ссылки по теме.
Статья в журнале «Hard'n'soft» Как обустроить жизнь советы мудреца. В ней подробный обзор программ, история и теория игры.
Статья в журнале «Домашний компьютер» «Жизнь» сложить не поле перейти
Лучшая русскоязычная Домашняя страница программы для игры в «Жизнь» FAM Life
21.12.2005
Теги: игры
|
Ваш отзыв автору
|
|
|