
Лекція №7 продукційні моделі представлення знань
Продукції на ряду з фреймами є найбільш популярними засобами представлення знань в ІС (інтелектуальні системи). Продукції, з одного боку, близькі до логічних моделей. Це дозволяє організовувати на них ефективні процедури висновку. З іншого боку, продукції наочніше відображають знання, чим класичні наочні моделі.
У загальному вигляді під продукцією розуміється вираз наступного вигляду
(i); Q; P; A B; N,
де i – ім'я продукції, за допомогою якого дана продукція виділяється зі всієї множини продукцій. Як ім'я використовуватися ідентифікатор або порядковий номер продукції в їх множині, що зберігається в пам'яті системи.
Q характеризує сферу застосування продукції або клас ситуації, в якій дана продукція використовується. Розділення знань на окремі сфери дозволяє економити час на пошук потрібних знань.
A B – ядро продукції, основна частина продукції. Інтерпретація ядра продукцій може бути різною і залежить від того, що стоїть зліва і праворуч від знаку секвенції ''.
Звичайне прочитання ядра продукції виглядає так: ЯКЩО A, ТО B. Складніші конструкції ядра допускають в правій частині альтернативний вибір, наприклад, ЯКЩО А, ТО B1, ІНАКШЕ B2.
Секвенція може тлумачитися в звичайному логічному сенсі як знак логічного проходження B з істинного А. Якщо А не є дійсним виразом, то про B нічого сказати не можна.
Частина А ядра продукції називається антецедентом, або посилкою. Вона може складаються з елементарних пропозицій (умова, твердження), що називається зразками, сполучених логічними зв'язками АБО, І.
Частина B ядра продукції називається консеквентом, або висновком. Вона складається з одного або декількох пропозицій, які утворюють рішення правила, або указує на дію підмет виконанню.
Приклад. ЯКЩО двигун автомобіля не заводиться І стартер двигуна автомобіля не працює – антецендент (посилка)
ТО неполадки в системі електроживлення стартера. – Консеквент (висновок)
Елемент P – предикат умови застосування продукції. Звичайно Р є логічним виразом (як правило, предикат). Коли Р приймає значення "істина", ядро продукції активізується. Коли Р помилково, те ядро продукції не може бути використано.
Приклад. НАЯВНІСТЬ ГРОШЕЙ; ЯКЩО бажаєте купити річ X, ТО заплатіть у касу її вартість І пред'явите чек продавцю;
Якщо в цій продукції умова застосовності ядра продукції помилкова тобто грошей немає, то застосувати ядро продукції неможливо
Елемент N – постумови продукції. Вони актуалізуються тільки тому випадку, якщо ядро продукції реалізувалося. Постумови продукції описують дії і процедури, які необхідно виконати після реалізації B (правої частини ядра).
Приклад. Після покупки деякої речі в магазині необхідно в описі товарів, наявних в цьому магазині, зменшити кількість речей такого типа на 1.
Постумови продукції можуть бути також вказівками на зміни, які треба внести дану продукцію (в умову Р, в А або B) або зміни, які треба внести в інші продукції системи після реалізації даної продукції.
Якщо в пам'яті системи зберігається деякий набір продукцій, то вони утворюють систему продукций.
У системі продукций повинні бути задані спеціальні процедури управління продукціями, за допомогою яких відбувається актуалізація продукцій і вибір для виконання тієї або іншої продукції з числа актуалізованих.
У ряді систем штучного інтелекту використовуються комбінації продукційних моделей і інших, наприклад мережевих. У таких моделях декларативні знання описуються в мережевому компоненті, а процедурні знання в продукційних. В цьому випадку говорять про роботу продукційної системи над семантичною мережею.
Приклад: Хай продукція A B . A і B є фрагментами інформації, що зберігається в базі знань. При мережевому представленні це можуть бути фрагменти семантичної мережі, при логічних моделях – формули того або іншого числення. Тоді сенс продукції AB полягає в заміні одного фрагмента бази знань іншим. Для актуалізації цієї продукції необхідно, щоб в базі знань існував фрагмент, що співпадає з A.
При пошуку в БЗ А грає роль зразка, а процедура такого пошуку називається ПОШУКОМ ПО ЗРАЗКУ.
Проілюструємо пошук за зразком на прикладі: Припустимо, що в БЗ для представлення знань використовуються наступні семантична мережа і продукція .
Семантична мережа:
Продукція:
x і у - вільні змінні, яким можуть привласнюватися будь-які значення.
Щоб застосувати продукцію до семантичної мережі, здійснюється пошук А в БЗ. Пошук можна організувати різними способами.
Можна, наприклад, спочатку шукати вершину а. Якщо в БЗ такої вершини немає, то пошук за зразком закінчується невдачею.
Якщо вершина а знайдена, то шукаються всі дуги, що виходять з неї, помічені відношенням R3, оскільки в зразку праворуч від цієї дуги стоїть вершина x, на місці вершини x в базі знань може знаходитися будь-яка вершина.
Якщо з A не виходитиме жодної дуги, поміченої відношенням R3, то пошук за зразком закінчується невдачею. Якщо такі дуги є, то відбувається перехід у всі вершини, з якими вершину а зв'язує відношення R3. У нашому прикладі відбувається перехід від вершини а до вершин b і f, з починається пошук дуг, що виходять з них, помічених відношенням R1, що ведуть в будь-яку вершину, оскільки в зразку далі стоїть вершина, якій відповідає вільна змінна у.
Далі процес продовжується аналогічним чином.
У прикладі пошук за зразком є успішним.
Після знаходження А в семантичній мережі відбувається заміна, яка визначається правою частиною зразка B.
Виходить трансформована мережа