БІОСИСТЕМИ. БІОСФЕРА
ЕКОСИСТЕМИ. ПОПУЛЯЦІЇ
ОРГАНІЗМИ У ДОВКІЛЛІ
ЛЮДСТВО ТА ЙОГО ДОЛЯ
|
|||
VII-4. Деякі типи R-моделей в популяційній екології, їх призначення та структура |
VII-5. Приклад моделі перевірки достатності передумов: парадокс Сімпсона та еволюція альтруїзму→ |
VII-4. Деякі типи R-моделей в популяційній екології, їх призначення та структура
VII-4.1. Концептуальні та реалізовані моделі
Перше знайомство з імітаційним моделюванням було почато у пункті I-9. Тут ми спробуємо конкретизувати закладені там уявлення.
Звернемо увагу на кілька обставин. Створення моделі — це процес, що може складатися з кількох циклів уточнення, вдосконалення з використанням зворотних зв'язків (рис. VII-4.1). Іноді суттєвий прогрес у розумінні об'єкта дослідження (тобто створенні його когнітивної моделі) може бути досягнуто ще до того, як запрацює його імітаційна модель. Сама по собі формалізація уявлень про об'єкт дослідження, виділення ключових розрахункових величин та правил їх перерахунку можуть бути надзвичайно корисними.
Рис. VII-4.1. Імітаційне моделювання є процесом, що насичений зворотними зв'язками, які допомагають вдосконалити уявлення про об'єкт дослідження
Створюючи модель, слід встановити:
-
Що саме слід спостерігати та досліджувати за допомогою моделі?
-
Як мають бути побудовані перерахунки розрахункових величин?
-
Що є входом для моделі?
-
З яким набором розрахункових величин працює модель?
-
За якими правилами здійснюються перерахунки протягом кожного циклу роботи моделі?
-
-
Як саме буде використано модель?
-
Які умови роботи моделі слід обирати?
-
Що є вихідними даними моделі?
-
Як будуть презентуватися вихідні дані?
-
Як можна зрозуміти по рис. VII-4.1, часто можна розрізнити концептуальну модель (задум імітаційної моделі) та її реалізацію тими або іншими засобами. Для прикладу розглянемо модель, що реалізована у дуже простій формулі — модель у вигляді стопки карток.
Уявіть собі набір картонних карток, на яких можна робити записи олівцем та переписувати ці надписи у разі їх перерахунку. Є картки-«входи», на них написані вхідні параметри та умови експерименту. Для імітації випадкових подій будемо використовувати кидання гральних кубиків. Алгоритм роботи моделі заданий послідовністю, умовами та правилами перерахунку карток з розрахунковими величинами. Робочий цикл моделі — це виконання такого повторюваного алгоритму та, припустимо, перекладання карток з однієї стопки в іншу. Звісно, у разі використання моделі, що написана на R, цей алгоритм заданий у скрипті моделі; у разі «карткової» моделі алгоритм може бути заданий на певній групи карток, де вказано, до якої картки слід переходити після виконання кожного кроку. До речі, чи критично необхідно для реалізації такої моделі мати стопку карток, олівець та гумку? Ні. Достатньо листка паперу та олівця, чи поверхні з вологої глини та клину для нанесення клинопису, або ж смуги мокрого піску на узбережжі. У останньому випадку можна навіть навчитися переписувати розрахункові величини, використовуючи той час, який будуть давати досліднику хвилі, які будуть набігати на берег та стирати попередні записи...
Чи можна створити таки моделі? Безумовно. Їх можна було створити навіть кілька століть тому. Чому ж їх не створили, припустимо, у XIX столітті? Не здогадалися, що такі моделі могли б допомагати розв’язувати достатньо складні задачі. У таких моделей фактично, є єдиний (але фатальний) недолік — вони є незручними. Зараз ми можемо перекласти повторювані розрахунки, що відбуваються за чітко визначеними правилами, на комп’ютери. До речі, варіанти реалізації концептуальної моделі за допомогою набору карток, глиняної поверхні для клинопису та піщаного берега, який омивають хвилі, мають певні особливості; ймовірно, для кожного з цих варіантів оптимальними будуть дещо різні алгоритми розрахунків. Деякі з рішень, які слід приймати при побудові концептуальної моделі, залежать від особливостей очікуваного засобу її реалізації.
VII-4.2. Типи моделей. Моделі, що перевіряють достатність передумов
Ми не будемо намагатися надати класифікацію усіх можливих імітаційних моделей; розглянемо кілька важливих для нас типів на прикладі популяційно-екологічних моделей. Вирізнимо навчальні та дослідницькі моделі (попри те, що чітка межа між цими моделями відсутня). Втім, порівняння арифметичного та геометричного зростання (див. пункт VII-3) носить переважно навчальний характер, а модель, що досліджує парадокс Сімпсона в еволюції альтруїзму (див. пункт VII-5) — дослідницький. Головні відмінності між цими двома групами моделей полягають в їх призначенні; перші демонструють добре відомі явища, забезпечують навчання, часто мають ілюстративний характер; другі — призначені для отримання нового знання. Втім, між типовими навчальними та дослідницькими моделями є безперервний перехід.
Біологи далеко не завжди розуміють, як можна використовувати моделі. У пункті I-9 перелічені такі можливі використання дослідницьких моделей:
— прогнозування динаміки певного процесу;
— пошук шляхів керування, можливостей впливу на певні процеси та явища;
— пошук суперечностей в уявленнях про об'єкт, вдосконалення цих уявлень (як показано на рис. VII-4.1);
— встановлення, чи може окреслена сукупність причин викликати появу досліджуваної властивості об'єкта моделювання.
Ви можете побачити, що тут поєднані як відносно прикладні (спрямовані на розв'язання практичних задач), так і фундаментальні (призначені для розвитку наших загальних уявлень про дійсність) задачі.
Особливий інтерес для авторів даного курсу, є категорія моделей, яку можна умовно позначити, як перевірки достатності передумов. Ці моделі перевіряють гіпотези, які можна сформулювати так: «Чи дійсно явним чином запропонованих при створенні моделі припущень достатньо для пояснення певних особливостей модельованої системи як цілого? Якщо достатньо, то яких умов передбачені причини забезпечують появу пошукуваної особливості системи?». Якщо модель не демонструє передбачених особливостей, гіпотезу можна вважати спростованою. У разі появи у моделі передбачених особливостей, перевірку адекватності покладених у побудову моделі припущень можна вважати успішно пройденою. Чи можна у разі успішного виникнення досліджуваних властивостей у моделі вважати припущення про механізм їх виникнення доведеними? Чи можемо ми бути впевнені, що властивості системи-оригіналу виникають саме так, як вони виникають у моделі? Ні. Модель не є доказом, але може бути аргументом. Відповідність динаміки моделі та системи-оригінала може бути, а може й не бути наслідком спільних механізмів, що визначають таку динаміку. Втім, відповідно до принципу фальсифікованості Карла Поппера, невідповідність такої динаміки моделі може надавати досліднику цінну інформацію щодо системи-оригінала. Успішне проходження перевірки відповідності моделі та оригіналу в умовах, коли існувала можливість зареєструвати таку невідповідність, є кроком до покращення використовних пізнавальних моделей.
Як моделі достатності передумов, так і інші моделі можуть відповідати кільком типовим зразкам.
Моделі І типу визначають динаміку певного процесу (у типовому випадку — такого, що складається з певної кількості циклів, кожен з яких складається з кількох етапів), що відбувається за певних початкових умов, параметрів та умов експерименту.
Моделі ІІ типу мають сенс у разі недетермінованих моделей, в яких використовуються ймовірнісні процеси. Ці моделі встановлюють розподіл ймовірностей результатів імітаційного моделювання у сукупності ітерацій за ідентичних початкових умов, параметрів та умов експерименту. Такі моделі можна розглядати як спосіб встановлення результатів багаторазового виконання ідентичних моделей І типу.
Моделі ІІІ типу визначають вплив різних комбінацій параметрів імітаційного моделювання на його результати. Вони мають сенс при використанні одного або двох змінюваних параметрів. Такі моделі можна розглядати як спосіб порівняння результатів виконання групи моделей ІІ типу, що відрізняються за використовуваними параметрами.
Моделі ІV типу перебирають та зберігають у вигляді багатовимірного масиву результати імітування з різними комбінаціями ключових параметрів та дозволяють встановити, які з таких комбінацій відповідають певним результатам моделювання. Такі моделі можна розглядати як спосіб заздалегідь встановити результати виконання низки групи моделей ІІІ типу, що відрізняються за змінюваними параметрами.
VII-4.3. Типова структура скрипту моделі
Моделі розглянутих типів можуть мати подібну структуру; її відносно повний склад становить 20 функціональних блоків, що поєднані у п'ять розділів. Запропонована типова структура моделі показана в Таблиці VII-4.1.
Таблиця VII-4.1. Типові структурні елементи скрипту імітаційної моделі
I_N_I_T_I_A_L_I_Z_A_T_I_O_N / П_О_Ч_А_Т_О_К___Р_О_Б_О_Т_И |
HEADLINE / ЗАГОЛОВОК: |
E_N_T_R_A_N_C_E / В_Х_І_Д |
INITIAL STATE OF THE SYSTEM / ПОЧАТКОВИЙ СТАН СИСТЕМИ: |
W_O_R_K_S_P_A_C_E / Р_О_Б_О_Ч_И_Й___П_Р_О_С_Т_І_Р |
USERS FUNCTION CREATION / СТВОРЕННЯ КОРИСТУВАЦЬКИХ ФУНКЦІЙ: |
W_O_R_K_F_L_O_W / Р_О_Б_О_Ч_И_Й___П_Р_О_Ц_Е_С |
HIGHER LEVEL CYCLES RUNNING / ЗАПУСК ЦИКЛІВ ВИЩОГО РІВНЯ: |
F_I_N_I_S_H_I_N_G / З_А_В_Е_Р_Ш_Е_Н_Н_Я |
CREATING OBJECTS FOR RESULTS INTEGRATION / СТВОРЕННЯ ОБ'ЄКТІВ ДЛЯ ІНТЕГРАЦІЇ РЕЗУЛЬТАТІВ: |
В Табл. VII-4.1 назви структурних блоків написані заголовними літерами (та включають двокрапки) тому, що саме у такому вигляді вони включаються нами як розмітка у текст написаних на мові R моделей. Назви розділів та функціональних блоків цієї структури можна вказувати у тексті самого скрипту моделі задля спрощення його розуміння та аналізу. В наступному пункті наведено приклад відносно складної моделі (див. пункт VII-5), де можна побачити, як ці назви розмічають текст.
У чому сенс включення у текст R-скрипту таких додаткових елементів? Скрипт — це сукупність команд, які виконує R, але скрипт пише людина, розуміє людина, переробляє людина. Якщо скрипт написано правильно, R «зрозуміє» усе, що треба. Величезні проблеми у роботі з моделлю пов’язані з тим, що «зрозумілий» для R код не відповідає зручному для людини стану. Навіть коли певна модель створюється однією людиною, з часом автор тексту забуває, де та що робить модель. Саме тому скрипт має бути добре закоментованим і структурованим. Вертаючись до власної старої моделі, її автор легко зрозуміє, де у скрипті має бути певний елемент (і для цього корисним є розбивання тексту моделі на окремі блоки), а у потрібному блоку — як саме реалізовано цей елемент коду (і для цього корисними є детальні коментарі).
Ще важливішим є використання розбивки тексту скрипту на окремі блоки у разі, якщо над його текстом працюють різні люди. Саме це допомагає різним авторам підтримувати розуміння коду.
Втім, використання наведених елементів структури моделі не має перетворюватися у фетиш. Ці елементи — допоміжні засоби, що допомагають досягати основної мети: створювати та вдосконалювати зрозумілі та ефективні моделі. Звісно, не в кожній моделі є необхідними усі блоки, що запропоновані у описаній в Табл. VII-4.1 структурі. Наприклад, різниця між елементами «General objects creation» та «Additional objects creation» набуває сенс в моделях III та IV типів, де з’являється «Parameters combinations mechanism», що проводить групи ітерацій з різними значеннями початкових параметрів. А такий розділ, як «Calculation rules data» має сенс у випадках використання таблиць з результатами схрещування різних генотипів, які може бути зручно створювати окремим скриптом та зберігати у вигляді окремого об’єкту, який має бути прочитаним під час виконання моделі. Крім того, цей елемент структури має сенс у разі використання або у разі використання варіативної частини правил розрахунків, що використовується для тестування різних припущень.
VII-4.4. Позначення етапів робочого циклу моделі
В моделі, яка була побудована у попередньому пункті (див. підпункт VII-3.5) в робочому циклі виконуються кілька команд, що стосуються різних об'єктів моделювання. Але це — відносно нескладна модель. Коли доведиться будувати складніші моделі, в них часто у ході робочого циклу може бути кілька етапів розрахунків, де результати попереднього етапу є входом до наступного. Як організувати таки розрахунки, щоб не заплутатися в них?
Ми пропонуємо таке рішення: позначати етапи розрахунків всередині робочого циклу за допомогою грецьких літер.
У деяких моделях доводиться використовувати достатньо багато грецьких літер. Наведемо грецьку абетку, з якої можна копіювати літери, щоб вставляти їх у опис того, що відбувається у робочому циклі.
α — альфа (al); β — бета (be); γ — гамма (ga); δ — дельта (de); ε — епсилон (ep); ζ — дзета (ze); η — ета (et); θ — тета (th); ι — йота (io); κ — каппа (ka); λ — лямбда (la); μ — мю (mu); ν — ню (nu); ξ — ксі (xi); ο — омікрон (oc); π — пі (pi); ρ — ро (rh); ς — сигма (si); τ — тау (ta); υ — іпсилон (up); φ — фі (ph); χ — хі (ch); ψ — псі (ps); ω — омега (om).
Крім грецьких літер і правил їх читання ми вказали їх двохлітерні скорочення латиницею. Річ у тому, що включати грецькі літери у R-скрипт можна, але з великою ймовірністю це може призводити до проблем з кодуванням. Щоб позбавитися можливих проблем, простіше використовувати наведені скорочення.
Таким чином, якщо ми позначимо чисельність популяції, яку перебудовуємо протягом кількох етапів, як N, описуючи те, що відбувається у моделі, ми можемо використати такі позначення: αN → βN → γN → δN → ωN. Пояснюючи те, що відбувається у моделі, ми будемо казати, що на підставі альфа-чисельності розраховується бета-чисельність, далі — гам-чисельність, а потім на підставі дельта-чисельності розраховується омега-чисельність. В R-скрипті ми у такому разі можемо використовувати позначення al_N, be_N, ga_N, de_N та om_N.
Перший етап ми завжди позначатимемо як α, альфа, а останній, скільки б ми окремих кроків не використовували у моделі, як ω, омега.
«Я Альфа й Омега, Перший і Останній, Початок і Кінець».
Об’явлення св. Івана Богослова, 22.13. Біблія або Книги Святого Письма Старого і Нового Заповіту. Переклад Івана Огієнка
Занадто пафосно? Можливо. Але коли ми займаємося імітаційним моделюванням, ми насправді займаємося сотворінням штучних світів. Щоб пояснити це, можна використати вступ до курсу моделювання, що зробив один з авторів цього підручника, та давньоєгипетське зображення (рис. VII-4.2), яке згадується в цьому «мотиваційному» тексті.
«Людина — це істота, здатна адаптуватися до очікуваних змін середовища, які вона прогнозує завдяки спільній побудові моделей. Пізнання світу або самого себе, наука, мистецтво — форми моделювання. Якщо ви знайомитеся з імітаційним моделюванням, simulation, перед усім іншим корисно замислитися про диво моделювання як таке.
Чому сонце кожного ранку з’являється на небі, а кожного вечора — зникає? Різні відповіді на це питання — це різні моделі. Одна з найстаріших відомих нам моделей, віком близько п’яти тисяч років, створена у Геліополі, у Єгипті. Кожного ранку Нут (небо) народжує Ра (сонце) від Геба (землі). Кожного вечора Ра зникає у череві своєї матері. Нут і Геб — діти Шу (повітря) та Тефнут (вологи). Самі Шу та Тефнут — діти-близнюки Атума, чиє ім’я можна розуміти, як «Усе»; Атум самоорганізувався з первісного водного хаосу — Нуна. Ці боги входять у геліопольській пантеон примордіальних (лат. primordialis — споконвічних, первозданних) богів, або ж велику еннеаду. Геліополь був центром культу Ра, Сонця. Інші культові центри Єгипту створювали інші моделі, обирали інші дев’ятки первинних богів.
Це — казкові, наївні пояснення? Сучасні моделі детальніші, математизовані й, головне, дають ефективну основу для науково-технологічної перебудови середовища. Зате міфологічні моделі ефективніше підтримували душевні сили своїх користувачів. Стародавній єгиптянин кожного ранку бачив, як Нут народжує Ра, і це допомагало йому правильно проходити його життєвим шляхом. Крім іншого, носіїв будь-яких моделей світобудови хвилює смерть. Померлий вертається до Геба, і, як з Геба, з нього тягнуться догори рослини... Користувачі геліопольської космогонії клали поруч з мерцем папіруси з текстом, що зберігся у багатьох варіантах. Його називають «Книгою мертвих», хоча кращий переклад його назви — «Глави про вихід до світла дня». Ймовірно, цей текст не допомагав вийти до світла дня, але полегшував ухід у небуття. Ілюстрації в таких папірусах часто відбивали той спокій, що надавала міфологічна модель буття її носіям.
Як символ імітаційного моделювання автор обрав зображення з папірусу Грінфілд, що містив «Книгу мертвих» цариці Несітанебташеру. Ми бачимо Шу, який підіймає Нут над Гебом і створює цим простір, у якому відбувається наше життя.
Чому автор обрав саме це зображення? Є надія, що студенти, які будуть засвоювати моделювання, познайомляться з цікавим відчуттям. Користуючись нехитрими інструментами, ти створюєш схематичний опис певного середовища... Це ж нескладно: передбачити, як буде розгортатися імітація? Створюючи імітаційну модель певного екологічного процесу, слід задати закони уявного середовища і дозволити йому розвиватися за тією логікою, яку ми для нього обрали. Запускаєш модель — і бачиш, що вона живе своїм життям, досить часто непередбачуваним, несподіваним навіть для її творця. Іноді несподіванки відбиваються у прикрих помилках та збоях, іноді — у контрінтуїтивній поведінці моделі, яка відкриває перед нами щось нове.
Модель починає жити...»
Рис. VII-4.2. Так уявляли собі сотворення світу у Давньому Єгипті. Наші моделі кращі?
.