Книга: Программирование на языке Пролог для искусственного интеллекта
Резюме
Резюме
• В любой реализации Пролога обычно предусматривается набор встроенных процедур для выполнения различных полезных операций, несуществующих в чистом Прологе. В данной главе мы рассмотрели подобное множество предикатов, имеющееся во многих реализациях.
• Тип терма можно установить при помощи следующих предикатов:
var( X)
X — (неконкретизированная) переменная
nonvar( X)
X — не переменная
atom( X)
X — атом
integer( X)
X — целое
atomic( X)
X — или атом, или целое
• Термы можно синтезировать или разбирать на части:
Терм =.. [Функтор [ СписокАргументов]
functor( Терм, Функтор, Арность)
arg( N, Терм, Аргумент)
name( атом, КодыСимволов)
• Программу на Прологе можно рассматривать как реляционную базу данных, которую можно изменять при помощи следующих процедур:
аssert( Предл)
добавляет предложение Предл
к программе
аssеrtа( Предл)
добавляет в начало
assertz( Предл)
добавляет в конец
rеtrасt( Предл)
удаляет предложение, сопоставимое с предложением Предл
• Все объекты, отвечающие некоторому заданному условию, можно собрать в список при помощи предикатов:
bagof( X, P, L)
L — список всех X, удовлетворяющих условию P
setof( X, P, L)
L — отсортированный список всех X, удовлетворяющих условию P
findall( X, P, L)
аналогичен bagof
• repeat
— средство управления, позволяющее порождать неограниченное число альтернатив для автоматического перебора.