У.Клоксин, К.Меллиш
Книга английских специалистов, содержащая описание основ логического
программирования
и особенностей языка Пролог — базового языка ЭВМ пятого
поколения. Области
применения этого языка связаны с разработкой экспертных
систем, интеллектуальных
баз данных, обработкой естественного языка,
разработкой компиляторов ЭВМ.
Книга полезна для первого ознакомления с
языком Пролог.
Для программистов
и пользователей ЭВМ.
Математический
анализ
Компьтерные
сети локальные и глобальные
ОГЛАВЛЕНИЕ
Глава 1. Введение
16
1.1. Факты 18
1.2. Вопросы 20
1.3. Переменные 22
1.4. Конъюнкции
25
1.5. Правила 31
1.6. Заключение и упражнения 38
Глава 2. Более детальное описание 39
2.1. Синтаксические правила 39
2.2.
Литеры 46
2.3. Операторы 47
2.4. Равенство и установление соответствия
49
2.5. Арифметика 51
2.6. Общая схема согласования целевых утверждений
56
Глава 3. Использование структур данных 63
3.1.
Структуры и деревья 63
3.2. Списки 65
3.3. Принадлежность элементов списку
69
3.4. Пример: преобразование предложений 74
3.5. Пример: упорядочение
по алфавиту 78
3.6. Использование предиката «присоединить» и спецификация
деталей 80
Глава 4. Возврат и отсечение 84
4.1.
Порождение множественных решений 85
4.2. Отсечение 91
4.3. Общие случаи
использования отсечения 96
4.4. Проблемы, связанные с использованием отсечения
109
Глава 5. Ввод и вывод 112
5.1. Ввод и вывод
термов 114
5.2. Ввод и вывод литер 119
5.3. Ввод предложений 121
5.4.
Чтение файлов и запись в файлы 123
5.5. Объявление операторов 127
Глава 6. Встроенные предикаты 130
6.1. Ввод новых утверждений 131
6.2.
Выполнение и невыполнение целевого утверждения 133
-6.3. Классификация термов
134
6.4. Работа с утверждениями как с термами 136
6.5. Создание структур
и работа с компонентами структур 140
6.6. Воздействие на процесс возврата
145
6.7. Формирование составных целевых утверждений 147
6.8. Равенство
151
6.9. Ввод и вывод данных 152
6.10. Обработка файлов 154
6.11.
Вычисление арифметических выражений 155
6.12. Сравнение чисел 157
6.13.
Наблюдение за выполнением программы на Прологе 158
Глава 7. Еще несколько примеров программ 160
7.1. Словарь
в виде упорядоченного дерева 161
7.2. Поиск в лабиринте 164
7.3. Ханойские
башни ~ 168
7.4. Справочник комплектующих деталей 169
7.5. Обработка списков
171
7.6. Представление и обработка множеств 174
7.7. Сортировка 177
7.8. Использование базы данных: random, генатом, найтивсе 181
7.9. Поиск по
графу 187
7.10. Просеивай Двойки. Просеивай Тройки 193
7.11. Символьное
дифференцирование 194
7.12. Отображение структур и преобразование деревьев
196
7.13. Применение предикатов clause и retract 200
Глава 8. Отладка пролог-программ 205
8.1. Расположение текстов программ 206
8.2. Типичные ошибки 209
8.3. Модель трассировки 212
8.4. Трассировка
и контрольные точки 219
8.5. Фиксация ошибок 230
Глава 9. Использование грамматических правил в Прологе 234
9.1. Проблема синтаксического
анализа 234
9.2. Описание синтаксического анализа на языке Пролог 238
9.3. Запись грамматических правил в Прологе 244
9.4. Присоединение дополнительных
аргументов 247
9.5. Введение дополнительных условий 252
9.6. Заключение
255
Встроенные
типы данных, операции над ними, объектно-ориентированное программирование в Java,
пакеты и интерфейсы
Глава 10. Пролог и
математическая логика 260
10.1. Краткое введение в исчисление предикатов 260
10.2. Приведение формул к стандартной форме 264
10.3. Форма записи дизъюнктов
271
10.4. Принцип резолюций и доказательство теорем 273
10.5. Хорновские
дизъюнкты 277
10.6. Пролог 279
10.7. Пролог и логическое программирование
282
Глава 11. Программные проекты на Прологе 286
11.1. Простые проекты 286
11.2. Более сложные проекты 289
Лекция
1 Формальная логика. Логика предикатов. Фразы Хорна. Принцип резолюции
Лекция
2 Логика предикатов
Лекция 3 Алгоритм
основан на принципе резолюции.
Лекция
4 Процедуры. Отсечение.
Лекция
5 Рекурсия. Итерационное программирование. Вычислительная рекурсия
Лекция
6 Рекурсивные структуры данных Бинарные деревья
Лекция
7 Разработка экспертных систем Графы. Графы пространства состояний. Стратегия
поиска
Примерные вопросы экзамена
Примеры
решения задач Электростатика