Информатика -продвинутый курс


         

В результате резолюции получается новое


В результате резолюции получается новое целевое предложение и метод резолюции применяется к нему и к другому предложению программы. Процесс продолжается до тех пор, пока не будут согласованы с фактами все возникшие при резолюции подцели, табл. 3.6.

Таблица 3.6

К процессу выполнения программы на Прологе







































































































Номер шага резолюции





Целевое предложение



Исходное предложение



Резольвента



1





?-а.



a:-b,c,d.



?-b,c,d.



2





?-b,c,d.



b:-c,f.



?-e,f,c,d.



3







?-е,f,с,d



e.       ?-f,c,d.



4







?-f,c,d.



f.        ?-c.d.



5







?-c,d.



c.        ?-d.



6







?-d.



d.       Пустая



При выполнении логического вывода, если необходимо, происходит конкретизация переменных. Рассмотрим пример.

Программа 113

любит(юрий,музыку).

любит(сергей,спорт).

любит(А,книги):-читатель(А),любопытный(А).

любит(сергей,книги).

любит(сергей,кино).

читатель(юрий).

любопытный(юрий).

?- любит(X,музыку), любит(X,книги).

Двойной запрос в этой программе может быть представлен целевым деревом:



Вначале, просматривая программу сверху вниз. Пролог находит первое предложение, соответствующее первой подцели запроса:



Переменная Х конкретизируется значением «юрий». Начинается согласование 2-й подцели запроса с условием Х=юрий. 1-е и 2-е предложения программы не соответствуют подцели. В 3-ем предложении:

любит(А,книги):-читатель(А), любопытный(А).

аргумент А заголовка есть переменная, поэтому она может соответствовать X, т.е. получает значение А=юрин; вторые аргументы совпадают. Теперь тело правила образует новое множество целей для согласования. Получаем целевое дерево:





Затем Пролог будет искать факты, соответствующие новым подцелям. Последнее результирующее дерево:





Рассмотрим еще один пример.

Программа 114

любит(оля,чтение).

любит(света,бадминтон).

любит(для,бадминтон).

любит(лена,плавание).


Содержание  Назад  Вперед