Призначення і структура механізму логічного висновку. Основні відмінності в стратегіях прямого і зворотного виведення

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

База правил (БП) - формалізовані за допомогою правил продукций знання про конкретну предметну область.

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

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

Механізм виведення виконує дві основні функції:

- перегляд існуючих в робочій пам'яті фактів і правил з БП, а також додавання в РП нових фактів;

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

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

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

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

Компонента виведення. Її дія грунтована на застосуванні правила логічного висновку Модус Поненс. Суть застосування цього правила в продукційних системах полягає в наступному. Якщо в РП є присутнім істинний факт А і у БП існує правило виду "ЯКЩО А, ТО В", то факт У визнається істинним і заноситься в РП.

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

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

Із сказаного можна зробити висновок про те, що компонента виведення в ЕС має бути організована так, щоб бути здібної функціонувати в умовах недоліку інформації.

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

- зіставлення – зразок (антецедент) правила порівнюється з наявними в РП фактами;

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

- спрацьовування правила - у разі збігу зразка деякого правила з бази правил з фактами, наявними в робочій пам'яті, відбувається спрацьовування правила, при цьому воно відзначається у БП;

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

 

Приклад прямого виведення.

Нехай у БП є наступні правила:

Ø Правило 1. "ЯКЩО Двигун не заводиться в фари не горять, то сів акумулятор".

Ø Правило 2. "ЯКЩО Покажчик бензину знаходиться на нулі, то двигун не заводиться".

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

Основні кроки алгоритму прямого виведення:

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

2. Дія Правила, що спрацювало, 2. У РП заноситься укладення цього правила - зразок Двигун не заводиться.

3. Другий цикл зіставлення фактів в РП із зразками правил. Тепер спрацьовує Правило 1, оскільки кон'юнкція умов в його антецеденте стає істинною.

4. Дія Правила 1, яке полягає у видачі користувачеві остаточного діагнозу - Сів акумулятор.

5. Кінець роботи (БП вичерпана).

 

Приклад зворотного виведення

Нехай у БП є наступні правила:

Ø Правило 1. "ЯКЩО Двигун не заводиться і фари не горять, то сів акумулятор".

Ø Правило 2. "ЯКЩО Покажчик бензину знаходиться на нулі, то двигун не заводиться».

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

Алгоритм зворотного виведення містить наступні кроки:

1. Висувається гіпотеза остаточного діагнозу - Сів акумулятор.

2. Відшукується правило, укладення якого відповідає висуненій гіпотезі, в нашому прикладі - це Правило 1.

3. Досліджується можливість застосування Правила 1, тобто вирішується питання про те, чи може воно спрацювати. Для цього в робочій пам'яті мають бути присутніми факти, співпадаючі із зразком цього правила. У даному прикладі Правило 1 не може спрацювати через відсутність в РП зразка Двигун не заводиться. Цей факт стає новою метою на наступному кроці виведення.

4. Пошук правила, укладення якого відповідає новій меті. Таке правило є - Правило 2.

5. Досліджується можливість застосування Правила 2(зіставлення). Воно спрацьовує, оскільки в РП є присутнім факт, співпадаючий з його зразком.

6. Дія Правила 2, що полягає в занесенні укладення Двигун не заводиться в РП.

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

8. Кінець роботи.