Cтраница 1
Целевое утверждение, полученное на этапе 2, - Мертв (: г 1987) было выполнено с означиванием х Марк. Цель первого этапа выполнена, таким образом, с тем же означиванием. [1]
Целевые утверждения образуются здесь в таком же духе, как и при исполнении логической программы. Вследствие использования резолюции исполнение программы ( Р, GI) порождает каждое новое целевое утверждение Gt i так, чтобы выполнялось отношение Р, Gt Gt i - При выводе процедур с целью выбора информации на каждом шаге вместо множества процедур Р используется спецификация S, и в общем случае для работы с более произвольным синтаксисом целевых утверждений требуются более сложные правила вывода, чем правило резолюции. [2]
Целевым утверждением ( целью) Дейталога является простой целевой дизъюнкт. Заметим, что мы не требуем, чтобы целевой предикат появлялся внутри программы Дейталога. Однако в более интересных случаях целевой предикат появляется в голове одного из дизъюнктов. [3]
Если последнее целевое утверждение в вычислении таково, что на некоторый выбранный из него для активации вызов не отвечает ни одна процедура, то вычисление характеризуется как тупиковое, и решений оно не дает. В этом случае для наглядности обычно принято добавлять к такому вычислению специальный символ, обозначающий неудачу. [4]
От целевого утверждения оно, следовательно, не зависит. То, что мы называли в этой главе вычисляемым отношением R, образует подмножество отношения R и состоит из решений, которые вычисляются для заданного целевого утверждения G. [5]
В целевом утверждении программы 22 спрашивается о свойствах объекта с заданным именем L. В силу недетерминированности логических процедур по отношению к вводу и выводу их можно использовать также для нахождения и вывода имен тех объектов, которые удовлетворяют заданным свойствам. [6]
Запросы, или целевые утверждения ПРОЛОГа, - это вопросы обращенные к тем условиям и предикатам логики предикатов, которые фигурируют среди данных программы. [7]
В терминах отношений решение целевого утверждения G1 заключается в нахождении примера t переменной z, при котором тройка ( 3, t, 1.2.3.4.5. NIL) принадлежит трехместному отношению с именем след. [8]
Система вывода параллельно сопоставляет некоторое целевое утверждение с головами дизъюнктов-кандидатов, подходящих для такого сопоставления. При этом параллельно происходит унификация соответствующих литер и генерация новых дизъюнктов. [9]
Тогда в соответствии с S целевое утверждение G не имеет специфицируемых решений, поскольку все элементы списка L неотрицательны. Более того, данная программа не вычислит никаких решений и потому должна считаться полностью правильной. [10]
Начиная поиск решения задачи ( целевого утверждения), PDC Prolog, возможно, должен выбрать между двумя альтернативными путями. Тогда он ставит маркер у места ветвления ( называемый точкой отката) и выбирает первую подцель, которой и станет придерживаться. Если данная подцель не выполнится ( что эквивалентно достижению тупика в лабиринте), PDC Prolog вернется к точке отката и попробует другую подцель. [11]
В ходе построения вычисления длина текущего целевого утверждения может изменяться в зависимости от числа вызовов, которые вводятся в него в результате обращения к процедурам. Если в текущем целевом утверждении имеется несколько вызовов, то на следующем шаге может быть активирован каждый из них. Принятие решения относительно того, какой именно вызов следует активировать, называется выбором вызова; это один из аспектов исполнения логических программ, связанных с необходимостью делать выбор. [12]
Вслед за каждым из приведенных выше целевых утверждений вызывается первая процедура вывести, в результате чего последнее из полученных приближений подвергается проверке на точность; если оно не удовлетворяет требуемой точности, то вызывается другая процедура вывести, действие которой состоит в выполнении однократного умножения матрицы М на вектор и получении, таким образом, следующего приближения. Отметим, что в целевом утверждении используется оператор отсечения: он служит для того, чтобы прекратить исполнение программы, как только будет вычислено первое достаточно точное решение, предотвращая тем самым дальнейшие ненужные уточнения. [13]
Требуемая информация восстанавливается из какого-то другого целевого утверждения, встречавшегося ранее в ходе исполнения программы, доступ к которому можно получить теперь при помощи механизма возврата. [14]
Рассмотрим теперь следующую программу, в целевом утверждении которой спрашивается, какие элементы списка L отрицательны. [15]