Книга английских специалистов, содержащая описание основ логического
программирования и особенностей языка Пролог — базового языка ЭВМ пятого
поколения. Области применения этого языка связаны с разработкой экспертных
систем, интеллектуальных баз данных, обработкой естественного языка,
разработкой компиляторов ЭВМ. Книга полезна для первого ознакомления
с
языком Пролог.
Для программистов и пользователей ЭВМ.
ОГЛАВЛЕНИЕ
Глава
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
Глава 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