Формальні методи побудови моделей

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Формальні методи побудови моделей

Модель (лат. – міра, зразок) – це деякий об’єкт, який за певних умов замінює об’єкт, який є оригіналом, відтворюючи потрібні користувачеві властивості та характеристики оригінала, має за цих умов істотні переваги користування (наочність, оглядність, доступність випробувань та ін.).

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

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

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

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

  1. Словесно-смисловий опис об’єкта або явища – формулювання описової моделі, призначеної для сприяння кращому розумінню об’єкта моделювання.
  2. Числове вираження модельованої реальності для виявлення кількісної міри і границь відповідних якостей; з цією метою провадиться математико-статистична обробка емпіричних даних, пропонується кількісне формулювання якісно встановлених фактів і узагальнень.
  3. Перехід до вибору або формулювання моделей явищ і процесів (варіаційного принципу, аналогії тощо) і його запису у формалізованій формі; це рівень структурних теоретичних схем, таких як системи масового обслуговування, мережі Петрі, скінченні або ймовірнісні автомати, діаграми фонд-потік тощо.
  4. Завершення формулювання моделі її «оснащенням» – задання початкового стану і параметрів об’єкта.
  5. Вивчення моделі за допомогою доступних методів (у тому числі із застосуванням різних підходів і обчислювальних методів).

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

Кібернетичний підхід

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

Таким чином, вхідні впливи X перетворюються у виходи системи Y за допомогою рівнянь, і саму систему S можна подати у вигляді «чорної скриньки», зображеної на рис. 3.1, де зовнішні відношення пов'язують елементи системи із зовнішнім середовищем за допомогою входів системи. Під час проведення досліджень системи можна впливати на її входи та спостерігати за її виходами. Вхідні змінні, які дослідник може змінювати, проводячи експерименти, називаються змінними, якими керують, а ті, що неможливо змінювати, – змінними, за якими спостерігають. Під час моделювання звичайно можна змінювати всі вхідні змінні.

CxeMa modeli 2.png

Рис. 3.1. Кібернетична модель системи

Для побудови моделі використовуються методи теорії ідентифікації. У загальному випадку завдання ідентифікації формулюється так: на основі результатів спостереження за вхідними та вихідними змінними системи потрібно побудувати оптимальну в деякому розумінні математичну модель. Основними етапами ідентифікації є такі:

  1. Вибір класу і структури моделі та мови її опису.
  2. Вибір класу і типів вхідних впливів X.
  3. Обгрунтування критеріїв подібності системи та моделі.
  4. Вибір методу ідентифікації та розроблення відповідних алгоритмів оцінювання параметрів системи.
  5. Перевірку адекватності отриманої в результаті ідентифікації моделі.

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

Завдання ідентифікації у вузькому розумінні полягає в оцінюванні параметрів і станів системи, якщо відома структура моделі («сіра скринька»). Завданням ідентифікації є кількісне оцінювання певних параметрів. Для цього використовується параметрична ідентифікація математичної моделі. Прикладами таких моделей можуть бути диференціальні та різницеві рівняння, моделі типу «вхід-стан-вихід».

На рис. 3.2 зображено загальну схему ідентифікації системи. Вхідні впливи X на систему та модель однакові, виходи системи Ys і моделі Ym у загальному випадку відрізняються. Для їх порівняння потрібно сформувати критерій подібності та мінімізувати його, тобто налагодити модель.

CxeMa modeli 1.png

Рис. 3.2. Загальна схема ідентифікації системи


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

Системна динаміка

Для формального представлення моделей неперервних систем Дж. Форрестер у 1960 році запропонував ще один підхід, названий системною динамікою, який дає змогу будувати моделі динамічних взаємопов'язаних систем за допомогою причинних діаграм циклів і схем виду «фонд-потік». Він же запропонував для числового моделювання таких систем мову Динамо. Модель будується як система диференціально-різницевих рівнянь, а мова Динамо дає можливість автоматизувати процес їх написання. Практично всі сучасні засоби неперервного та неперервно-дискретного моделювання базуються на цій мові для побудови моделей. На відміну від математичного розв'язання системи таких рівнянь у замкненому вигляді використовується числове розв'язання з дискретним кроком часу, що дає змогу моделювати на деякому проміжку часу динамічні зміни фондів, пов'язаних з точкою часу і потоків. Фонди та потоки пов'язані між собою через змінні.

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

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

Існує багато різних способів зв'язувати у динамічних моделях причини та наслідки, не розглядаючи конкретні методи. В їх основі лежить кілька підходів.

Розглянемо три з них, які наведено на рис. 3.3.

CxeMa modeli 3.png

Рис. 3.3. Три підходи до зв'язування причин і наслідків для побудови моделі

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

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

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

Згідно з третім підходом всесвіт розглядається як система зі зворотними зв'язками, тобто ланцюжки причин і наслідків циклічно пов'язані між собою. Таке уявлення підтримують кібернетики, прихильники нелінійної динаміки та хаосу. Вони вважають, що всесвіт значною мірою хаотичний, і передбачити майбутнє з огляду на його минуле неможливо. Ці системні мислителі використовують циклічні причинні моделі, нелінійні рівняння в кінцевих різницях. Часто поведінка таких моделей далека від реальності та інтуїтивного уявлення і може бути дещо несподіваною для дослідника.

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

CxeMa modeli 4.png

Рис. 3.4. Найпростіша причинна модель циклу популяції

Побудова складних динамічних моделей з використанням причинних циклів включає такі етапи.

  • Абстрагування від фізичної структури.
  • Концентрація на процесах для визначення траєкторій, за якими система починає та закінчує працювати.
  • Використання простих диференціально-різницевих рівнянь для опису процесів у системі:

Неможливо розібрати вираз (невідома помилка): - \frac{dx}{dt} = kx

– показова функція, яка визначає швидкість зміни фонду в часі, де х – фонд (для прикладу з водопостачанням – це швидкість наповнення бака);

Неможливо розібрати вираз (невідома помилка): ~ - \frac{dx}{dt} = ax-bx^2

– сигмаїдальна або логістична крива, або S-крива;

або системи рівнянь:

Неможливо розібрати вираз (невідома помилка): ~ - \frac{dx}{dt} = k_1x-k_2x^2-k_3y

(наприклад, х – кількість травоїдних тварин);

Неможливо розібрати вираз (невідома помилка): ~ - \frac{dx}{dt} = k_4y-k_5y^2-k_6x

(наприклад, у – кількість хижаків).

Такі системи рівнянь відомі як рівняння Ланкастера. їх можна використовувати для дослідження складних взаємозв'язків, конкуренції або конфліктів. За допомогою комп'ютерів подібні рівняння можна подати в числовому вигляді. Для цього використовують прості рівняння рекурсії:

Неможливо розібрати вираз (невідома помилка): ~ \frac{dx}{dt} = f(x),


Неможливо розібрати вираз (невідома помилка): ~ \frac{x(n+1) – x(n)}{dt} = f(x(n)),


Неможливо розібрати вираз (невідома помилка): ~ x(n+1) = dt \cdot f(x(n)) + x(n)

Якщо описати дані рівняння словами, то наступний рівень дорівнюватиме попередньому плюс невеличка зміна протягом короткого проміжку часу. Таким способом можна будувати складні динамічні моделі за допомогою створення простих блоків у вигляді відношень і рівнів

Причинні діаграми циклів дають змогу провадити якісне моделювання, а діаграми «фонд-потік» – кількісне. Щоб пояснити явище, потрібно знайти «причини» його виникнення. Припустимо, що таку причину визначено і наслідок може спостерігатись кожного разу, коли ця причина присутня. Якщо описують ці концепції системного мислення звичайними словами, то використовують слова або фрази «тому що», «завдяки тому, що», «якщо ..., то» та ін. З погляду математики, якщо розглядають функціональну концепцію з однією незалежною змінною, ця змінна – причина, а залежна змінна – наслідок. У разі кількісного моделювання таких систем модельовані об'єкти – це об'єкти, параметри яких можна виміряти і між якими існують функціональні залежності. Якщо розглядати систему «хижаки-зайці», то в кількісній моделі знищення хижаками деяких зайців – це не знищення тварин, а зменшення їх кількості. Тобто в системі є суттєва різниця між зайцями як тваринами та їх кількістю. Наприклад, вовк може знищити зайців, але кількість вовків не може знищити дещо, а може тільки вплинути на кількість зайців.

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

Теоретико-множинний підхід

Згідно з теоретико-множинним підходом формальна модель динамічної системи має такий вигляд:

Неможливо розібрати вираз (невідома помилка): ~ M = (T,X,Y,Z,z(t),P),

де Т – модельний час; X, Y – множина відповідно вхідних і вихідних змінних; Z – простір станів моделі; z(t) – функція станів,Неможливо розібрати вираз (невідома помилка): t \mathcal {2} \Tau

Р – множина процесів, яка визначається як множина впорядкованих у часі пар елементів Неможливо розібрати вираз (невідома помилка): ~ (х, z(\tau, t))

, де Неможливо розібрати вираз (невідома помилка): t \mathcal {2} \Tau , а τ – початковий момент модельного часу для процесу Неможливо розібрати вираз (невідома помилка): p \mathcal {2} P . Таке визначення задає модель системи у вигляді схеми процесів, у якій множини процесів можуть існувати паралельно в модельному часі Т.

Вважається, що деяка подія з множини подій С зумовлює зміну стану системи, якщо починається певний процес Неможливо розібрати вираз (невідома помилка): p_i \mathcal {2} P

або закінчується деякий процес Неможливо розібрати вираз (невідома помилка):  p_j \mathcal {2} P 

. У протилежному випадку стан системи не змінюється. Тоді можна задати подійну схему моделі:

Неможливо розібрати вираз (невідома помилка): ~ M = (T,X,Y,Z,z(t),C),

де С – множина подій, що визначається як множина впорядкованих у часі пар елементів Неможливо розібрати вираз (невідома помилка): (c, d[ \tau , t_j]),

де Неможливо розібрати вираз (невідома помилка):  с \mathcal {2}С, d[\tau, t_j] 
– функція дії для процесу Неможливо розібрати вираз (невідома помилка):  р_j \mathcal {2} P; t  \mathcal {2} Т,
а τ – початковий момент модельного часу Т. У цій схемі процес моделювання описується як послідовність подій, що відбуваються в моделі.

Припустимо, що завдяки виконанню деякої умови u з множини U почне виконуватись певна дія Неможливо розібрати вираз (невідома помилка): d[\tau, t_j]

з множини D для деякого процесу Неможливо розібрати вираз (невідома помилка):  р_i  \mathcal {2} Р 

. Тоді можна задати модель системи у вигляді схеми дій:

Неможливо розібрати вираз (невідома помилка): ~ M = (T,X,Y,Z,z(t),D),

У цій схемі процес моделювання описується як перевірка всіх умов у разі кожної зміни модельного часу Неможливо розібрати вираз (невідома помилка): t \mathcal {2} Т , щоб знайти умову, яка почне певну дію з множини D. Зміна часу t може відбуватись з постійним або змінним від події до події кроком. Схеми останніх моделей широко застосовуються під час побудови алгоритмів моделювання і мов дискретного імітаційного моделювання.

Якщо припустити, що виконання деякої множини процесів Р може призвести до зміни станів Неможливо розібрати вираз (невідома помилка): z \mathcal {2} Z

і виникнення нових процесів, що спричинить появу деякої множини ситуацій L, тобто z(t): Pz → L, то отримаємо ситуаційну або причинно-наслідкову схему:
Неможливо розібрати вираз (невідома помилка): ~ M = (T,X,Y,Z,z(t),L),

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

{ситуація} → {правило} → {процес}.

Якщо модель здатна конструювати нові правила на основі існуючих, то вона перетворюється на модель зі штучним інтелектом.

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

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

Джерело