Книга известного специалиста по программированию (Югославия), содержащая основы языка Пролог и его приложения для решения задач искусственного интеллекта. Изложение отличается методическими достоинствами - книга написана в хорошем стиле, живым языком. Книга дополняет имеющуюся на русском языке литературу по языку Пролог.Для программистов разной квалификации, специалистов по искусственному интеллекту, для всех изучающих программирование.
Author(s): Братко И.
Publisher: Мир
Year: 1990
Language: Russian
Pages: 560
City: Москва
От редактора перевода
Предисловие
Предисловие автора
ЧАСТЬ 1. ЯЗЫК ПРОЛОГ 1
Глава 1. Общий обзор языка Пролог 1
1.1. Пример программы: родственные отношения * * 1
1.2. Расширение программы-примера с помощью правил!
1.3. Рекурсивное определение правил
1.4. Как пролог-система отвечает иа вопросы
1.5. Декларативный и процедурный смысл программ
Глава 2. Синтаксис и семантика пролог-программ
2.1. Объекты данных
2.2. Сопоставление
2.3. Декларативный смысл пролог-программ
2.4. Процедурная семантика
2.5. Пример: обезьяна и банан
2.6. Порядок предложений и целей
2.7. Замечания о взаимосвязи между Прологом и логикой
Глава 3. Списки. Операторы. Арифметика
3.1. Представление списков
3.2. Некоторые операции над списками
3.3. Операторная запись (нотация)
3.4. Арифметические действия
Глава 4. Использование структур: примеры
4.1. Получение структурированной информации из базы данных
4.2. Абстракция данных
4.3. Моделирование недетерминированного автомата
4.4. Планирование поездки
4.5. Задача о восьми ферзях
Глава 5. Управление перебором 164
5.1. Ограничение перебора 164
5.2. Примеры, использующие отсечение 171
5.3. Отрицание как неуспех 176
5.4: Трудности с отсечением и отрицанием 181
Глава 6. Ввод и вывод 186
6.1. Связь с файлами 186
6.2. Обработка файлов термов 190
6.3. Обработка символов 199
6.4. Создание и декомпозиция атомов 201
6.5. Ввод программ: consult, reconsult 205
Глава 7. Другие встроенные процедуры 208
7.1. Проверка типов термов 208
7.2. Создание н декомпозиция термов :=..; functor, org 218
7.3. Различные виды равенства 225
7.4. Работа с базой данных 226
7.5. Средства управлении 231
7.6. bagof, setof и findall 232
Глава 8. Стиль н методы программирования 238
8.1. Общие принципы хорошего программирования 238
8.2. Как представлять себе программы иа Прологе 242
8.3. Стиль программирования 245
8.4. Отладка 250
8.5. Эффективность 252
ЧАСТЬ 2. ПРОЛОГ В ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ 267
Глава 9. Операции над структурами данных 268
9.1. Представление списков. Сортировка 268
9.2. Представление множеств двоичными деревьями 278
9.3. Двоичные справочники: добавление и удаление элемента 286
9.4. Отображение деревьев 292
9.5. Графы 295
Глава 10. Усовершенствованные методы представления множеств деревьями 306
10.1. Двоично-троичные справочники 306
10.2. AVL-дерево: приближенно сбалансированное дерево 316
Глава 11. Основные стратегии решения задач 323
11.1. Предварительные понятия и примеры 323
11.2. Стратегия поиска в глубину 330
11.3. Поиск в ширину 336
11.4. Замечания относительно поиска в графах, оптимальности и сложности 345
Глава 12. Поиск с предпочтением: эвристический поиск 34
12.1. Поиск с предпочтением
12.2. Поиск с предпочтением применительно к головоломке "игра в восемь"
12.3. Применение поиска с предпочтением к планированию выполнения задач
Глава 13. Сведение задач к подзадачам. И/ИЛИ-графы
13.1. Представление задач в виде И/ИЛИ-графов
13.2. Примеры И/ИЛИ-представления задач
13.3. Базовые процедуры поиска в И/ИЛИ-графах
13.4. Поиск с предпочтением в И/ИЛИ-графах
Глава 14. Экспертпые системы 414
14.1. Функции, выполняемые экспертной системой 414
14.2. Грубая структура экспертной системы 416
14.3. Правила типа «если-то» для представления знаний 417
14.4. Разработка оболочки 424
14.5. Реализация 434
14.6. Работа с неопределенностью 451
14.7. Заключительные замечания 461
Глава 15. Игры 472
15.1. Игры двух лиц с полной информацией 472
15.2. Минимаксный принцип 475
15.3. Альфа-бета алгоритм: эффективная реализация минимаксного принципа 479
15.4. Минимаксные игровые программы: усовершенствования и ограничения 485
15.5. Знания о типовых ситуациях и механизм «советов» 488
15.6. Программа на языке ALO для игры в шахматном эндшпиле 494
Глава 16. Программирование в терминах типовых конфигураций 514
16.1. Архитектура, ориентированная на типовые конфигурации 514
16.2. Простой интерпретатор программ, управляемых образцами 521
16.3. Простая программа для автоматического доказательства теорем 524
16.4. Заключительные замечания 532
Ответы к некоторым упражнениям 536
Предметный указатель 552