
Полагаю, что среди учебников по Прологу этакнига окажется особенно популярной, и не толькоиз-за своих хороших примеров, но также из-зацелого ряда других своих привлекательных черт:
тщательно составленные резюме появляются на всем протяжении книги;
все вводимые понятия подкрепляются многочисленными упражнениями;
процедуры выборки элементов структур подводят нас к понятию абстракции данных;
обсуждение вопросов стиля и методологии программирования занимает целую главу;
автор не только показывает приятные свойства языка, но и со всей откровенностью обращает наше внимание на трудные проблемы, возникающие при программировании на Прологе.
Все это говорит о том, что перед нами прекраснонаписанная, увлекательная и полезная книга.
Патрик Г. Уинстон
Кеймбридж, Массачусетс
Январь 1986
Назад | Содержание| Вперёд
Назад | Содержание| Вперёд
Посвящается Бранке, Андрею и Тадею
ПРЕДИСЛОВИЕ АВТОРА
Язык программирования Пролог базируется наограниченном наборе механизмов, включающих всебя сопоставление образцов, древовидноепредставление структур данных и автоматическийвозврат. Этот небольшой набор образуетудивительно мощный и гибкий программный аппарат.Пролог особенно хорошо приспособлен для решениязадач, в которых фигурируют объекты (в частности,структуры) и отношения между ними. Например, вкачестве легкого упражнения, можно попробоватьвыразить на Прологе пространственные отношениямежду объектами, изображенными на обложке этойкниги. Пример такого отношения: верхний шаррасположен дальше, чем левый шар. Нетрудно такжесформулировать и более общее положение в видеследующего правила: если X ближе к наблюдателю,чем Y, a Y - ближе, чем Z, то объект X находится ближе,чем Z. Пользуясь правилами и фактами,пролог-система может проводить рассужденияотносительно имеющихся пространственныхотношений и, в частности, проверить, насколькоони согласуются с вышеуказанным общим правилом.Все эти возможности придают Прологу чертымощного языка для решения задач искусственногоинтеллекта, а также любых задач, требующихнечислового программирования.
