Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABA_3_2007.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
443 Кб
Скачать
☆

2 Методи опису продукційних правил

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

(АТРИБУТ ОБ'ЄКТ ЗНАЧЕННЯ).

Такий факт означає, що заданий об'єкт має заданий атрибут (властивості) із заданим значенням. Наприклад, трійка (ТЕМПЕРАТУРА ПАЦІЄНТА 37.5) представляє факт «температура хворого, що позначається ПАЦІЄНТ1, дорівнює 37.5». У більш простих випадках факт виражається неконкретним значенням атрибута, а яким або простим твердженням, що може бути істинне або помилковим, наприклад: «Небо покрите хмарами». У таких випадках факт можна позначити яким-небудь коротким іменем (наприклад, ХМАРИ) або використовувати для представлення факту сам текст відповідної фрази.

Правила в базі знань мають вигляд:

ЯКЩО А ТО S, де А- умова; S- дія. Дія S виповнюється, якщо А істинне. Найбільш часта дія S, так само, як і умова, являє собою твердження, що може бути виведене системою (тобто стає їй відомим), якщо істинна умова правила А.

Правила в базі знань служать для представлення евристичних знань (евристик), тобто неформальних правил міркування, що виробились експертом на основі досвіду.

Простий приклад правила з повсякденного життя: ЯКЩО небо покрите хмарами

ТО незабаром піде дощ.

Умовою A може виступати або факт (як у даному прикладі), або кілька фактів A1,...,AN, з'єднані логічною операцією і:

A1 і A2 і ... і AN.

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

Приклад попереднього правила з більш складною умовою: ЯКЩО

небо покрите хмарами і барометр падає ТО

незабаром піде дощ. (Правило 1).

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

6

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

Якщо система не може вивести деякий факт, істинність або хибність якого потрібно установити, то система запитує про нього користувача. Наприклад: ЧИ ВІРНО, ЩО небо покрите хмарами?

При одержанні позитивної відповіді від користувача факт «Небо покрите хмарами» включається в робочу множину.

3 Підсистема виведення, способи логічного виведення

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

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

ЯКЩО незабаром піде дощ

ТО потрібно взяти із собою парасольку. (правило 2)

7

Припустимо також, що факти «Небо покрите хмарами» і «Барометр падає» містяться у робочій множині, а метою системи є відповідь на питання користувача:

«Потрібно взяти із собою парасольку?»

При прямому виведенні робота системи буде відбуватися так:

Крок 1. Розглядається правило 1. Його умова істинна, тому що обидва елементи кон’юнкції наявні в робочій множині. Застосовуємо правило 1; додаємо до робочої множини факт ”Незабаром піде дощ”.

Крок 2. Розглядається правило 2. Його умова істинна, тому що твердження з умови наявні в робочій множині. Використаємо правило 2; додаємо до робочої множини факт “Потрібно взяти із собою парасольку”. Цільове твердження виведене.

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

Крок 1. Розглядається правило 1. Воно не містить мети в правій частині. Переходимо до правила 2.

Крок 2. Розглядається правило 2. Воно містить мету в правій частині правила. Переходимо до правої частини правила і розглядаємо як поточну мету твердження “Незабаром піде дощ”.

Крок 3. Поточної мети немає в робочій множині. Розглянемо правило 1, що містить мета в правій частині. Обидві компоненти його умови маються в робочій множині, так що умова істинна. Застосовуємо правило 1; у результаті виводимо твердження “Швидко піде дощ”; яке було нашою попередньою метою.

Крок 4. Застосовуємо правило 2, умовою якого є дане твердження. Одержуємо висновок вихідного твердження.

8

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]