Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Навчально-методичний посібник до виконання лабораторних робіт з дисципліни «Основи проектування баз знань»

Навчально-методичний посібник до виконання лабораторних робіт з дисципліни «Основи проектування баз знань»




Сторінка2/4
Дата конвертації03.06.2017
Розмір0.96 Mb.
ТипНавчально-методичний посібник
1   2   3   4
§1. ОСНОВНІ МОДЕЛІ ПРЕДСТАВЛЕННЯ ЗНАНЬ В
ІНТЕЛЕКТУАЛЬНИХ СИСТЕМАХ

1.1. Дані та знання

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

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

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

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

µ § ЁC данні як результат вимірювань та спостережень.

µ § ЁC данні на матеріальних носіях інформації (таблиці, протоколи, довідники).

µ § ЁC моделі (структури) даних у вигляді діаграм, графіків, функцій.

µ § ЁC данні в комп’ютері на мові опису даних.

µ § ЁC бази даних на комп’ютеризованих (електронних) носіях інформації.

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

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

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

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

В даний час у штучному інтелекті не існує строго формалізованого визначення поняття «знання». Більшість фахівців, розробників інтелектуальних систем використовують таке визначення: знання ЎЄ це добре структурована інформація, що зберігається в системі і містить усі відомості про предметну область та правила виводу, що необхідні для розв’язку безлічі завдань інтелектуальної системи.

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

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

µ § ЁC знання в пам’яті людини як результат мислення.

µ § ЁC знання на матеріальних носіях інформації (довідники, підручники та ін.).

µ § ЁC поле знань ЁC умовний опис основних об’єктів предметної області, їх атрибутів та закономірностей, що їх пов’язують.

µ § ЁC формалізовані знання, що описані на специфічній мові представлення знань (продукційні моделі, семантичні мережі, фрейми, логічні моделі та ін.).

µ § ЁC бази знань, як елемент прикладної інтелектуальної системи на комп’ютеризованих (електронних) носіях інформації.

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

Логічна модель представлення знань - модель у представленні знань.

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

Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.

С точки зору використання знань для розв’язку прикладних задач, то їх можна розділити на дві категорії: точні знання та евристики.

Аспект (лат. aspectus - вигляд, погляд) - поняття філософії (онтології, теорії пізнання). У філософії аспект розглядається

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

Розглянемо особливості знань, що відрізняють їх від даних. Ці особливості включають такі властивості.

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

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

3) Зв’язаність. У БЗ між інформаційними одиницями встановлюються зв'язки різного типу, що характеризують відносини між об'єктами, явищами і т.п. Наприклад, зв'язки типу «причина ЎЄ наслідок», «бути справедливим для», «сприяти» і т.п. Зв'язки дозволяють будувати процедури аналізу знань на сумісність, несуперечність і т.п., що важко реалізувати при збереженні традиційних масивів даних.

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

Відокремлюють три типи знань у інтелектуальних системах:

фактуальні (декларативні) знання (понятійна чи об'єктна модель предметної області). Одиниця знань ЎЄ факт (без явної вказівки, як і коли цей факт використовується).

процедурні знання ЎЄ функціональна модель предметної області. Одиниця знань ЎЄ правило (дає спосіб обробки знань).

керуючі знання ЎЄ стратегія виводу, порядок застосування правил (процедури логічного виводу).

1.2. Моделі представлення знань

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

Представлення знань ЎЄ це безліч синтаксичних і семантичних угод, що роблять можливим формальне вираження знань про ПО в інтерпретований формі. Найбільш розповсюдженими є моделі представлення знань, що відображені на рис.1.1.
µ §
Рис.1.1. Моделі представлення знань.
Оскільки логічні моделі складають основу учбових курсів з математичної логіки і виходять за межи даного посібника, то далі будемо розглядати тільки евристичні моделі представлення знань.
1.3. Продукційні системи представлення знань
Продукційна система, або система правил продукцій ЁC деяка узгоджена безліч окремих продукцій вигляду:
µ §
де µ § - ім’я продукції; µ § - сфера застосування продукції; µ § - умова застосування ядра продукції; µ § - ядро продукції, у якому µ § - умова ядра (антецедент), µ § - заключення ядра (консеквент); µ § - знак логічної секвенції (“ЯКЩО µ § ТО µ §”); µ §- після умова продукції.

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

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

Ядро продукції µ § ЁC центральний компонент продукції. Як правило, ядро продукції має вигляд речення-правила “ЯКЩО µ § ТО µ §”, де µ §, µ § - деякі логічні вирази. Знак логічної секвенції має зміст логічного випливання µ § із істинного µ §. Якщо µ § не істинно, то про істинність µ § не можна зробити ніяких висновків. У базах знань інтелектуальних систем умова ядра µ § виступає також як деяке речення-зразок, логічний вираз, за яким здійснюється пошук у базі знань. Заключення ядра µ § виступає як дія, процедура, яка виконується при успішному завершенні пошуку.

Після умова продукції µ § містить опис процедур, які необхідно виконати у разі реалізації ядра продукції (тобто при істинності µ §). В нечітких продукційних системах представлення знань кожне з правил продукцій може додатково мати параметризовану кількісну оцінку ступеня істиності правила, яка формально знаходиться в µ §. Приклади побудови нечітких продукційних систем будемо розглядати далі у наступних розділах за допомогою пакету програм Fuzzy Logic Toolbox середовища MATLAB.
1.4. Семантичні мережі
Семантична мережа ЁC це орієнтований граф, вершини якого ЁC поняття, а дуги ЁC відносини між ними.

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

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

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

Аналітична модель (англ. analytical model) - один з класів математичного моделювання.

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

Часто АМ і СМ розглядаються як синоніми. Термін “семантична” означає “змістовна”, а семантика ЁC наука, яка встановлює відносини між символами та об’єктами, які вони позначують. Тобто наука, яка визначає зміст символів. Поняття - це абстрактні або конкретні об’єкти, а відносини ЁC це зв’язки типу: “це”(“is”, “a kind of”), “має частину” (“has part”), “належить”, “полюбляє”, та ін. Характерна особливість семантичних мереж ЁC обов’язкова присутність трьох типів відносин:

клас ЁC екземпляр класу (автомобіль - BMW);

властивість ЁC значення (кузов - універсал);

зразок екземпляру класу (BMW ЁC модель X5).

Найбільш поширені в семантичних мережах типи відносин:

зв’язки типу “частина-ціле” (“клас-підклас”, “елемент-множина”, та ін.);

функціональні зв’язки (визначаються, як правило, за допомогою дієслів “впливає”, “успадковує”, та ін.);

кількісні зв’язки (більш, менш, дорівнює, та ін.);

зв’язки у просторі (далеко від, близько від, поза, над, та ін.);

зв’язки за часом (на протязі, раніше, пізніше, та ін.);

зв’язки за атрибутами (має властивість, має значення, та ін.);

логічні зв’язки (АБО, ТА, НЕ, та ін.);

лінгвістичні зв’язки (за правилами граматик, та ін.).

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


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

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

Термін фрейм (каркас, рамка) був запропонований у 1973р. М Мінським для мінімального опису явищ, понять, об'єктів. Відповідно до його визначення фрейми ЁC це структури даних (знань), використовувані для представлення стереотипних ситуацій. У психології та філософії відоме поняття абстрактного образа чи прототипу. Наприклад, при проголошенні вголос слова «кімната» виникає її абстрактний образ (рамка чи фрейм), що включає житлове приміщення з чотирма стінами, підлогою, стелею, вікнами і дверима, площею від (приблизно) 6 до 20 кв.м.

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

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

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

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

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

Кожен слот має визначену структуру даних, що включає:

Ім'я слота. Це ідентифікатор, що привласнюється слоту. Він унікальний у межах даного фрейму.


Ім'я фрейму

Ім'я слотаІм'я атрибута слотаЗначення (атрибута ) слота (приєднана процедура)ДемонСлот 1Слот 2µ §

µ §Слот n

Рис.1.2 Структура фрейму


Ім'я атрибута слота ЁC ідентифікатор атрибута слота.

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

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

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

Демон. Демоном називається процедура, яка автоматично запускається при виконанні деякої умови. Наприклад, демон IF-NEEDED запускається, якщо в момент звертання до слоту його значення не було встановлено. Демон IF-ADDED запускається при підстановці в слот значення, демон IF-REMOVED ЁC при стиранні значення слота. У результаті виконуються всі рутинні операції, що забезпечують підтримку бази знань в актуальному стані.

Завдяки слотам-посиланням (“a kind of”, “is a”, та ін) фреймові системи утворять ієрархічні структури, що реалізують принцип спадкування інформації. Спадкування відбувається в напрямку «суперклас-підклас», «клас-екземпляр класу». Фрейм, у якому заповнені всі значення слотів, називається фреймом - екземпляром. Існують ще зразки чи фрейми-прототипи. Вони являють собою оболонку, у якій зазначені тільки імена слотів. Інкапсульовані в слоти чи приєднані процедури є важливою особливістю фреймових мереж, що істотно відрізняють їх від мереж семантичних. Ці процедури додають фреймовій системі можливість керування виводом, таким же способом, як це робиться на основі використання об’єктно-орієнтованих мов.


§2. ПРОЕКТУВАННЯ СИСТЕМ НЕЧІТКОГО ВИВОДУ НА ОСНОВІ АЛГОРИТМУ МАМДАНІ
Мета роботи: освоїти методику проектування системи нечіткого виводу на основі розробки та використання баз знань продукційних правил з використанням алгоритму Мамдані.

Продукційні правила (англ. Production rules) чи правила-продукції - це форма представлення знань людини у вигляді речення типу ЯКЩО (умова), ТО (дія). Правила забезпечують формальний спосіб представлення рекомендацій, вказівок або стратегій.


2.1. Основні поняття

Знання можна формалізувати у вигляді системи нечітких логічних висловлювань. Кожне висловлювання можна оцінити нечітким ступенем істинності. Наприклад, висловлювання «швидкість машини висока» може бути істинне на 80%, а висловлювання «завтра буде морозна погода» - на 100%. Кожне таке висловлювання можна описати за допомогою відношень множин лінгвістичних нечітких змінних.

Лінгвістична змінна ЁC це кортеж наступних значень µ §, де

µ § - ім’я змінної (наприклад, «швидкість автомобіля»);

T ЁC базова множина значень її термів ЁC значень, кожне з яких надається за допомогою нечіткої множини (наприклад, «мала», «середня», «висока», «дуже висока»);

X ЁC множина ЁC носій можливих конкретних значень змінної для всіх термів (наприклад, µ § км/год.);

µ § - деяка синтетична процедура генерації нових термів з множини Т (наприклад, «дуже мала»);

М ЁC семантична процедура надання терму певної нечіткої змінної вигляду µ §, µ § - функція належності і-того терму з множини Т.

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

В системі MATLAB існує середовище для формування систем знань нечіткого виводу. Для входу в це середовище слід ввести в командному рядку слово fuzzy і натиснути клавішу .

Інтерфейс командного рядка (англ. command-line interface, CLI) - різновид текстового інтерфейсу користувача й комп'ютера, в якому інструкції комп'ютеру можна дати тільки введенням із клавіатури текстових рядків (команд).

Побудова системи нечіткого виводу (СНВ), яка основана на використанні алгоритму Мамдані, має наступні етапи:

Проектування бази правил СНВ. Кожне правило представляється у вигляді:


Якщо <умова> тоді <заключення> [міра вірності правила]
Для алгоритму Мамдані <умова> і <заключення> виглядають як логічні зв’язки наступних записів: <нечітка змінна> = < значення >

Введення цих правил в СНВ

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

3.1 Введення значень вхідних змінних. Тобто, деякий фактів, які вважаються істинні на 100%.

3.2 Фазифікація вхідних змінних ЁC встановлення відповідності між конкретним значенням вхідних змінних і значенням її терму, разом з функцією належності

3.3 Агрегування складних умов, які стоять в правилах після ключового слова ЯКЩО, тобто визначення степені істинності всіх умов в усіх правилах, якщо умови надаються за допомогою складних логічних виразів. Правило активується, якщо істинність його умови більша за нуль. В базах знань процедура агрегування умов в правилах виконується за допомогою нечітких логічних операцій ЁC нечіткої кон’юнкції, нечіткої діз’юнкції, нечіткої відмови, та ін.

Активація підзаключень ЁC процес визначення степені істинності (належності до відповідних термів) змінних, які стоять в заключеннях активних правил, за формулою: µ §, де µ § - степінь істинності заключення правила k, µ § - степінь істинності його умови, µ § - степінь істинності самого правила (ваговий коефіцієнт µ §-правила). Після визначення вектору µ § визначаються функції належності для кожного із підзаключень для кожної вихідної лінгвістичної змінної. Припустимо, що відповідний терм вихідної лінгвістичної змінної визначається функцією належності µ §. Тоді після процедури активації отримуємо поновлену функцію належності відповідного терму (підзаключення) µ § за одним із методів нечіткої композиції:
min ЁC активізація: µ §;

prod-активізація: µ §;

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

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


об’єднання: µ §;

алгебраїчне об’єднання: µ §;

граничне об’єднання: µ §;

операція µ § - суми: µ §, µ §.

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

2.2. Проектування та використання системи нечіткого виводу


Завдання 1. За допомогою СНВ зобразити поверхню функції µ § на множині µ §.

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


%Побудова графіка функції y=(x1^2-8)*cos(x2)

%в області x1є[0,4] и x2є[0,4].

n=15;

x1=0:4/(n-1):4;



x2=0:4/(n-1):4;

y=zeros(n,n);

for j=1:n

y(j,:)=(x1.^2-8)*cos(x2(j));

end

surf(x1,x2,y)



xlabel('x1')

ylabel('x2')

zlabel('y')

title('Target');

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

Проектування СНВ складається з наступних кроків.

Крок 1. Завантажити основний fis-редактор в (редактор нечіткого виводу) введенням в командному рядку слова fuzzy. Після чого з’явиться вікно редактору нечіткого виводу.

Крок 2. Ввести нову вхідну змінну. Для цього вибрати пункт Add Input в меню Edit.

Крок 3. Перейменувати першу вхідну змінну. Для цього слід зробити одне натиснення лівої кнопки миші на блоці Input1, ввести нове позначення х1 в поле редагування імені поточної змінної і натиснути .

Крок 4. Перейменувати другу вхідну змінну. Для цього зробити одне натиснення лівої кнопки миші на блоці input2, ввести нове позначення x2 в поле редагування імені поточної змінної і натиснути .

Крок 5. Перейменувати вихідну змінну. Для цього зробити одне натиснення лівої кнопки миші на блоці output1, ввести нове позначення y в поле редагування імені поточної змінної і натиснути .

Крок 6. Задати ім’я системі. Для цього в меню File вибрати в підменю Export to disk і ввести ім’я файлу, наприклад, first.


Рис 2.1. Зображення поверхні залежності


Крок 7. Перейти в редактор функцій належності. Для цього зробити швидко подвійне натиснення лівої кнопки миши на блоці x1.

Крок  8. Задати діапазон зміни змінної x1. Для цього надрукувати 0 4 в поле Range і натиснути .

Крок 9. Задати функції належності змінної x1. Для лінгвістичної оцінки цієї змінної будемо використовувати 3 терми з трикутними функціями належності. Якщо в вікні немає ще функцій належності, тоді в меню Edit слід вибрати команду Add MFs... В результаті з’явиться діалогове вікно вибору типу і кількості функцій належності.

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

За замовченням ці 3 терми мають трикутну функцію належності. Тому просто потрібно натиснути .

Крок 10. Задати  найменування термів змінної x1. Для цього робимо одне натиснення лівою кнопкою миші на графіку першої функції належності. (див. рис. 2.2). Потім вводимо найменування терму, наприклад, L (Низький), в полі Name і натискаємо . Потім робимо одне натиснення лівою кнопкою миші на графіку другої функції належності і вводимо найменування терму, наприклад, A (Середній), в полі Name і натискаємо . Ще раз робимо одне натиснення лівою кнопкою миші по графіку третьої функції належності і введемо найменування терму, наприклад, H (Високий), в полі Name і натискаємо . В результаті отримуємо графічне вікно, яке зображено на рис. 2.2.

Крок 11. Задамо функції належності змінної x2. Для лінгвістичної оцінки цієї змінної будемо використовувати 5 термів з гаусовськми функціями належності. Для цього активізуємо змінну x2 за допомогою натиснення лівої кнопки миші на блоці x2. Задамо діапазон змін x2. Для цього надрукуємо 0 4 в полі Range (див. рис. 2.3) і натиснемо . Потім в меню Edit виберемо команду Add MFs.... В діалоговому вікні, що зявиться, оберемо тип функції належності gaussmf в полі MF type і 5 термів в полі Number of MFs. Після чого натискаємо .

Крок 12. За аналогією з кроком 10 задамо наступні найменування термів змінної x2: L (Низький), LA (Нижче середнього), A (Середній), HA (Вище середнього), H (Високий). В результаті отримуємо графічне вікно, яке зображене на рис. 2.3.

Крок 13. Задамо функції належності змінної y. Для лінгвістичної оцінки цієї змінної будемо використовувати 5 термів з трикутними функціями належності. Для цього активуємо змінну y за допомогою натиснення лівої кнопки миші на блоці y. Задамо діапазон змін змінної y. Для цього надрукуємо -10 10 в полі Range (див. рис. 2.4) і натиснемо . Потім в меню Edit оберемо команду Add MFs.... В діалоговому вікні, що зявиться, виберемо 5 термів в полі Number of MFs. Після чого натискаємо .

Крок 14. За аналогією з кроком 10 задамо наступні найменування термів змінної y: L (Низький), LA (Нижче середнього) A (середній), HA (Вище середнього), H (Високий). В результаті отримуємо графічне вікно, яке представлене на рис. 2.4.

Крок  15. Перейдемо в редактор бази знань RuleEditor. Для цього оберемо в меню Edit команду Rules або в меню View команду Edit rules....

Крок  16.  На основі візуального спостереження за графиком, який зображений на рис. 2.

Візуалізація - унаочнення, створення умов для візуального спостереження.

1, сформуємо наступні десять правил:

Якщо x1=Низький і x2=Низький, тоді y=Низький;

Якщо x1=Низький і x2=Високий, тоді y=Середній;

Якщо x1=Низький і x2=Вище середнього, тоді y=Високий;

Якщо x1=Високий і x2=Низький, тоді y=Вище середнього;

Якщо x1=Високий і x2=Високий, тоді y=Низький;

Якщо x1=Середній і x2=Середній, тоді y=Середній;

Якщо x1=Середній і x2=Вище середнього, тоді y=Вище середнього;

Якщо x1=Низький і x2=Нижче середнього, тоді y=Нижче середнього;

Якщо x1=Середній і x2=Вище середнього, тоді y=Середній.

Рис. 2.2. Функція належності змінної µ §.


Рис 2.3. Функція належності змінної µ §


Рис. 2.4. Функції належності змінної у.


Рис. 2.5. Вікно правил

Для введення правила необхідно обрати в меню відповідну комбінацію термів і натиснути кнопку Add rule. На рис. 2.5 зображено вікно редактору бази знань після введення усіх 9 правил. Число в дужках в кінці кожного правила представляє собою вагові коефіцієнти відповідного правила. Потрібно звернути увагу на параметр Weight, який вказує вагу нечіткої впевненості в правилі. Його можна задавати в діапазоні µ §.

Крок 17. Збережемо побудовану систему. Для цього в меню File в підменю Export оберемо команду To disk.

На рис. 2.6 приведено вікно візуалізацій нечіткого логічного виводу.

Нечітка логіка Нечітка логіка (англ. fuzzy logic) - розділ математики, який є узагальненням класичної логіки і теорії множин. Уперше введений Лотфі Заде в 1965 році як розділ, що вивчає об'єкти з функцією належності елемента до множини, яка приймає значення у інтервалі [0, 1], а не тільки 0 або 1.

Це вікно активується командою View rules... меню View. В полі Input вказуються значення вхідних змінних, для яких виконується логічний вивід. Тобто, обраховується за алгоритмом Мамдані значення вихідної змінної.

Рис 2.6. Візуалізація нечіткого виводу

Рис 2.7. Поверхня системи «вхід-вихід».
На рис. 2.7 приведена поверхня “входи-вихід”, яка відповідає синтезованій системі логічного виводу. Для виводу цього вікна необхідно використати команду View surface... меню View. Порівнюючи поверхні на рис 2.1. і рис. 2.7. , можна зробити висновок, що нечіткі правила досить добре описують складну нелінійну залежність.
2.3 Завдання для самостійної роботи.

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

2. Створити систему нечіткого виводу, яка відтворює поверхню µ § при µ §

3. Створити систему нечіткого виводу, яка відтворює поверхню µ § при µ §


1   2   3   4