Читать онлайн «Введение в логическое программирование»

Автор ред

Введение в логическое программирование Introduction to logic programming Ghristopher John Hogger Department of Computing Imperial College of Science and Technology London, United Kingdom 1984 Academic Press, Inc. Harcourt Brace Jovanovich, Publishers London Orlando San Diego New York Austin Montreal Sydney Tokyo Toronto К. Хоггер Введение в логическое программирование Перевод с английского М. В. Захарьящева под редакцией Ю. И. Янова Москва «Мир», 1988 ББК 32. 973 Х68 УДК 681. 3 Хоггер К. X 68 Введение в логическое программирование: Пер. с англ. —М. : Мир, 1988. —348 с, ил. ISBN 5-03-000490-4 Книга написана английским специалистом по программированию и знакомит читателей с фундаментальными идеями и методологией логического программирования. В ней много внимания уделено вопросам синтеза программ, реализации языков логического программирования и их применения. Материал тщательно отобран, приводится много примеров, облегчающих усвоение материала. Для математиков-прикладников, специалистов по информатике, программистов, аспирантов и студентов. „ 1702070000-406 _46_88j4>1 ББК 32.
973 041(01)—88 Редакция литературы по математическим наукам ISBN 5-03-000490-4 (русск. ) © 1984, by Academic Press Inc. (London) Ltd. ISBN 0-12-352090-8 (англ. ) © перевод на русский язык, «Мир», 1988 Предисловие редактора перевода Основная трудность программирования задач для ЭВМ связана не столько с различием языков человека и машины, сколько с различием их «мышления». Долгое время считалось, что машина способна правильно воспринимать и исполнять только алгоритмы, т. е. детерминированные формальные исчисления директивного типа. В то же время первоначальная формулировка задачи имеет, как правило, описательный характер. Неформальный этап построения подходящего алгоритма и запись его на определенном формальном языке требует от программиста не только значительных затрат времени, но и достаточно высокой квалификации. Этот и некоторые другие недостатки алгоритмического подхода стимулировали поиск иных возможностей. Осознание того, что вычисление есть частный случай логического вывода, а алгоритм — это аксиоматическое задание функции, привело к идее так называемого логического программирования, первая реализация которой была осуществлена в начале 70-х годов в виде системы Пролог. Суть этой идеи состоит в том, что машине в качестве программы можно предоставить не алгоритм, а формальное описание предметной области и задачи (функции) в виде аксиоматической системы, и тогда построение решения задачи в виде вывода в этой системе можно поручить самой машине. Таким образом, от программиста уже не требуется построения алгоритма, решающего задачу, поскольку нужный алгоритм порождается интерпретатором, строящим вывод по определенной стратегии. Теперь основная задача программиста— удачно аксиоматизировать, т. е. описать в виде системы логических формул предметную область и такое множество отношений на ней, которые с достаточной степенью полноты описывают задачу.