Що таке штучне життя?
Створення моделей є чи не головним інструментом пізнання. Платон створив утопічну модель ідеальної держави, а Евклід - модель світу, в якому паралельні лінії не перетинаються. Історики, викладаючи історичні факти, дотримуються своєї моделі, яка відображає їхні погляди.
Комп'ютери зробили переворот у процесі створення та пізнання моделей. З'явилася можливість робити їх все більш реальними і живими. Зрозуміло, найбільший розвиток це отримало в комп'ютерних іграх. Стало можливо занурюватися в ці світи, наприклад, бігаючи по промисловій базі на Фобос і розстрілюючи демонів з плазмагана.
Але, на жаль, як правило, такі світи статичні і абсолютно передбачувані. Їх мешканці діють за заданим шаблоном, вони оживають лише з появою протагоніста. І мимоволі виникає питання: а чи не можна створити такий світ, щоб його мешканці були абсолютно незалежні і непередбачувані в своїх діях. Такий, щоб у ньому росли трава і дерева, жили тварини. Саме жили: народжувалися, старилися, потребували їжі, воді і сні, взаємодіяли один з одним, боролися за життя.
В іграх давно намагаються наблизитися до цього ідеалу. Світ «Космічних рейнджерів» містить масу авантюристів, які не звертають на протагоніста великої уваги. У «Облівіона» мешканці сплять, снідають, працюють, а то і б'ються, абсолютно незалежно від гравця. Хоча бійки, як правило, закінчуються тим, що врешті-решт вдаються стражники, рубають всіх баламутів мечами і в нашій кишенькової всесвіту запановує мир і спокій.
Такі світи можна створити з використанням «Агентного моделювання». Це зовсім новий напрямок у моделюванні, що з'явилося в 90-х роках. Воно вивчає правила і закони системи, що складається з агентів. Агент - якась сутність, що володіє активністю і автономним поведінкою. У мережі чимало безкоштовних систем, що дозволяють створити свій маленький двомірний світ, населений активними істотами, наприклад, Starlogo. У комплекті з ним іде ряд готових прикладів для запуску: світ, заселений кроликами, що поїдають траву, симуляція пробок на дорогах, симуляція поширення інфекції. З їх допомогою можна зрозуміти, як важливий баланс і як легко його можна порушити. Вийміть кроликів з середи на кілька секунд і помістіть їх назад - відбудеться вибухове зростання їх популяції, а кількість трави впаде до мінімуму. Далі піде таке ж вибуховий зменшення їх числа і повне вимирання. Кролики не встигають дожити до того моменту, коли їх світ знову зазеленіє.
А що якщо задати агентам всі властивості живих істот? Дати їм можливість адаптуватися до умов зовнішнього світу, розмножуватися і передавати свої характерні риси у спадок. При цьому зробити навколишній світ жорстоким, з мінімальними шансами на виживання у погано пристосованих особин. Тоді вийде те, що називається «Штучної життям», або a-life.
Штучна життя - це наука, що займається вивченням життя, живих систем та їх еволюції за допомогою створених людиною моделей. Еволюційний розвиток при цьому реалізується через генетичний алгоритм. З'явилася вона зовсім недавно - в 80-х роках минулого століття. Як правило, під штучним життям увазі м'яку (soft), комп'ютерну життя.
Світи з таким життям часто вражають уяву. Наприклад, створимо нескінченний океан, населений грудками біомаси. Грудки не мають розуму та органів чуття, але здатні пересуватися завдяки рефлекторним скороченням. По досягненні певного віку вони можуть поділитися надвоє, нащадки успадковують форму і здатності до пересування (з невеликими мутаціями). Господарями в океані є швидкі, хижі акули, які їдять все, що зловлять. Спочатку здається, що біомаса може протиставити хижакам тільки швидкість розмноження. Але вже через 100 поколінь океан стає заповнений різноманітними видами черв'яків, деякі з яких можуть позмагатися з акулами в швидкості. Почекаємо ще кілька сотень поколінь. Безформні грудки протоплазми зникли - по океану снують швидкі, торпедообразная риби, деякі навіть з плавниками. Акули ж переживають важкі часи: в їжу їм дістаються тільки деякі, повільні особини - наслідок невдалих мутацій.
Давши беззахисною протоплазмі всього лише шанс на еволюцію, ми врятували її від вимирання.
Цікаве зауваження: у світі з невичерпними джерелами енергії і їжі будь-яка екосистема перетворюється в однорідну масу віртуальних істот з однаковими характеристиками. Іншими словами, у суспільстві реального достатку розвиток взагалі стає неможливим. Пригадується аналогічний досвід на дрозофилах: якщо дати мушкам ідеальні умови для проживання, при яких будуть виживати всі нащадки - виродження починається всього через кілька поколінь. Так що рай і загальне процвітання, схоже, недосяжні.
Відразу спадає на думку безліч практичних застосувань такої моделі (наприклад, створити винищувач ідеальної форми, виростити супер-гравця на біржі). Потрібно лише створити динамічну модель середовища, населити її безліччю різновидів свого об'єкта і дати їм пожити. Слабкі особини будуть відмирати, сильні - схрещуватися, закріплюючи в нових поколіннях свої кращі риси. Через кілька тисяч поколінь виникне «цивілізація» практично невразливих особин, ідеально пристосованих до заданого світу. Не факт, що ці істоти будуть відповідати вашим уявленням про прекрасне (або взагалі бути близькі до чогось очікуваному). Але виживаність рішення, що пройшов найжорстокіший відбір, буде достатньою, щоб протистояти будь-яким діям конкурентів.
Цю методику використовують при моделюванні багато представників великого бізнесу (в тому числі Ford). Тільки замість океану тут світовий ринок, населений акулами-конкурентами. А замість біомаси - розсип фірм. А вчені Університетського коледжу Лондона в 2004 році успішно застосовували генетичні алгоритми для вдосконалення гоночних машин «Формули 1». Хромосоми комп'ютерних моделей автомобілів налічували 68 генів, моделі постійно проходили випробування на двох віртуальних маршрутах, поки найкраща «особина" не побила рекорди трас.
Нарешті, a-life дозволяє вивчати процеси еволюції, адже в них таїться чимало загадок. Наприклад, як у процесі розвитку міг виникнути очей - адже недорозвинені «проміжні» очі вкрай неефективні.
Як відомо, теорія без можливості застосування нікому не потрібна. Для практичного використання доступні пакети Evolver і GeneHunter. Ну а «бідні студенти» можуть пошукати сайти, статті та книги по генетичним алгоритмам і штучного життя.
На практиці ж ця технологія може бути застосована для вирішення завдань щодо оптимізації. Наприклад, фірма зі складання комп'ютерів, використовуючи GeneHunter, зможе розрахувати, які комплектуючі потрібно купувати для складання комп'ютерів на максимальну суму.
Тема штучного життя чимало обігрувалася у фантастиці. Якщо у фільмі «Матриця», або оповіданні Пейджа Джералда «Щасливець» комп'ютерні симуляції використовуються для контролю над суспільством, то у фільмі «13 поверх» ставиться питання про етичність створення штучних світів. А всім відомий «Термінатор» показує небезпеку штучної еволюції.
Побачити світи, заселені еволюціонувати істотами, можна тут.