Читаем Prolog полностью

Вперёд >>>

Иван Братко

Программирование на языке Пролог для искусственного интеллекта

Перевод с английского.

Москва, "МИР", 1990      подробнее...

Электронную версию книги создал Иванов Виктор Михайлович. Книга размещена на сайте http://dstu2204.narod.ru/   ( на этой странице ).

ОГЛАВЛЕНИЕ

Обложка

От редактора перевода

Предисловие

Предисловие автора

ЧАСТЬ 1. ЯЗЫК ПРОЛОГ

Глава 1.  Общий обзор языка Пролог

1.1.  Пример программы: родственные отношения

1.2.  Расширение программы-примера с помощью правил

1.3.  Рекурсивное определение правил

1.4.  Как пролог-система отвечает на вопросы

1.5.  Декларативный и процедурный смысл программ

Глава 2.  Синтаксис и семантика пролог-программ

2.1.  Объекты данных

2.1.1.  Атомы и числа

2.1.2.  Переменные

2.1.3.  Структуры

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.  Задача о восьми ферзях

4.5.1.  Программа 1

4.5.2.  Программа 2

4.5.3.  Программа 3

4.5.4.  Заключительные замечания

Глава 5.  Управление перебором

5.1.  Ограничение перебора

5.1.1.  Эксперимент 1

5.1.2.  Эксперимент 2

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.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.3.  Повышение эффективности конкатенации списков за счет совершенствования структуры данных

8.5.4.  Повышение эффективности зa счет добавления вычисленных фактов к базе данных

ЧАСТЬ 2. ПРОЛОГ В ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ

Глава 9.  Операции над структурами данных

9.1.  Представление списков. Сортировка

9.1.1.  Замечания в некоторых альтернативных способах представления списков

9.1.2.  Сортировка списков

9.2.  Представление множеств двоичными деревьями

9.3.  Двоичные справочники: добавление и удаление элемента

9.4.  Отображение деревьев

9.5  Графы

9.5.1.  Представление графов

9.5.2.  Поиск пути в графе

9.5.3.  Построение остовного дерева

Глава 10.   Усовершенствованные методы представления множеств деревьями

10.1.  Двоично-троичные справочники

10.2.  AVL-дерево: приближенно сбалансированное дерево

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных