
- •Содержание
- •1. Введение в логическое программирование
- •1.1. История
- •1.2. Логический вывод
- •1.3. Применение метода резолюций для ответов на вопросы
- •2. Введение в язык пролог
- •2.1. Особенности языка Пролог
- •2.2. Пример Пролог-программы: родственные отношения
- •2.3. Фразы Хорна как средство представления знания
- •2.4. Алгоритм работы интерпретатора Пролога
- •3. Семантика пролога
- •3.1. Порядок предложений и целей
- •Этот вызов приводит к бесконечному циклу
- •Вариант 4
- •3.2. Декларативная и процедурная семантики
- •4. Структуры данных
- •4.1. Арифметика в Прологе
- •4.2. Структуры
- •4.3. Списки
- •4.4. Примеры использования структур
- •5. Внелогические предикаты управления поиском
- •5.1. Ограничение перебора
- •Предположение о замкнутости мира
- •Тогда и только тогда, когда
- •Отрицание в явной форме
- •5.5. Программирование повторяющихся операций Повторение и откат
- •Повтор, определяемый пользователем
- •6. Метапрограммирование
- •6.1. Эквивалентность программ и данных
- •6.2. Предположение об открытости мира
- •7. Внелогические предикаты базы знаний и ввода-вывода
- •7.1. Доступ к программам и обработка программ
- •Загрузка базы данных (файла с программой)
- •Информирует систему, что указанный предикат может быть определен более чем в одном файле. Это предотвращает consult/1 от переопределения предикатов, когда новое определение найдено.
- •7.2. Ввод и вывод
- •7.3. Работа с базой данных “Достопримечательности”
- •7.4. Программирование второго порядка
- •7.5. Запоминающие функции
- •8. Модификация синтаксиса (операторная запись)
- •9. Примеры программ
- •9.1. Мутанты
- •9.2. Олимпиадная задача
- •Рекомендуемая литература
Содержание
1. ВВЕДЕНИЕ В ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ ………... |
5 |
1.1. История ………………………………………………………………. |
5 |
1.2. .Логический вывод ……………………………………………….….. |
6 |
1.3. Применение метода резолюций для ответов на вопросы ………… |
10 |
2. ВВЕДЕНИЕ В ЯЗЫК ПРОЛОГ ………………………………………. |
12 |
2.1. Особенности языка Пролог …………………………………………. |
12 |
2.2. Пример Пролог-программы: родственные отношения …………… |
13 |
2.3. Фразы Хорна как средство представления знания ………………... |
16 |
2.4. Алгоритм работы интерпретатора Пролога …………………….…. |
17 |
3. СЕМАНТИКА ПРОЛОГА ……………………………………………. |
19 |
3.1. Порядок предложений и целей ………………………………….….. |
19 |
3.2. Декларативная и процедурная семантики …………………………. |
22 |
4. СТРУКТУРЫ ДАННЫХ ……………………………………………… |
23 |
4.1. Арифметика в Прологе ……………………………………………… |
23 |
4.2. Структуры ……………………………………………………………. |
26 |
4.3. Списки …………………………………………………………….….. |
28 |
4.4. Примеры использования структур …………………………………. |
32 |
5. ВНЕЛОГИЧЕСКИЕ ПРЕДИКАТЫ УПРАВЛЕНИЯ ПОИСКОМ …. |
35 |
5.1. Ограничение перебора ………………………………………………. |
35 |
5.2. Примеры, использующие отсечение ……………………………….. |
38 |
5.3. Отрицание как неудача ……………………………………………… |
40 |
5.4. Трудности с отсечением и отрицанием ……………………………. |
42 |
5.5. Программирование повторяющихся операций ……………………. |
43 |
6. MЕТАПРОГРАММИРОВАНИЕ ……………………………………... |
45 |
6.1. Эквивалентность программ и данных ……………………………... |
45 |
6.2. Предположение об открытости мира ………………………………. |
45 |
7. ВНЕЛОГИЧЕСКИЕ ПРЕДИКАТЫ БАЗЫ ЗНАНИЙ И ВВОДА-ВЫВОДА …………………………………………………….. |
47 |
7.1. Доступ к программам и обработка программ ……………………... |
47 |
7.2. Ввод и вывод ………………………………………………………… |
49 |
7.3. Работа с базой данных “Достопримечательности” …………….…. |
50 |
7.4. Программирование второго порядка ………………………………. |
52 |
7.5. Запоминающие функции ……………………………………………. |
54 |
8. МОДИФИКАЦИЯ СИНТАКСИСА (ОПЕРАТОРНАЯ ЗАПИСЬ) … |
57 |
9. ПРИМЕРЫ ПРОГРАММ ……………………………………………….. |
60 |
9.1. Мутанты …………………………………………………………….. |
60 |
9.2. Олимпиадная задача ………………………………………………... |
61 |
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА …………………………………….. |
63 |
Читатель никогда не извлекает из книги тот смысл, который вложил в нее автор.
Джордж Бернард Шоу