Еволюційне моделювання

Еволюційні моделі - це системи, які є біологічно більш реалістичними, ніж природні алгоритми, але які не виявилися корисними в прикладному сенсі. Вони більше схожі на біологічні системи і менш спрямовані на вирішення технічних завдань. Еволюційні моделі відтворюють складну і цікаву поведінку особин популяції, і, мабуть, колись отримають практичне застосування. До цих систем відносять так зване штучне життя.

Симулятори життя можуть фокусуватися на біологічному чи соціальному аспекті життя. Перші дозволяють гравцеві експериментувати c генетикою живих істот, моделюють екологічні системи, особливе місце серед них займають симулятори еволюції. Другі грунтуються на соціальній взаємодії між живими істотами - їх спілкуванні, роботі.

Генетичний ставок

Джерело: (http://www.swimbots.com/)

Це комп'ютерне моделювання простору, де розвиваються сотні віртуальних організмів - свімботів. У свімбота є два базових інстинкту: харчування і розмноження. Їхні тіла складаються з сегментів, якими свімбот повинен ворушити певним чином, щоб плисти. Рух свімбота моделюється відповідно до реальної фізики поведінки тіл у рідких середовищах. Чим краще він плаває, тим більша ймовірність, що не загине від голоду, знайде партнера для розмноження, і, отже, передасть свої гени майбутньому поколінню.

У підсумку в популяції повинні залишитися тільки кращі плавці, що формують популяцію домінуючих особин. Але, часто популяція просто вироджується. Так працює природний відбір в більшості популяцій живої природи.

Основними діями свімботів є базові функції:
  • Свімбот хоче їсти

  • Свімбот готовий до спарювання

  • Схрещування особин і зародженя нащадка

  • Згасання і загибель особини

В еволюційних моделях вагоме місце має селективний відбір - свімботи охочіше схрещуються з сильними особинами, які схожі на них за забарвленням (принаймні, таке правило стоїть в даному додатку за замовченням). Таким чином, на збереження свімбота в загальному генофонді басейну впливають інші  параметри, не пов'язані з його вмінням плавати: наявність достатньої кількості іжі, достатній рівень життєвої енергії тощо.

Пункти меню:

Pool. Створення початкової конфігурації ставка, збереження поточної та завантаження збережених конфігурацій. Створюючи новий ставок, можна заселити його повністю випадковими істотами, створити групу споріднених істот, заселити весь басейн зеленими істотами з двома гребними лапками, або ж підготувати порожню ємність.

Tweak. Налаштування параметрів ставка: швидкість наростання і поширення їжі, приріст енергії для свімбота від їжі, межа залишкової енергії, нижче якої інстинкт розмноження поступається місцем інстинкту харчування і відсоток енергії, який віднімається від свімбота при народженні у нього нащадка. В цій закладці можна налаштувати ознаку, за якою свімботи будуть вибирати кращого партнера для схрещування (колір, розмір, енергійність, форма тіла).

Swimbot. Інформація про обраний свімбот, а також меню для зміни його генів. ДНК свімбота містить послідовність з 70 чисел, кожне з яких кодується 1 байтом (28 = 256 значень). Отже, можливі безліч різних комбінацій, що призводять до появи нових різноманітних особин. Кодується забарвлення і будова тіла,  траєкторії руху частинами свого тіла, залежно від напрямку на ціль. Можна зберігати ДНК цікавих екземплярів  і обмінюватися ними.

Population. Графіки зміни населення басейну і кількості їжі. Якщо свімбот вчасно не прийме їжу, то він починає поступово гинути: забарвлення починає сіріти, рухи стають млявими. Користувач можете допомогти певній особині вижити – піднести свімбота до крихти їжі. В актиного, ситого свімбота з’являється білий вектор, що свідчить про наявність енергії  щодо схрещення і продукування нащадків.

Спостерігається залежність: більше їжі – більше нащадків, більше нащадків – менше їжі, менше їжі – загибель особин і виродження популяції.

View. Вибір режиму перегляду, зокрема, можна знайти найбільш енергетично ефективного свімбота, який залишив найбільшу кількість нащадків або з'їв найбільшу кількість їжі.

Клітинні автомати та гра «Життя»

Он-лайн версія гри

Гра "Життя" відноситься до категорії моделюючих ігор, які в тій чи іншій мірі імітують процеси, що відбуваються в реальному житті. Життя, як природний процес - явище настільки складне і захоплююче, що тисячі вчених намагалися розкрити її таємниці. Свій внесок у вирішення цієї проблеми зробив і чоловік, не мав до біології ніякого відношення, англійський математик Джон Хортон Конвей.

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

Місце дії гри на площині, що поділена на клітинки. Кожна клітинка може перебувати в одному з двох станів: бути живою або бути мертвою. Клітинка має вісім сусідів. Розподіл живих клітинок на початку гри називається першим поколінням. Кожне наступне покоління утворюється на основі попереднього за усталеними правилами.

  • Якщо в живої клітини є два чи три живих сусіди – то вона лишається жити.
  • Якщо в живої клітини є один чи жодного живого сусіда – то вона помирає від «самотності».
  • Якщо в живої клітини є чотири та більше живих сусідів – вона помирає від «перенаселення».
  • Якщо в мертвої клітини є три живих сусіди – то вона оживає.

Дані правила отримали назву генетичних законів Конвея, вони задовольняють три основні умови:

  1. Не має бути жодної початкової конфігурації, для якої існувало б просте доведення можливості необмеженого росту популяції.
  2. Мають існувати такі початкові конфігурації, які заздалегідь мають здатність необмежено розвиватися.
  3. Мають існувати прості початкові конфігурації, які протягом значного проміжку часу зростають, зазнають різноманітних змін і завершують свою еволюцію в один з трьох способів:
    1. повністю зникають;
    2. переходять у стійку конфігурацію та перестають змінюватися взагалі;
    3. виходять у коливальний режим з певним періодом.

Гравець не бере прямої участі у грі, а лише розставляє початкову конфігурацію «живих» клітин, які потім взаємодіють відповідно до правил вже без його участі.

Фігури

Ці прості правила призводять до виникнення величезної кількості різноманітних форм, кожна з яких має дещо спільне з попередньою. На цей час склалася така система їхньої класифікації:

  • Стійкі фігури. Лишаються незмінними після кожної ітерації
  • Періодичні фігури (осцилятори). Фігури, стан яких повторюється через деяку кількість поколінь.
  • Рухливі фігури (космічні кораблі, глайдери або планери). Фігури, стан яких повторюється, але з деяким зсувом у просторі.
  • Гармати. Фігури, стан яких повторюється, але кожен цикл вони додатково створюють фігури, що рухаються.
  • Паротяги. Рухливі фігури, які залишають за собою сліди у вигляді стійких або періодичних фігур.
  • Пожирачі. Стійкі (або періодичні) фігури, які можуть при зіткненні з деякими рухливими фігурами зберігати свій стан, знищуючи рухому фігуру.
  • Довгожителі. Фігури, що довго змінюються, перш ніж стабілізуватися (тобто, перетворитися на групу фігур, стан яких постійний чи періодично повторюється)

Порядок роботи

  1. Ознайомитися з теоретичними матеріалами щодо еволюційних моделей.
  2. Запустити програми і ознайомитися з описом роботи додатків.
  3. Здійснити низку досліджень в кожному з додатків: з параметрами, що встановлено за замовченням, зі зміненими параметрами.
  4. Проаналізувати отримані результати і зробити висновки.
  5. Під час захисту лабораторної роботи вільно володіти теоретичним матеріалом: особливості еволюційних правил кожного з додатків, усталені терміни, коло практичного застосування моделей.

Зміст звіту

  1. Назва та мета виконання лабораторної роботи.
  2. Скріни проведених експериментів з коротким описом.
  3. Особливості функціонування еволюційних моделей, принципи розвитку еволюції та вплив налаштувань параметрів на вихідні результати.
  4. Характеристика основних параметрів налаштування.
  5. Аналітичні висновки щодо властивостей моделей та отриманих результатів.