Книги автора: Программирование на языке Пролог для искусственного интеллектаProlog Programming For Artificial Intelligence
/ Книги автора: Программирование на языке Пролог для искусственного интеллектаProlog Programming For Artificial Intelligence
/ Книги автора: Программирование на языке Пролог для искусственного интеллектаProlog Programming For Artificial Intelligence
/ Книги автора: Программирование на языке Пролог для искусственного интеллектаProlog Programming For Artificial Intelligence
/ Книга: Программирование на языке Пролог для искусственного интеллекта
Оглавление книги
- От редактора перевода
- Предисловие
- Предисловие автора
- Часть 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.6.1. Опасность бесконечного цикла
- 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. Перестановки
- 3.3. Операторная запись (нотация)
- 3.4. Арифметические действия
- Резюме
- Глава 4 Использование структур: примеры
- 4.1. Получение структурированной информации из базы данных
- 4.2. Абстракция данных
- 4.3. Моделирование недетерминированного автомата
- 4.4. Планирование поездки
- 4.5. Задача о восьми ферзях
- Резюме
- Глава 5 Управление перебором
- 5.1. Ограничение перебора
- 5.2. Примеры, использующие отсечение
- 5.2.1. Вычисление максимума
- 5.2.2. Процедура проверки принадлежности списку, дающая единственное решение
- 5.2.3. Добавление элемента к списку, если он в нем отсутствует (добавление без дублирования)
- 5.2.4. Задача классификации объектов
- 5.3. Отрицание как неуспех
- 5.4. Трудности с отсечением и отрицанием
- Резюме
- Глава 6 Ввод и вывод
- 6.1. Связь с файлами
- 6.2. Обработка файлов термов
- 6.2.1. reаd и write
- 6.2.2. Вывод списков
- 6.2.3. Формирование термов
- 6.2.4. Обработка произвольного файла термов
- 6.3. Обработка символов
- 6.4. Создание и декомпозиция атомов
- 6.5. Ввод программ: consult, reconsult
- Резюме
- Глава 7 Другие встроенные процедуры
- 7.1. Проверка типов термов
- 7.1.1. Предикаты var, nоnvar, atom, integer, atomic
- 7.1.2. Решение числового ребуса с использованием nonvar
- 7.2. Создание и декомпозиция термов: =.., functor, arg, name
- 7.3. Различные виды равенства
- 7.4. Работа с базой данных
- 7.5. Средства управления
- 7.6. bagof, setof и findall
- Резюме
- Глава 8 Стиль и методы программирования
- 8.1. Общие принципы хорошего программирования
- 8.2. Как представлять себе программы на Прологе
- 8.3. Стиль программирования
- 8.3.1. Некоторые правила хорошего стиля
- 8.3.2. Табличная организация длинных процедур
- 8.3.3. Комментирование
- 8.4. Отладка
- 8.5. Эффективность
- 8.5.1. Повышение эффективности решения задачи о восьми ферзях
- 8.5.2. Повышение эффективности программы раскраски карты
- 8.5.3. Повышение эффективности конкатенации списков за счет совершенствования структуры данных
- 8.5.4. Повышение эффективности зa счет добавления вычисленных фактов к базе данных
- Резюме
- Часть 2 Пролог в искусственном интеллекте
- Глава 9 Операции над структурами данных
- 9.1. Представление списков. Сортировка
- 9.1.1. Замечания в некоторых альтернативных способах представления списков
- 9.1.2. Сортировка списков
- 9.2. Представление множеств двоичными деревьями
- 9.3. Двоичные справочники: добавление и удаление элемента
- 9.4. Отображение деревьев
- 9.5. Графы
- Резюме
- Глава 10 Усовершенствованные методы представления множеств деревьями
- Глава 11. Основные стратегии решения задач
- 11.1. Предварительные понятия и примеры
- 11.2. Стратегия поиска в глубину
- 11.3. Поиск в ширину
- 11.3.1. Списковое представление множества кандидатов
- 11.3.2. Древовидное представление множества кандидатов
- 11.4. Замечания относительно поиска в графах, оптимальности к сложности
- Резюме
- Глава 12 Поиск с предпочтением: эвристический поиск
- 12.1. Поиск с предпочтением
- 12.2. Поиск c предпочтением применительно к головоломке "игра в восемь"
- 12.3. Применение поиска с предпочтением к планированию выполнения задач
- Резюме
- Глава 13 Сведение задач к подзадачам. И/ИЛИ-Графы
- 13.1. Представление задач в виде И/ИЛИ-графов
- 13.2. Примеры И/ИЛИ-представления задач
- 13.2.1. И/ИЛИ-представление задачи поиска маршрута
- 13.2.2. Задача о ханойской башне
- 13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов
- 13.3. Базовые процедуры поиска в И/ИЛИ-графах
- 13.4. Поиск с предпочтением в И/ИЛИ-графах
- 13.4.1. Эвристические оценки и алгоритм поиска
- 13.4.2. Программа поиска
- 13.4.3. Пример отношений, определяющих конкретную задачу: поиск маршрута
- Резюме
- Глава 14 Экспертные системы
- 14.1. Функции, выполняемые экспертной системой
- 14.2. Грубая структура экспертной системы
- 14.3. Правила типа "если-то" для представления знаний
- 14.4. Разработка оболочки
- 14.4.1. Процесс рассуждений
- 14.4.2. Формирование ответа на вопрос "почему"
- 14.4.3. Формирование ответа на вопрос "как"
- 14.5. Реализация
- 14.5.1. Процедура рассмотреть
- 14.5.2. Процедура ответпольз
- 14.5.3. Усовершенствование процедуры ответпольз
- 14.5.4. Процедура выдать
- 14.5.5. Драйвер верхнего уровня
- 14.5.6. Одно замечание по поводу программы-оболочки
- 14.5.7. Цели с отрицанием
- 14.6. Работа с неопределенностью
- 14.7. Заключительные замечания
- Резюме
- Глава 15 Игры
- 15.1. Игры двух лиц с полной информацией
- 15.2. Минимаксный принцип
- 15.3. Альфа-бета алгоритм: эффективная реализация минимаксного принципа
- 15.4. Минимаксные игровые программы: усовершенствования и ограничения
- 15.5. Знания о типовых ситуациях и механизм "советов"
- 15.6. Программа на языке AL0 для игры в шахматном эндшпиле
- 15.6.1. Миниатюрный интерпретатор языка AL0
- 15.6.2. Программа на языке советов для эндшпиля "король и ладья против короля"
- Резюме
- Глава 16 Программирование в терминах типовых конфигураций
- 16.1. Архитектура, ориентированная на типовые конфигурации
- 16.1.1. Основные понятия
- 16.1.2. Прологовские программы как системы, управляемые образцами
- 16.1.3. Пример составления программы
- 16.2. Простой интерпретатор программ, управляемых образцами
- 16.3. Простая программа для автоматического доказательства теорем
- 16.4. Заключительные замечания
- Резюме
- Ответы к некоторым упражнениям
- Сноски из книги
- Содержание книги
- Популярные страницы
Похожие страницы
- 1.1. Введение в объектно-ориентированное программирование
- Программирование на языке Пролог для искусственного интеллекта
- 15.4. Программирование для отладки
- 3.2. Определение горизонтальных и вертикальных ограничений на языке визуального форматирования
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- 2. Унарные операции на языке структурированных запросов
- 3. Бинарные операции на языке структурированных запросов
- Введение Визуализация работы коллективного интеллекта
- История развития компьютеров (вместо пролога)
- Системы бизнес-интеллекта
- Листинг 9.2. Сценарий на языке Perl для подмены баннеров и закрытия всплывающих окон
- Глава 15. Программирование на VBA в Word.