Page 69 - 6109
P. 69
прямого виведення використовуються, як правило, при плануванні і про-
гнозуванні.
При зворотному виведенні логічний блок починає роботу із запиту ко-
ристувача, тобто з твердження, яке перевіряється. Розглядається одне з правил,
на основі яких можна вивести це твердження, після чого перевіряється
істинність лівої частини цього правила. Процес повторюється, доки не дійде до
фактів, які вважаються істинними.
У нашому прикладі ланцюжок зворотного виведення матиме вигляд: "С
виводиться з В, В виводиться з А, А істинне, отже, і С істинне".
Як і у випадку прямого виведення, зворотне виведення може вимагати
повторень у разі невдалої спроби, і тому є стратегією перебору.
Зворотне виведення тісно пов'язано з резолюцією, зокрема лінійною, і з
прологівським механізмом виконання програм.
7.3 Типові дисципліни виконання продукцій
Передусім ядра продукцій прийнято поділяти на детерміновані і
недетерміновані. У детермінованих продукціях при виконанні лівої частини
завжди виконується і права. У недетермінованих продукціях права частина при
виконанні лівої виконується необов'язково. Можливі, наприклад, такі
інтерпретації недетермінованих продукцій: "Якщо А, то можливе В"; або
"Якщо А, то В з певною вірогідністю ".
Існують різні режими керування виконанням готових продукцій, тобто
продукцій, ліві частини яких справедливі, і, відповідно, ці продукції можуть
бути виконані негайно.
Можна виокремити такі режими:
• режим негайного виконання;
• режим формування конфліктного набору.
У режимі негайного виконання, якщо знайдена перша-ліпша продукція,
саме вона виконується невідкладно.
У режимі формування конфліктного набору знайдені готові продукції не
виконуються відразу, а включаються до конфліктного набору — списку
продукцій, готових до виконання. Лише після завершення формування
конфліктного набору відбувається вирішення конфлікту, тобто вибір зі списку
готових продукцій якоїсь однієї. Інша назва конфліктного набору "фронт
готових продукцій ".
Розглянемо деякі проблеми, пов'язані з конфліктними наборами.
Нехай маємо продукції:
1) А => В
2) А => С,
і А істинне.
Тоді обидві продукції готові до виконання і утворюють конфліктний
набір.
Якщо ядра продукцій інтерпретуються як імплікації, проблема є менш
гострою. Продукційна система є чисто декларативною. Після застосування 1)
тобто виведення В, А залишається істинним, і ми завжди можемо використати
69