Изучение языка Prolog

Поскольку истоки языка Prolog лежат в области математической логики, преподавание этого языка часто начинают с изучения логики. Но, как оказалось, по­добный вводный курс, насыщенный математическими дисциплинами, не очень эф­фективен, если цель состоит в изучении Prolog как инструмента практического про­граммирования. Поэтому в данной книге меньше всего внимания уделяется матема­тическим аспектам, а изложение основывается на изучении искусства использования нескольких базовых механизмов Prolog для решения интересных задач. Обычные языки программирования — процедурно ориентированны, a Prolog является пред­ставителем нового поколения программных средств, основанных на применении опи­сательного, или декларативного, подхода. Для его освоения требуется во многом из­менить свое представление о способах решения задач, овладеть намного более про­дуктивными подходами, поэтому обучение программированию на языке Prolog становится увлекательной интеллектуальной деятельностью. Многие полагают, что каждый, кто проходит обучение в области информатики, должен на определенном этапе получить хотя бы некоторое представление о языке Prolog, поскольку этот язык требует использования иного принципа решения задач и позволяет по-другому взглянуть на традиционные языки программирования.

Содержание книги

В части I приведены вводные сведения о языке Prolog и показан процесс разра­ботки программ Prolog. Кроме того, в нее включено описание методов обработки та­ких важных структур данных, как деревья и графы, поскольку эти методы находят широкое распространение, В части II показано применение языка Prolog во многих областях искусственного интеллекта, включая решение задач и эвристический по­иск, программирование в ограничениях, представление знаний и экспертные систе­мы, планирование, машинное обучение, качественные рассуждения, обработка текста на различных языках и ведение игр. Методы искусственного интеллекта описывают­ся и разрабатываются до такой степени детализации, которая позволяет успешно реализовать их на языке Prolog и получить законченные программы. Затем эти про­граммы могут использоваться в качестве структурных блоков для сложных прило­жений. В заключительной главе, посвященной мета программированию, показано, как можно применять Prolog для реализации других языков и принципов програм­мирования, включая объектно-ориентированное программирование, программирова-


Предюовие



ние, управляемое шаблонами, а также написание интерпретаторов Prolog на языке Prolog. Во всей книге акцент делается на создание наиболее удобных для понимания программ; в этих программах исключены все затрудняющие понимание "програм­мистские трюки", которые основаны на средствах системы, зависящих от конкрет­ной реализации.