Лекция-презентация в формате pdf о языке Prolog. Автор неизвестен.
Фрагменты из лекции:
Способы представления данных в языке Пролог
База данных фактов
Структуры
Списки
Базы данных в Прологе
Под Базой Данных (БД) понимается совокупность фактов.
Если набор фактов задается на этапе разработки программы и не изменяется во время работы, то база данных является статической.
Статические БД используются для представления устойчивых отношений, неизменных во времени, например, справочной информации.
Все предикаты, описанные в разделе predicates, относятся к статической БД.
Пролог позволяет работать с динамическими БД, в которые можно записывать новые факты и удалять устаревшие во время работы программы.
Динамические БД позволяют отражать изменения данных.
Все предикаты, описанные в разделе database, относятся к динамической БД.
Список как частный вид структуры
Под списком понимается упорядоченная последовательность элементов, которая может иметь произвольную длину.
Признак упорядоченный указывает на то, что порядок элементов в последовательности является существенным и список [1,2,3] не эквивалентен списку [3,2,1].
Элементами списка могут быть любые термы - константы, переменные, структуры, последние могут включать в себя другие списки.
Списки – это частный вид структуры, которая предопределена в языке Пролог. Список является рекурсивной структурой данных.
Список - это либо пустой список, не содержащий не одного элемента, либо структура, имеющая два компонента : голову и хвост. Конец списка представляется как хвост, который является пустым списком.
Способы представления списков.
Их 3 : функторный, графический и скобочный.
При использовании функторной формы записи голова и хвост являются компонентами функтора, обозначаемого точкой ".”.
При использовании графической формы записи список представляется как специального вида дерево, "растущее” слева направо, причем ветви направлены вниз ("виноградная гроздь”).
При использовании скобочной формы записи последовательность элементов списка, разделенных запятыми, заключается в квадратные скобки.
Описание списков в Прологе
Графическая форма записи списка в виде "виноградной лозы” удобна для записи списков на бумаге, но в Пролог-программах не используется. Функторная форма записи оказывается неудобной для записи сложных списков. В Прологе для записи списков используется скобочная форма записи.
Что читать
Братко, Иван. Б87 Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание. : Пер. с англ. — М. : Издательский дом "Вильяме", 2001. — 640 с. Глава 3. Списки, операции, арифметические выражения 3.1. Представление списков Глава 4. Использование структур: примеры программ 4.1. Выборка структурированной информации из базы данных Глава 7. Дополнительные встроенные предикаты 7.4. Операции с базой данных
У.Клоксин, К. Мелиш. Программирование на языке Пролог Глава 3. Использование структур данных