Библиографическое описание:

Кольчугина Е. А. Влияние стратегий поведения цифровых организмов на их выживание и устойчивость существования сообществ [Текст] // Технические науки в России и за рубежом: материалы V междунар. науч. конф. (г. Москва, январь 2016 г.). — М.: Буки-Веди, 2016. — С. 1-3.



 

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

Цифровые организмы, их структура и свойства

Понятие цифрового организма связывается в первую очередь с моделями Tierra [1,2] и Avida [3,4]. Эти модели описывают миры эволюционирующих ассемблерных программ. Однако язык ассемблера, который используется в этих моделях, предназначен только для виртуальной вычислительной машины. Это необходимо для того, чтобы вне своего мира внутри виртуальной машины цифровые организмы не могли существовать и каким-либо образом нанести вред реальной вычислительной системе. Ассемблер виртуальной вычислительной машины состоит только из тех команд, которые необходимы для поддержания существования цифровых организмов.

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

В качестве носителя наследственной информации — генома — цифровых организмов Tierra и Avida рассматривается непосредственно их запись в виде последовательности ассемблерных команд. В моделях Tierra и Avida генотип и фенотип идентичны [1–4]. Появление новых свойств у цифровых организмов достигается благодаря мутациям — псевдоспонтанным изменениям программного кода.

На примере моделей Tierra и Avida была показана и исследована возможность создания программным путем динамических структур, подобных биомолекулярным организмам, а также исследованы закономерности развития сообществ таких структур. Однако методы, используемые в Tierra и Avida, не могут быть непосредственно использованы в практическом программировании, так как процесс разработки программ будет слишком медленным.

Модель цифрового организма, ориентированная на прикладное программирование

Автором были предложены концепция неравновесного программирования [5] и другая модель цифрового организма, ориентированная на создание прикладного программного обеспечения [6]. Согласно этой модели, весь алгоритм поведения цифрового организма состоит из крупных единиц — блоков. Каждый блок описывает какое-то сложное действие, совершаемое цифровым организмом: порождение потомства, обработку данных (метаболизм), перемещение, смерть и т. п. Блоки нумеруются целыми числами. Каждый блок может быть реализован бесконечным количеством способов, то есть для каждого блока существует множество стратегий. Каждая стратегия также нумеруется. Располагая номера стратегий в порядке возрастания номеров блоков, можно получить кодированное представление алгоритма. Изменение номера стратегии, в свою очередь, изменит поведение цифрового организма. Таким образом, цифровые организмы такого типа можно рассматривать как промежуточное звено между интеллектуальными агентами (аниматами [7]) и цифровыми организмами Tierra и Avida. Цифровой организм как бы собирается из крупноблочного конструктора и может быть применен для решения практических задач, например, распределенного поиска информации.

Для модели [6] cохраняет свою силу требование существования цифровых организмов в замкнутой среде искусственного мира, созданного средствами виртуальной машины. Использование целочисленного кодирования номеров блоков и соответствующих им стратегий позволяет организовать постоянный мониторинг состояния как отдельных организмов, так и их групп или даже всего искусственного мира. Организмы, не соответствующие требованиям модели, подвергаются уничтожению.

В дальнейшем будут рассматриваться только цифровые организмы, соответствующие модели [6].

Стратегии поведения

В таблице 1 представлено обобщение результатов экспериментов, представленных в [8–10]. В таблице отображено влияние стратегий, соответствующих некоторым блокам поведения, на выживание одного отдельного организма, а также на выживание и совершенствование сообществ цифровых организмов.

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

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

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

Приведенные в таблице данные могут быть использованы в качестве рекомендаций при проектировании программного обеспечения на основе парадигмы неравновесного программирования. Эта концепция, в сочетании с применением структурной модели [6], позволяет сформировать комплексное программное обеспечение в виде сообщества цифровых организмов, адаптирующихся к требованиям среды и поставленной задачи в процессе борьбы за существование. Формирование такого программного обеспечения может быть начато с одного организма. Рекомендации из таблицы 1 могут быть использованы для формирования такого стартового организма, а также для формирования запретов на использование некоторых стратегий как нежелательных. Для задания описания исходного цифрового организма могут быть использованы языковые средства, подобные предложенным в [11].

 

Таблица 1

Некоторые стратегии поведения цифровых организмов

Стратегия поведения

Акт поведения (блок)

Преимущества

Недостатки

Смерть только от недостатка внутренней энергии

Смерть

Закрепляются и сохраняются решения, соответствующие локальному экстремуму

Смена поколений останавливается; эволюция прекращается

Смерть от недостатка внутренней энергии и по достижении возраста (“от старости”)

Смерть

Поиск наилучшего решения продолжается весь период моделирования

Лучшие решения могут не закрепиться и быть потеряны

Воспроизводство от двух родителей разного пола (кроссинговер с мутацией)

Воспроизводство

Порождение новых вариантов генотипов происходит с оптимальной скоростью

Трудно обеспечить сосуществование особей разного пола; при истреблении или вымирании особей одного из полов популяция гибнет; в присутствии конкурента, воспроизводящегося путем клонирования с мутацией, популяция гибнет

Воспроизводство от одного родителя (клонирование с мутацией)

Воспроизводство

Высокая жизнеспособность популяции

Медленный темп генерации новых вариантов генотипа

Прямолинейное движение

Перемещение

Простота

Исследуется только малая часть пространства искусственного мира

Движение по спирали

Перемещение

Моделируется обход вокруг “гнезда”; участок территории внутри спирали исследуется полностью

С каждым новым проходом организм все дальше удаляется от “гнезда”

 

Выводы

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

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

 

Литература:

 

  1.      Ray T. S. An Evolutionary Approach to Synthetic Biology: Zen and the Art of Creating Life//Artificial Life: an overview/ edited by Christopher G. Langton. — Cambridge, Massachusetts: The MIT Press, 1997. — Pp. 179–209.
  2.      Thearling K., Ray T. S. Evolving Multi-Cellular Artificial Life// Artificial Life IV, Proceedings of the Forth International Workshop on Synthesis and Simulation of Living Systems. Eds. R. A. Brooks, P. Maes. — Cambrige, MA: MIT Press, 1994.‑ Pp. 283–288.
  3.      Adami C., Brown C. T. Evolutionary Learning in the 2d Artificial Life System “Avida”//Artificial Life IV, Proceedings of the Forth International Workshop on Synthesis and Simulation of Living Systems. Eds. R. A. Brooks, P. Maes.‑ Cambrige, MA: MIT Press, 1994. — Pp. 377–381.
  4.      Adami C. Ab Inito Modelling of Ecosystems with Artificial Life//Natural Resource Modelling.‑Vol. 15, 2002. — Pp. 133–145.
  5.      Кольчугина Е. А. Неравновесное программирование// Известия высших учебных заведений. Поволжский регион. Технические науки.‑ № 3(11), 2009. — Пенза, ИИЦ ПГУ, 2009.‑ С. 25–31
  6.      Кольчугина Е. А. Структура цифрового организма в самоорганизующихся программных системах// Программные продукты и системы.‑ № 2, 2012. — Тверь, ЗАО НИИ ЦПС, 2012.‑ С. 51–54.
  7.      Редько В. Г. Эволюционная кибернетика.‑ М.: Наука, 2001.‑ 156 с.
  8.      Кольчугина Е. А. Влияние алгоритмов порождения процессов-особей на свойства модели поведения программного обеспечения// Современные информационные технологии: Труды международной научно-технической конференции (Computer-based conference). Вып. 3/ Под ред. В. Б. Моисеева, Л. Г. Когельмана, С. В. Трубицкова — Пенза: Изд-во Пензенская государственная технологическая академия, 2006. — С. 47–51.
  9.      Кольчугина Е. А. Сосуществование групп в составе сообществ программных агентов// Известия высших учебных заведений. Поволжский регион. Технические науки.‑ № 3(19), 2011. — Пенза, ИИЦ ПГУ, 2011.‑ С. 37–43.
  10. Кольчугина Е. А. Результаты эксперимента по созданию эволюционирующего программного обеспечения// Известия высших учебных заведений. Поволжский регион. Технические науки.‑ № 1, 2007. — Пенза, ИИЦ ПГУ, 2007.‑ С. 54–60.
  11. Кольчугина Е. А. Язык описания биоценозов и структура инструментального программного обеспечения// Современные информационные технологии: Труды международной научно-технической конференции (Computer-based conference). — Пенза: Пензенская государственная технологическая академия, 2005(осенняя сессия), вып. 2. — С. 98–101.

Обсуждение

Социальные комментарии Cackle