Алгоритм работы Пролог-машины.
Процедура «Вычислить» получает на входе список целей, на выходе результат: успех или неудача. В случае успеха выдается подстановка. Этот алгоритм в процессе работы просматривает базу фактов и правил и согласует их с целями. Факты можно считать правилами, у которых нет тела.
Если список целей пуст, то алгоритм успешно завершает работу.
если список не пуст, то запускается процедура «Просмотр». Она просматривает факты и правила (предложения), пока не обнаружит предложение С, голова которого сопоставима с первой целью G1.
Если такого предложения найти не удается, то процедура «Просмотр» возвращает неудачу. Если предложение найдено, то оно будет иметь вид H :- B1,B2,..,Bn. Подходящих предложений может быть несколько, тогда выберет первый. Находим подстановку (пока достаточно знать, что переменная сопоставима с конкретным значением). В списке целей первая цель G1 заменяется телом правила:
B1,B2,..,Bn, G2,…, Gm. //новый список целей
Если найден факт, то список целей уменьшится, если правило, то такой же по размеру или увеличится.
К новому списку целей применяется подстановка. Этот список возвращается процедуре «Вычислить».
Если этот список целей приведет к успеху, то и вычисление всей программы будет успешным. Если вычисление списка приведет к неудаче, то и процедура «Просмотр» должна продолжить свою работу: найти еще одно предложение.
Yandex.RTB R-A-252273-3
- Министерство образования и науки Российской Федерации
- Лабораторная работа № 1
- Данные и знания
- Синтаксис языка Пролог
- Семантика языка Пролог
- Алгоритм работы Пролог-машины.
- Пример построения базы правил на Пролог
- Задание на лабораторную работу
- Лабораторная работа № 2
- Использование списков в Пролог.
- Использование накапливающего параметра
- Управление перебором
- Задание на лабораторную работу
- Лабораторная работа № 3
- Представление задачи в терминах пространства состояний
- Слепые методы поиска
- Методы эвристического поиска
- Поиск оптимального пути
- 3.4 Задание на лабораторную работу
- Лабораторная работа № 4
- Основные понятия теории игр
- Представление игры в матричной форме
- Представление игры в виде игрового дерева
- Задание на лабораторную работу