Эволюция в игре "жизнь" |
- 67 - |
Игру "жизнь" (Game of Life) придумал математик Джон Конвей в 1970 году. Если быть точным, то это не совсем игра, а пошаговый симулятор процесса размножения / умирания клеток на плоской разграниченной квадратами поверхности по следующему простому алгоритму: - в пустой клетке, рядом с которой присутствуют три живые клетки, зарождается жизнь; - живая клетка, имеющая рядом двух или трех живых соседей, продолжает жить; - живая клетка, имеющая меньше двух или больше трёх соседей, умирает. Игру "жизнь" легко найти в Интернете, установить на компьютер, планшет или смартфон для собственных экспериментов, и она стоит того! Несмотря на абсолютную детерминированность или, говоря простым языком, предсказуемость следующего шага и полную зависимость от начальных условий, процесс эволюции колоний клеток в целом не поддается точным предсказаниям за исключением одного: вне зависимости от размера игровой поверхности и сложности начальной конфигурации рано или поздно популяция если не полностью вымирает, то сводится к простым статичным или циклично повторяющимся формам. Вот некоторые из них: |
© 2015 Сергей Котов |
· Опубликовано 13 апреля 2015 г. |
Вы увидите, как на протяжении множества поколений популяция растет и даже испускает "потомство" в виде шести глайдеров, движущихся в трех направлениях. Автор на множестве экспериментов исследовал поведение популяции для случайного исходного расположения живых клеток на ограниченных поверхностях вплоть до 500 х 500 = 250 000 ячеек. Вначале, как и следовало ожидать, количество живых клеток резко снижается вследствие их очевидного перенаселения, так как в исходной позиции количество живых и неживых клеток примерно одинаково. Постепенно темп снижения количества живых клеток замедляется и даже временами прерывается кратковременным ростом в течении нескольких поколений. Но неизбежно количество живых клеток постепенно сокращается вплоть до предела, близкого к 3% от их общего количества. На этом пределе эволюция завершается возникновением на поле устойчивых конфигураций: статичных или циклично пульсирующих. Любопытно наблюдать, как временами из хаотичного движения клеток кристаллизуются правильные симметричные формы, которые быстро превращаются в простые статичные конфигурации или исчезают без следа. Довольно часто возникают глайдеры, движущиеся в одном из четырех возможных направлений, которые, сталкиваясь с другими формами, ненадолго вносят хаос и чаще всего исчезают без следа. Глайдеры – это странные артефакты, переносящие "семена" изменений в другие пространственные области, при этом "питательной средой" для кратковременных вспышек хаотичной "жизни" служат как раз элементарные статичные конфигурации клеток. Любопытен тот факт, что фигуры, имеющие одну или две оси симметрии, быстро исчерпывают запас своей эволюции, они или совсем исчезают, или вырождаются в статичные, возможно цикличные элементарные формы. Это может быть одним из частных подтверждений гипотезы, что для эволюционного развития организмов, как простых, так и сложных, необходимо обязательное наличие в их структуре нарушения симметрии, своего рода присутствие дефекта в совершенной форме. Ни разу не пришлось мне наблюдать возникновение стреляющих "глайдерных ружей", да и если бы они возникли возникли, то скорее всего были бы быстро разрушены движением других живых клеток. В общем увлекательное зрелище, хотя, наблюдая в динамике картину развития такой "жизни", представляется, что эволюция по настоящему живой популяции скорее была бы похожа на игру "жизнь" в обратном направлении – от простых редких форм к стихии беспорядочных конфигураций. Как известно, проиграть игру в обратном направлении нельзя: детерминированность в ней существует лишь в одном направлении, то есть, говоря математическим языком, это не взаимно – однозначное отображение. Интересно, что предел насыщенности живых клеток для игрового поля с большим количеством ячеек неизменно стремится с верхнего уровня 50% к нижнему уровню 3% и на этом пределе "жизнь" замирает. И здесь логично возникает гипотеза, что если бы условия игры позволяли рождаться клеткам чуть чаще и/или умирать чуть реже, то эволюция скорее всего бы продолжилась. Достичь этих условий можно различными путями. Первое, что приходит на ум, это позволить клеткам умирать в неблагоприятных условиях не с неизбежным исходом, а с вероятностью менее 100%. Но тогда красота игры, когда каждое последующее состояние можно однозначно вычислить из предыдущего - теряется. Гораздо интереснее продумать другие условия, которые сохранили бы в игре детерминированность. Например, пусть клетка, имеющая только одну соседку, умирала бы на сразу, а при повторении этой ситуации одним ходом позднее. Или рождение новой клетки было бы возможно при двух ближайших соседях и одной клеткой через одно пустое поле. Это варианты при игре на плоской поверхности. А ведь можно добавить в игру новое измерение. Пусть наше исходное игровое поле и параллельные ему поверхности пересекают поля в других плоскостях. В итоге получится своеобразная пространственная решетка: |
Но до момента полной стабильности популяция может причудливо и разнообразно развиваться. Добавьте к статичной форме "улей" всего одну живую клетку и проследите за эволюцией на поле большого размера: |
В этом случае соседями могут быть клетки из другого измерения. Допустим, что в этом случае мы имеем возможность визуально наблюдать только исходное плоское поле. Тогда, при эволюции популяций на всех пространствах решетки должна обнаружиться странная картина: в нашей игре на единственной плоскости будут без всякой видимой причины иногда появляться и исчезать живые клетки меняя исходные конфигурации! Мы сможем увидеть, например, как элементарная форма "улей" вдруг превратится в быстро растущий цветок, испускающий движущийся глайдер. Несмотря на то, что игра останется в принципе детерминированной, т.е. просчитанной от начала до конца, мы, наблюдая только одну видимую поверхность, сможем сделать вывод, что "жизнь" не имеет навсегда застывших форм, они трансформируются, а живые клетки могут возникать даже в пустом пространстве! Возможно, кто-нибудь сможет реализовать эти несложные идеи в программном симуляторе, и мы сможем понаблюдать такие эффекты воочию. Завершая эту заметку заметим, что, наблюдая в реальной жизни чудесные и необъяснимые случаи, может быть стоит подумать о тех объективных причинах и условиях, которые непознаваемы нашему субъективному взгляду. И это само по себе будет не менее чудесно. |