формальні логічні моделі, які грунтуються на класичному численні предикатів 1-го порядку, коли предметна область або завдання описується у вигляді набору аксіом. Ми ж опустимо опис цих моделей з наступних причин. Числення предикатів 1-го порядку в промислових експертних системах практично не використовується. Ця логічна модель застосовна в основному в дослідницьких "іграшкових" системах, оскільки ставить дуже високі вимоги і обмеження до предметної області.
У промислових же експертних системах використовуються різні її модифікації і розширення.
1.1.3 Вивід на знаннях
Не дивлячись на всі недоліки, найбільшого поширення набула продукційна модель представлення знань. При використанні продукційної моделі база знань складається з набору правив. Програма, що управляє перебором правив, називається машиною виводу.
Машина виводу. Машина виводу (інтерпретатор правил) виконує дві функції: по-перше, проглядання існуючих фактів з робочої пам'яті (бази даних) і правил з бази знань і додавання (в міру можливості) в робочу пам'ять нових фактів і, по-друге, визначення порядку перегляду і застосування правил. Цей механізм управляє процесом консультації, зберігаючи для користувача інформацію про отримані висновки, і запрошує у нього інформацію, коли для спрацьовування чергового правила в робочій пам'яті виявляється недостатньо даних [Осуга, Саэки, 1990].
У переважній більшості систем, які грунтуються на знаннях, механізм виводу є невеликою за об'ємом програмою і включає два компоненти - один реалізує власне вивід, інший управляє цим процесом. Дія компоненту виводу грунтується на застосуванні правила, званого modus ponens.
Правило modus ponens. Якщо відомо, що істинне твердження А і існує правило вигляду "ЯКЩО А, ТО В", тоді твердження В також істинно.
Правила спрацьовують, коли знаходяться факти, що задовольняють їх лівій частині: якщо істинна посилка, то повинен бути істинний і висновок.
Компонент виводу повинен функціонувати навіть при недоліку інформації. Отримане рішення може і не бути точним, проте система не повинна зупинятися через те, що відсутня яка-небудь частина вхідної інформації.
Управляючий компонент визначає порядок застосування правил і виконує чотири функції.
Зіставлення - зразок правила зіставляється з наявними фактами.
Вибір - якщо в конкретній ситуації може бути застосовано відразу декілька правил, то з них вибирається одне, найбільш відповідне по заданому критерію (вирішення конфлікту).
Спрацьовування - якщо зразок правила при зіставленні співпав з якими-небудь фактами з робочої пам'яті, то правило спрацьовує.
Дія - робоча пам'ять піддається зміні шляхом додавання в неї висновку правила яке спрацювало. Якщо в правій частині правила міститься вказівка на яку-небудь дію, то воно виконується (як, наприклад, в системах забезпечення безпеки інформації).
Інтерпретатор продукцій працює циклічно. У кожному циклі він проглядає всі правила, щоб виявити ті, посилки яких співпадають з відомими на даний момент фактами з робочої пам'яті. Після вибору правило спрацьовує, його висновок заноситься в робочу пам'ять, і потім цикл повторюється спочатку.
У одному циклі може спрацювати тільки одне правило. Якщо декілька правил успішно зіставлені з фактами, то інтерпретатор проводить вибір по певному критерію єдиного правила, яке спрацьовує в даному циклі.
Інформація з робочої пам'яті послідовно зіставляється з посилками правил для виявлення успішного зіставлення. Сукупність відібраних правил складає так звана конфліктна множина. Для вирішення конфлікту інтерпретатор має критерій, за допомогою якого він вибирає єдине правило, після чого воно спрацьовує. Це виражається в занесенні фактів, які створюють висновок правила, в робочу пам'ять або в зміні критерію вибору конфліктуючих правил. Якщо ж у висновок правила входить назва якої-небудь дії, то воно виконується.
Робота машини виводу залежить тільки від стану робочої пам'яті і від складу бази знань. На практиці зазвичай враховується історія роботи, тобто поведінка механізму висновку в попередніх циклах. Зазвичай пам'ять станів містить протокол системи.
Стратегії управління виводом. Від вибраного методу пошуку, тобто стратегії виводу, залежатиме порядок застосування і спрацьовування правив. Процедура вибору зводиться до визначення напряму пошуку і способу його здійснення. Процедури, що реалізують пошук, зазвичай "зашиті" в механізм висновку, тому в більшості систем інженери знань не мають до них доступу і, отже, не можуть в них нічого змінювати по своєму бажанню.
При розробці стратегії управління виводом важливо визначити два питання:
Яку точку в просторі станів прийняти як результатну? Від вибору цієї точки залежить і метод здійснення пошуку - в прямому або зворотному напрямку.
Якими методами можна підвищити ефективність пошуку рішення? Ці методи визначаються вибраною стратегією перебору — в глибину, в ширину, по підзадачах або інакше.
Прямий і зворотний вивід. При зворотному порядку виводу спочатку висувається деяка гіпотеза, а потім механізм виводу як би повертається назад, переходячи до фактів, намагаючись знайти ті, які підтверджують гіпотезу (мал. 1.5, права частина). Якщо вона виявилася правильною, то вибирається наступна гіпотеза, що деталізує першу і що є по відношенню до неї підціллю. Далі відшукуються факти, які підтверджують істинність підлеглої гіпотези. Вивід такого типу називається керованим цілями, або керованим консеквентами. Зворотний пошук застосовується в тих випадках, коли цілі відомі і їх порівняно небагато.
У системах з прямим виводом по відомих фактах відшукується висновок, який з цих фактів випливає (див. мал. 1.5, ліва частина). Якщо такий висновок вдається знайти, то він заноситься в робочу пам'ять. Прямий вивід часто називають виводом, керованим даними, або виводом, керованим антецедентами.
Існують системи, в яких вивід грунтується на поєднанні згаданих вище методів, - зворотного і обмеженого прямого. Такий комбінований метод отримав назву циклічного.
Приклад 1.5
Є фрагмент бази знань з двох правил:
П1. Якщо "відпочинок - літом" і "людина - активний", то "їхати в гори".
П2. Якщо "любить сонце", то "відпочинок літом".
Припустимо, в