ВикиЧтение
ВикиЧтение
Программирование на языке Пролог для искусственного интеллекта
Братко Иван
5.3. Отрицание как неуспех
We use cookies. Read the
Privacy and Cookie Policy
I accept
Читайте также
Содержание
От редактора перевода
Предисловие
Предисловие автора
Часть 1 Язык Пролог
Глава 1 Общий обзор языка Пролог
1.1. Пример программы: родственные отношения
1.2. Расширение программы-примера с помощью правил
1.3. Рекурсивное определение правил
1.5. Декларативный и процедурный смысл программ
Глава 2 Синтаксис и семантика Пролог-программ
2.1. Объекты данных
2.1.2. Переменные
2.3. Декларативный смысл пролог-программ
2.5. Пример: обезьяна и банан
2.6.2. Варианты программы, полученые путем переупорядочивания предложений и целей
2.6.3. Сочетание декларативного и процедурного подходов
2.7. Замечания о взаимосвязи между Прологом и логикой
Резюме
Глава 3 Списки, операторы, арифметика
3.1. Представление списков
3.2. Некоторые операции над списками
3.2.1. Принадлежность к списку
3.2.2. Сцепление (конкатенация)
3.2.3. Добавление элемента
3.2.4. Удаление элемента
3.2.5. Подсписок
3.2.6. Перестановки
Резюме
Глава 4 Использование структур: примеры
4.1. Получение структурированной информации из базы данных
4.2. Абстракция данных
4.3. Моделирование недетерминированного автомата
4.4. Планирование поездки
4.5. Задача о восьми ферзях
4.5.1. Программа 1
4.5.2. Программа 2
4.5.3. Программа 3
4.5.4. Заключительные замечания
Резюме
Глава 5 Управление перебором
5.1. Ограничение перебора
5.1.2. Эксперимент 2
5.2. Примеры, использующие отсечение
5.2.1. Вычисление максимума
5.2.2. Процедура проверки принадлежности списку, дающая единственное решение
5.2.3. Добавление элемента к списку, если он в нем отсутствует (добавление без дублирования)
5.2.4. Задача классификации объектов
5.4. Трудности с отсечением и отрицанием
Резюме
Глава 6 Ввод и вывод
6.1. Связь с файлами
6.2.2. Вывод списков
6.5. Ввод программ: consult, reconsult
Резюме
Глава 7 Другие встроенные процедуры
7.1. Проверка типов термов
7.1.1. Предикаты var , nоnvar , atom , integer , atomic
Резюме
Глава 8 Стиль и методы программирования
8.1. Общие принципы хорошего программирования
8.2. Как представлять себе программы на Прологе
8.2.1. Использование рекурсии
8.2.2. Обобщение
8.2.3. Использование рисунков
8.3. Стиль программирования
8.3.1. Некоторые правила хорошего стиля
8.3.2. Табличная организация длинных процедур
8.3.3. Комментирование
8.4. Отладка
8.5. Эффективность
8.5.1. Повышение эффективности решения задачи о восьми ферзях
8.5.2. Повышение эффективности программы раскраски карты
8.5.4. Повышение эффективности зa счет добавления вычисленных фактов к базе данных
Резюме
Часть 2 Пролог в искусственном интеллекте
Глава 9 Операции над структурами данных
9.1. Представление списков. Сортировка
9.1.1. Замечания в некоторых альтернативных способах представления списков
9.1.2. Сортировка списков
9.2. Представление множеств двоичными деревьями
9.3. Двоичные справочники: добавление и удаление элемента
9.4. Отображение деревьев
9.5.2. Поиск пути в графе
Резюме
Глава 10 Усовершенствованные методы представления множеств деревьями
10.1. Двоично-троичные справочники
10.2. AVL-дерево: приближенно сбалансированное дерево
Резюме
Глава 11. Основные стратегии решения задач
11.1. Предварительные понятия и примеры
11.2. Стратегия поиска в глубину
11.3. Поиск в ширину
11.3.1. Списковое представление множества кандидатов
11.3.2. Древовидное представление множества кандидатов
11.4. Замечания относительно поиска в графах, оптимальности к сложности
Резюме
Глава 12 Поиск с предпочтением: эвристический поиск
12.2. Поиск c предпочтением применительно к головоломке "игра в восемь"
12.3. Применение поиска с предпочтением к планированию выполнения задач
Резюме
Глава 13 Сведение задач к подзадачам. И/ИЛИ-Графы
13.1. Представление задач в виде И/ИЛИ-графов
13.2. Примеры И/ИЛИ-представления задач
13.2.1. И/ИЛИ-представление задачи поиска маршрута
13.2.2. Задача о ханойской башне
13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов
13.4. Поиск с предпочтением в И/ИЛИ-графах
13.4.1. Эвристические оценки и алгоритм поиска
13.4.2. Программа поиска
Резюме
Глава 14 Экспертные системы
14.1. Функции, выполняемые экспертной системой
14.2. Грубая структура экспертной системы
14.4.1. Процесс рассуждений
14.4.2. Формирование ответа на вопрос "почему"
14.4.3. Формирование ответа на вопрос "как"
14.5. Реализация
14.5.4. Процедура выдать
14.5.6. Одно замечание по поводу программы-оболочки
14.6. Работа с неопределенностью
14.6.1. Степень достоверности
14.7. Заключительные замечания
Резюме
Глава 15 Игры
15.1. Игры двух лиц с полной информацией
15.4. Минимаксные игровые программы: усовершенствования и ограничения
15.5. Знания о типовых ситуациях и механизм "советов"
15.5.1. Цели и ограничения на ходы
15.5.2. Выполнимость совета
15.5.3. Правила и таблицы советов
15.6. Программа на языке AL0 для игры в шахматном эндшпиле
Резюме
Глава 16 Программирование в терминах типовых конфигураций
16.1. Архитектура, ориентированная на типовые конфигурации
16.1.1. Основные понятия
16.1.2. Прологовские программы как системы, управляемые образцами
16.1.3. Пример составления программы
16.2. Простой интерпретатор программ, управляемых образцами
16.4. Заключительные замечания
Резюме