Формалізація та алгоритмізація комп’ютерних моделей

Загальні методологічні аспекти широкого класу комп'ютерних моделей дозволяють досліджувати механізм явища, що протікають у реальному об'єкті з великими або малими швидкостями, коли в натурних експериментах з об'єктом важко (або неможливо) простежити за змінами, що відбуваються протягом короткого часу або отримання достовірних результатів пов'язане з тривалим експериментом. При необхідності машинна модель "розтягує" або "стискає" реальний час, оскільки машинне моделювання пов'язане з поняттям системного часу, відмінного від реального. Крім того, за допомогою машинного моделювання можна навчати персонал АСОІУ прийняття рішень в управлінні об'єктом.

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

Вимогами користувача до моделіMпроцесу функціонування системиSє:

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

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

3. Тривалість розробки та реалізації моделі великої системи має бути по можливості мінімальною з урахуванням обмежень на наявні ресурси.

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

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

6. Програмні та технічні засоби повинні забезпечувати ефективну (по швидкодії та пам'яті) машинну реалізацію моделі та зручне спілкування з нею користувача.

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

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

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

Моделювання систем за допомогою ЕОМ можна використовувати у таких випадках:

а) для дослідження системиSдо того, як вона спроектована, з метою визначення чутливості характеристики до змін структури, алгоритмів та параметрів об'єкта моделювання та зовнішнього середовища;

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

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

Основні етапи моделювання великих систем:

1) побудова концептуальної (описової) моделі системи та її формалізація;

2) алгоритмізація моделі та її комп'ютерна реалізація;

3) отримання та інтерпретація результатів моделювання.

1. Побудова концептуальної моделі системи та її формалізація

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

Модель має бути адекватною, інакше не можна отримати достовірних результатів моделювання. Підадекватною моделлюрозумітимемо модель, яка з певним ступенем наближення на рівні розуміння моделюваної системиSрозробником моделі відображає процес її функціонування у зовнішньому середовищіE.

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

1 група: являють собою імітатор впливів зовнішнього середовищаЕна системуS;

2 група: є власне моделлю процесу функціонування досліджуваної системиS;

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

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

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

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

  1. Постановка задач машинного моделювання системи.
  2. Аналіз задачі моделювання системи.
  3. Визначення вимог до вихідної інформації про об'єкт моделювання та організацію її збору.
  4. Висунення гіпотез та прийняття припущень.
  5. Визначення параметрів та змінних моделей.
  6. Встановлення основного змісту моделі.
  7. Обґрунтування критеріїв оцінки ефективності системи.
  8. Визначення процедур апроксимації;
  9. Опис концептуальної моделі системи.
  10. Перевіряє достовірність концептуальної моделі.
  11. Складання технічної документації на першому етапі.

Алгоритмізація моделі та її комп'ютерна реалізація

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

Принципи побудови алгоритмів, що моделюють

Процес функціонування системиSможна розглядати як послідовну зміну її станівzуk-мірному просторі. Завданням моделювання процесу функціонування досліджуваної системиSє побудова функційz,на основі яких можна провести обчислення характеристик процесу функціонування системи, що цікавлять. Для цього необхідні співвідношення, що зв'язують функціїzіз змінними, параметрами та часом, а також початкові умовами в момент часуt = t0.

Розглянемо функціонування деякоїдетермінованої системи SD, у якій відсутні випадкові фактори. Вектор станів такої системи:z. Тоді стан процесу в момент часуt0+j∆tможе бути однозначно визначений із співвідношень математичної моделі за відомими початковими умовами. Це дозволяє будувати моделюючий алгоритм процесу функціонування системи.

Для цього перетворимо співвідношення моделіZдо такого виду, щоб зробити зручним обчислення за наявними значеннями. Організуємо лічильник системного часу, що у початковий час показує часt0 . У загальному випадку і початкові умовиz0 можуть бути випадковими, що задаються відповідним розподілом ймовірностей. При цьому структура моделюючого алгоритму для стохастичних систем в основному залишається незмінною. Тільки замість стануzтепер необхідно обчислити розподіл ймовірностей для можливих станів. Нехай лічильник системного часу показує часt0.Відповідно до заданого розподілу ймовірностей вибираєтьсяz. Далі, виходячи зрозподілу, виходить станziі т.д., поки не буде побудована одна з можливих реалізацій випадкового багатовимірного процесу ) (t ziу заданому інтервалі часу.

Розглянутий принцип побудови алгоритмів, що моделюють, називаєтьсяпринципом t.Це найбільш універсальний принцип, але з точки зору витрат машинного часу він іноді виявляється неекономічним.

При розгляді процесів функціонування деяких систем можна виявити, що для них характерні два типи станів:

1)особливі стани, властиві процесу функціонування системи тільки в деякі моменти часу;

2)регулярні стани, у яких процес перебуває решта часу.

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

Принципzвідрізняється від принципуtтим, що крок часу в цьому випадку не постійний, є випадковою величиною і обчислюється відповідно до інформації про попередній особливий стан.

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

2.2. Форми представлення моделюючих алгоритмів

Зручною формою представлення логічної структури моделей процесів функціонування систем і машинних програм є схема. На різних етапах моделювання складаються такі схеми моделюючих алгоритмів та програм:

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

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

Логічна схема моделюючого алгоритму є логічною структурою моделі процесу функціонування системS.

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

  1. Побудова логічної схеми моделі.
  2. Отримання математичних співвідношень.
  3. Перевіряє достовірність моделі системи.
  4. Вибір інструментальних засобів для моделювання.
  5. Складання плану виконання робіт із програмування.
  6. Специфікація та побудова схеми програми.
  7. Верифікація та перевірка достовірності схеми програми.
  8. Проведення програмування моделі.
  9. Перевірка вірогідності програми.
  10. Складання технічної документації на другому етапі.

Отримання та інтерпретація результатів моделювання

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

  1. Планування машинного експерименту із моделлю системи.
  2. Визначення вимог до обчислювальних засобів.
  3. Проведення робочих розрахунків.
  4. Аналіз результатів моделювання системи.
  5. Подання результатів моделювання.
  6. Інтерпретація результатів моделювання.
  7. Підбиття підсумків моделювання та видача рекомендацій.
  8. Складання технічної документації.