Конъюнктивные вопросы и общие переменные

Важным обобщением обсуждавшихся до сих пор вопросов являются конъюктивные вопросы. Конъюнктивные вопросы – это конъюнкция целей, поставленная в виде вопроса, например: отец(фара, X), отец(X, Y) или в общем виде: Q…Q. Простые вопросы – это частный случай конъюнктивных вопросов с единственной целью. Логически вопрос состоит в выводимости конъюнкции из программы. Мы всюду используем «,» для обозначения логического «и». Не следует путать запятую, отделяющую аргументы цели, с запятой, отделяющей цели и обозначающей конъюнкцию.

В простейшем конъюнктивном вопросе все цели простые, например, отец (авраам, исаак), мужчина(лот)? Ясно, что ответ на этот вопрос, исходя из программы 1.1, – да, так как обе цели являются фактами программы. Вообще на вопрос Q…Q? в котором каждое Q, – основная цель, ответом, исходя из программы P будет да, если каждое Q выводится из P. Таким образом, конъюнкция основных вопросов не очень интересна.

Конъюнктивные вопросы представляют интерес в тех случаях, когда имеются одна или более общие переменные, т.е. переменные, входящие в две различные цели вопроса. Примером служит вопрос отец (аран, X), мужчина(X)? О6ластью переменной в конъюнктивном вопросе является вся конъюнкция. Таким образом, вопрос p(X),q(X)? означает: «Существует ли такое X, что p(X) и q(X) одновременно?» Как и в простых вопросах, переменные в конъюнктивных вопросах неявно связаны квантором существования.

Общие переменные используются для ограничения простых вопросов путем сужения области значения переменных. Мы уже рассматривали пример с вопросом плюс(X, X, 4)?, в котором поиск чисел, дающих в сумме 4, был ограничен тем, что числа должны быть равными. Рассмотрим вопрос отец(аран, X), мужчина(X)? В этом случае решения вопроса отец(аран, X)? ограничены детьми мужского пола. Программа 1.l показывает, что существует единственное решение {X = лот}. С другой стороны, данный вопрос можно рассматривать как ограничение решений вопроса мужчина(X)? множеством индивидов, отцом которых является Аран.

Несколько иное использование общих переменных демонстрируется в вопросе отец(фарра, X), мужчина(X, Y)?. С одной стороны, вопрос ограничивает сыновей Фарры теми, кто сам является отцом. С другой стороны, ищутся индивиды, чьи отцы были сыновьями Фарры. Имеется несколько решений, например: {X = авраам, Y = исаак} и {X = аран, Y= лот }.

Конъюнктивный вопрос логически следует из программы Р, если все цели – следствия Р, причем общим переменным в разных целях сопоставлено одно и то же значение. Достаточное условие выводимости состоит в существовании основного примера вопроса, являющегося следствием P. Из такого примера вопрос может быть получен с помощью обобщения.

Процедура поиска решения конъюнктивного вопроса A,A,…,A с помощью программы Р состоит в нахождении такой подстановки Q, что A Q и …A Q будут основными примерами фактов из Р. То, что одна и та же подстановка применяется ко всем целям, обеспечивает единое соответствие переменным в вопросе. Рассмотрим, например, вопрос отец(аран,X)?мужчина(X)? при использовании программы 1.1. Применение подстановки { X = лот } к вопросу дает основной пример отец(аран,лот),мужчина(лот), который является следствием программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: