Программирование на языке ПРОЛОГ для искуственного интеллекта

       

Программирование на языке ПРОЛОГ для искуственного интеллекта

Синтаксис и семантика Пролог программ
Объекты данных
Атомы и числа
Переменные
Имеетребенка( X) :- родитель( X, Y)
Имеетребенка( X) :- родитель( X, _ )
Некто_имеет_ребенка :- родитель( X, Y)

?- Родитель( X, _ )
Структуры
Сопоставление

Процедурная семантика
Пример: обезьяна и банан


Декларативный смысл пролог-программ

Замечания о взаимосвязи между Прологом и логикой
Резюме
Опасность бесконечного цикла
Варианты программы, полученые путем переупорядочивания предложений и целей

Сочетание декларативного и процедурного подходов
СПИСКИ, ОПЕРАТОРЫ, АРИФМЕТИКА
Представление списков
Операторная запись (нотация)

Арифметические действия
Резюме
Некоторые операции над списками
Принадлежность к списку
Сцепление ( конкатенация)
Добавление элемента

Удаление элемента
Подсписок
Перестановки
Использование структур: примеры
Получение структурированной информации из базы данных

Абстракция данных
Планирование поездки
Моделирование недетерминированного автомата

Управление перебором
Ограничение перебора
Эксперимент 1
Задача о восьми ферзях

Программа 2
Программа 3
Заключительные замечания

Резюме
Вычисление максимума
Процедура проверки принадлежности списку, дающая единственное решение
Добавление элемента к списку, если он в нем отсутствует (добавление без дублирования)
Задача классификации объектов
Трудности с отсечением и отрицанием

Резюме
Ввод и вывод
Связь с файлами
Reаd и write

Вывод списков
Формирование термов
Обработка произвольного файла термов