Сборник задач по курсу «Логическое программирование»: Учебное пособие, страница 9

Аргументы: матрица инцидентности; имя раздела БД.

?- pred([[1,0,0,1],[1,1,0,0],[0,1,1,0],[0,0,1,1]],m). yes ?- recorded(m,X,R). X = [~402F0A,~402F32] R = ~402F14 -> ; X = [~402F14,~402F5E] R = ~402F0A -> ; X = [~402F0A,~402F32] R = ~402F5E -> ; X = [~402F14,~402F5E] R = ~402F32 -> ; no ?-


ЛИТЕРАТУРА

1.  Братко И. Алгоритмы искусственного интеллекта на языке PROLOG. 3-е изд. / Пер. с англ. – М.: Издательский дом «Вильямс», 2004. – 640 с.

2.  Братко И. Программирование на языке Пролог для искусственного интеллекта. / Пер. с англ. – М.: Мир, 1990. – 560 с.

3.  Шрайнер П.А. Основы программирования на языке Пролог: курс лекций: учебное пособие – М.: Интернет-университет информационных технологий, 2005. – 176 с.

4.  Малпас Дж. Реляционный язык Пролог и его применение. / Пер. с англ. / Под ред. В.Н. Соболева. – М.: Наука, 1990. – 464 с.

5.  Метакидес Г., Нероуд А. Принципы логики и логическое программирование. / Пер. с англ. под ред. к.ф.м.н В.А. Захарова и акад. В.А. Садовничего. – М.: Изд-во «Факториал», 1998. – 288 с.

6.  Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. / Пер. с англ. – М.: Мир, 1990. – 235 с.

7.  Стобо Д.Ж. Язык программирования Пролог. / Пер. с англ. – М.: Радио и связь, 1993. – 368 с.

8.  Хоггер К. Введение в логическое программирование. / Пер. с англ. – М.: Мир, 1988. – 348 с.

9.  The Arity/Prolog compiler and interpreter. Version 6.1. Arity Corporation Damonmill Square Concord, Massachusetts 01742, 1992, Arity Corporation. – 444 с.


Приложение А

Подготовка к работе

Версия языка Пролог Arity/Prolog32 распространяется разработчиком без специализированной программы для установки программного обеспечения. Это в большинстве случаев не вызывает каких-либо трудностей. Однако имеет смысл описать короткую процедуру по настройке этой версии языка в ОС Windows XP для обеспечения удобной работы с интерпретатором. Большая часть инструкции представляет собой стандартный набор действий по настройке консольного приложения для запуска в среде Windows XP.

Шаг 1.

Разархивировать штатными средствами операционной системы архив с дистрибутивом в выбранную Вами папку. Например, это может быть папка C:\Program Files\Arity32.

Шаг 2.

К системной переменной PATH добавить путь к исполняемым файлам Пролога C:\Program Files\Arity32\bin.

Шаг 3.

Для ускорения доступа к интерпретатору можно создать ярлык на рабочем столе (только для файла api.exe).

Шаг 4.

Настройка ярлыка.

В контекстном меню для ярлыка выбирается пункт «Свойства» и далее в появившемся окне диалога производятся следующие действия:

ü  на закладке «Шрифт» выбирается шрифт для использования – Lucida Console (этот выбор обеспечивает корректное отображение символов русского языка и псевдографики);

ü  на той же закладке выбирается удобный размер шрифта (исходя из индивидуальных предпочтений);

ü  на закладке «Расположение» следует установить ширину в 80 (символов), а высоту в 25 (строк) для буфера и размера экрана.


Приложение Б

Предикаты Arity/Prolog32

A

аbolish(+Name/Arity)

Удаляет из базы данных все фразы с заданными именем Name и арностью Arity.

abort(+Code)

Производит переход к предикату restart. Если не имеется предиката  restart, то прекращается выполнение откомпилированной программы, а для интерпретируемой программы осуществляется возврат в интерпретатор.

arg(+N,+Term,-Value)

Унифицирует Value с N-ым аргументом терма Term.

arg0(+N,+Term,-Value)

Унифицирует Value с N+1-ым аргументом терма Term.

argrep(+Term,+N,+Arg,-Newterm)

Заменяет N-ый аргумент в терме на Arg и унифицирует результат с Newterm.

assert(+Clause)

Добавляет фразу к предикату. Эквивалентен assertz.

assert(+Clause,+N)

Добавляет фразу Clause к предикату в качестве N-ой фразы.

asserta(+Clause)

Добавляет фразу Clause к предикату в качестве первой фразы.

assertz(+Clause)

Добавляет фразу Clause к предикату в качестве последней фразы.

atom(?X)

Согласуется, если X является атомом.

atom_string(?Atom,?String)