Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования

.pdf
Скачиваний:
33
Добавлен:
25.10.2023
Размер:
12.47 Mб
Скачать

В О П Р О С Н О - О Т В Е Т Н А Я П Р О Г Р А М М А (QA3)

281

Система доказательства теорем ищет доказательство от

противного.

В течение

процесса поиска

доказательства

из памяти

выбираются

дизъюнкты, которые

могут ока­

заться полезными для

доказательства, и

они

использу­

ются как аксиомы. Если на Е о п р о с не может быть дано ни утвердительного, ни отрицательного ответа, выдается OTFeT «NO PROOF FOUND» (доказательство не найдено). ANSWER обозначает ответ.

Опишем теперь простейший диалог с QA3. Этот при­ мер иллюстрирует три типа ответов: «да», «нет» и «или». Для вопросов 4, 7 и 8 ответом является терм, выработан­ ный процедурой доказательства. Такого рода ответы бу­ дут называться «конструктивными» ответами.

1.Первый факт: «Смит — человек». STATEMENT: MAN (Smith),

ОК.

Символ OK, полученный как ответ QA3, означает, что предложение принято, обращено в дизъюнкты и послано

впамять1 .

2.Задаем первый вопрос: «Смит — человек?»

 

 

QUESTION:

MAN

(Smith),

 

 

 

 

 

ANSWER:

«У£5».

 

 

 

 

 

 

3 .

Затем мы заявляем, что «человек — животное», или,

 

 

более точно: «Если х — человек, то х — животное».

 

 

STATEMENT:

(ух)

 

[MAN{x)

ANlMAL(x)],

 

ОК.

 

 

 

 

 

 

 

 

 

4.

Теперь мы спрашиваем: «Кто является

животным?»

 

Этот вопрос может быть выражен иначе: «Найти

 

 

некоторое у, которое есть животное», или «Сущест­

 

вует ли

такое у, что

у — животное?

Если

да, то

 

 

указать

такое (/».

 

 

 

 

 

 

 

QUESTION:

 

3(y)ANIMAL(y),

 

 

 

 

Ar-SWER:

YES,

y=

Smith.

 

 

 

Ответ

«YESi>

указывает, что

предположение (теорема)

3(у)

AN/A4AL

(у)

доказано

(на

основании фактов

1 и 3).

«у —-

Smith»

означает,

что

Смит есть

некоторый

пример

(или

частная

реализация)

у,

удовлетворяющий

AN

I MAL(Smi'h)

[животное

( C M H T ) J ,

Т .

е.

ANIMAL

(Smith)

есть теорема.

 

 

 

 

 

 

1 OK = «О кей» (англ.) — «все в порядке». — Прим. ред.

282

П Р И Л О Ж Е Н И Е

5. Факт: «робот — машина».

STATEMENT: (ул-) [ROBOT(x) MACHINE (л-)], ОК.

6.Факт: «Rob — робот». STATEMENT: ROBOT (Rob),

OK

7.Факт: «Ни одна машина не есть животное».

STATEMENT: (ух) [MACHINE

(x)=î~ANIMAL

(л-)]1,

 

ок.

8.На вопрос: «Все ли есть животное?» выдается ответ N0.

При этом предъявляется контрпример, а именно «Rob» — робот.

QUESTION: (ух) ANIMAL

(х),

 

ANSWER: NO, х =

Rob.]

 

 

Ответ показывает, что

~

AN I MAL

(Rob)

есть теорема.

Заметим,

что ответ N0

есть результат нахождения контр­

примера

для переменной

х под квантором

всеобщности.

По построению этот ответ противоположен случаю, когда находится частный пример переменной под квантором су­ ществования и выдается ответ YES.

9. Факт: «Либо Смит па работе, либо Джон на работе». 'STATEMENT: AT (Smith, work) У AT (Jones, work),

OK.

10.Вопрос: «Кто-нибудь на работе?» QUESTION: (эх) {AT (х, work)),

ANSWER: YES, x = Smith or x = Jones.

Из введенных в программу предложений можно заклю­ чить, что кто-то находится на работе, хотя и невозможно точно указать, кто именно.

Предложения, описывающие факты, вопросы и ответы, могут быть значительно сложнее, так что соответствующие

1 Символ •—' означает отрицание

и соответствует знаку «ми­

нус» в основном тексте книги. — Прим.

ред.

В О П Р О С Н О - О Т В Е Т Н А Я П Р О Г Р А М М А (QA3)

283

им английские выражения могут и не быть столь просты­ ми. Предложения и вопросы могут содержать несколько кванторов и включать функции переменных. Ответ мо­ жет также содержать функции. Рассмотрим, например, вопрос: «Верно ли, что для всех х существует такое у, что Р(х, у) истинно?», где Р — символ предиката. Пред­ положим, что программе QA3 дано предложение

11. STATEMEHT: (yz) Р(г,

f(z)),

вопрос

 

 

где / — некоторая

функция.

 

Мы

задаем

 

 

12.

 

 

 

 

 

 

 

 

 

 

 

 

 

QUESTION: (ух) Ш

Р(х,

у),

 

 

 

 

ANSWER: YES,

у =

/(*).

у,

 

 

 

 

 

Заметьте, что частная

реализация

найденная

при отве­

те на вопрос,

есть

функция

от х, указывающая на зави­

симость у от X. Предположим,

что вместо предложения

11

в QA3 введено другое предложение относительно Р.

Ответ

на вопрос

12 может быть таков:

 

 

 

 

 

 

ANSWER: N0,

х =

а,

 

 

 

 

 

 

 

 

где а — некоторый

частный

случай

х , служащий

контр­

примером.

 

 

 

 

 

 

 

 

 

 

 

 

 

Терм (или термы), яляющийся ответом, может быть

константой,

функцией,

переменной

или

некоторой

их

комбинацией.

Если

ответ

есть

константа

или

известная

функция, то смысл ответа

ясен.

Однако ответ может быть

функцией Сколема, полученной путем устранений кван­

торов

существования.

В этом случае ответом

является

объект,

существование

которого

утверждается

породив­

шим функцию Сколема

квантором

существования. Чтобы

можно было понять смысл этой функции Скотема, система

должна выдать

входное

предложение,

которое привело

к

образованию

функцию

Сколема. Свободные

переменные

в

дизъюнктах соответствуют

переменным

под

квантором

всеобщности,

так что

если

ответ представляет собой

свободную переменную, любой терм удовлетворяет этой

формуле и,

таким

образом, отвечает

на вопрос.

 

Имеются

еще два типа ответов: zNO PROOF

FOUND*

(«доказательство

не найдено»)

и

«IN SU FF ICI EN Т

INFORMATION-»

(«недостаточно

информации»).

Пред­

положим, что система доказательства

теорем не

сумела

284 П Р И Л О Ж Е Н И Е

доказать некоторое предположение, но не смогла также его опровергнуть. Если система доказательства теорем израсходовала весь лимит времени или объема памяти, не получив доказательства ни «да», ни «нет», то остается все же возможность, что при наличии дополнительного времени или объема памяти доказательство было бы най­

дено. Ответ в этом случае будет: «N0

PROOF

FOUND*.

Предположим теперь, что

попытка доказательства

или опровержения оказалась

безрезультатной и без

превышения лимитов времени

или

памяти.

Поскольку

стратегия доказательства полна, то при отсутствии огра­ ничений, наложенных на время или объем памяти, дока­ зательство должно быть найдено, если предположение является логическим следствием аксиом. Таким образом, мы знаем, что ни ответ «нет», ни ответ «да» не может быть получен из имеющихся данных. В этом слѵчае вы­ дается ответ: INSUFFICIENT INFORMATION».

Предположим, например, что в памяти QA3 нет пред­ ложений, содержащих предикатный символ «R»:

QUESTION: (gx) R (x).

 

 

 

Отрицание

вопроса

представляет

собой

дизъюнкт

( < ~

и

ни один из имеющихся в

памяти QA3

других

дизъюнктов не может с ним дать

разрешения.

Тогда

система

ответит:

 

 

 

 

ANSWER: INSUFFICIENT

INFORMATION.

3.2. Конструирование

ответов

 

 

 

Метод

резолюции

в доказательстве теорем

позволяет

нам получать правильные конструктивные ответы. Это

означает, что

если,

например,

(зх)Р(х)

есть теорема, то

в

процедуре доказательства могут быть

найдены

термы

к,

4. ....

такие,

что Р((г)

\у P(l2)

V

••• V

P{Q

есть

теорема.

 

 

 

 

 

 

 

 

Приведем

прежде

всего несколько

примеров

построе­

ния ответов, а затем покажем, как для получения ответов может быть использовано доказательство посредством резолюций. Примеры построения ответа будут включать предикат ANSWER (ответ), использованный в QA3 спе­ циальным образом для сохранения связи («преемствен-

В О П Р О С Н О - О Т В Е Т Н А Я П Р О Г Р А М М А (QA3)

285

ности») между отдельными разрешениями дизъюнктов.

Рассмотрим вопрос

 

QUESTION: (зу) ANIMAL

(у),

который при отрицании дает дизъюнкт

{~ANIMAL (у)).

К этому дизъюнкту добавляется специальный символ

ANSWER

(у),

и мы получаем

выражение

[~ ANIMAL

(у) V ANSWER

(у)}.

Процесс доказательства начинается с этого дизъюнкта.

Когда

 

С Л О Е О

ANIMAL

(х) разрешается

со

словом

r-~ANIM

AL

(у),

терм у принимает частное значение, по­

рождающее терм X. В новом дизъюнкте, полученном в ре­

зультате резолюции, аргументом предиката ANSWER

тог­

да будет X. В следующей резолюции

аргументом

преди­

ката ANSWER

 

становится

Smith. Приведем

полное

мо­

дифицированное

доказательство,

которое заканчивается

дизъюнктом

ANSWER (Smith).

 

 

 

 

 

 

1.

{г--ANIMAL

(у) V ANSWER

(у)}

Модифицированное

 

 

{~MAN

(х) V

ANIMAL

(х)}

отрицание сопроса

 

2.

Аксиома из памяти

 

3.

[~MAN

 

(х) V

ANSWER

(х))

Резолюция

1 и 2

 

4.

[MAN

(Smith))

 

 

 

Аксиома из памяти

 

5.

[ANSWER

(Smith))

 

 

«Противоречие»из

 

 

 

 

 

 

 

 

 

3 и 4 для у=Smith

Аргумент

предиката

ANSWER

есть

частный

случай

у,

а

именно

Smith,

что и требовалось доказать для

ответа

на

вопрос. QA3

выдает

 

 

 

 

 

 

ANSWER: YES, у = Smith.

Этот ответ, как будет показано ' ниже, означает, что

ANIMAL (Smith) есть теорема.

Символ ANSWER добавляется к каждому дизъюнкту при отрицании вопроса. Аргументы предиката ANSWER суть перемненые, стоящие в вопросе под квантором существования. Когда получается новый дизъюнкт, каж-. дое слово ANSWER в новом дизъюнкте принимает част-

286 П Р И Л О Ж Е Н И Е

ные значения так же, как и другие слова из этого дизъюнк­

та. Однако

обработка

символа

ANSWER

имеет одну

особенность.

Ни один

символ не

разрешается с ним, и

он не учитывается при определении «длины» содержащего его дизъюнкта. Мы назовем дизъюнкт, содержащий толь­ ко символ ANSWER, «ответным дизъюнктом». Поиск ответа (доказательства) считается успешно завершенным, когда получен ответный дизъюнкт. Добавление предиката ANSWER к дизъюнктам, представляющим собой отри­ цание формулировки теоремы, не влияет на полноту модифицированной процедуры доказательства. Система до­ казательства теорем получает, за исключением предиката AN SWER, те же самые дизъюнкты, что и обычная си­ стема доказательства теорем. Таким образом, в нашей системе ответный дизъюнкт эквивалентен пустому дизъюнкту, который в обычной системе соответствует наличию противоречия.

Ответный дизъюнкт указывает наборы значений, ко­ торые могут принимать переменные, стоящие в вопросе под квантором существования, для обеспечения дока­ зуемости содержащегося в вопросе предложения. Точный смысл ответа будет определен в термах вопроса Q, кото­

рый

доказывается на основании набора аксиом В =

= {В1,

В.г,

Вь).

В

качестве

примера, иллюстрирующего некоторые

трудности, возникающие при использовании функции Сколема, предположим, что аксиомы В состоят из един­

ственного

предложения

 

STATEMENT: {yz)

((з'Л')Р

(г, w).

Предположим, что оно преобразовано в дизъюнкт

[Р(*.

/(*))},

 

 

 

где /(z) — функция

Сколема, появляющаяся в связи с

устранением квантора

(эш). Мы задаем вопрос Q:

QUESTION: (уу)(эх)Р(у,

х).

Отрицание

вопроса

•—Q:

 

(ЗУ) (ух)

~ Р (у,

х).

 

Дизъюнкт, представляющий отрицание вопроса ~ Ç h

{~Р(Ь, X)},

В О П Р О С Н О - О Т В Е Т Н А Я П Р О Г Р А М М А (QA3)

287

где b — константа (функция, не содержащая перемен­ ных), введенная при устранении квантора (зу). Дока­ зательство, полученное разрешением этих двух дизъюнк­ тов, дает ответный дизъюнкт

{ANSWER (/(&))}.

Функция Сколема b заменяется переменной у, и напе­

чатанный ответ

имеет

вид

 

ANSWER:

YES,

x=f(y).

(1)

В настоящее время в QA3 функция Сколема f(y) остав­ ляется в ответе. Чтобы лучше понять смысл функции Сколема, содержащейся в ответе, пользователь может потребовать от системы, чтобы она выдала исходное пред­ ложение, которое при преобразовании в дизъюнкты при­ вело к образованию функции Сколема.

В качестве иллюстрации рассмотрим пример интер­ претации предложения и вопроса в описанном случае.

Пусть Р(и,

ѵ)

истинно, если и — человек,

находящийся

на работе,

au

— стол этого человека. Тогда

предложение

(уг) (зш) P(z, w) утверждает, что каждый человек на ра­ боте имеет стол, но это предложение не называет стол. Функция Сколема f(z) создается внутри программы в

процессе преобразования

предложения

(yz) (3:0) P(z, w)

в дизъюнкт {P(z, /(г))).

О функции f{z)

можно говорить

как о внутреннем программном имени стола человека г. (Терм f(z) может быть, по-видимому, записан с сохране­

нием смысла

в

терминах

дескриптивного

оператора

і

как <lw,

P(z,

w)»,

т. е. «такого w, что

P(z, w)», хотя w

не

обязательно

 

единственно.)

 

 

 

 

 

 

 

Вопрос

(уу)

(зх) Р(у,

х)

касается

того,

существует

ли для

каждого

 

человека

у

соответствующий стол.

От­

рицание

вопроса

(з</) (ух) ~

Р(у,

х)

постулирует,

что

существует

такой

человек,

что

для

всех х

неверно,

что

X его стол. Функция

Сколема

Ь,

не имеющая аргумен­

тов, также получается внутри программы при образова­

нии дизъюнкта {~Р(Ь,

х)). Функция b есть, таким обра­

зом, внутреннее

имя, данное программой гипотетическо­

му человеку, «который не имеет стола».

Одношаговое

доказательство только устанавливает,

что b имеет стол, f{b).

Пользователь системы обычно не

288

П Р И Л О Ж Е Н И Е

видит внутреннего представления

дизъюнкта,

за исклю­

чением случаев, когда такая информация

специально

запрашивается. Если терм f(b)

входит в

ответный

дизъюнкт, выданный

пользователю, например

«YES,

x = f(b)y>, то символы /

и b будут с его точки зрения

ли­

шены смысла. Но программа помнит, что b соответствует

у,

так что b заменяется ею на у, что приводит к несколько более осмысленному ответу. YES, x = f(y). Пользователь тогда знает, что у здесь — то же самое у, которое он упо­ минал в вопросе.

Значение функции Сколема f выразить несколько бо­ лее трудно. Программа должна указать пользователю, откуда происходит функция /. Такая информация выдает­

ся

пользователю в виде

первоначального

предложения

(yz)

P[z, /(2)) .

[Другая

возможность состоит в том, что

используется

дескриптивный

оператор,

указывающий,

что /(2) есть ію, P(z, w).]

Как

правило, пользователь пом­

нит или имеет перед глазами свой вопрос, хотя конкрет­ ная форма предложений (аксиом) и забыта. В этом очень простом примере значение / полностью определяется в терминах предиката Р из вопроса, однако в общем случае значение функции Сколема может выражаться и в тер­ минах других предикатов, констант и т. д.

Покажем теперь, как построить «ответное предложе­ ние», а затем докажем, что ответное предложение есть логическое следствие дизъюнктов аксиом. Для лучшего понимания сложного ответа пользователь может потре­

бовать

выдачи

ответного

предложения.

 

 

 

 

Рассмотрим

вывод ответа на вопрос Q из

набора

ак­

сиом В — [Ви

В2,

Вь). Из

В

логически

вытекает Q

тогда и только тогда, когда

В A

~ Q

не

выполнимо.

Предложение

В A

 

может

быть

записано в

предва­

рительной форме

PM(Y,

X),

где

Р—кванторная

при­

ставка,

M(Y,

X)

матрица,

Y

— [уи

уг,

 

уи)

множество переменных, стоящих в Р под квантором су­

ществования,

а X = {хг,

х2,

хе\ — множество пе­

ременных, стоящих в Р

под квантором

всеобщности.

Устраняя

кванторную

приставку

Р

введением функ­

ции Сколема при замене кванторов

существования и опу­

ская кванторы всеобщности, получаем формулу M(U,

X).

Здесь U множество термов и иг,

«„}, так что

для

В О П Р О С Н О - О Т В Е Т Н А Я П Р О Г Р А М М А (QA3)

289

каждой переменной

yh стоящей

в Р под квантором су­

ществования, Iii есть

соответствующая функция Сколем а

от всех переменных в Р, предшествующих yt и находя­ щихся под квантором всеобщности. Обозначим M(U, X) через S. Предложение В Л ~ Q не выполнимо тогда и только тогда, когда не выполнимо соответствующее пред­ ложение S. С S ассоциирован «эрбрантов универсум» термов Н, который включает множество свободных пе­

ременных X

из 5.

Если ф = [tjxx,

t2lx2,

tjxn}

пред­

ставляет собой подстановку термов tlt t2,

tn из H взамен

переменных

хг, х2,

хп,

то 50 означает

частный

слу­

чай S над Я , полученный

подстановкой термов tt,

t2,

tn

из H взамен соответствующих

переменных хг,

х2,

хп

в S.

 

 

 

 

 

 

 

Пусть St

представляет

вариант S, т. е. копию 5 с пе­

реименованными свободными переменными. Пусть сво­ бодные переменные переименованы таким образом, что ни один из двух вариантов St и S] не будет иметь общих

переменных. По

теореме

Сколема — Лёвенгейма — Гё-

деля (Робинсон,

1967) S

не выполнимо тогда и только

тогда, когда существует частный случай конечной конъюнкции вариантов S, который с точки зрения функ­

ции истинности

не выполним.

Система доказательства

теорем, использующая принцип

резолюции, выводит, что

S выполнимо, находя такую конечную конъюнкцию.

Предположим,

что доказательство Q на основе В дает

конъюнкцию Si Л S3 Л •••Л Sj и подстановку 0, такие, что

( S 1 A S 2 A

...Sfc)9

 

 

 

не выполнимо в смысле функции

истинности.

Пусть

F0

обозначает формулу

(Sx Л Sa Л

... Л Sft)9.

Пусть далее L — конъюнкция вариантов M(F, X),

L=M

(Yv

Xj) Л M (Y2,

X2) Л ... Л M [Yk,

Xk),

и пусть

X — подстановка

термов функции

Сколема в

переменные,

так что

 

 

 

LX=M

(Uv

Xj) Л M (U2, Х2) Л ... Л M [Uk, Xk) =

=S1AS2A... ASk.

Таким образом, LX8 = Fa.

19—1677

290 П Р И Л О Ж Е Н И Е

Перед построением ответного предложения следует обратить внимание на то, что функции Сколема для F0 могут быть устранены следующим образом. Рассмотрим

множество

U =

{ н ь іы,

 

и,,}

термов функции

Сколема

в 5. Найдем в F0 один частный случай, скажем и\ терма в

U. Выберем символ г-, который не входит в F-.

Заменив

каждое

вхождение

иг в F0

на zx,

получим

предложение

FТеперь

 

снова

применим эту

процедуру к Fx и, под­

ставляя

новую переменную в Fx

повсюду там, где имеется

другая частная

реализация

терма функции Сколема в

Flt

получим F-. Этот процесс может быть продолжен до тех

пор,

пока

для

некоторого

числа

п не останется

больше

ни одной частной реализации терма из U в

Fn.

 

 

Предложение F: для 0 ^

і ^

п невыполнимо

по сле­

дующим

причинам.

 

 

 

 

 

 

 

 

 

Рассмотрим любые два вхождения атомарных формул,

скажем та

и mb,

в FQ. Если іпа

и іпь из F-

тождественны,

то соответственно и две преобразованные

атомарные фор­

мулы

та1

и тьх

в F-

будут

тождественны.

Если

та

и ть

нетождественны, то та1

и тЬ1

также будут нетождест­

венны. Таким образом,

F-

должно иметь

ту

же истин­

ностную таблицу (а следовательно, и истинностное значе­

ние), что и F0. Это свойство сохраняется на каждом

шаге

построения, так что каждое из предложений F-,

F-,

Fn

должно быть с учетом функции истинности

невыпол­

нимо.

Операция замены термов может быть выполнена не­

посредственно при подстановках, т. е. для каждого

пред­

ложения

Fh

0 < і < п, существует

подстановка о',-, та­

кая, что Ft

=

La,. Мы докажем это, показав, как строит­

ся такая подстановка at.

Пусть а0

=

ХѲ = {tx/vi,

t-/v2,

tplVp).

По

определению,

F- = La0.

Пусть

t}

обозна­

чает терм,

образованный

заменой

каждого

вхождения

и[ в tj на Zx. Подстановка

аг

= \t\hx,

t'Jv2,

t'p/vp)

в L

дает Fx, т. е. Fx = La х- Подобным же образом

конструи­

руется о-,- и методом полной математической

индукции

показывается,

что Ft = La;

для 0 <

і < п.

 

 

 

Рассмотрим внутреннюю структуру F-. Допустим, что

5 = M(U, X) образуется следующим образом.

 

Аксиомы

могут быть представлены как PBB{YBXB),

 

где Рв

— кван-

торная приставка, Yв — множество переменных,

стоящих

Соседние файлы в папке книги из ГПНТБ