51273

МОДЕЛЮВАННЯ КОМПЮТЕРНИХ СИСТЕМ. МЕТОДИЧНА РОЗРОБКА

Книга

Информатика, кибернетика и программирование

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

Украинкский

2014-02-08

1.23 MB

11 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ,  МОЛОДІ ТА СПОРТУ УКРАЇНИ

ДЕРЖАВНИЙ УНІВЕРСИТЕТ

ІНФОРМАЦІЙНО-КОМУНІКАЦІЙНИХ ТЕХНОЛОГІЙ

КАФЕДРА  ІНФОКОМУНІКАЦІЙ

ЗАТВЕРДЖУЮ”

Завідувач кафедри

____________  проф. Костік Б.Я.

                                                                                                          (підпис, прізвище)

“ ____ “  _____________  2012року

МЕТОДИЧНА РОЗРОБКА

для проведення лабораторних  занять з навчальної дисципліни

МОДЕЛЮВАННЯ КОМП’ЮТЕРНИХ СИСТЕМ

                                                                                                       Обговоренo на засіданні кафедри

  Протокол № 1

  від                                  2012р.          

Київ – 2012

Лабораторне заняття № 1.

Системи і проблеми

Системи і проблеми. Системний підхід та системний аналіз. Методи системного аналізу

Поняття системи тісно пов'язане з поняттям проблеми. Проблема (від грец. Ргоblеmа - завдання) в широкому сенсі - ситуація невідповідності (протиріччя) сущест  ють і бажаного. Для постановки питання про існування проблеми таке не  відповідність повинно бути істотним і важко переборним. Іншими словами, проблема повинна бути «складною». Зазвичай поділяють проблему практики і наукову проблему. У науці проблема - ситуація, що характеризується наявністю противоречи  вих поглядів в поясненні будь-яких явищ, процесів, об'єктів і вимагає створення адекватної теорії, проведення експериментальних наукових досліджень для її вирішення  Вся історія пізнавальної діяльності представляє історію подолання проблемних ситуацій, які соціальна практика ставила перед людиною. При цьому очевидно, що не всяка проблема практики породжує наукову проблему і вимагає для свого вирішення наукових досліджень. Але наукова проблема, як правило, є породженням проблеми практики.Будь-яку проблему можна представити як відображення процесу функціонування реальної (фізичної) системи природного або штучного походження, в якій при контрольованому вхідній дії створювана вихідна реакція відрізняється від необхідної реакції. Таким чином, проблема відображає відмінність між існуючою і бажаної системою. При цьому можна виділити два основні шляхи вирішення проблеми, вибір яких визначається істотою виникає проблем  ної ситуації, тобто умовами, що породжують проблему.Перший з них пов'язаний з більш глибоким пізнанням діючої системи і на  правлю на її розвиток, еволюцію, перш за все, в плані корекції, удосконалювання  ня загального процесу її функціонування в постійно мінливих зовнішніх ус  ловіях.

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

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

.

Рис. 1.8. Багатоаспектне сприйняття складного об'єкта

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

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

Особливу увагу при реалізації системного аналізу приділяється визначенню це  лей системи, питанням формалізації подання цілей і їх структурування в процесі декомпозиції системи. В ході СА можуть досліджуватися також такі поня  ку, як планування поведінки системи, структура та ефективність системи в за-лежно від основних факторів зовнішнього середовища. Для подібних досліджень також характерно поєднання формальних і неформальних методів і прийомів, які каж  дий раз знаходяться у відповідності з істотою розв'язуваної проблеми. 1. Загальні положення методології дослідження і проектування складних систем 27

Загальний підхід до вирішення проблеми може бути реалізований у вигляді впорядковано  го циклу досліджень, в ході якого застосовуються найрізноманітніші під  ходи, методи і засоби. Основні етапи цього циклу представлені на рис. 1.9..

Рис. 1.9. Основні етапи вирішення проблеми

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

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

1. На етапі аналізу вирішуються типові задачі:

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

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

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

2. Етап синтезу системи, що забезпечує зняття проблеми, передбачає вирішення  ня наступних типових задач.

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

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

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

Етап оцінювання створюваної системи як окремий етап (найчастіше його вклю  чають в етап синтезу) призначений для рішення таких задач.

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

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

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

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

Розглянемо коротко класифікацію методів, що застосовуються при описі систем та вирішенні різнорідних завдань СА.

Методи опису складних систем в ході СА (їх всіх можна розглядати як методи моделювання систем) класифікуються в порядку зростання ступеня формалізації на якісні та кількісні методи.

Якісні методи СА основну увагу приділяють організації постановки задачі, першому етапу її формалізації, формуванню безлічі альтернативних варіантів вирішення, вибору підходів до оцінки варіантів. Ці методи і підходи яв-ляють евристичними, тобто спираються на досвід, творчу потенцію, а зачас  тую та інтуїцію дослідника. Дані методи ще називають методами використання  ня досвіду та активізації інтуїції фахівців. До подібних методів выдносять:

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

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

методи типу "Дельфі» (класичний метод «Дельфі», метод структуризації ре-шений тощо), засновані на виконанні багатоетапної ітеративної процедури індивідуального анонімного анкетування експертів з послідовним фор-мування групового думки на основі статистичної обробки результатів

анкетування в режимі «зворотного зв'язку» (узагальнені дані використовуються в якості вихідних при виконанні чергової ітерації);

методи типу «дерева цілей» (метод Черчмена, метод PATTERN), орієнтовані на отримання повної ієрархічної структури цілей, підцілей, завдань, направле  ний, що має досить стабільний характер в умовах розвитку представле  ний про проблему і задовольняє певним відносинам порядку;

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

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

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

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

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

 аналітичні методи (інтегро-диференціальне числення, варіаційне ис-чисельні, методи математичного програмування, методи многокрітеріаль  ної оптимізації, теорія ігор та ін);

 статистичні методи (теорія ймовірностей, математична статистика, Корреа-коізоляційні-регресійний і дисперсійний аналіз, факторний і компонентний аналіз, теорія статистичних рішень, теорія часових рядів тощо);

 теоретико-множинні методи (загальна теорія абстрактних множин, реляції  ційна алгебра, теорія категорій, теорія нечітких множин і т. п.);

 графічні методи (теорія графів, методи мережевого планування, різноманітні  ні методики графічного відображення об'єктів і процесів);

логіко-математичні методи (алгебра логіки, теорія абстрактних автоматів, методи логічного аналізу і виводу тощо);

 лінгвістичні методи (теорія формальних граматик, методи структурно-лінгвістичного аналізу та ін.)

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

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

■ кібернетичний підхід (який виходить з застосування принципів класичне  ської теорії автоматичного управління до дослідження складних організаційних  но-технічних і організаційних систем);

■ інформаційно-гносеологічний підхід (заснований на спільності процесів відображення і пізнання в системах різної природи);

■ структурний підхід до аналізу і моделювання систем, що реалізує современ  ні автоматизовані методи і технології функціонально-структурної де-композиції систем з використанням стандартних графічних мов для опису  ня виконуються в елементах процесів і взаємодій між ними;

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

■ метод ситуаційного моделювання процесів прийняття рішень, що спирається на класифікацію можливих ситуацій та опис об'єктів у вигляді елементів, пов'язаних між собою відносинами, що відображають семантику предметної об-ласті;

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

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

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

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

В історії розвитку СА можна виділити кілька етапів, показаних на рис. 1.10. На початковому етапі можна говорити про виникнення системного підходу як ідейної, концептуальної основи СА.

Рис. 1.10. Етапи розвитку методології системного аналізу

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

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

Лабораторне заняття № 2

Етапи моделювання систем

Етап 1. постановка Задачі

Під завданням розуміється якась проблема, яку треба вирішити. На етапі постановки завдання необхідно:

1. описати задачу,

2. визначити цілі моделювання,

3. проаналізувати об'єкт або процес.

Опис завдання.

Завдання формулюється на звичайній мові, і опис має бути зрозумілим. Головне тут - визначити об'єкт моделювання і зрозуміти, що повинен являти собою результат.

Цілі моделювання.

1. Пізнання навколишнього світу.

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

2. Створення об'єктів з заданими властивостями (завдання типу «Як зробити, щоб ...»).

Накопичивши достатньо знань, людина задав собі питання: «Чи не можна створити об'єкт із заданими властивостями і можливостями, щоб протидіяти стихіям або ставити собі на службу природні явища?» Людина стала будувати моделі ще не існуючих об'єктів. Так народилися ідеї створення вітряних млинів, різних механізмів, навіть звичайного парасольки. Багато хто з цих моделей стали в даний час реальністю. Це об'єкти, створені руками людини.

3. Визначення наслідків впливу на об'єкт і прийняття правильного рішення (задача типу «Що буде, якщо ...»: що буде, якщо збільшити плату за проїзд у транспорті, чи що станеться, якщо закопати ядерні відходи в такий-то місцевості?)

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

4. Ефективність управління об'єктом (або процесом).

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

Аналіз об'єкта

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

Етап 2. Розробка Моделі

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

Приклад 

Цей приклад показує, що інформації не обов'язково має бути багато. Важливо, щоб вона була «по суті питання», тобто відповідала цілі, для якої використовується.

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

Інформаційні моделі відіграють дуже важливу роль в житті людини.

Знання, отримані вами в школі, мають вигляд інформаційної моделі, мета якої - вивчення предметів і явищ.

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

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

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

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

Приклад 

Інший приклад різних інформаційних моделей для одного і того ж об'єкта. (Приклад

Вибір найбільш суттєвої інформації при створенні інформаційної моделі та складність цієї моделі обумовлені метою моделювання.

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

Знакова модель.

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

Комп'ютерна модель - це модель, реалізована засобами програмного середовища.

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

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

Этап 3. Комп’ютерний експеримент

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

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

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

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

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

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

Етап 4. Аналіз результатів моделювання.

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

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

Основні функції комп'ютера при моделюванні систем:

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

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

• виконання ролі засобу конструювання комп'ютерних навчальних і моделюючих середовищ типу: «учень - комп'ютер - навчальний», «повчальний - комп'ютер - учень», «повчальний - комп'ютер - група учнів», «група учнів - комп'ютер - навчальний», «комп'ютер - учень - комп'ютер »;

• виконання ролі засобу моделювання для отримання нових знань;

• «навчання» нових моделей (самонавчання моделей).


Лабораторне заняття № 3

Імітаційне моделювання

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

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

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

Визначення поняття «імітаційне моделювання».

    У сучасній літературі не існує єдиної точки зору з питання про те, що розуміти під імітаційним моделюванням. Так існують різні трактування:

- В першій - під імітаційної моделлю розуміється математична модель у класичному змісті;

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

- В третій - припускають, що імітаційна модель відрізняється від звичайної математичної більш детальним описом, але критерій, за яким можна сказати, коли кінчається математична модель і починається імітаційна, не вводиться;

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

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

Етапи процесу побудови  математичної моделі складної системи

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

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

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

Критерієм адекватності моделі служить практика.

Труднощі при побудові математичної моделі складної системи:

- Якщо модель містить багато зв'язків між елементами, різноманітні нелінійні обмеження, велике число параметрів і т. д.

- Реальні системи найчастіше піддані впливу випадкових різних факторів, облік яких аналітичним шляхом представляє дуже великі труднощі, найчастіше нездоланні при великому тому числі;

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

Ці труднощі й обумовлюють застосування імітаційного моделювання.

Воно реалізується за такими етапами:

1. Як і раніше, формулюються основні питання про поводження складної системи, відповіді на які ми хочемо отримати.

2. Здійснюється декомпозиція системи на більш прості частини-блоки.

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

4. В залежності від поставлених перед дослідником питань вводиться так зване системне час, симулянт хід часу в реальній системі.

5. Формалізованим чином задаються необхідні феноменологічні властивості системи і окремих її частин.

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

2. Метод імітацийнного моделювання

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


Основними етапами методу імітаційного моделювання є:

моделювання вхідних і зовнішніх впливів;

відтворення роботи модельованої системи (моделюючий алгоритм);

інтерпретація та обробка результатів моделювання.

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

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

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

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

Для моделювання системи на ЕОМ необхідно записувати моделюючий алгоритм на одному з вхідних мов ЕОМ. В якості вхідних мов для вирішення задач моделювання можуть бути з успіхом використані універсальні алгоритмічні мови високого рівня, Сі, Паскаль і ін

Основним недоліком аналітичних моделей є те, що вони неминуче вимагають допущень, зокрема, про «марковости» процесу. Прийнятність цих допущень далеко не завжди може бути оцінена без контрольних розрахунків, а виробляються вони методом Монте-Карло. Образно кажучи, метод Монте-Карло в задачах дослідження операцій відіграє роль своєрідного ВТК. Статистичні моделі не вимагають серйозних допущень і спрощень. В принципі, в статистичну модель «лізе» що завгодно - будь-які закони розподілу, будь-яка складність системи, множинність її станів. Головний же недолік статистичних моделей - їх громіздкість і трудомісткість. Величезне число реалізації, необхідний для знаходження шуканих параметрів з прийнятною точністю, вимагає великої витрати машинного часу. Крім того, результати статистичного моделювання значно складніше осмислити, ніж розрахунки за аналітичними моделями, і відповідно важче оптимізувати рішення (його доводиться «намацувати» наосліп). Правильне поєднання аналітичних та статистичних методів в дослідженні операцій - справа мистецтва, чуття і досвіду дослідника. Нерідко аналітичними методами вдається описати якісь «підсистеми», що виділяються у великій системі, а потім з таких моделей, як з «цеглинок», будувати будинок великий, складної моделі.


Лабораторне заняття № 4

Імітаційне моделювання систем масового обслуговування

Формулювання проблеми та змістовна постановка завдання

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

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

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

Розробка концептуальної моделі.

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

При розробці концептуальної моделі необхідно:

-визначити цілі моделювання;

-сформулювати цільові функції (критерії якості) системи, що моделюється;

-вибрати ступінь деталізації моделі;

-описати вхідні, вихідні змінні й параметри моделі;

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

-описати обмеження й можливі зміни величин;

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

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

Вибір ступеня деталізації опису об’єкта моделювання.

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

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

Більш детальна модель буде точнішою, однак вона буде й складнішою й дорожчою. Для її побудови, перевірки, документування й використання потрібні більші витрати. Таким чином, доводиться шукати компроміс між деталізацією й точністю моделі, та її вартістю. На мал.3.1 видно як змінюються показники моделі залежно від обраної точності моделі.

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

Опис змінних моделі

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

Вхідні і внутрішні змінні обираються у відповідності зі ступенем деталізації моделі.

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

Надалі, в ході моделювання, доцільно провести випробування моделі на чутливість результатів моделювання до зміни видів розподілу і їхніх параметрів.

Найбільш складним є збір статистичних даних про зовнішній вплив на систему. Це пов’язано з великою трудомісткістю й вимагає значних витрат часу, особливо коли деякі події трапляються рідко.


Формалізоване зображення концептуальної моделі

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

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

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

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

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

Вибір засобів реалізації імітаційної моделі

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

Програмна реалізація імітаційної моделі може бути створена за допомогою:

-алгоритмічних мов загального призначення;

-спеціалізованих мов моделювання;

-пакетів прикладних програм для моделювання;

-засобів автоматизації програмування імітаційних моделей.

Мову, за допомогою якої буде виконана програмна реалізація імітаційної моделі, варто обирати залежно від складності імітаційної моделі й типу наявного комп’ютера. Зараз існує багато мов моделювання, які орієнтовані як на суперкомп’ютери, так і на персональні комп’ютери.

Розробка структурної схеми імітаційної моделі й опис її функціонування

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

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

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

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

Програмна реалізація імітаційної моделі

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

Структура програми моделі повинна відповідати структурі імітаційної моделі. Така будова програми робить її наочною й полегшує її налагодження. Кожен модуль програми повинен супроводжуватися коментарем.

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

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

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


Лабораторне заняття № 5

Етапи розробки імітаційної моделі системи

Незалежно від способу вихідного опису досліджуваної системи і зовнішньої сре  ди слід виділити наступні етапи створення ІМ, в узагальненому вигляді представ  лені на рис.

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


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

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

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

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

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

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

8. Організація (постановка) і оптимізація модельного експерименту, включаю  щая в себе стратегічне і тактичне планування проводяться з використанням ІМ досліджень.

9. Реалізація плану експерименту, реєстрація та накопичення одержуваних в про  цесі експлуатації моделі системи результатів (первинних даних).

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

11. Аналіз та інтерпретація інформації, отриманої за результатами модельного експерименту, у формі певних висновків і висновків.


Лабораторне заняття № 6

Мови та інструментальні засоби ІМ і CASE-технології

Універсальні мови високого рівня

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

■ зручність програмування і досить «м'які» вимоги до підготовки раз-робника-користувача, що грає істотну роль при машинної реалізації моделюючих алгоритмів;

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

Ці фактори забезпечують істотне скорочення термінів розробки і експлуатації ІМ, а також реалізацію стандартних форм обробки, інтерпретації та документування результатів моделювання. Одночасно слід зазначити, що стандартні рамки спеціалізованого ЯІМ не завжди дозволяють досліджувати дос-таточно «тонкі» та індивідуальні особливості складної системи, що веде до необ-ходимости деякого «угрубленія» її опису в рамках розроблюваної моделі.

Узагальнена архітектура ЯІМ реалізує концепцію взаємозв'язку елементів мови і технологію переходу від системи до її машинної моделі. Її можна представити сле-дме чином: об'єкти моделювання (системи) описуються або відображаються за допомогою деяких атрибутів мови; атрибути взаємодіють з процесами, адекватними реально протікає явищам в моделюється системі; процеси тре-буют конкретних умов, що визначають логічну основу і послідовність їх взаємодії під часу; умови пов'язані з подіями, що мають місце внут  ри об'єкта моделювання; події відображають зміну стану моделі систе  ми в просторі і в часі.

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

Безперервний підхід до представлення систем зводиться до складання рівнянь, за допомогою яких встановлюється зв'язок між безперервними змінними моді  ли. Прикладом подібних рівнянь є звичайні диференціальні рівняння  нання, тобто в даному випадку в повному обсязі використовується формалізм D-схем. Реалі  чаплі імітацію диференціальних рівнянь, подібні засоби в ЕОМ використовують різні способи чисельного інтегрування, в тому числі і на основі завдання раз-невих рівнянь, що означає фактично дискретний у часі характер зада  ня екзогенних і ендогенних змінних. Подібний підхід був реалізований в най  більш поширених мовах даної групи - DYNAMO і MIMYC.

При реалізації дискретного або комбінованого підходів реалізуються типові схеми, в яких використовуються як безперервні змінні, так і дискретні змін  ні. При цьому виділяють декілька принципово розрізняються підгруп ЯІМ.

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

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

Ще одна підгрупа ЯІМ реалізує процесний спосіб опису систем. Під процесом розуміється послідовність подій, зв'язок між якими установлюється логікою певних відносин. Опис кожного класу процесу оформляється у вигляді процедури, яка виконується одночасно для всіх пред-ставники даного класу, що існують в системі в поточний час. Програми ними-ційної моделей, написані на мові даної підгрупи, відрізняються тим, що мають ту ж структуру, що і модельований об'єкт. Прикладами мов процесів є мова SIMULA, який породив багато наступних розробок, викорис  зуемих в даний час, і мова ПЛІС.

Нарешті, в окрему підгрупу слід виділити ЯІМ, що реалізують транзактний спосіб імітації, і її найбільш відомий і широко використовується в даний час тіпопредставітель - мова GPSS (GPSS WORLD, GPSS / PC). Мова моделірова  ня GPSS спеціально розроблений для побудови ІМ складних дискретних систем і являє собою інтерпретує мовну систему, що застосовується для опи  сания просторово-часового руху об'єктів. Такі об'єкти називаються транзактамі, які найчастіше є елементами потоку заявок. Функцію каж  дого з них можна представити як процес створення, просування по системі і знищення. Основними схемами, для імітації яких використовується мова GPSS, є, перш за все, системи масового обслуговування (g-схеми), автомати (F-, Р-схеми), мережі Петрі (TV-схеми) і навіть агрегати (Л-схеми).

До числа сучасних ЯІМ, що реалізують комбінований (безперервно-дис-конкретний) підхід, відносяться мови GASP, NEDIS, а з сучасних версій - мова Modelica, який реалізує принципи об'єктно-орієнтованого програмування  вання стосовно до моделювання великих, складних і фізично різнорідних систем. Їх компоненти можуть мати різну фізичну природу. Мова підтри  живає імітацію гібридного поведінки елементів систем і в даний час ак  тивно розвивається. Суттєвою особливістю даного продукту є його ори  ентація на реалізацію технологій візуального моделювання і створення анімації  онних 30-проектів.

Крім мов імітаційного моделювання в практиці вирішення конкретних проблем дослідження та проектування систем знаходять своє застосування засоби автоматизації моделювання: пакети прикладних програм моделювання; подсис-теми візуального моделювання; всілякі розширення мов програмування  ня. Їх головним завданням є забезпечення перекладу математичної моделі об'єк  єкта на деякий вхідна мова моделювання, або мову завдання, який є засобом спілкування розробника системи з базовою мовою програмування, рас  розширенням якого, по суті, є мова завдання. В якості базового мови пакету може бути вибраний будь-яку мову загального призначення. Наприклад, підсистема візуально  го моделювання Simulink, яка з практичної точки зору детально розглядають  Ріва далі, функціонує на основі мови MATLAB. Інтегрована графічні  ська оболонка системи Model Vision Studium, що застосовується для швидкого створення моделей складних динамічних систем і проведення з ними обчислювальних експе  рименте у формі віртуального лабораторного стенду, заснована на використанні спеціального внутрішнього мови моделювання MVL, що базується, в свою оче  редь, на використанні синтаксису мови Ada.


Лабораторне заняття № 7

Моделювання  систем в середовищі

MATLAB + Simulink +Stateflow

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

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

Система MATLAB (матрична лабораторія) була створена фахівцями фірми MathWorks, Inc. як мова програмування високого рівня для технічних обчис  лений. Вона увібрала в себе передовий досвід розвитку математичних чисельних мето  дов вирішення завдань та їх комп'ютерної реалізації, включаючи, природно, і методолого  гію імітаційного моделювання. Особливо ретельно в системі MATLAB прора  ботани алгоритми матричних операцій, що лежать в основі більшості засобів ис  проходження складних систем.

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

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

Система MATLAB має відкриту архітектуру, що дає повний доступ користу  вача до кодів на потужному і, в той же час, досить простою мовою програмування  вання цієї системи. Мова МАТЬАВ є одним з високоефективних мов програмування для науково-технічних розрахунків та створення засобів моделірова  ня різних пристроїв і систем. У структурі мови є зручні і дуже на  глядние візуально-орієнтовані засоби аналізу і відображення процесів мо  делірованія.

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

Якщо потрібне подальше підвищення швидкості обчислень і обробки інфор  мації, то програми, створювані на мові MATLAB, можуть використовуватися в якос  стве пілотних дослідницьких проектів для відпрацювання алгоритмів обробки ін  формації і текстів програм. Після цього вони можуть перекладатися в робочі про  програмне продукти з використанням будь-якої мови високого рівня, забезпечую  ного компіляцію. При компіляції етапи інтерпретації та компонування при виконаний  нии файлів відсутні, так як вони проводяться в процесі створення виконуваних файлів. У результаті швидкість обчислень при використанні виконуваних (отком  пілірованних) файлів істотно зростає. Переклад відпрацьованих в середовищі MATLAB програмних продуктів на мови високого рівня з можливістю созда-ния виконуваних файлів після компіляції може здійснюватися розробником в ручному режимі або з використанням спеціалізованого пакета розширення Real Time Workshop (RTW) (майстерня реального часу), що входить до складу системи. Система дозволяє створювати файли на мовах С і С + +, а також безпосередньо ис  нують файли (з розширенням. Ехе) на основі програм, розроблених в середовищі MATLAB. Тим самим може бути подолана основний недолік цих продуктів - відносно низька швидкодія вирішення завдань і здійснення процесу дива  стичного імітаційного моделювання досліджуваних систем.

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

Крім того, до складу системи MATLAB входить пакет, або підсистема, візуального моделювання систем Simulink. Simulink - це інтерактивна середу для моделірова  ня та аналізу широкого переліку динамічних систем, представлених своєї функ  нальної блок-схемою, іменованої 5-моделлю. S-модель використовує графічний мову блок-діаграм, які формуються на основі технології drag-and-drop (переміщення графічного об'єкта в заданий місце з використанням миші). Для побудови функціональної блок-схеми модельованих систем Simulink має бібліотеку Блоч  них компонентів і редактор блок-схем. Даний редактор заснований на графічному інтерфейсі користувача і, по суті, є типовим засобом візуального програмування. Маючи подібну бібліотеку, користувач за допомогою миші пе  реносіт необхідні йому блоки на робочий стіл пакета Simulink і з'єднує лінія  ми (каналами) зв'язку входи і виходи блоків. Параметри і характеристики використовуваних  мих в 5-моделі блоків настроюються користувачем в інтерактивному режимі. При цьому графічний редактор Simulink автоматизує найбільш трудомісткі етапи по  будови моделі, пов'язані з розробкою загальної математичної моделі та моделі  рующего алгоритму системи. В режимі запуску моделі забезпечується наочний візуальний контроль за поведінкою створеного користувачем віртуального об'єкта моделювання (симуляції).

Підсистема Simulink надає наступні можливості і ресурси:

■ забезпечує моделювання лінійних і нелінійних неперервних, дискретних та гібридних систем і пристроїв;

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

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

■ містить засоби для створення і включення в бібліотеку нових блоків в соот  повідно до потреб користувача;

■ дає можливість проектувати із сукупності блоків підсистеми, що мають як фіксовану, так і змінну в часі структуру;

■ реалізує моделювання з використанням різних способів завдання модель  ного часу;

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

Рис.Типовой состав системы MATLAB

Как видно из рисунка, основными компонентами среды являются базовая система MATLAB и подсистема моделирования Simulink. Остальные пакеты расширения разбиты на следующие категории: расширения MATLAB Extension; расширения Simulink Extension; комплекты пакетов расширения Blockset и Toolbox.

Наполнение системы постоянно модифицируется и увеличивается. В современной версии MATLAB 7.0 (реализация R 14) появились новые компоненты такие, например, как Cenetic Algoritm and Direct Search Toolbox и др. Работа всех пакетов расширения, включая и подсистему Simulink, невозможна без базовой системы MATLAB. Используемые в среде пакеты расширения Blockset и Toolbox допускают применение своих компонентов как при визуально-ориентированной подготовке моделей, так и в виде функций в командах, исполняемых в командном режиме MATLAB, а также в составе программируемых пользователем на языке MATLAB m-файлов.

Необходимо также остановиться на возможностях одного из специализированных приложений в составе Simulink Extension, которое значительно расширяет возможности имитационного моделирования систем. Им является пакет Stateflow, реализующий объектно-ориентированный подход к разработке моделей гибридных и сложных, со- бытийно-управляемых систем и базирующийся на использовании формализма карт состояний Харела.

Пакет Stateflow позволяет представить функционирование системы на основе цепочки правил, которые задают соответствие состояний, событий и действий (функциональных операций), выполняемых в ответ на эти события. Возможности пакета направлены, прежде всего, на проведение анализа, моделирования и проектирования таких систем, как:

  •  детерминированные и стохастические системы управления;
  •  системы диспетчеризации процессов на транспорте;
  •  периферийные устройства компьютеров и микроконтроллеры;
  •  средства графического интерфейса пользователя и элементы человеко-машинного интерфейса;
  •  гибридные системы на основе интеграции со средствами ряда пакетов расширения (Simulink, Control System, Digital Signal Processing и др.);
  •  наглядно-интерактивные средства обучения в области моделирования и проектирования сложных систем.

Модели, создаваемые на основе пакета Stateflow, называются SF-моделями. Пакет имеет свой графический интерфейс пользователя, позволяющий создавать SF-модели в виде графических SF-диаграмм динамического типа. В ходе моделирования на подобных диаграммах отражаются все изменения модели: например, строятся диаграммы переходов, изменяются цвета блоков в зависимости от их активности и т. д. Это позволяет визуально отслеживать поведение системы в ходе моделирования.

Графический интерфейс пользователя Stateflow открывает доступ к следующим компонентам:

  •  графическому редактору SF-диаграмм (Stateflow Editor);
  •  обозревателю для анализа ^-диаграмм (Stateflow Explorer);
  •  синтаксическому анализатору SF-диаграмм (Stateflow Parser);
  •  навигатору для поиска в ^-диаграммах нужных объектов (Stateflow Finder);
  •  отладчику ^-моделей (Stateflow Debugger);
  •  генератору С-кодов модели для работы совместно с расширением RTW (Stateflow Coder).

Данные компоненты обеспечивают понятные и простые приемы работы с пакетом Stateflow. Важно также отметить, что .ХР-модели реализуют формализм одного из основных компонентов UML, описывающих динамику поведения систем - диаграммы состояний.


І
нтеграція можливостей MATLAB + Simulink + Stateflow

Особливо ефек  тивної є розробка імітаційних моделей при максимальній інтеграції можливостей MATLAB, Simulink, Stateflow. При цьому MATLAB забезпечує управ  ня експериментами, доступ до вихідних даних і високорівневе програмування  вання. Simulink підтримує проектування безперервних і дискретних систем у своїй графічної середовищі, а також візуалізацію результатів моделювання в дина  Міці функціонування моделей. Stateflow-діаграми включаються в Simulink-моді-ли і забезпечують наочне, візуальне опис поведінки складних подієво-керованих систем. Враховуючи, що далі цей підхід буде досить часто викорис  тися на сторінках книги при розробці прикладів побудови ІМ систем в середовищі MATLAB, розглянемо технологію подібної інтеграції більш докладно.

Спочатку при розробці ІМ може здійснюватися формування зовнішньої керуючої програми (УП) на мові MATLAB у вигляді ш-файлу сценарію (script file). В рамках УП організовується завдання і варіювання вихідних даних відповідно до планів проведення модельного експерименту і загальним задумом проведення дослідження, реалізується багаторазовий прогін ^-моделі системи та про-водиться оцінка показників ефективності в ході обробки даних експерименту. При остаточному формуванні цієї програми здійснюється сполучення з раз  работанной 5-моделлю і остаточна настройка її блоків з урахуванням обраних умов проведення моделювання.Далі створюється модель (mdl-файл). Така модель може мати самостійне значення, якщо для моделювання досліджуваного об'єкта досить наявних віз  востей підсистеми Simulink, або може бути оболонкою для Stateflow-моделі, якщо принциповим є моделювання подієво-керованих систем з рас  покриттям можливостей формалізму гібридних автоматів.Для створення S-моделі здійснюється запуск MATLAB і підсистеми Simulink шляхом натиснення відповідної кнопки панелі інструментів командного вікна MATLAB. В результаті на екрані з'являється вікно Simulink Library Browser (браузер бібліотек Simulink), як це показано на рис. 4.8. У лівій половині вікна браузера у вигляді деревовидної структури наводиться перелік бібліотек, включених до складу Simulink, а в правій - перелік розділів відповідної бібліотеки або зображення  ня блоків відповідного розділу. Для ознайомлення зі складом кожної з биб  ліотек слід двічі клацнути на її імені. Щоб розпочати складання блок-схеми моді  ліруемих системи, необхідно в командному вікні MATLAB вибрати команди File - New - Model або у вікні браузера Simulink натиснути кнопку Create a new model. Після цього на екрані з'явиться нове пусте вікно заготовки для створення S-моделі під име  ньому Untitled, в якому і буде здійснюватися її збирання у вигляді блок-схеми з гото  вих компонентів. Всі 5-м одяг і розміщуються в файлах з розширенням. Mdl (впослед  відно файл моделі Untitled може бути збережений під будь-яким ім'ям xxx.mdl). Вікно S-моделі має рядок меню, панель інструментів і робоче поле. Меню File содер  жит стандартні команди для роботи з wûff-файлами; меню Edit містить команди редагування; меню View - команди зміни зовнішнього вигляду вікна; меню Simulation - команди управління процесом моделювання; меню Format - команди зміни зовнішнього вигляду окремих блоків і блок-схеми в цілому; меню Tools вклю  чає додаткові сервісні засоби для роботи з S-моделлю.

Перед початком роботи з 5-моделлю потрібно здійснити установку загальних пара  метрів моделі шляхом виклику в меню Simulation команд Configuration Parameters (в вер  ці MATLAB 7.0 і вище). В результаті з'явиться діалогове вікно установки параметрів  рів моделювання, що має ряд розділів з великим числом параметрів. Основний є вкладка Solver (Решатель).

 

Вікно системи MATLAB разом з відкритим браузером бібліотек Simulink і заготівлею для створення S-моделі на основі компонентів Simulink ■ (блоки Pulse Generator і Scope) і SF-моделі (блок Chart)

 

Елементи управління на цій вкладці зібрані в групи: Simulation time - де реа  лизуется вибір початкового (Start time) і кінцевого (Stop time) значень модельного часу; Solver options - де реалізується вибір способу завдання модельного часу при вирішенні рівнянь з фіксованим кроком (Fixed step) і з перемінним кроком (Variable step), а також вибір методу розрахунку поточного стану при моделюванні дискретних і безперервних систем (в останньому випадку це методи вирішення Обикнов  ських диференціальних рівнянь Ейлера, Хойна, Рунге-Кутта і т. д.), значень інтервалів часу дискретизації (за замовчуванням - auto), відносної і абсолют  ної похибки розрахунку (за замовчуванням 10 "3 та auto). Остаточна настройка пара  метрів в рамках зазначених опцій здійснюється після складання і узгодження всіх елементів моделі.

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

При розробці моделі з використанням можливостей Stateflow роль S-моделі полягає в забезпеченні динаміки процесу функціонування SF-моделі, РЕГИСТ  рації та візуалізації результатів на основі використання стандартних компонентів підсистеми Simulink. Роль SF-моделі (Stateflow-моделі) складається, власне, в вос  творі візуальної моделі складної системи з використанням формалізму гібридних автоматів (карт станів Харела).

Для створення S-моделі з вкладеною SF-моделлю також здійснюється  ється запуск Simulink і створюється пусте вікно заготовки нового / m / Z-файла Untitled (згодом зберігається під будь-яким ім'ям). Здійснюється, як і раніше, уста  новка загальних параметрів моделі Configuration Parameters, при цьому в поле Solver групи Solver options зазвичай вибирається метод «discrète», так як буде проводитися моделювання системи з набором дискретних основних станів.

Наступним кроком є ​​відкриття розділу Stateflow в браузері бібліотек Simulink. В результаті в основному вікні перегляду бібліотеки з'явиться єдиний блок Chart (діаграма), який за допомогою миші може бути переміщений в робоче вікно блок-діаграми тий? /-Файлу Simulink. Тут також можна відкрити власну бібліотеку Stateflow, клацнувши по назві розділу правою кнопкою миші. В ре  док з'явиться напис Open the Stateflow library, клацнувши по якій лівої кноп  кою, отримаємо додатково до блоку Chart підрозділ Examples, що містить приклади розроблених за допомогою даного інструментарію моделей систем.

Зупинимося детальніше на можливості та принципи візуального програм  мування в Stateflow. Це дозволить нам наочно проілюструвати широко вико  ристовуються технологію, реалізовану в сучасних інструментальних засобах моделювання складних систем на основі математичних схем в рамках комбінова  ного (гібридного) підходу.

Спочатку блок Chart, розміщений в робочому вікні mdl-файла, є пус  тою, тобто служить заготівлею для створення моделі. Якщо активізувати мишею пус  тій блок Chart, то з'явиться вікно редактора SF-діаграми в якому можна почати збірку моделі. Редактор має звичайний для вікон системи MATLAB вид.

Всі об'єкти SF-моделі діляться на графічні та неграфічні. Для створення ос  новних графічних об'єктів використовуються кнопки бічній панелі. Натиснувши кожну з кнопок, можна мишею перетягнути в будь-яке місце вікна відповідний графічні  ський елемент моделі, як це показано на

Крім зазначених у табл. 4.3 графічних об'єктів, в SF-діаграмі використовують  ся переходи (Transition), вони не мають своєї кнопки і відображаються у вигляді стрілок, що йдуть від одного об'єкта до іншого. Переходи формуються за допомогою миші пу  тем її переміщення з будь-якої точки кордону одного графічного об'єкта до будь-якій точці кордону іншого. Для графічних об'єктів-станів допускається введення внутрішніх переходів. Ці переходи починаються або закінчуються на внутрішніх кордонах стану-джерела.

До числа основних неграфічних об'єктів. SF-діаграми відносяться події, дані і дії.

Події (Event) керують роботою SF-діаграми і повинні бути визначені користувачем. Події мають різні області видимості (Scope):

■ локальні (видимі лише в межах SF-діаграми або її внутрішніх станів);

■ вхідні (передаються в SF-діаграму з Simulink);

■ вихідні (передаються в Simulink з SF-діаграми);

■ експортуються (передаються в зовнішнє УП);

■ імпортовані (передаються з зовнішньої УП).

Події створюються шляхом вибору пункту меню Add - Event і далі послідовник  ності Event - Local, Event - Input from Simulink і т. д. В результаті з'являється діалогу  говое вікно Event, де визначається конкретне ім'я події і його характеристики, у переліку яких найважливішою є установка виду події в поле Trigger. У біль  шинстве випадків події можуть розглядатися як стрибкоподібні зміни (пе  реключенія) станів, що супроводжуються різкими змінами рівня відпо  чих сигналів; при цьому можуть бути події наступного вигляду: Rising - з вище  ням рівня сигналу; Falling - з пониженням рівня; Either - з будь-яким напрямком зміни рівня. Події можуть також створюватися і модифікуватися в діалого  вом вікні браузера Stateflow Explorer, вибираним в рамках пункту основного ме  ню Tools - Explorer.

Іншими основними неграфічних об'єктами SF-моделі є дані (Date). Вони представляють числові значення змінних, що використовуються в моделі. Дані мають властивості (класичні типи), а також область видимості (Scope). Як і події, дані можуть бути локальними, вхідними, вихідними, імпортованими і експортованими. Крім того, дані можуть визначатися як константи і часів-ні (проміжні) змінні. Для створення і модифікації даних слід вос  користуватися пунктом меню Add - Date, а також оглядачем Stateflow Explorer, ви  Бірао в рамках пункту меню Tools - Explorer.

Ще одним класом неграфічних об'єктів. ST7-моделей є дії або процедури (Action). Вони визначають будь-які операції, пов'язані з перетворенням даних, роботою SF-моделі та управлінням процесом її функціонування. Для опи  сания процедур служить спеціальна мова Action Language, побудований на основі синтаксису мови С і містить арифметичні і логічні оператори, функції, визначені користувачем, а також деякі спеціальні функції. Відзначимо процедури, часто використовувані при побудові SF-моделей:

chg (data name) - процедура генерації локального події в разі зміни значень змінної dataname;

in (statename) - логічна функція, що має значення true, коли стан statename активно;

send (event_name, state name) - процедура пересилання специфікації події eventname станом state_name (пряма передача подій);

ml ('function_name (a, b, ...)') - процедура, що викликає функцію, сформовану в MATLAB і виконує обчислення для значень перерахованих аргументів;

ml.datamname - процедура, що надає доступ до змінної datam_name робочої області MATLAB.

Процедури використовуються для опису SF-діаграми в рамках двох моделей ко  кінцевих автоматів:

■ моделі автомата Мілі, що зв'язує процедури з переходами;

■ моделі автомата Мура, що зв'язує процедури з станами.

Для того щоб реалізувати обраний алгоритм роботи SF-моделі, необхідно виконати опис введених станів і переходів між ними, а також викорис  зуемих даних.

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

■ entry: і група дій, виконуваних при вході в стан;

■ during: і група дій, виконуваних поки даний стан активно;

■ exit: і група дій, виконуваних при виході зі стану;

■ on event name: і група дій, які виконуються в момент виникнення події event name при перебуванні в даному стані.

Для опису переходу слід помістити покажчик миші на сполучну ли  ня і натиснути ліву кнопку. Близько лінії з'явиться знак питання. На його місце сліду  ет ввести опис або мітку переходу, яка визначає умови спрацьовування переходу і виконувані при цьому процедури. У загальному випадку структура мітки пере  ходу складається з декількох частин і має такий вигляд (див. рис. 4.9): event name [condition] {condition_action} / transition_action, де event name - ім'я події, яка ініціює перехід; condition - умова пере  ходу у вигляді булевского вирази, що ініціює перехід в разі його істинності; condition action - дія умови, що виконується миттєво після того, як стало справжнім умова переходу, але до того, як виконано весь перехід (не визначилося стан-адресат); transition_action - дія переходу, що здійснюється при переході і вже знайдено стан-адресат.

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

SF-діаграма може реалізовувати ієрархічну структуру вкладених перебуваючиний. Це означає, що кожний стан має стан-батька. Для SF-діаграми, що складається з одного стану, батьком є ​​сама SF-діаграма. Для того щоб отримати вкладені стану необхідно за допомогою миші пере  тягти один блок-стан в інший, попередньо збільшивши розміри останнього. Ці розміри регулюються також за допомогою миші, для чого необхідно помістити її покажчик до одного з округлених кутів прямокутника.

При виконанні дій адресу будь-якого вкладеного стану з ім'ям state_namel вказується як state name.state namel, де state name - ім'я стану-батька.

Stateflow підтримує створення як взаємовиключних (OR), так і парал  лельно (AND) станів. Для визначення паралельних станів, попередньо  тельно поміщених у вікні SF-діаграми, необхідно, клацнувши лівою кнопкою миші в полі зовнішнього стану-батька, вибрати в меню пункт Decomposition - Parallel (AND). В результаті межі паралельних станів ото  бражать пунктирною лінією, а в правих верхніх кутах блоків автоматично ус-установлюються їх номери.

При підготовці SF-моделі до роботи потрібно встановити параметри моделі з помо  гою діалогового вікна, що викликається при виборі команди Chart Properties, що входить в пункт меню File графічного редактора. Вікно містить елементи, що визначають: ім'я SF-діаграми, а ім'я S-моделі та / або SF-діаграми більш високого рівня, в яких раз  переміщується дана модель; розкривається Update method, що визначає викорис  зуемих метод управління динамікою роботою SF-діаграмою з Simulink; поле параметра дискретизації за часом Sample time; допоміжні прапорці, що встановлюють віз-можности використання цих Simulink, варіанти ініціалізації та завдання точок ос  тановки моделі, можливості модифікації моделі і т. п.

Дуже істотним є вибір установки Update method. Вона має три ос  новних варіанти:

Inherited - метод, який реалізує управління SF-діаграми зовнішніми подіями, що призводить до активізації моделі кожен раз, коли на критичний порт діаграми надходить керуючий сигнал;

Discrete - метод, при якому періодичність активізації SF-діаграми задається параметром Sample time, при цьому Simulink автоматично генерує управляючі події з відповідною періодичністю;

Continuous - безперервний метод активізації SF-діаграми на кожному кроці мо  делірованія, встановленому для Simulink.

Крім розглянутих компонентів розробки та управління SF - моделей, сліду  ет також виділити вбудований відладчик, що викликається в пункті меню Tools - Debug, синтаксичний аналізатор помилок (Tools - Parse), а також засоби пошуку об'єктів заданого типу (Tools - Find). Принципи їх використання розглядаються в соот  ветствующей літературі.

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

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


Лабораторне заняття №
8

Уніфікована мова моделювання UML

При створенні складних інженерних систем прийнято використовувати прийоми моделювання. Складність більшості створюваних сьогодні програмних систем не поступається складності багатьом інженерним спорудженням, тому моделювання програмних систем є досить актуальним завданням. Більш того, у таких концепціях, як MDA (Model Driven Architecture - архітектура на основі моделей) і MDD (Model Driven Development - розробка на базі моделей), моделям приділяється центральна роль у процесі створення програмного продукту. Основною ідеєю цих концепцій є представлення процесу створення програмного продукту у вигляді ланцюжка трансформацій його вихідної моделі в готову програмну систему.

Майже у всіх інструментальних засобах, що втілює ідеї MDD, як мова моделювання використовується мова UML (Unified Modeling Language - уніфікована мова моделювання), цілком або які-небудь його частини.

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

Методики об’єктно-орієнтованого моделювання

Розвиток об’єктно-орієнтованих мов моделювання в 1980-х 1990-х роках призвів до появи великого числа об’єктно-орієнтованих підходів до моделювання. Зокрема, у період з1989 по 1994 роки загальна кількість відомих мов моделювання зросло з 10 до більш ніж 50.[3]. Кожна з мов мала свої достоїнства й недоліки також як і свою нотацію. Той самий символ у різних нотаціях найчастіше міг мати абсолютно різне значення.

Це ситуація суворої конкуренції між методиками моделювання дістала назву «війни методів».

«Війна методів» обумовила необхідність створення єдиної мови, що поєднувала би сильні сторін відомих методів. І в жовтні 1994 року почалося створення мови UML, основу якої склали кілька об'єктно-орієнтованих методів, що зарекомендували себе щонайкраще на практиці, але кожний з яких був націлений не рішення окремого завдання аналізу й проектування.

- метод Граді Буча, умовна назва BOOCH ( Booch'91, BooCH Lite, Booch'93) вважався найбільш ефективним на етапах проектування й розробки програмних систем [ 1].

- метод Джеймса Рамбо, Object Modeling Technique (ОМТ, ОМТ-2) – оптимально походив для аналізу процесів обробки даних в інформаційних системах [5]; (Rumbaugh, et al., 1991);

- метод Айвара Джекобсона (Ivar Jacobson), Object-Oriented Software Engineering (OOSE) – містив засоби представлення варіантів використання, що мають істотне значення на етапі аналізу вимог у процесі проектування бізнес-додатків [6]. [Jacobson, et al., 1993].

Спочатку Г. Буч і Д. Рамбо з компанії Rational Software Corporation почали роботу з уніфікації своїх методів. Незважаючи на те, що самі по собі ці методи були досить популярні, спільна робота їх була спрямована на вивчення всіх відомих об’єктно-орієнтованих методів з метою виявлення їхніх достоїнств. Восени того ж року до них приєднався Айвар Якобсон, головний технолог компанії Objectory AB,, до того, щоб інтегрувати свій метод OOSE із двома вищезгаданими. Протягом усього року творці займалися збором відкликань від основних компаній, що працюють в області створення ПО. За цей час стало ясно, що більшість таких компаній, що працюють в області створення , порахувала UML мовою, що має стратегічне значення для їхнього бізнесу.

У результаті був створений консорціум UML, у який увійшли організації, що виявили бажання надати ресурси для роботи, спрямованої на створення повної специфікації UML. Версія 1.0 мови з'явилася в результаті спільних зусиль компаній Digital Equipment Corporation, Hewlett Packard, I-Logix, Intellicprp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational, Texas Instruments _ Unisys. UML 1.0 виявився добре визначеною, виразною, потужною мовою, що може бути застосованою для рішення великої кількості різноманітних завдань.

На протязі декількох років спеціальна робоча група OMG (OMG Revision Task Force) підтримувала просування проекту UML. Були створені версії 1.3, 1.4, і 1.5. За 2000-2003 була розроблена версія UML 2.0.у листопаді 2007 випущена поточна версія UML2.1.2.

ЗАВДАННЯ UML

Мова UML призначена для рішення наступних завдань:

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

2. передбачити внутрішні механізми розширюваності й спеціалізації базових концепцій мови;

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

4. забезпечити формальну основу для однозначної інтерпретації мови;

5.стимулювати розширення ринку об’єктно-орієнтованих інструментальних засобів створення програмного забезпечення;

6. інтегрувати кращий практичний досвід використання мови й реалізації програмних засобів його підтримки.

У значній мірі мова UML не залежить від процесу розробки програмного забезпечення. Уніфікований процес розробки ПЗ (Rational Unified Process, RUP) [Kruchten, 2004] - це один з підходів до організації життєвого циклу ПЗ, який особливо добре сполучається з UML. Цей комерційний продукт задає строгий регламент розподілу завдань і відповідальності між виконавцями в процесі розробки ПЗ.

ЗАГАЛЬНА СТРУКТУРА МОВИ

Підсумую, UML ( Unified Modeling Language — уніфікована мова моделювання) — мова графічного опису для об'єктного моделювання в області розробки програмного забезпечення. UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, називаною UML моделлю. UML був створений для визначення, візуалізації, проектування й документування здебільшого програмних систем.

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

UML дозволяє розроблювачам ПЗ досягти угоди в графічних позначеннях для представлення загальних понять (таких як клас, компонент, узагальнення (generalization), об'єднання (aggregation) і поведінка) і більше сконцентруватися на проектуванні й архітектурі.

Семантика мови UML визначається для двох видів об'єктних моделей: структурних і поведінкових. Структурні (статичні) моделі описують структуру сутностей або компонентів системи, включаючи їхні класи, інтерфейси, атрибути й зв'язки. Моделі поводження (динамічні) описують поведінку або функціонування об'єктів системи, включаючи їхні методи, взаємодію (співробітництво) між ними, а також процес зміни станів окремих компонентів і системи в цілому

Формальний опис мови UML ґрунтується на наступній загальній ієрархічній структурі модельних подань, що складається із чотирьох рівнів абстракції:

- позначка-метамодель,

- метамодель,

- модель,

- об'єкти користувача.

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

Основою представлення UML на метамодельнім рівні є опис трьох його логічних блоків (пакетів):

- основні елементи,

- елементи поводження

- загальні механізми.

Концептуальна модель мови

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

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

В UML визначено чотири типи сутностей :

− структурні сутності,

що поділяються на основні

клас (Class), інтерфейс (Interface)

кооперація (Collaboration),

прецедент (Use case),

активний клас (Active class),

компонент (Component),

вузол (Node)

різновиди основних

актор (Actor),

сигнал (Signal),

утиліта (Utility, вид класів),

процес (Process),

нитка (Thread, вид активних класів))

інші

додатка (Application),

документ (Document),

файл (File), бібліотека (Library),

сторінка (Page),

таблиця (Table, вид компонентів));

сутності поводження (Behavioral things)

взаємодія (Interaction)

автомат (State machine);

− сутності, що групують, - пакет (Packages);

− анотаційні сутності – примітка (Note).

Основними типами відносин в UML є відносини:

залежності (Dependency),

асоціації(Association) (різновидом асоціації є

відношення агрегації (Aggregation)),

узагальнення(Generalization)

реалізації (Realization).

Існують також їхньої варіації, наприклад, уточнення, трасування, включення й розширення (для відносин залежності).

Для побудови коректно оформленої моделі в UML визначені правила, що дозволяють коректно й однозначно визначати:

(1) імена сутностей, відносин і діаграм,

(2) область дії імен (контекст, у якому ім'я має деяке значення),

(3) видимість імен (для використання іншими елементами),

(4) цілісність (правильність і погодженість співвідношення елементів),

(5) виконання моделі .

Ефективність і спрощення застосування мови забезпечується використанням певних угод, так званих, загальних механізмів:

- специфікацій (Specifications),

- доповнень (Adornments),

- прийнятих розподілів (Common divisions

- механізмів розширення (Extensibility mechanisms).

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

Практично всі будівельні блоки характеризуються дихотомією “клас/ об'єкт” і“інтерфейс / реалізація”. Це основні підходи розподілу реальності при об’єктно-орієнтованом моделюванні систем.

UML допускає контрольовані розширення для адаптації мови до конкретних потреб. Наявність внутрішніх механізмів розширення принципово відрізняє UML від таких засобів моделювання як IDEF0, IDEF1X, IDEF3, DFD і ERM [37], що є замкнутими й не допускають расширення засобами самої мови.

До механізмів розширення UML ставляться:

- стереотип (Stereotype), що розширює словник мови (дозволяє створювати з існуючих блоків нові, специфічні для конкретного розв'язуваного завдання);

- тег-значення (Tagged value), що розширює властивості будівельного блоку (дає можливість включати нову інформацію в специфікацію елемента);

-обмеження (Constraint), що розширює семантику будівельного блоку (дозволяє додавати нові або модифікувати існуючі правила за допомогою семантичних обмежень, заданих природною мовою або формальною мовою OCL). Деякі розширення придбали таку популярність, що були внесені в стандарт поточної версії UML [7, 21, 18].

Діаграми

У нотації UML всі представлення про моделі складної системи фіксуються у вигляді спеціальних графічних конструкцій, що одержали назву діаграм [16]. Діаграма в UML - це графічне подання набору елементів, зображуване, як правило, у вигляді зв'язного графа з вершинами (сутностями) і ребрами (відносинами). Теоретично діаграми можуть містити будь-які комбінації сутностей і відносин. Однак на практиці застосовується невелика кількість типових комбінацій.

В UML використовуються наступні види діаграм (для виключення неоднозначності приведу також позначення англійською мовою):

Structure Diagrams:

Class diagram

Component diagram

Composite structure diagram

Collaboration (UML2.0)

Deployment diagram

Object diagram

Package diagram

Behavior Diagrams:

Activity diagram

State Machine diagram

Use case diagram

Interaction Diagrams:

Communication diagram (UML2.0) / Collaboration (UML1.x)

Interaction overview diagram (UML2.0)

Sequence diagram

Timing diagram (UML2.0)

Структурні діаграми:

Класів

Компонентів

Композитної/складеної структури

Кооперації (UML2.0)

Розгортання

Об'єктів

Пакетів

Діаграми поводження:

Діяльності

Станів

Варіантів використання

Діаграми взаємодії:

Комунікації (UML2.0) / Кооперації (UML1.x)

Огляду взаємодії (UML2.0)

Послідовності

Синхронізації (UML2.0)

Діаграма класів (Class diagram) — статична структурна діаграма, що описує структуру системи, вона демонструє класи системи, їхні атрибути, методи й залежності між класами.

Діаграма компонентів (Component diagram) — статична структурна діаграма, показує розбивку програмної системи на структурні компоненти й зв'язки (залежності) між компонентами. Як фізичні компоненти можуть виступати файли, бібліотеки, модулі, що виконуються файли, пакети й т.п. 

Діаграма композитної/складеної структури (Composite structure diagram) — статична структурна діаграма, демонструє внутрішню структуру класів і, по можливості, взаємодію елементів (частин) внутрішньої структури класу.

Підвидом діаграм композитної структури є діаграми кооперації (Collaboration diagram, уведені в UML 2.0), які показують ролі й взаємодія класів у рамках кооперації. Кооперації зручні при моделюванні шаблонов проектування.

Діаграми композитної структури можуть використовуватися разом з діаграмами класів.

Діаграма розгортання (Deployment diagram) — служить для моделювання працюючих вузлів (апаратних засобів, node) і артефактів, розгорнутих на них. В UML 2.0 на вузлах розвертаються артефакти (англ. artifact), у той час як в UML 1.0 на вузлах розверталися компоненти. Між артефактом і логічним елементом (компонентом), що він реалізує, установлюється залежність маніфестації.

Діаграма об'єктів (Object diagram) — демонструє повний або частковий знімок моделируємої системи в заданий момент часу. На діаграмі об'єктів відображаються екземпляри класів (об'єкти) системи із вказівкою поточних значень їхніх атрибутів і зв'язків між об'єктами.

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

Діаграма діяльності (Activity diagram) — діаграма, на якій показане розкладання деякої діяльності на її складові частини. Під діяльністю (activity) розуміється специфікація поводження, що виконується, у вигляді координованого послідовного й паралельного виконання підлеглих елементів - вкладених видів діяльності й окремих дій ( action), з'єднаних між собою потоками, які йдуть від виходів одного вузла до входів іншого.

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

Аналогом діаграм діяльності є схеми алгоритмів.

Діаграма автомата (State Machine diagram) (діаграма кінцевого автомата, діаграма станів) — діаграма, на якій представлений кінцевий автомат із простими станами, переходами й композитними станами.

Кінцевий автомат (State machine) — специфікація послідовності станів, через які проходить об'єкт або взаємодія у відповідь на події свого життя, а також відповідні дії об'єкта на ці події. Кінцевий автомат прикріплений до вихідного елемента (класу, кооперації або методу) і служить для визначення поведінки його екземплярів.[40]

Діаграма прецедентів (Use case diagram) (діаграма варіантів використання) — діаграма, на якій відбиті відносини, що існують між акторами і прецедентами.

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

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

Діаграма комунікації (Communication diagram) (в UML 1.x — діаграма кооперації, collaboration diagram) — діаграма, на якій зображуються взаємодії між частинами композитної структури або ролями кооперації. На відміну від діаграми послідовності, на діаграмі комунікації явно вказуються відносини між елементами (об'єктами), а час як окремий вимір не використовується (застосовуються порядкові номери викликів).

Діаграма послідовності (Sequence diagram) — діаграма, на якій зображене впорядковане в часі взаємодія об'єктів. Зокрема, на ній зображуються об'єкти, що беруть участь у взаємодії, і послідовність повідомлень, якими вони обмінюються.

Діаграма огляду взаємодії (Interaction overview diagram) — різновид діаграми діяльності, що включає фрагменти діаграми послідовності й конструкції потоку керування.

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


Лабораторне заняття № 9

Методи штучного інтелекту

Штучний інтелект» (англ. Artificial intelligence, AI) — розділ комп'ютерної лінгвістики та інформатики, що займається формалізацією проблем та завдань, які нагадують завдання, виконувані людиною. При цьому, у більшості випадків алгоритм розв'язання завдання невідомий наперед. Точного визначення цієї науки немає, оскільки у філософії не розв'язане питання про природу і статус людського інтелекту. Немає і точного критерію досягнення комп'ютером «розумності», хоча перед штучним інтелектом було запропоновано низку гіпотез, наприклад, Тест Тюринга або гіпотеза Ньюела-Саймона. Нині існує багато підходів як до розуміння задач ШІ, так і до створення інтелектуальних систем.

Одна з класифікацій виділяє два підходи до розробки ШІ:

  •  нисхідний, семіотичний — створення символьних систем, моделюючих високорівневі психічні процеси: мислення, судження, мова, емоції, творчість і т. д.;
  •  висхідний, біологічний — вивчення нейронних мереж і еволюційні обчислення, моделюючі інтелектуальну поведінку на основі менших «не інтелектуальних» елементів.

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

Штучний інтелект — дуже молода область досліджень, започаткована 1956 року. Її історичний шлях нагадує синусоїду, кожен «зліт» якої ініціювався деякою новою ідеєю. На сьогодні її розвиток перебуває на «спаді», поступаючись застосуванню уже досягнутих результатів в інших областях науки, промисловості, бізнесі та навіть повсякденному житті.

Підходи до розуміння проблеми

Єдиної відповіді на питання чим займається штучний інтелект (ШІ), не існує. Майже кожен автор, котрий пише книгу про ШІ, відштовхується від якогось визначення, розглядаючи в його світлі досягнення цієї науки. Зазвичай ці визначення зводяться до наступних:

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

— ШІ вивчає методи розв'язання задач, для яких не існує способів розв'язання або вони не коректні (через обмеження в часі, пам'яті тощо). Завдяки такому визначенню інтелектуальні алгоритми часто використовуються для розв'язання NP-повних задач, наприклад, задачі комівояжера.

— ШІ займається моделюванням людської вищої нервової діяльності.

— ШІ — це системи, які можуть оперувати з знаннями, а найголовніше — навчатися. В першу чергу мова ведеться про те, щоби визнати клас експертних систем (назва походить від того, що вони спроможні замінити «на посту» людей-експертів) інтелектуальними системами.

— Останній підхід, що почав розвиватися з 1990-х років, називається агентно-орієнтованим підходом. Даний підхід акцентує увагу на тих методах і алгоритмах, які допоможуть інтелектуальному агенту виживати в навколишньому середовищі під час виконання свого завдання. Тому тут значно краще вивчаються алгоритми пошуку і прийняття рішення.

Непопулярні підходи

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

Письменники-фантасти часто пропонують ще один підхід: ШІ виникає тоді, коли машина буде відчувати і творити. Так, наприклад, хазяїн Ендрю Мартіна з «Двохсотлітньої людини» починає ставитись до нього як до людини тоді, коли цей створив іграшку за власним проектом. А. Дейта з Зоряного шляху, будучи спроможним до комунікацій та навчання, мріє отримати емоції та інтуїцію.

 Підходи до вивчення

Існують різні підходи до створення систем ШІ. На даний момент можна виділити 4 досить різних підходи:

1. Логічний підхід. Основою для вивчення логічного підходу слугує алгебра логіки. Кожен програміст знайомий з нею з тих пір, коли він вивчав оператор IF. Свого подальшого розвитку алгебра логіки отримала у вигляді числення предикатів — в якому вона розширена за рахунок введення предметних символів, відношень між ними. Крім цього, кожна така машина має блок генерації цілі, і система виводу намагається довести дану ціль як теорему. Якщо ціль досягнута, то послідовність використаних правил дозволить отримати ланцюжок дій, необхідних для реалізації поставленої цілі (таку систему ще називають експертною системою). Потужність такої системи визначається можливостями генератора цілей і машинного доведення теорем. Для того щоб досягти кращої виразності логічний підхід використовує новий напрям, його назва — нечітка логіка. Головною відмінністю цього напряму є те, що істинність вислову може приймати окрім значень так/ні (1/0) ще й проміжне значення — не знаю (0.5), пацієнт швидше за все живий, ніж мертвий (0.75), пацієнт швидше за все мертвий, ніж живий (0.25). Такий підхід подібніший до мислення людини, оскільки вона рідко відповідає так або ні.

2. Під структурним підходом ми розуміємо спроби побудови ШІ шляхом моделювання структури людського мозку. Однією з перших таких спроб був перцептрон Френка Розенблатта. Головною моделюючою структурною одиницею в перцептронах (як і в більшості інших варіантах моделювання мозку) є нейрон. Пізніше виникли й інші моделі, відоміші під назвою нейронні мережі (НМ) і їхні реалізації — нейрокомп’ютери. Ці моделі відрізняються за будовою окремих нейронів, за топологією зв'язків між ними і алгоритмами навчання. Серед найвідоміших на даний час варіантів НМ можна назвати НМ зі зворотнім розповсюдженням помилки, сітки Кохонена, сітки Хопфілда, стохастичні нейрони сітки. У ширшому розумінні цей підхід відомий як Конективізм. Відмінності між логічним та структурним підходом не стільки принципові, як це здається на перший погляд. Алгоритми спрощення і вербалізації нейронних мереж перетворюють моделі структурного підходу в явні логічні моделі.[1] З іншої сторони, ще в 1943 році Маккалок і Піттс показали, що нейронна сітка може реалізувати будь-яку функцію алгебри логіки[2].

3. Еволюційний підхід. Під час побудови системи ШІ за даним методом основну увагу зосереджують на побудові початкової моделі, і правилам, за якими вона може змінюватися (еволюціонувати). Причому модель може бути створена за найрізноманітнішими методами, це може бути і НМ, і набір логічних правил, і будь-яка інша модель. Після цього ми вмикаємо комп'ютер і він, на основі перевірки моделей відбирає найкращі з них, і за цими моделями за найрізноманітнішими правилами генеруються нові моделі. Серед еволюційних алгоритмів класичним вважається генетичний алгоритм.

4. Імітаційний підхід. Цей підхід є класичним для кібернетики з одним із її базових понять чорний ящик. Об'єкт, поведінка якого імітується, якраз і являє собою «чорний ящик». Для нас не важливо, які моделі в нього всередині і як він функціонує, головне, щоби наша модель в аналогічних ситуаціях поводила себе без змін. Таким чином тут моделюється інша властивість людини — здатність копіювати те, що роблять інші, без поділу на елементарні операції і формального опису дій. Часто ця властивість економить багато часу об'єктові, особливо на початку його життя.

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

Напрямки досліджень

Аналізуючи історію ШІ, можна виділити такий обширний напрям як моделювання міркувань. Багато років розвиток цієї науки просувався саме цим шляхом, і зараз це одна з найрозвиненіших областей в сучасному ШІ. Моделювання міркувань має на увазі створення символьних систем, на вході яких поставлена деяка задача, а на виході очікується її розв'язок. Як правило, запропонована задача уже формалізована, тобто переведена в математичну форму, але або не має алгоритму розв'язання, або цей алгоритм за складний, трудомісткий і т. д. В цей напрям входять: доведення теорем, прийняття рішень і [теорія ігор], планування і диспетчеризація, прогнозування.

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

Великі і цікаві досягнення є в області моделювання біологічних систем. Сюди можна віднести кілька незалежних напрямків. Нейронні мережі використовуються для розв'язання нечітких і складних проблем, таких як розпізнавання геометричних фігур чи кластеризація об'єктів. Генетичний підхід заснований на ідеї, що деякий алгоритм може стати ефективнішим, якщо відбере кращі характеристики у інших алгоритмів («батьків»). Відносно новий підхід, де ставиться задача створення автономної програми — агента, котрий співпрацює з навколишнім середовищем, називається агентний підхід. А якщо належним чином примусити велику кількість «не дуже інтелектуальних» агентів співпрацювати разом, то можна отримати «мурашиний» інтелект.

Задачі розпізнавання об'єктів вже частково розв'язуються в рамках інших напрямків. Сюди відносяться розпізнавання символів, рукописного тексту, мови, аналіз текстів. Особливо слід згадати комп’ютерне бачення, яке пов'язане з машинним навчанням та робототехнікою.

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

Окремо тримається машинна творчість (англ. Computational creativity), в зв'язку з тим, що природа людської творчості ще менше вивчена, ніж природа інтелекту. Тим не менше, ця область існує, і тут стоять проблеми написання комп'ютером музики, літературних творів (часто — віршів та казок), художнє мистецтво.

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

Не важко бачити, що більшість областей дослідження перетинаються. Це властиво для будь-якої науки. Але в штучному інтелекті взаємозв'язок між, задавалось би, різними напрямами виражений дуже сильно, і це пов'язано з філософським спором про сильний і слабкий ШІ.

Моделі мозку

Теоретичні положення

Кінцевою метою досліджень з питань «штучного інтелекту» є розкриття таємниць мислення та створення моделі мозку. Принципова можливість моделювання інтелектуальних процесів випливає з основного гносеологічного результату кібернетики, який полягає у тому, що будь-яку функцію мозку, будь-яку розумову діяльність, описану мовою з суворо однозначною семантикою за допомогою скінченного числа слів, в принципі можна передати електронній цифровій обчислювальній машині (ЕЦОМ). Сучасні ж наукові уявлення про природу мозку дають підстави вважати, що принаймні в суто інформаційному аспекті найістотніші закономірності мозку визначаються скінченною (хоч, може, й надзвичайно великою) системою правил.

Практична реалізація

Штучний інтелект — технічна (в усіх сучасних випадках спроб практичної реалізаціїї — комп'ютерна) система, що має певні ознаки інтелекту, тобто здатна:

  •  розпізнавати та розуміти;
  •  знаходити спосіб досягнення результату та приймати рішення;
  •  вчитися.

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

Проблематика моделювання

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

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

Історія і сучасний стан

На початку XVII століття Рене Декарт зробив припущення, що тварина — деякий складний механізм, тим самим сформулювавши механічну теорію. В 1623 р. Вільгельм Шикард (нім. Wilhelm Schickard) побудував першу механічну цифрову вичислювальну машину, за якою послідували машини Блеза Паскаля (1643) і Лейбніца (1671). Лейбніц також був першим, хто описав сучасну двійкову систему числення, хоча до нього цією системою періодично захоплювались різні великі вчені[3][4]. В ХІХ столітті Чарльз Беббідж і Ада Лавлейс працювали над програмованою механічною обчислювальною машиною.

В 1910—1913 рр. Бертран Рассел і А. Н. Уайтхед опублікували працю «Принципи математики», яка здійснила революцію в формальній логіці. В 1941 р. Конрад Цузе побудував перший працюючий програмно-контрольований комп'ютер. Воррен Маккалок і Вальтер Піттс в 1943 р. опублікували A Logical Calculus of the Ideas Immanent in Nervous Activity, поклавши основи нейронних мереж.

 

ASIMO — Інтелектуальний гуманоїдний робот від Honda, використовує сенсори та спеціальні алгоритми для уникнення перешкод та ходіння сходами.

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

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

Деякі з найбільш вражаючих систем ШІ:

  •  Deep Blue — переміг чемпіона світу з шахів. Матч Каспаров проти суперЕОМ не приніс задоволення ні комп'ютерщикам, ні гравцям і система не була визнана Каспаровим, хоча оригінальні компактні шахові програми — невід'ємний елемент шахової творчості. Згодом лінія суперкомп'ютерів IBM проявилась у проектах brute force BluGene (молекулярне моделювання) і моделювання системи пірамідальних клітин в швейцарському центрі — проект Blue Brain[2]. Дана історія — приклад заплутаних і засекречених відносин ШІ, бізнесу і національних стратегічних задач.
  •  Mycin — одна з ранніх експертних систем, яка могла діагностувати невеликий набір захворювань, причому, часто так само точно, як і лікарі.
  •  Штучний інтелект, який аналізує питання і підбирає людину для відповіді на нього Тахуті.
  •  20q — проект, в основі якого лежать ідеї ШІ, за мотивами класичної гри «Двадцять питань». Став дуже популярним після появи в інтернеті на сайті 20q.net.
  •  Розпізнання голосового тексту. Системи такі як ViaVoice здібні обслуговувати користувачів.
  •  Роботи в щорічному турнірі RoboCup змагаються в спрощеній формі футболу.

Застосування і перспективи розвитку

Застосування ШІ

Банки застосовують системи штучного інтелекту (СШІ) в страховій діяльності (актуарна математика) при грі на біржі і управлінні власністю. В Серпні 2001 року роботи виграли в людей у імпровізованому змаганні з трейдингу BBC News, 2001). Методи розпізнавання образів, (включаючи, як складніші й спеціалізованіші, так і нейронні сітки) широко використовують при оптичному і акустичному розпізнаванні (в тому числі тексту і голосу), медицинській діагностиці, спам-фільтрах, в системах ППО (визначення цілей), а також для забезпечення ряду інших задач національної безпеки.

Розробники комп'ютерних ігор вимушені застосовувати ШІ тої чи іншої міри пропрацьованості. Стандартними задачами ШІ в іграх є відшукання шляху в двовимірному або тривимірному просторі, імітація поведінки бойової одиниці, обрахунок вірної економічної стратегії і так далі.

Перспективи ШІ

Проглядаються два напрямки розвитку ШІ:

  •  перший полягає у вирішенні проблем, пов'язаних з наближенням спеціалізованих систем ШІ до можливостей людини і їх інтеграції, яка реалізована природою людини.
  •  другий полягає у створенні Штучного Розуму, який представляє інтеграцію уже створених систем ШІ в єдину систему, здібну вирішувати проблеми людства.

Зв'язок з іншими науками

Штучний інтелект тісно пов'язаний із трансгуманізмом. А разом із нейрофізіологією і когнітивною психологією він утворює загальнішу науку, яку називають когнітологія. Окрему роль в штучному інтелекті відіграє філософія.

Філософські питання

Наука «про створення штучного розуму» не могла не привернути уваги філософів. З появою перших інтелектуальних систем були зачеплені фундаментальні питання про людину і знання, а інколи і влаштування світу. З одної сторони, вони нерозривно пов'язані з цією наукою, а з іншої — вносять в неї деякий хаос. Серед дослідників ШІ до цих пір не існує якої-небудь домінуючої точки зору на критерії інтелектуальності, систематизацію вирішуваних цілей і задач, нема навіть строгого визначення науки.

Чи може машина мислити?

Найгарячіші суперечки у філософії штучного інтелекту викликає питання можливості мислення творення людських рук. Питання «Чи може машина мислити?», яке підштовхнуло дослідників до створення науки про моделювання людського розуму, був поставлений Аланом Тьюрінгом у 1950 р. Дві основних точки зору на це питання носять назви гіпотез сильного і слабкого штучного інтелекту.

Термін «Сильний штучний інтелект» ввів Джон Сьорль, його ж словами підхід і характеризується:

Більше того, така програма буде не тільки моделлю розуму; вона в буквальному розумінні слова сама і буде розумом, в тому ж розумінні, в якому людський розум — це розум..[5]

З іншого боку, прихильники слабкого ШІ надають перевагу розгляду програми лише як інструмент, який дозволяє вирішувати ті чи інші задачі, які не потребують повного спектру людських пізнавальних здібностей.

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

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

Аналогічну позицію займає і Роджер Пенроуз, який в своїй книзі «Новий розум короля» аргументує неможливість отримання процесу мислення на основі формальних систем[6].

Що вважати інтелектом?

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

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

 Наука про знання також, з проблемами штучного інтелекту тісно пов'язана епістемологія — наука про знання в рамках філософії. Філософи, які займаються даною проблематикою, вирішують питання, подібні до тих, які вирішуються інженерами ШІ про те, як краще представити і використати знання і інформацію.

Етичні проблеми створення штучного розуму

Відношення до ШІ в суспільстві

ШІ і релігія

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

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

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

На думку багатьох буддистів ШІ можливий. Так, духовний лідер далай-лама XIV не виключає можливості існування свідомості на комп'ютерній основі[7].

Раэлиты активно підтримують розробки в області штучного інтелекту.

ШІ і наукова фантастика

В науково-фантастичній літературі ШІ частіше всього показуються як сила, яка намагається скинути владу людини (Омніус, HAL 9000, Скайнет, Colossus , Матриця і реплікант) або обслуговуючий гуманоїд (C-3PO, Data, KITT и KARR, Двохсотрічна людина). Неминучість домінування над світом ШІ, який вийшов з-під контролю, заперечується такими фантастами як Айзек Азимов і Кевін Ворвік.

Цікаве бачення майбутнього представлено в романі «Вибір по Тюрингу» письменника-фантаста Гаррі Гаррісона і вченого Марвіна Мінскі[8]. Автори розмірковують на тему втрати людяності в людини, в мозок якої була вживлена ЕОМ, і набуття людяності машиною з ШІ, в пам'ять якої була скопійована інформація із головного мозку людини.

Деякі наукові фантасти, наприклад Вернор Віндж, також міркували над наслідками появи ШІ, яке спричинить різкі драматичні зміни в суспільстві. Такий період називають технологічною сингулярністю.

Одним із найвидатніших досліджень проблематики ШІ фактично є вся творчість видатного фантаста і філософа ХХ століття Станіслава Лема.


 

А также другие работы, которые могут Вас заинтересовать

14181. Особенности, формы и предпосылки развития государственного предпринимательства Таймырский округ 522.5 KB
  Особенности развития предпринимательской деятельности Администрации муниципального образования (на примере Таймырского Долгано-Ненецкого муниципального района). Анализ предпринимательской деятельности Администрации Таймырского Долгано-Ненецкого муниципального района
14182. Оценка предпринимательских рисков и методы их снижения на примере ООО «ТД «Евронорд» 460 KB
  Оценка предпринимательских рисков и методы их снижения на примере ООО ТД Евронорд Содержание Введение 1 Институциальные аспекты управления риском 1.1 Сущность содержание и виды рисков 1.2 Приемы и методы управления риском 1.3 Процесс управления рисками на п...
14183. Предоставление земельного участка для строительства в населенных пунктах 279.5 KB
  Оглавление [1] Введение [2] Глава 1. Теоретические и правовые основы регулирования отношений по предоставлению земельного участка в аренду [2.1] 1. Общая характеристика объекта земельных правоотношений по предоставлению земельных у
14184. Принципы гражданского процессуального права 399.5 KB
  Объектом исследования выступают принципы гражданско-процессуального права. Предметом работы выступают нормы гражданско-процессуального законодательства. Цель работы выступает анализ принципов гражданско-процессуального права
14185. Пути и методы снижения рисков в предпринимательской деятельности на примере транспортного предприятия 957 KB
  Реферат Объём пояснительной записки 104 стр. рис.30 табл.34 источников 42. Тема: Пути и методы снижения рисков в предпринимательской деятельности на примере ТПЧУП СифудСеврис Ключевые слова: риск управление рисками минимизация рисков финан
14186. Пути повышения экономической эффективности производства овощеводческой продукции в СПК «Тепличный» 377.5 KB
  66 Дипломная работа Пути повышения экономической эффективности производства овощеводческой продукции в СПК Тепличный г. Волгограда Содержание Введение 1.Теоретические основы повышения эффективности производства овощеводческой продукции ...
14187. Развитие малого и среднего бизнеса Ямало-Ненецком автономном округе на 2008 – 2010 192.5 KB
  СОДЕРЖАНИЕ Введение Глава 1. Деятельность органов государственной власти и местного самоуправления по поддержке малого и среднего предпринимательства на территории ЯмалоНенецкого автономного округа 1.1 Система поддержки и регулиро
14188. Разработка рекламного буклета книжного издательства Удмуртия 201 KB
  ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА на тему: Разработка рекламного буклета издательства Удмуртия содержание введение БУКЛЕТ КАК ВИД РЕКЛАМНОГО ИЗДАНИЯ 1.1 Виды печатных рекламных изданий 1.2 Редакторская подготовка рекламных буклетов 1.3 Художественнот
14189. Совершенствование организации поддержки и развития малого предпринимательства Володарский район 585.5 KB
  Дипломная работа на тему: Совершенствование организации поддержки и развития малого предпринимательства в муниципальном районе на примере Володарского муниципального района РЕФЕРАТ Дипломная работа Совершенствование организации поддержки и развития малог