БІОСИСТЕМИ. БІОСФЕРА
ЕКОСИСТЕМИ. ПОПУЛЯЦІЇ
ОРГАНІЗМИ У ДОВКІЛЛІ
ЛЮДСТВО ТА ЙОГО ДОЛЯ
|
|||
I-09. Моделювання як пізнання — і біосистем, і усього іншого |
I-10. (доповнення) Істоти Денієла Деннета: моделювання як головна функція психіки → |
I-09. Моделювання як пізнання — і біосистем, і усього іншого
Чого я не можу створити, я не розумію.
Річард Фейнман
Ми всього лише просунута порода мавп на маленькій планеті дуже пересічної зірки. Але ми можемо розуміти Всесвіт. Це робить нас чимось особливим.
Стівен Ґокінг
Деякі об'єкти неможливо або складно досліджувати безпосередньо. Що буде, якщо з риборозплідного ставка виловити всіх риб, які перевищують певний розмір? Як відреагує біосфера на атомну війну? Провести відповідний експеримент часто важко або неможливо, а дізнатися відповідь на таке питання важливо. В цих і в безлічі інших випадків використовуються моделі, що можуть мати надзвичайно різноманітну природу. Наприклад, для вивчення біосфери можна створити її математичну модель. Для цього слід визначити, з яких компонентів складається біосфера, і припустити, як вони впливають один на одного. Потім слід створити систему рівнянь, змінні в якій будуть описувати взаємодію частин біосфери. Вносячи в цю модель певні зміни, ми зможемо передбачити, як реагувала б на них система-оригінал! Моделювання засноване на явищі, значення якого вперше було усвідомлено в загальній теорії систем Людвіга фон Берталанфі: системи, які мають подібний характер зв'язку підсистем, мають й подібні емергентні властивості.
Наведемо визначення, що відповідають сенсу понять, які ми використовуємо.
Система — організоване ціле; сукупність підсистем з характерними зв'язками та спільною метою (функцією оптимізації). Внаслідок взаємодії підсистем у системи виникають емергентні властивості, відсутні у виокремлених підсистем.
Моделювання — процес вивчення (прогнозування тощо) системи-оригіналу, в ході якого відбувається заміна оригіналу зручнішою (доступнішою, простішою, зрозумілішою, безпечнішою, зі швидшою реакцією тощо) системою-моделлю. Результатом моделювання є поширення на систему-оригінал висновків, отриманих завдяки взаємодії з моделлю.
Модель — уявлення про систему; система, істотні (з погляду досліджуваної проблеми) властивості якої відповідають системі-оригіналу. Якщо модель має зв’язок підсистем, подібний до оригіналу, у неї можуть виникати подібні емергентні властивості.
Імітаційна модель — модель, яка переходить з одного стану в інший відповідно до певного набору правил, що відповідають послідовності природних перетворень системи-оригіналу.
Емергентні властивості систем часто виявляються важкопередбачуваними й навіть часто контрінтуїтивними, тобто не такими, якими їх інтуїтивно очікує дослідник. Чому так виходить? Якоюсь мірою, це — наслідок характерного для нас способу мислення. Наше мислення добре пристосоване для відстеження ланцюжків з причин і наслідків і погано — для прогнозування результату взаємодії багатьох процесів, що йдуть одночасно і впливають один на одного. Саме те, що контрінтуїтивні властивості системи-оригіналу можна встановити за допомогою моделювання, робить створення моделей надзвичайно корисною та цікавою справою.
В ході моделювання надзвичайно важливо тримати в увазі, що модель — це не оригінал (див. пункт I-13). Те, що модель має якісь властивості, не доводить, що їх має оригінал. У загальному випадку з використанням моделей не можна довести правильність якихось гіпотез, що описують оригінал. Навіщо ж тоді використовувати моделювання? На щастя, доведення певних гіпотез — не єдина користь від застосування моделі. Слід згадати, що остаточне доведення певних гіпотез щодо дійсності є неможливим для науки (див. пункт I-11). Зате завдяки моделюванню часто можна знайти внутрішні суперечності в припущеннях, використаних при побудові моделі. Усунення цих суперечностей потребують заміни невірних початкових посилок (може бути, на нові невірні припущення, а якщо пощастить — то й на гіпотези, що добре відповідають дійсності).
У найширшому сенсі, пізнання чого б то не було теж є моделюванням. Моделювання взагалі є однією з головних функцій нашого мозку. Ми не тільки реагуємо на потік стимулів, що надходять ззовні, але й безперервно будуємо в нашій психіці модель дійсності, яку використовуємо для пристосування до неї. Детальніше це розглянуто далі, перш за все, у двох доповненнях: пункті I-10 та пункті I-20.
Моделі за своєю природою можуть бути розділені на наступні групи (це — далеко не єдина можлива класифікація!):
— фізичні (матеріальні);
— символьні (ідеальні):
— образні:
— когнитивні:
— ментальні;
— вербальні;
— схематичні (графічні);
— математичні (чисельні):
— аналітичні;
— імітаційні.
В даному курсі нас будуть цікавити переважно імітаційні моделі. Крім іншого, імітаційні моделі можна характеризувати ще за кількома суттєвими ознаками: структурні — функціональні; дискретні — безперервні; детерміністські — ймовірнісні (стохастичні); статичні — динамічні.
Математичні моделі можуть бути представлені у вигляді перетворення вхідних параметрів (позначимо їх сукупність X) у вихідні (Y). В такому випадку роботу системи перетворень, яку задає, власне, алгоритм моделі (позначимо її як W) можна описати таким чином: W(X)=Y. Інакше кажучи, математична модель — це закономірність, яка перетворює вхідні параметри у вихідні. У самій загальній формі можна сказати, що модель пов'язує значення деяких параметрів з певними функціями.
У чому різниця між аналітичними моделями (англ. analytical models) та імітаційними моделями (англ. simulation models)? У разі аналітичного моделювання W — це формула або система рівнянь, в разі імітаційного моделювання W — покроковий алгоритм перетворень вхідних параметрів, логіка якого відповідає процесам в системі-оригіналі. Імітаційну модель можна розглядати як сукупність змінних (розрахункових величин) та правил їх покрокового перерахунку. Формули використовуються і в аналітичних, і в імітаційних моделях, але в аналітичних ці формули пов'язують «вхід» з «виходом», а в імітаційних використовуються для перерахунків на окремих кроках. Розуміючи це, можна зрозуміти силу і слабкість аналітичного та імітаційного моделювання.
Аналітичне моделювання — потужний метод для рішення відносно простих задач, які можна представити в узагальненій формі. Наприклад, ми вивчаємо динаміку тіла, на яке діє певна сила. Отримавши серію оцінок його стану, ми можемо встановити, що маса тіла (m), сила, що діє на нього (F), і викликане цією силою прискорення (a) пов'язані залежністю F=m×a — ця закономірність називається другим законом Ньютона. Це — чудова аналітична модель. Легко уявити собі умови, в яких динаміка тіла буде достатньо точно описуватися цим рівнянням. У разі, якщо ми можемо розглядати два тіла як дві матеріальні точки, вказана залежність дозволяє просто і точно розрахувати, як будуть переміщуватися ці дві точки під впливом сили, що виникає між ними. Таким чином, аналітична модель, що повно описує рух двох точок, що взаємодіють, створено Ісааком Ньютоном (1643–1727) у 1687 р. Цікаво, коли було створено аналітичну модель, що описує рух трьох точок, кожна з яких впливає на дві інші? Цю задачу також поставив у 1687 р. Ньютон, але він її вирішити не зміг...
Уявить собі: у загальному вигляді ця задача не є вирішуваною! Математичний апарат, який ми використовуємо, не дозволяє вирішити рівняння, які описують рух трьох (усього-то трьох!) точок! А у тій дійсності, в якій ми існуємо, і три, і будь-яка більша кількість об'єктів, що взаємодіють, без жодних розрахунків обирають траєкторії та динаміку своїх рухів... А як відбувається, припустимо, розрахунок руху штучного супутника Землі під впливом тяжіння Землі та Місяця, що водночас діють і на цей супутник, і взаємодіють між собою? Такі розрахунки проводять шляхом ітерацій (повторів). Обирають розташування трьох тіл; визначають, які сили діють на кожне з них, і те, як кожне тіло зміститься під дією цього впливу; враховують невелике переміщення під дією цих сил і заново перераховують впливи, що визначать подальший рух... Фактично, це є переходом до покрокового моделювання, яке є основою імітаційних моделей.
Аналітичні моделі використовують і в екології. Наприклад, ми можемо припустити, що приріст популяції відповідає експоненційній моделі, тобто пропорційний її чисельності, тобто dn/dt=r×N (де N — чисельність популяції, а r — біотичний потенціал, міра здатності особин до розмноження). Це диференціальне рівняння можна вирішити: Nt=N0ert. Однак в цьому випадку ситуація дещо інша, ніж у фізиці. Отримати ряди спостережень, що точно відповідають цій моделі, практично неможливо. Занадто багато різних факторів впливає на динаміку чисельності практично будь-якої реальної популяції... Для дії багатьох з цих зв'язків складно знайти їх математично простий опис. Що ж робити? Використовувати імітаційну модель! Зробити опис популяції, що складатиметься з певної кількості особин, що будуть охарактеризовані за статтю, віком та іншими особливостями, що впливають на ймовірність їхнього виживання та розмноження. Визначити, які події відбуваються протягом річного (чи якогось іншого) циклу існування досліджуваної популяції. Задати формули, що будуть забезпечувати перерахунок чисельності кожної з груп особин. А далі... просто дозволити цим особинам жити у сконструйованому нами світі: запустити модель і подивитися, як вона буде розвиватися!
Таким чином, аналітичні моделі є набагато простішими та красивішими, ніж імітаційні, але, на жаль, вони можуть бути застосовані далеко не в усіх випадках. У разі, коли ми вже маємо аналітичну модель, додати до неї врахування ще одного фактору може стати складною задачею. Імітаційні моделі можуть бути застосовані у набагато більшій кількості випадків. Їх простіше ускладнювати, додаючи до вже готової моделі нові зв'язки, уточнюючі формули для перерахунку розрахункових величин. До речі, створення аналітичних моделей вимагає набагато вищого рівня володіння математикою, ніж імітаційне моделювання.
Як і задачі можна вирішувати за допомогою імітаційного моделювання? Прогнозування динаміки певного процесу на підставі наявних даних. Пошук суперечностей в уявленнях про об'єкт дослідження. Вдосконалення таких уявлень тощо (рис. I-09.1). Один з цікавих типів імітаційних моделей може перевіряти, чи достатньо певного набору причин, щоб викликати у досліджуваної системи властивості, походження яких намагається зрозуміти дослідник. Якщо модель, при побудові якої задано чітко визначений набір факторів, демонструє ознаку, яка досліджується, це доводить, що ця ознака може бути наслідком даного набору факторів.
Рис. I-09.1. Імітаційне моделювання є процесом, що насичений зворотніми зв'язками, які допомагають вдосконалити уявлення про об'єкт дослідження
Створюючи модель, слід встановити:
-
Що саме слід спостерігати та досліджувати за допомогою моделі?
-
Як мають бути побудовані перерахунки розрахункових величин?
-
Що є входом для моделі?
-
З яким набором розрахункових величин працює модель?
-
За якими правилами здійснюються перерахунки протягом кожного циклу роботи моделі?
-
-
Як саме буде використано модель?
-
Які умови роботи моделі слід обирати?
-
Що є вихідними даними моделі?
-
Як будуть презентуватися вихідні дані?
-
Як можна зрозуміти по рис. I-09.1, часто можна розрізнити концептуальну модель (задум імітаційної моделі) та її реалізацію тими або іншими засобами. Для прикладу розглянемо модель, що реалізована у дуже простій формулі — модель у вигляді стопки карток.
Уявіть собі набір картонних карток, на яких можна робити записи олівцем та переписувати ці надписи у разі їх перерахунку. Є картки-«входи», на них написані вхідні параметри та умови експерименту. Для імітації випадкових подій будемо використовувати кидання гральних кубиків. Алгоритм роботи моделі заданий послідовністю, умовами та правилами перерахунку карток з розрахунковими величинами. Робочий цикл моделі — це виконання такого повторюваного алгоритму та, припустимо, перекладання карток з однієї стопки в іншу. Звісно, у разі використання моделі, що написана на R, цей алгоритм заданий у скрипті моделі; у разі «карткової» моделі алгоритм може бути заданий на певній групи карток, де вказано, до якої картки слід переходити після виконання кожного кроку. До речі, чи критично необхідно для реалізації такої моделі мати стопку карток, олівець та гумку? Ні. Достатньо листка паперу та олівця, чи величезної поверхні з вологої глини та клину для нанесення клинопису, або ж смуги мокрого піску на узбережжі. У останньому випадку можна навіть навчитися переписувати розрахункові величини, використовуючи той час, який будуть давати досліднику хвилі, які будуть набігати на берег та стирати попередні записи...
Чи можна створити таки моделі? Безумовно. Їх можна було створити навіть кілька століть тому. Чому ж їх не створили, припустимо, у XIX столітті? Не здогадалися, що такі моделі могли б допомагати розв’язувати достатньо складні задачі. У таких моделей фактично, є єдиний (але фатальний) недолік — вони є вкрай незручними. Зараз ми можемо перекласти повторювані розрахунки, що відбуваються за чітко визначеними правилами, на комп’ютери. До речі, варіанти реалізації концептуальної моделі за допомогою набору карток, глиняної поверхні для клинопису та піщаного берега мають певні особливості; ймовірно, для них оптимальними будуть дещо різні алгоритми розрахунків. Деякі з рішень, які слід приймати при побудові концептуальної моделі, залежать від особливостей очікуваного засобу її реалізації.