АНАЛІЗ ОПТИМАЛЬНОЇ СТРУКТУРИ БАЗИ ЗНАНЬ ДЛЯ НЕЧІТКИХ ЕКСПЕРТНИХ СИСТЕМ
Дудник О.О.
аспірант
Одеський національний політехнічний університет (Україна)
frightempire@gmail.com
Презентація
Розумовий процес людини є занадто складним, щоб бути представленим у вигляді детермінованого алгоритму. Однак більшість фахівців здатні висловити свої знання у вигляді правил, дотримуючись яких з’являється можливість для вирішення проблем предметної області. Правило можна визначити як структуру ЯКЩО-ТО, яка пов’язує інформацію або факти в частині ЯКЩО з деякими діями в ТО частині. Правила відносно легко створити і зрозуміти. Ці правила часто називають продукційними оскільки вони обов’язково виробляють деякий результат, коли використовуються. На основі цих правил, як правило, створюються різноманітні бази знань з продукційним ядром виводу, що дозволяють знаходити рішення проблем предметної області, зменшивши загальну кількість обчислень. Поліпшення процесу формування та роботи бази знань на основі продуційних правил сприяє спрощенню досвіду роботи з нею для спеціаліста, розширює коло задач, які можливо вирішити з її допомогою та збільшує точність кінцевого результату.
Використання традиційних продукційних правил несе за собою низку обмежень. Розглянемо наступний приклад традиційного продукційного правила:
\[ \text{IF }\left( temperature > 35 \right)\text{ THEN}\left( fan\ speed = \ 3 \right) \]
Даний вид продукційних правил має декілька недоліків:
- Використовує строге порогове значення температури.
- Використовує числові значення безпосередньо в тексті правила.
Перший недолік призводить до втрати гнучкості у роботі з продукційним правилом. Дивлячись на приклад, можна представити ситуацію, коли користувач може захотіти, щоб вентилятор також функціонував на цій швидкості, коли температура = 34,9. Щодо другого недоліку, це призводить до зменшення зручності роботи з базою знань, яка наповнена такими правилами. У випадку досить складних правил може бути складно дослідити та зрозуміти структури бази знань. З ціллю позбавитися цих недоліків є можливість переписати це правило використовуючи нечіткі продукційні правила:
\[ \text{IF }\left( temperature = hot \right)\text{ THEN }\left( fan\ speed = \ fast \right) \]
У цьому варіанті опису правила описні ліві частини правила “temperature” та “fan speed” стають лінгвістичними змінними, а їх різноманітні значення з правих частин “hot” та “fast” можуть бути описаними за допомогою нечітких множин.
Завдяки переходу від традиційних до нечітких продукційних правил, вдалося позбутися деяких недоліків роботи з цими правилами. Але збільшилась складність роботи з правилами, адже тепер є необхідність описувати лінгвістичні змінні які використовують правила. Лінгвістична змінна визначається наступним чином \((x,T,U,G,M)\), де \(x\) – назва змінної, \(T\) – позначає множину термінів \(x\), тобто множину назв лінгвістичних значень \(x\), причому кожне значення є нечіткою змінною з областю визначення \(U\) – універсальна множина базових значень, \(G\) – синтаксичне правило для генерування множини \(T\), \(M\) – семантичне правило для асоціації з кожним значення лінгвістичної змінної \(x\) його семантики, шляхом формування нечіткої множини. Провівши аналіз структури лінгвістичних змінних, була розроблена оптимальна структура змінних, яку можна використовувати у базах знань. Продовжуючи приклад, опис лінгвістичних змінних можна представити наступним чином:
\[ \mathbf{\text{Temperature}}:\left\lbrack \text{MF}\ \text{for}\ \text{COLD};\ \text{MF}\ \text{for}\ \text{WARM};\ \text{MF}\ \text{for}\ \mathbf{\text{HOT}} \right\rbrack \]
\[ \mathbf{\text{Fan Speed}}:\left\lbrack \text{MF}\ \text{for}\ \text{OFF};\ \text{MF}\ \text{for}\ \text{SLOW};\ \text{MF}\ \text{for}\ \mathbf{\text{FAST}} \right\rbrack. \]
де “temperature” та “fan speed” – назви лінгвістичних змінних, \(\text{MF}\) – функції належності до нечіткої множини та [“COLD”, “WARM”, “HOT”] – множина \(T\) для першої змінної і [“OFF”, “SLOW”, “FAST”] – множина \(T\) для другої змінної. Адже лінгвістичні змінні, скоріше за все, визначаються користувачем, відпадає необхідність у процедурі генерування \(G\) значень для множини \(T\). А опис множин \(U\) та \(M\) поєднується у описі функцій належності \(\text{MF}\).
Такий вигляд лінгвістичних змінних дозволяє спростити роботу користувача експертної системи, яка використовує ці змінні. Але ця структура, як і оригінальна, не враховує джерело даних, звідки береться інформація для побудови функцій належності. Як правило, для виведення результатів, експертні системи, працюючі на основі баз знань, використовують алгоритми прямого та зворотного виводу. Поточний вигляд лінгвістичних змінних не вирішує наступні проблеми:
- Збільшення навантаження на джерело даних.
- Обмеженість у процесі роботи з алгоритмами прямого та зворотного виводу.
- Складно оцінити кількість початково необхідної інформації для роботи бази знань.
З цією ціллю попередню структуру було модифіковано додатковим позначенням:
\[ \text{Temperature}:\mathbf{\text{Initial}}:\left\lbrack \text{MF}\ \text{for}\ \text{COLD};\ \text{MF}\ \text{for}\ \text{WARM};\ \text{MF}\ \text{for}\ \text{HOT} \right\rbrack \]
\[ \text{Fan Speed}:\mathbf{\text{Derivative}}:\left\lbrack \text{MF}\ \text{for}\ \text{OFF};\ \text{MF}\ \text{for}\ \text{SLOW};\ \text{MF}\ \text{for}\ \text{FAST} \right\rbrack \]
де Initial – позначує лінгвістичну змінну, значення якої буде братися, наприклад, з бази даних, а Derivative – позначує змінну, значення якої буде виведено у процесі роботи з базою знань, тобто не потребує значень з бази знань. Таким чином кількість звернень до джерела даних зводиться до одного єдиного звернення, адже з виду бази знань заздалегідь відомо яка інформація необхідна. Така структура дозволяє використовувати на багато менше початкової інформації, що може дозволити зберігати менше інформації фізично у джерелі даних, наприклад базі даних. Також знімається обмеження у процесі роботи алгоритмів прямого та зворотного виводу, що дозволяє використовувати базу знань у структурах на кшталт семантичних мереж.
Робота з експертними системами набуває все більшої популярності, що призводить до необхідності аналізувати шляхи ефективного використання їх складових. У наведеному матеріалі запропоновано оптимальну структуру бази знань з ціллю спростити роботу користувача та зменшити навантаження на джерело даних. Оптимальна структура бази знань передбачає її розділення на:
- Базу нечітких продукційних правил.
- Базу лінгвістичних змінних у спеціальному структурному вигляді.
Майбутні дослідження будуть націлені на розробку методів та моделей ефективного управління проектами з використанням вище наведених бази знань та модифікації алгоритму прямого виводу. Впровадження інструментів управління проектів, базованих на цих методах і моделях, стане кроком на шляху підвищення ефективності проектного менеджменту в ІТ-сфері.