logo
ЛОИИ методичка 2015

Алгоритм работы Пролог-машины.

Процедура «Вычислить» получает на входе список целей, на выходе результат: успех или неудача. В случае успеха выдается подстановка. Этот алгоритм в процессе работы просматривает базу фактов и правил и согласует их с целями. Факты можно считать правилами, у которых нет тела.

  1. Если список целей пуст, то алгоритм успешно завершает работу.

  2. если список не пуст, то запускается процедура «Просмотр». Она просматривает факты и правила (предложения), пока не обнаружит предложение С, голова которого сопоставима с первой целью G1.

  3. Если такого предложения найти не удается, то процедура «Просмотр» возвращает неудачу. Если предложение найдено, то оно будет иметь вид H :- B1,B2,..,Bn. Подходящих предложений может быть несколько, тогда выберет первый. Находим подстановку (пока достаточно знать, что переменная сопоставима с конкретным значением). В списке целей первая цель G1 заменяется телом правила:

B1,B2,..,Bn, G2,…, Gm. //новый список целей

Если найден факт, то список целей уменьшится, если правило, то такой же по размеру или увеличится.

  1. К новому списку целей применяется подстановка. Этот список возвращается процедуре «Вычислить».

  2. Если этот список целей приведет к успеху, то и вычисление всей программы будет успешным. Если вычисление списка приведет к неудаче, то и процедура «Просмотр» должна продолжить свою работу: найти еще одно предложение.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4