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

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

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

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

291

под квантором всеобщности, а ХВ — множество

пере­

менных под квантором существования. Эти атомарные

формулы

обращаются

в множество

дизъюнктов,

обозна­

чаемых

через B{YB,

UB), где UB

— множество

термов

функции Сколема, образованных в результате устране­

ния

Х В .

представлен

в виде PQQ(YQ,

 

Вопрос может быть

XQ),

где

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

приставка,

YQ — множество

пе­

ременных под квантором всеобщности, a XQ — множество переменных под квантором существования. Будем счи­ тать, что переменные в вопросе отличаются от пере­

менных в

аксиомах.

Отрицание

вопроса

преобразуется

в

множество

дизъюнктов,

обозначенное

через

~Q(LVQ,

XQ),

где

UQ — множество

термов

функции

 

Сколема,

полученных путем устранения множества переменных

YQ.

Функциональные символы в UQ отличаются от функцио­

нальных

символов

UB.

Таким

образом,

M(U,

X)

=

=

IB(YB,

UВ)

Л ~Q(UQ,

 

 

XQ)l

 

 

 

 

 

 

 

 

 

Допустим

теперь,

что

LB

=

№(YB1,

ХВ1)

Д

 

B(YB2,

ХВ2

... Л B{YBK,

 

XBK)],

и

пусть

~ L

Q =

[~Q(K Q l I

X Q 1 )

Л ~ Q ( K Q 2 , X Q 2

) Л

••• Л ~Q(YQK,

XQK)\;

тогда

L

=

=L B Л ~Z . Q .

 

Обратите внимание на то, что можно построить

после­

довательность

предложений

f0F[,

F'm,

подобных

F0, Flt

 

Fn, в которых заменены переменными только

термы,

являющиеся

частными

 

случаями

термов

в

UQ.

Это

построение

заканчивается,

когда

для

некоторого

числа m множество дизъюнктов F'm не содержит

боль­

ше

термов

из UQ. В

соответствии с аналогичным

аргу­

ментом,

приведенным ранее для формул Ft,

каждая

фор­

мула F]

с учетом

функции

истинности

 

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

Подобным

же

образом

можно

построить

последова­

тельность

подстановок с 0 , с[,

 

с'т, таких, что Lc't

F'£

для 0 ^

і ^ т. Пусть с = а'т.

Подставим а

в LQ И обра­

зуем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LQO=[Q

(YQU

XQ[)a

V Q (Уф, X 0 2 ) a y ... V Q

(YQKXQk)a].

Поскольку

a заменяет элементы множества YQJ

пере­

менными,

обозначим

YQJG

через

множество

переменных

ZQJ.

19*

292

 

 

 

 

П Р И Л О Ж Е Н И Е

Тогда

 

 

 

 

 

 

LQa=[Q(ZQU

X Q 1 a ) v Q ( Z Q 2 >

XQv) V • • • V Q (ZQk,

XQka)].

Пусть теперь Z — множество всех переменных, входящих

в LQC. Ответным предложением,

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

будет

(VZ)LQO. В развернутой

форме

ответное

предложение

имеет вид

 

 

 

 

 

 

(vZ)[Q(ZouXQlo)

V Q(ZQ2,

XQ2a)

у

... V Q (ZQl!,

XQka)).

(2)

Докажем теперь, что ответное предложение есть логиче­

ское следствие аксиом в их. дизъюнктивной

форме. Пред­

положим, что это не так. Тогда B ( Y B , U B ) Л

^(VZ)LQG

удовлетворяется, так что B ( U B , Х В

) Л (э^) ~ LQa вы­

полнимо, из чего следует, что конъюнкция частных

реали­

заций Lß X Л (gZ) '— LQO

выполнима.

Устраним

теперь

кванторы существования

(3Z) .

Допуская,

что элементы

из Z в ~Lç»a обозначают

множество

символов

констант

или функций Сколема, не имеющих аргументов,

получим,

что результирующая

формула

LB~k Л ~LQa

также удо­

влетворяется.

 

 

 

 

 

 

 

Заметим, что Ьва

есть частный случай Lß X. Для того

чтобы убедиться в этом, допустим, что Кв есть

ограниче­

ние X. для переменных в L B . Таким образом,

Lß X =

L ß X ß .

Предположим, что Ѳ = f / j / V i ,

r 2 / w 2 ,

rJwn}-

 

Вспом­

ним теперь, что а образована из À0 заменой в термах ХѲ всех вхождений частных реализаций и'п термов функций Сколема, полученных из вопроса, подходящими пере­

менными.

(Функции Сколема, полученные из аксиом, от­

личаются

от функций

Сколема, полученных из вопроса,

и входят только в термы Xß .) Таким образом, ни одно из

таких u'q не является частным случаем

терма

Сколема

из аксиом, поэтому

каждое вхождение

каждого

такого

u'q в Xß 6 должно являться следствием вхождения

u'q в не­

которое г} в Ѳ. Отсюда

следует, что LBa = Lß Xß cp, где

Ф = {r'Jw-L, r'jwo,

 

r'Jwn}

образуется

из Ѳ заменой

каждого u'q в каждом

г} соответствующей

переменной.

Поскольку Lß X =

L ß X ß ,

то LB^(p = LBa.

Поскольку же

только

свободные

переменные

из LgX Л ~ £ g < J

входят

ъУЬв^,

имеем

[Lß X Л ~Z.g a] ф = /_вХф Л ~LQÜ .

 

Из

формулы

I ß X Л -LQC!

логически

вытекают все

ее частные случаи, в частности Ьв^Ч> Л ~

LQÜ.

Таким

В О П Р О С Н О - О Т В Е Т Н А Я

П Р О Г Р А М М А (QA3)

 

 

 

 

 

293

образом, если

Lß A. Л ^LQG удовлетворяется,

ее частная

реализация

LB^4> Л ~

LQG

также

 

удовлетворяет­

ся.

 

Поскольку

 

[LB>.cp Л ~

LQG] = [LBo

A ~ L Q

C T ] =

=

lLB Л ~Lg]a = La = F'm для некоторого m, F'm

долж­

но

удовлетворяться.

Однако это противоречит

нашему

предыдущему

выводу,

согласно

которому

F',„ невыполни­

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

истинности; это в

свою

очередь

доказывает, что ответное

предложение

есть

логическое

следствие аксиом.

 

 

 

 

 

 

 

 

 

 

 

 

Сделаем еще некоторое

уточнение, касающееся

ответ­

ного

предложения

 

(2). Нет необходимости включать /-й

дизъюнкт, если XQJG

= XQJ,

T . е. если а не дает

частной

реализации XQJ. Без потери общности

можно

положить,

что для r ^ k последние k г дизъюнктов не дают

част­

ных

реализаций,

т. е.

 

 

 

 

 

 

 

 

 

Хг>г + \0—Хг)г +

1,

Хг)Г + ов = Хг)г +

о, . . . ,

XQIIO— Xçik.

 

Более

строгая

форма

ответного

предложения

 

 

 

(V Z)[Q(ZQ 1 ,

XQIO) V Q (ZQ\, XQ2O)

V . . . V Q ( 2 Q r ,

 

XQra)]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3)

логически эквивалентна формуле (2). [Поскольку матри­

ца (3) есть поддизъюнкт выражения

(2), выражение (3)

влечет за собой (2). Если / < г, /-й дизъюнкт (2) влечет

за собой /-й дизъюнкт выражения

(3). Если г < / < k,

/-й дизъюнкт выражения (2) влечет за собой все свои част­

ные

случаи,

например

все

дизъюнкты

выражения

(3).1

 

 

 

 

 

 

 

 

 

 

Предикат A N S W E R

дает простой способ

нахождения

частных

случаев Q в (3). Перед началом поиска

доказа­

тельства

слово A N S W E R

(XQ)

добавляется

к каждому

дизъюнкту в ^QiUr,!,

XQ). Обычная

процедура

резолю­

ции приводит тогда к получению всех необходимых

новых

вариантов XQ.

/-й вариант A N S W E R

(XQJ),

таким

обра­

зом, включает в себя частные реализации

для

~Q(UQJ,

XQJ).

Когда доказательство найдено,

ответный дизъюнкт

будет

иметь вид

 

 

 

 

 

 

 

{ANSWER

(XQ,0) V A N S W E R (XQ2Q)...

V A N S W E R

(XQLB)}.

294 ПРИЛОЖЕНИЕ

Затем вместо соответствующих функций Сколема под­

ставляются

переменные,

что дает

 

 

 

 

{ANSWER

(XQio)

V ANSWER

(XQ2a)...

V

 

 

V ANSWER

(XQ2o)}.

 

 

 

 

 

 

Пусть

XQj

=

{xjlt xj2,

xjm).

Пусть далее с для

XQi

имеет

вид 47д'д-д, ij2lxl2

 

tjm/xJm}.

 

Ответные

тер­

мы, выданные

на печать

программой QA3,

будут тогда

иметь

вид

 

 

 

 

 

 

 

 

 

 

[ * U = / u

 

И

* ц =

/ 1 а

И ...

И

* l m

= / l

m ] ,

 

или

 

 

 

 

 

 

 

 

 

 

 

[-^-21= = ^21 ^ '^22= = ^22

" •••

^

'^'2111

^ loi І>

 

ИЛИ

 

 

 

 

 

 

 

 

 

 

 

[ A ' r l = f r l

 

И

Xro =

tr2

И ...

И

Хгт =

(гт].

 

В соответствии с выражением (3) все свободные пере­ менные в множестве Z, которые входят в ответ, являются переменными под квантором общности. Таким образом, любые два вхождения некоторой свободной переменной в два терма должны принимать одно и то же значение при любой интерпретации ответа. В приведенном выше при­ мере, где ответ (1) содержит единственный терм f{y), полное ответное предложение гласит:

(ѵу)Р(у,

f(y)).

 

 

 

 

 

В разд.

3.3

мы

приводим

еще два

примера. Ответ

во

втором

примере

содержит

четыре

терма, иллюстри­

руя

частный случай

(4):

 

 

 

[x11=t11

и

 

 

x12=t12l

 

 

 

или

 

 

 

 

 

 

 

 

[x2i=t21

и

 

л ' 2 2 = / 2 2 ] .

 

 

Полученное ответное предложение иногда может быть

упрощено.

Рассмотрим,

например,

 

QUESTION:

&х)Р(х),

 

 

 

ANSWER: YES,

х = а,

or

x=b\

 

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

295

это означает, что доказанное ответное предложение имеет вид ІР(а) V P(b)). Предположим, что можно доказать ~Р(Ь) из других аксиом; тогда может быть доказана истин­ ность более простого ответа, а именно

ANSWER: YES, х=а.

3.3. Процессы, описываемые как преобразование состояний

В некоторых применениях системы QA3, упоминае­ мых в разд. 5, необходимо решить задачи такого рода: «найти последовательность действий, которая приводит к достижению некоторой цели». Один подход к решению такого типа задач основан на понятии преобразований состояний. Мы покажем здесь, как процессы, включающие изменения состояний, могут быть описаны в логике 1-го порядка и как этот формализм используется. Процесс нахождения значений переменных, стоящих под кванто­ ром существования, путем доказательства теорем может быть использован для отыскания последовательности дей­ ствий, необходимых для достижения цели.

Основной механизм очень прост. Функции логики 1-го порядка ставятся в соответствие действиям или опе­ раторам. Эти функции отображают одни состояния в другие. Аксиома принимает следующую форму:

P(sù /\(f(Si)=s2)=^Q(s2),

где sx — исходное состояние; P(Si) — предикат, описы­ вающий исходное состояние; /(sx ) — функция (соответст­ вующая действию); s2 — значение функции, новое со­ стояние; Q(so) — предикат, описывающий новое состоя­ ние.

Равенство может быть устранено, если записать

P ( S l ) ^ Q ( / ( S l ) ) .

В качестве примера рассмотрим, как можно описать движение робота. Каждое состояние будет тогда соот­ ветствовать одному возможному положению робота. Рас­ смотрим предложение: «Если робот находится в пункте а в некотором состоянии sx и выполняет действие по пере-

296 П Р И Л О Ж Е Н И Е

6 С

Цель

а *-

Исходный

пункт

d

' Ф и г. П . 1 .

движению от а к £>, то робот будет в пункте ô в некотором

результирующем состоянии s2 ». Аксиома

будет иметь вид

(VSi) (ysa ) И Г (ß . s i ) Л (mow (a, ô, s1 )=sa ) => AT(b, s2 )].

Функция mofe (a, b, s,) есть действие,

соответствующее

передвижению из ав b. Предикат АТ(а,

s,) истинен тогда

и только тогда, когда робот находится

в пункте а в со­

стоянии Sx- Предикат AT(b, s2) истинен

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

тогда, когда робот находится в пункте b в состоянии s2. Рассмотрим теперь пример, показывающий, как си­

стема

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

быть использована

для

отыскания последовательности

действий, приводя­

щих к цели (фиг. П.1). Работ начинает с позиции а в пер­

воначальном состоянии s0.

Из а он может передвинуться

либо в Ь, либо в d. Из b

он может передвинуться в с.

Из d он может

передвинуться вЬ. Разрешенные передви­

жения показаны на фиг. 1.

 

 

Соответствующие аксиомы таковы:

 

 

ArAT(a,

s0),

 

 

 

 

А2 (ysx ) [AT (а,

s-^^АТф,

move {a,

b,

sx))},

A3-(ys2)[AT

 

(a,

s2)=^AT(d,

move (a,

d,

s2 ))],

Ai-(\fsJ[AT(b,

 

ss)^AT(c,

пгоѵеф,

с,

s3 ))],

A6-(vst)[AT(d,

 

s^=ïAT(b,

move(d,

b,

s4 ))].

Аксиома A-i устанавливает, что робот стартует из пункта а в состоянии s0. Аксиомы А2, А3, Л 4 и Аь описывают воз­ можные передвижения робота.

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

297

Теперь мы задаем вопрос: «Какая последовательность действий приведет к передвижению робота в пункт с?» Мы выражаем этот вопрос в форме: «Существует ли такое состояние, в котором робот будет в позиции с?»:

QUESTION: fas) AT (с, s),

ANSWER: YES, s=/nove(b,

c, move (a, b, s0)).

 

Выполняя

эту

результирующую функцию move {b, с,

move (a, b, c0)),

наш гипотетический

робот может

произ­

вести желаемую последовательность

действий.

Нормаль­

ный

порядок

выполнения функций — начать

с

самого

«внутреннего» действия и по порядку выполнять,

раскры­

вая

скобки,

все последующие действия — приведет к пе­

редвижению робота из а в b,

а затем

из b в с.

В общем

случае для указания последовательности действий может быть использован именно этот метод композиции функций.

Ниже приводится с необходимыми комментариями вывод ответа с помощью принципа резолюции. Отрицание вопроса выражается в виде (ys) ~ АТ(с, s); процесс до­ казательства (опровержения) путем подстановки частных случаев находит то значение s, которое приводит к противоречию. Последовательные частные значения s входят как аргументы в специальный предикат ANSWER. Константами здесь являются а, Ь, с и s , свободными пе­ ременными — s, slt s2, s3 и s„.

Доказательство :

1.

[~АТ{с,

s V ANSWER

(s))}

 

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

2.

[г^АТф,

s3) \ / AT (с, іпоѵеф,

с, s3))}

Аксиома Л4

3.

( ~ AT (b, s3) V ANSWER

(move(b, с, s3))}

 

 

 

 

 

Резолюция 1 и 2

4.

[~ AT (a, s±) V AT (b, move (a,

b, sj)}

Аксиома A2

5. {AT~(a,

sx) V ANSWER

(move (b, c, move (a, b, s^))}

 

 

 

 

 

Резолюция 3 и 4

6.

{AT (a, s0)}

 

 

Аксиома At

7.

{ANSWER(move (b, c, move (a,

b, sQ)))}

Резолюция 5 и 6

Заметим, что процесс доказательства совершается в на­ правлении от целевого узла с к исходному узлу^а.

298

 

 

 

 

 

 

П Р И Л О Ж Е Н И Е

р„,

Рассмотрим другой пример. Пусть два

игрока, рх

и

играют в некоторую

игру. В некотором

состоянии

st

игрок рх находится либо

в позиции а, либо в позиции Ь:

 

Вг. AT(Pl,

a,

sJ\yAT(Plt

b, S l ) .

 

 

В

состоянии

sx

игрок р2

может

двигаться

куда угодно:

 

82. (\/t/AT(p2,

у,

move(pi, у,

st )).

 

 

На

позицию игрока рх

не влияет передвижение игрока

р2\

 

83. (vx)(yy)(vs)\AT(Pl,

 

X,

s)=$

 

 

 

=$>АТ(рг,

X, /поѵе(р2,

у, s))].

 

 

 

Существует ли некоторое состояние (последовательность состояний), такое, что рх и р2 окажутся в одном состоя­ нии?

QUESTION: (Зх) (3 s) [AT (рІУ x, s) V AT (p2 , x, s)},

ANSWER: YES, [x—a и s=move(p2, a, sj]

или

[x—b и s=move(p2 b, Sy)\.

Этот ответ показывает, что существуют две возможности: либо 1) игрок рх находится в позиции а, а игрок р2 дви­ гается в а, встречая р-, в а, либо 2) игрок рх находится в позиции b, а игрок р2 передвигается в Ь, встречая рл в Ь. Однако ответ «или» показывает, что мы не знаем, какое из передвижений приведет к встрече. Ответ «или» полу­ чается благодаря тому факту, что аксиома Вг не указы­ вает положения игрока рх. Ответное предложение, полу­ чающееся в процессе доказательства, имеет вид

 

\АТ<рх,

a,

move(p2,

a,

sx)) A AT (р2,

a, move{p2,

a,

sx))\,

 

\/[АТ(рх,

b, move(p2, b, sx) Л AT (р2,

b, move(p2,

b,

sx))].

 

Доказ ательство:

 

 

 

 

 

 

 

1.

( ~ AT

(px,

x, s) V — AT (p2,

x, s) V ANSWER

(x, s)}

 

 

 

 

 

 

 

Отрицание

вопроса

2.

[AT(p2,

y,

move (p2,

y,

s))}

 

 

Аксиома

B2

3.

{~AT(px,

 

x, move(p2,

x, sx))

V ANSWER (x,

move

 

 

 

 

 

 

 

(p2,

x, S i ) ) }

Из 1 и 2

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

 

 

299

4.

{~ЛТ(р 1 ,

X, s)\fAT{plt

X, move (р2,

х, s))} Аксиома

В3

5.

[~АТ(р

 

у, sx) V ANSWER (у, move (Pi,

у,_ s,))}

 

 

 

 

 

 

 

 

 

Из 3 и 4

6.

{АТ(ръ

a,

Sj) \уАТ(ри

b,

sj)

 

 

Аксиома

Ву

7.

[АТ{ри

Ь, Sj) V ANSWER

(a,

move(p2,

a, Sj})}

 

 

 

 

 

 

 

 

 

Из 5 и 6

8.

[ANSWER

(a, moue 2 , a, sx))

V

 

 

 

 

 

\/ANSWER

(b, move(p2, b, S l ))}

Из 5 и 7

В логике 1-го порядка могут быть формализованы и другие задачи общего вида, что позволяет использовать для их решения метод доказательства теорем. Обсужде­ ние формализации нескольких общих понятий, включаю­ щих понятия «причинно обусловливать», или «вызывать» (cause), «мочь» (сап), «знать» (know), времени и ситуации, содержится в статье Маккарти и Хэйеса (1969).

4. О Р Г А Н И З А Ц И Я ПРОГРАММЫ

Организация вопросно-ответной программы QA3 от­ личается от организации «чистой» программы доказа­ тельства теорем в следующем: стратегией доказательства, предусматривающей быстрый ответ на простые вопросы даже при большой базе данных, соответствующих аксио­ мам; более высоким уровнем взаимодействия между пользователем, вопросно-ответной системой и базой дан­ ных на удобном языке команд, а также значительной гибкостью процесса поиска ответа на вопрос, благодаря чему описанная программа может быть использована в различных приложениях. В этом разделе мы опишем принципиальные свойства системы.

4.1. Управление

программой

Пользователь может управлять процессом доказа­ тельства несколькими путями.

1. Пользователь может потребовать поиска только ответа вида «уes» и «по».

300

П Р И Л О Ж Е Н И Е

2. Пользователь может потребовать от

программы

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

3. Когда доказательство найдено, оно может быть вы­ дано на печать. В дополнение к доказательству выдаются статистические данные о поиске: число полученных дизъюнктов, соотношения между числом дизъюнктов и числом попыток, между числом успешных резолюций и числом попыток и, наконец, между числом полезных фактов и числом попыток.

4. Пользователь может потребовать демонстрации хода поиска доказательства, причем в течение процесса дока­ зательства программа печатает каждый новый дизъюнкт по мере его образования или выборки из памяти совместно с конкретной информацией о дизъюнктах.

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

6.Пользователь может указать предикаты и функции, которые должны оцениваться программами на языке LISP. Например, предикат 1 < 2 может быть оценен соответствующей программой на LISP как функция с истинностным значением Т. Это свойство позволяет пе­

редавать управление периферийным устройствам.

7. Более осведомленным пользователям доступно уп­ равление параметрами стратегии доказательства, такими, как «степень» и «опорное множество».

8. Предусмотрены некоторые полезные специальные способы управления содержанием памяти; а) в память могут быть введены новые аксиомы; б) некоторые аксио­ мы могут быть вычеркнуты из памяти; в) могут быть перечислены аксиомы, содержащие любой из предикат­ ных символов.

4. 2. Особое использование системы доказательства теорем

Система доказательства теорем в процессе доказатель­ ства обращается к набору функций LISP, например к функциям RESOLVE (разрешить), FACTOR (разложить

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