Цифровой организм
Цифровой организм — самовоспроизводящаяся компьютерная программа, которая мутирует и развивается. Цифровые организмы используют в качестве инструмента для изучения динамики эволюции по Дарвину, для тестирования или проверки конкретных гипотез или математических моделей эволюции. Эти исследования тесно связаны с областью создания искусственной жизни.
История
Цифровые организмы впервые появились в игре «Дарвин», в которой компьютерные программы были вынуждены конкурировать, мешая выполнению друг друга.[1] Аналогичные механизмы реализованы в игре «Бой в памяти». В ходе этой игры выяснилось, что одной из выигрышных стратегий является самовоспроизведение с наиболее возможной скоростью, которое приводит к лишению противников всех вычислительных ресурсов. Программы в игре «Бой в памяти» также способны мутировать сами и обмениваться кодом, перезаписывая инструкции в моделируемой «памяти», где происходит игра. Это позволило конкурирующим программам встраивать разрушительные инструкции друг другу, вызывая ошибку чтения кода; «поработить процессы соперника», заставив их работать на себя, изменять свою стратегию посреди игры и излечивать собственный повреждённый код.
Стин Расмуссен в Лос-Аламосской национальной лаборатории взял идею игры «Бой в памяти» и ввёл генетический алгоритм для автоматического написания. Тем не менее, Расмуссен не наблюдал эволюцию сложных и стабильных программ. Оказалось, что язык программирования, на котором были написаны программы, оказался очень нестойким, и чаще всего мутации полностью уничтожали функциональность программы.
Первым решить вопрос об устойчивости программ взялся Том Рэй с его компьютерным симулятором «Tierra», где Рэй сделал несколько ключевых изменений в языке программирования. Внеся изменения, он впервые наблюдал компьютерные программы, которые действительно развивались сложным образом.
Позже, Крис Адами, Тит Браун, и Чарльз Офрия приступили к разработке собственной системы «Avida», которая была вдохновлена «Tierra», но имела некоторые важные различия. В «Tierra» все программы жили в одном адресном пространстве, и потенциально могли перезаписать или иным образом вмешиваться в код друг друга. В «Avida» каждая программа живёт в своем собственном адресном пространстве. Благодаря этой модификации, эксперименты с «Avida» стало намного чище и легче интерпретировать. Начиная с «Avida», цифровое исследование организма стало восприниматься как действенный вклад в эволюционную биологию всё большим числом эволюционных биологов. Так, эволюционный биолог Ричард Ленски из университета штата Мичиган широко использовал «Avida» в своей работе. Ленски, Адами и их коллеги опубликовали результаты в научных журналах, таких как «Nature» и «Proceedings of the National Academy of Sciences» (США).
В 1996 году Энди Парджеллис создал Tierra-подобную систему под названием «Amoeba», в которой происходила саморепликация в произвольном порядке от случайно отобранного исходного состояния.
В экспериментах с «Avida» при ограничении в 16000 поколений и 50-кратном его повторе, выявлено, что в 23 случаях из 50 эволюция порождала цифровые организмы, способные производить побитовое сравнение чисел, причём в каждом случае эволюция происходила различно.[2]
Примечания
- Aleph-Null, «Computer Recreations», Software: Practice and Experience, vol. 2, pp. 93-96, 1972
- http://www.kv.by/index2005071102.htm «Компьютерные вести» № 7, 2005 год: «Цифровая эволюция»
Ссылки
- Программа «Avida» вместе с исходным кодом
- O’Neill, B. (2003). Digital Evolution. PLoS Biology 1, 011—014.
- Wilke, C.O. & Adami, C. (2002). The biology of digital organisms. Trends in Ecology and Evolution 17, 528—532.
- Pargellis, A.N. (1996). The spontaneous generation of digital «Life». Physica D 91 86-96
- Misevic, Dusan & Ofria, Charles & Lenski, Richard E. Sexual reproduction reshapes the genetic architecture of digital organisms Proc Biol Sci. 2006 February 22; 273(1585): 457—464.