На главную страницу
Форум txt.version   



Статья :: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ : У Клоксин

Книга английских специалистов, содержащая описание основ логического программирования и особенностей языка Пролог – базового языка ЭВМ пятого поколения. Области применения этого языка связаны с разработкой экспертных систем, интеллектуальных баз данных, обработкой естественного языка, разработкой компиляторов ЭВМ. Книга полезна для первого ознакомления с языком Пролог.

ПРЕДИСЛОВИЕ РЕДАКТОРОВ ПЕРЕВОДА

Язык программирования Пролог появился в 1970 г. одновременно с такими сейчас широко распространенными языками, как Паскаль и Си. Его ориентация – «нетрадиционные» применения вычислительной техники: понимание естественного языка, базы знаний, экспертные системы и другие задачи, которые принято относить к проблематике искусственного интеллекта. Сила этого языка – в принципиально отличном от традиционных языков программирования подходе к описанию способа решения задачи: программа на Прологе описывает не процедуру решения задачи, а логическую модель предметной области – некоторые факты относительно свойств предметной области и отношений между этими свойствами, а также правила вывода новых свойств и отношений из уже заданных. Таким образом, Пролог – описательный язык. Как отмечено в авторском предисловии, такой логический подход к программированию создает и некоторые проблемы в распространении языка: основные понятия языка опытными программистами понимаются без труда, однако практическое претворение этого понимания в полезные программы вызывает затруднения.

Несмотря на очевидные и яркие достоинства, Пролог, в отличие от своих «сверстников» (Паскаля и Си), продолжительное время развивался, применялся и обсуждался в сравнительно узком кругу исследователей, работающих в области искусственного интеллекта. И лишь в последние годы Пролог попал в поле зрения широких кругов специалистов по информатике. Резкий рост его популярности объясняется, по-видимому, выходом теории искусственного интеллекта в область практического, «коммерческого» программирования.

В настоящее время растет круг практических систем, использующих достижения искусственного интеллекта на современных ЭВМ, появились престижные национальные проекты создания ЭВМ новых поколений, в которых интеллектуальный интерфейс с конечным пользователем (непрофессионалом в информатике) является центральным элементом. В японском проекте создания ЭВМ пятого поколения Пролог прямо называется базовым языком программирования. По-видимому, Пролог реально претендует на роль одного из основных инструментальных языков для «нетрадиционных» применений вычислительной техники, поэтому своевременное знакомство с ним отечественных специалистов, работающих в данной области, будет несомненно полезным.

В социалистических странах активное участие в разработках, связанных с Прологом, принимают ученые ВНР. В Институте по координации вычислительной техники (г. Будапешт) создана версия Пролога – МПролог, получившая международное признание. Не исключено, что МПролог будет широко доступен и пользователям нашей страны. Этим объясняется включение в русское издание специального приложения (F) посвященного МПрологу.

При переводе книги встретились значительные терминологические проблемы, поскольку установившаяся русская терминология в данной области практически отсутствует, а станет ли таковой англоязычный жаргон специалистов – покажет время. Для удобства читателей в предметном указателе приведены английские эквиваленты терминов, употребляемых в переводе.

Предисловие, главы 1,3-6, 9, 10 и Приложение В перевел М. М. Комаров, главы 7, 8, 11, Приложения А,С, D, E, F- А. В. Горбунов, главу 2 – Ю. М. Лазутин.

ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ

После выхода в 1981 г. первого издания книги «Программирование на языке Пролог» этот язык вызвал неожиданно большой интерес у специалистов по информатике, и в настоящее время он рассматривается как возможная основа для принципиально нового поколения языков и систем программирования.

Мы надеемся, что данная книга частично удовлетворила возрастающую потребность в простом и в то же время исчерпывающем введении в язык практического программирования, каким является Пролог. При подготовке второго издания книги мы воспользовались случаем, чтобы улучшить изложение материала и исправить различные незначительные ошибки. Мы благодарны многим читателям, высказавшим предложения по исправлению и улучшению книги.

У. Клоксин К. Меллиш

Кембридж, Англия, август 1984




ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ : У Клоксин

страницы в данном разделе 
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ : У Клоксин ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ : У Клоксин
ГЛАВА 1 ВВЕДЕНИЕ : У Клоксин 1.1. Факты : У Клоксин
1.2. Вопросы : У Клоксин 1.3. Переменные : У Клоксин
1.4. Конъюнкции : У Клоксин 1.5. Правила : У Клоксин
1.6. Заключение и упражнения : У Клоксин продолжение 9
1.1. Факты : У Клоксин 1.2. Вопросы : У Клоксин
1.3. Переменные : У Клоксин 1.4. Конъюнкции : У Клоксин
1.5. Правила : У Клоксин 1.6. Заключение и упражнения : У Клоксин
2.1. Синтаксические правила : У Клоксин 2.1.1. Константы : У Клоксин
2.1.3. Структуры : У Клоксин 2.2. Литеры : У Клоксин
2.3. Операторы : У Клоксин 2.4. Равенство и установление соответствия : У Клоксин
2.5. Арифметика : У Клоксин 2.6. Общая схема согласования целевых утверждений : У Клоксин
2.6.1. Успешное доказательство конъюнкции целевых утверждений : У Клоксин 2.6.2. Рассмотрение целевых утверждений при использовании механизма возврата : У Клоксин
2.6.3. Установление соответствия : У Клоксин 2.1.1. Константы : У Клоксин
2.1.3. Структуры : У Клоксин 2.1.1. Константы : У Клоксин
2.1.3. Структуры : У Клоксин 2.2. Литеры : У Клоксин
2.3. Операторы : У Клоксин 2.4. Равенство и установление соответствия : У Клоксин
2.5. Арифметика : У Клоксин 2.6.1. Успешное доказательство конъюнкции целевых утверждений : У Клоксин
2.6.2. Рассмотрение целевых утверждений при использовании механизма возврата : У Клоксин 2.6.3. Установление соответствия : У Клоксин
2.6.1. Успешное доказательство конъюнкции целевых утверждений : У Клоксин 2.6.2. Рассмотрение целевых утверждений при использовании механизма возврата : У Клоксин
2.6.3. Установление соответствия : У Клоксин 3.1. Структуры и деревья : У Клоксин
3.2. Списки : У Клоксин 3.3. Принадлежность элементов списку : У Клоксин
3.4. Пример: преобразование предложений : У Клоксин 3.5. Пример: упорядочение по алфавиту : У Клоксин
3.6. Использование предиката присоединить и спецификация деталей : У Клоксин 3.1. Структуры и деревья : У Клоксин
3.2. Списки : У Клоксин 3.3. Принадлежность элементов списку : У Клоксин
3.4. Пример: преобразование предложений : У Клоксин 3.5. Пример: упорядочение по алфавиту : У Клоксин
3.6. Использование предиката присоединить и спецификация деталей : У Клоксин ГЛАВА 4. ВОЗВРАТ И ОТСЕЧЕНИЕ : У Клоксин
4.1. Порождение множественных решений : У Клоксин 4.2. Отсечение : У Клоксин
4.3. Общие случаи использования отсечения : У Клоксин 4.3.1. Подтверждение правильности выбора правила : У Клоксин
4.3.2. Комбинация отсечение-fail : У Клоксин 4.4. Проблемы, связанные с использованием отсечения : У Клоксин
продолжение 60 4.1. Порождение множественных решений : У Клоксин
4.2. Отсечение : У Клоксин 4.3.1. Подтверждение правильности выбора правила : У Клоксин
4.3.2. Комбинация отсечение-fail : У Клоксин 4.3.1. Подтверждение правильности выбора правила : У Клоксин
4.3.2. Комбинация отсечение-fail : У Клоксин 4.4. Проблемы, связанные с использованием отсечения : У Клоксин
ГЛАВА 5 ВВОД И ВЫВОД : У Клоксин 5.1. Ввод и вывод термов : У Клоксин
5.1.1. Вывод термов : У Клоксин 5.1.2. Ввод термов : У Клоксин
5.2. Ввод и вывод литер : У Клоксин 5.2.1. Вывод литер : У Клоксин
5.3. Ввод предложений : У Клоксин 5.4. Чтение файлов и запись в файлы : У Клоксин
продолжение 76 : У Клоксин 5.4.1. Запись в файлы : У Клоксин
5.5. Объявление операторов : У Клоксин продолжение 79
5.1. Ввод и вывод термов : У Клоксин 5.1.2. Ввод термов : У Клоксин
5.1.1. Вывод термов : У Клоксин 5.1.2. Ввод термов : У Клоксин
5.2.1. Вывод литер : У Клоксин 5.2.1. Вывод литер : У Клоксин
5.3. Ввод предложений : У Клоксин 5.4. Чтение файлов и запись в файлы : У Клоксин
5.4.1. Запись в файлы : У Клоксин продолжение 89
5.4.1. Запись в файлы : У Клоксин 5.5. Объявление операторов : У Клоксин
ГЛАВА 6. ВСТРОЕННЫЕ ПРЕДИКАТЫ : У Клоксин 6.1. Ввод новых утверждений : У Клоксин
6.2. Выполнение и невыполнение целевого утверждения : У Клоксин 6.3. Классификация термов : У Клоксин
6.4. Работа с утверждениями как с термами : У Клоксин 6.5. Создание структур и работа с компонентами структур : У Клоксин
6.6. Воздействие на процесс возврата : У Клоксин 6.7. Формирование составных целевых утверждений : У Клоксин
6.8. Равенство : У Клоксин 6.9. Ввод и вывод данных : У Клоксин
6.11. Вычисление арифметических выражений : У Клоксин 6.13. Наблюдение за выполнением программы на Прологе : У Клоксин
продолжение 104 6.1. Ввод новых утверждений : У Клоксин
6.2. Выполнение и невыполнение целевого утверждения : У Клоксин 6.3. Классификация термов : У Клоксин
6.4. Работа с утверждениями как с термами : У Клоксин 6.5. Создание структур и работа с компонентами структур : У Клоксин
6.6. Воздействие на процесс возврата : У Клоксин 6.7. Формирование составных целевых утверждений : У Клоксин
6.8. Равенство : У Клоксин 6.9. Ввод и вывод данных : У Клоксин
6.11. Вычисление арифметических выражений : У Клоксин 6.13. Наблюдение за выполнением программы на Прологе : У Клоксин
7.1. Словарь в виде упорядоченного дерева : У Клоксин 7.2. Поиск в лабиринте : У Клоксин
7.3. Ханойские башни : У Клоксин 7.4. Справочник комплектующих деталей : У Клоксин
7.5. Обработка списков : У Клоксин 7.6. Представление и обработка множеств : У Клоксин
7.7. Сортировка : У Клоксин 7.8. Использование базы данных: random, генатом, найтивсе : У Клоксин
7.9. Поиск по графу : У Клоксин 7.10. Просеивай Двойки, Просеивай Тройки : У Клоксин
7.11. Символьное дифференцирование : У Клоксин 7.12. Отображение структур и преобразование деревьев : У Клоксин
7.13. Применение предикатов clause и retract : У Клоксин 7.1. Словарь в виде упорядоченного дерева : У Клоксин
7.2. Поиск в лабиринте : У Клоксин 7.3. Ханойские башни : У Клоксин
7.4. Справочник комплектующих деталей : У Клоксин 7.5. Обработка списков : У Клоксин
7.6. Представление и обработка множеств : У Клоксин 7.7. Сортировка : У Клоксин
7.8. Использование базы данных: random, генатом, найтивсе : У Клоксин 7.9. Поиск по графу : У Клоксин
7.10. Просеивай Двойки, Просеивай Тройки : У Клоксин 7.11. Символьное дифференцирование : У Клоксин
7.12. Отображение структур и преобразование деревьев : У Клоксин 7.13. Применение предикатов clause и retract : У Клоксин
ГЛАВА 8. ОТЛАДКА ПРОЛОГ-ПРОГРАММ : У Клоксин 8.1. Расположение текстов программ : У Клоксин
8.2. Типичные ошибки : У Клоксин 8.3. Модель трассировки : У Клоксин
8.4. Трассировка и контрольные точки : У Клоксин 8.5. Фиксация ошибок : У Клоксин
продолжение 148 8.1. Расположение текстов программ : У Клоксин
8.2. Типичные ошибки : У Клоксин 8.3. Модель трассировки : У Клоксин
8.4. Трассировка и контрольные точки : У Клоксин 8.5. Фиксация ошибок : У Клоксин
ГЛАВА 9. ИСПОЛЬЗОВАНИЕ ГРАММАТИЧЕСКИХ ПРАВИЛ В ПРОЛОГЕ : У Клоксин 9.2. Описание синтаксического анализа на языке Пролог : У Клоксин
9.3. Запись грамматических правил в Прологе : У Клоксин 9.4. Присоединение дополнительных аргументов : У Клоксин
9.5. Введение дополнительных условий : У Клоксин 9.6. Заключение : У Клоксин
9.1. Проблема синтаксического анализа : У Клоксин 9.2. Описание синтаксического анализа на языке Пролог : У Клоксин
9.3. Запись грамматических правил в Прологе : У Клоксин 9.4. Присоединение дополнительных аргументов : У Клоксин
9.5. Введение дополнительных условий : У Клоксин 9.6. Заключение : У Клоксин
10.1. Краткое введение в исчисление предикатов : У Клоксин 10.2. Приведение формул к стандартной форме : У Клоксин
10.3. Форма записи дизъюнктов : У Клоксин 10.4. Принцип резолюций и доказательство теорем : У Клоксин
10.6. Пролог : У Клоксин 10.7. Пролог и логическое программирование : У Клоксин
10.1. Краткое введение в исчисление предикатов : У Клоксин 10.2. Приведение формул к стандартной форме : У Клоксин
10.3. Форма записи дизъюнктов : У Клоксин 10.4. Принцип резолюций и доказательство теорем : У Клоксин
10.6. Пролог : У Клоксин 10.7. Пролог и логическое программирование : У Клоксин
11.1. Простые проекты : У Клоксин 11.2. Более сложные проекты : У Клоксин
11.1. Простые проекты : У Клоксин 11.2. Более сложные проекты : У Клоксин
ПРИЛОЖЕНИЕ А. ОТВЕТЫ К НЕКОТОРЫМ УПРАЖНЕНИЯМ : У Клоксин ПРИЛОЖЕНИЕ В. ПРОГРАММА ПРИВЕДЕНИЯ ФОРМУЛ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ К СТАНДАРТНОЙ ФОРМЕ : У Клоксин
ПРИЛОЖЕНИЕ С. РАЗЛИЧНЫЕ ВЕРСИИ ЯЗЫКА ПРОЛОГ : У Клоксин ПРИЛОЖЕНИЕ D. ПРОЛОГ ДЛЯ ЭВМ DEC SYSTEM-10 : У Клоксин
ПРИЛОЖЕНИЕ Е. МИКРО-ПРОЛОГ : У Клоксин ПРИЛОЖЕНИЕ F. СИСТЕМА МПРОЛОГ[19] : У Клоксин
Использовалась литература : ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ    

Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)


Microsoft Office Журнал Компьютерра № 32 от 5 сентября 2006 года Журнал Компьютерра № 34 от 18 сентября 2006 года