Cтраница 3
Во всяком случае важно понимать, что даже Пролог-системы значительно отличаются друг от друга из-за наличия в них различных дополнительных средств, предусмотренных для обогащения ресурсов программиста. В большинстве интерпретаторов, например, допускаются разнообразные способы модификации стратегии управления. Иногда такие усиления стандартной стратегии приводят к вычислениям, которые нельзя полностью обосновать, исходя только из логического вывода, и в этом случае интерпретаторы называют потенциально нечистыми; примером подобного интерпретатора является первоначальный Пролог, реализованный в Марселе. В противном случае, когда интерпретатор всегда ведет себя в соответствии со строгим логическим выводом ( основанным, быть может, и не на резолюции), его называют чистым; система IC-Пролога в лондонском Имперском колледже, написанная Кларком и Маккейбом ( 1979а), является чистой, несмотря на то что в ней имеется несколько довольно сложных механизмов, дополняющих стандартную стратегию. [31]
В случае, изображенном на рис. 2.10, пролог-система выполняет несколько больший объем работы. [32]
В данном разделе приводятся неформальное объяснение того, как пролог-система отвечает на вопросы. [33]
База данных системы - это текущий список целей, которые пролог-система пытается удовлетворить. [34]
Нерекурсивные правила Дейталога обрабатываются с помощью отката, который заставляет Пролог-систему перебрать все ответы для правила. Рекурсивные правила обрабатываются с помощью рекурсивного вызова предиката до. [35]
Эффективность повышается путем прямого указания ( при помощи отсечения) пролог-системе не проверять альтернативы, про которые нам заранее известно, что они должны потерпеть неудачу. [36]
![]() |
Первый шаг вычислений. Верхняя цель истинна, если истинна нижняя. [37] |
Два предложения npl и пр2 описывают два варианта продолжения рассуждений для пролог-системы. [38]
Что же касается построения алгоритма, то это выполняется автоматически самой Пролог-системой с помощью встроенного механизма логического вывода. При этом цель решения задачи представляется в виде запроса к базе данных, в которой содержится описание предметной области задачи. Для поиска в базе данных значений, требуемых в запросе, Пролог-система инициирует механизм вывода. Таким образом, вычисления в Прологе представляют собой процесс дедукции, направленный на построение доказательства целевого утверждения задачи. [39]
Таким образом, подходящей интерпретацией пролог-программы в математических терминах будет следующая: пролог-система рассматривает факты и правила в качестве множества аксиом, а вопрос пользователя - Как теорему, затем она пытается доказать эту теорему, т.е. показать, что ее можно логически вывести из аксиом. [40]
Пролог обладает встроенными предикатами, которые позволяют пользователю управлять сеансом взаимодействия с Пролог-системой. [41]
![]() |
Связь между пролог-программой - и различными файлами. [42] |
Однако за деталями и специфическими особенностями следует, конечно, обращаться к руководствам по конкретным пролог-системам. [43]
Если наш И / ИЛИ-граф - это граф общего вида, содержащий циклы, то пролог-система, следуя стратегии в глубину, может войти в бесконечный рекурсивный цикл. [44]
Снабдив интерпретатор полезными добавками, мы можем превратить его в более удобную среду программирования, чем базисная Пролог-система. [45]