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

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

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

H ' ш Ш IB р = 1

G*=G

Bl S E И /и = о2

ES Ш:Ш"Ш

Щ- Ш Ш В •

. Н Ю

D S3

ш

ш

ш ш

ES

ES

ES Щ-

.

ЕЗ ьЕЭ. : EST ES

ш Ш і ^1=1.0

G 2 ,

G 2 , = G 2 1

ШэЕ9*;'ЕѲ,;.;ЕЭ vi М 2 1 = 0

Й • ES ED "ЕВ *•'

и г. 7.4.

р 2 2 = 1 .0

Щ 03 Щ

G 2 2 = G 221

ВОЕ;>. ЙЗ;' ВЗ М -- 0 ЕЭ • ED ЕВ ЕЩ 22

ВЗ;:іВЗ.":':ВІ,"'"ЕЭ

Y'Q-ГВЗ "О

Ш

= 1,0

 

'• Ш ; , :

ŒJ Ш '•,;Ш

 

щ щ

ES . и

 

/ и ,

ЕО ЕВ

ш

 

ВЗ ЕЭ

ЕР Е9

 

 

142

Г Л А ВА 7

сылаемая в позицию G вероятность равняется 1,0, РР делает вывод, что стоящее в вершине высказывание до­ казано. Конструктивное доказательство состоит из дере­ ва, изображенного на фиг. 7.4, за исключением позиции Gx и ветви, ведущей из позиции G в позицию Gx.

Дерево высказываний. При попытках доказать или опровергнуть данное высказывание РР оперирует дере­ вом высказываний. В изображенном на фиг. 7.5 дереве вершины G, Gi, G2 , G u и т. д. представляют собой выска­ зывания. Высказывания Gi, G2 и G з называются подвысказываниями их супервысказывания G. Истинностное зна­ чение высказывания G является булевой функцией В

истинностных

значений его подвысказываний, т. е. G =

= B(Gi, G2 ,

Gk). Экспериментатор сообщает програм­

ме РР способ

получения булевой функции В. При этом

может быть использована любая булева функция. Осо­ бенно часто в деревьях высказываний встречаются две булевы функции — конъюнкция и дизъюнкция. В случае конъюнкции G = Gi A G2 Л ... Л Gft; это означает, что G истинно тогда и только тогда, когда Gi истинно и G2

истинно

и

... и Gk истинно. В случае

дизъюнкции

G

=

=

Gi V

G2

V ••• V Gk;

это значит, что

G истинно

тогда

и

только

тогда, когда

Gi истинно или

(включающее)

G2

истинно или ... или Gk истинно. Для игры в калах доста­ точно только этих двух функций.

Преобразование высказываний. Экспериментатор дол­ жен задать программе РР способ преобразования выска­ зывания в подвысказывания. Например, при разыгрыва­ нии игры в калах он должен показать РР разрешенные ходы. Для некоторых областей применения программы существует следующее ограничение: каждое высказыва­ ние имеет лишь конечное число подвысказываний. На­ пример, при игрев калах число ходов в любой позиции ко­ нечно.

Попытка породить дерево из непроверенного выска­ зывания. Для доказательства или опровержения выска­ зывания, стоящего в вершине дерева, программа РР по­ очередно 1) порождает дерево из непроверенного выска­ зывания, обладающего наибольшей оценкой (непроверен­ ное высказывание — это такое высказывание, из которого РР не пыталась породить дерево), и 2) отсылает вероят-

Ф и г . 7,6. Дерево высказываний.

144

ГЛАВА 7

ность, выбор и оценку из вновь вырабатываемых непро­ веренных высказываний к высказыванию, стоящему в вер­ шине дерева. РР использует данные ей преобразования для порождения дерева из выбранного непроверенного высказывания. Например, порождение дерева из позиции G2 3 на фиг. 7.5 могло бы привести к результату, показан­ ному на фиг. 7.6. РР выращивает достаточно большое дерево, чтобы время, затраченное на отсылку вероят­ ности, выбора и оценки для всего дерева, не превышало некоторой заданной части А общего времени работы ма­ шины. Часть А — параметр, выбираемый эксперимента­ тором.

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

конъюнкции Gi = Gu

Л

G] 2

имеем рг = рпРі2,

где рп

и Р\і

— вероятности

Gu

и G1 2

соответственно, а р х — ра­

бочая вероятность позиций G-. Аналогично в дизъюнкции

G =

G- V G, V G-

имеем

p = 1 — (1 p-)(l

— /?„) x

x ( l

P-)-

 

 

 

 

Оценка непроверенного высказывания. Процедура оп­ тимального поиска определила бы с минимальными затратами, истинно ли данное высказывание или нет. В этом смысле программа РР субоптимальна, но она применяет процедуру поиска, эффективно выбирающую непроверенное высказывание с наибольшей оценкой. Оценка непроверенного высказывания основывается на оценке степени достоверности того, что порождение из этого высказывания дерева окажется недорогим и изме­ нит вероятность высказывания, стоящего в вершине. Используемая РР процедура поиска должна приближать­ ся к оптимальной, поскольку при каждом порождении дерева серьезно изменяется вероятность высказывания, стоящего в вершине, и эта вероятность стремится к 0 или 1.

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

145

Оценка

непроверенного

высказывания

G[j...st

опре­

деляется как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

др

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку

р зависит

от р{, рі зависит

от рц и т. д., цеп­

ное правило для дифференцирования в частных

произ­

водных дает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

др

 

 

dp

dpi

 

 

dpi.

 

 

dPij-sf

 

 

 

dCij...st

 

 

dpi

 

дрц

 

àPij-st

 

 

dCij-st

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Самооценка /%...s ,

этого же непроверенного высказыва­

ния

G[j...si

определяется

как

 

 

 

 

 

 

 

 

mu...st=

 

 

dCif...st

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно,

оценка

непроверенного

высказывания

G;/...s< задается

формулой

 

 

 

 

 

 

 

 

 

др

 

 

dp

dpi

 

 

 

 

mij---st •

 

(1)

 

àC,h..s,

 

 

dpi

 

дрц

 

 

dPij-st

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа

LP

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

программе

РР

функцию

для

подсчета

самооценки

 

тц...^

непроверенного выска­

зывания иц....

 

В

действительности

программа

РР под­

считывает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bPil-sl

,

 

а не

 

ар

и--si

 

 

 

 

 

 

 

 

 

 

 

 

 

dCu...st

 

 

 

 

 

 

 

где Apu...st

— ожидаемое

изменение

p-t-r..st

в

результате

порождения

дерева

из

Gir..st,

а

Ас?0 -...5 ( — ожидаемая

цена

порождения

дерева

из

Gu-.-.st.

 

 

 

 

 

Отсылка оценки и выбора. Наиболее существенным

фактором,

определяющим эффективную

работу

програм­

мы РР, является то, что она способна

эффективно выби­

рать непроверенное высказывание с наибольшей

оценкой,

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

ним

эту

процедуру на

примере.

Предположим

(см.

фиг.

7.5),

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

G2 2

имеет

наибольшую

оценку.

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

что из

G2 2

порождается дерево,

как показано на фиг. 7.6. Про­

грамма РР запоминает самооценку для каждого из вновь выработанных непроверенных высказываний Gz?u, G22i2>

10-1677

146 ГЛАВА 7

G2 2 2 1 , G 2 2 2 2 . Чтобы начать процедуру отсылки, РР запо­ минает вместе с соответствующими непроверенными вы­

сказываниями

следующие

четыре

«выбора»: G2211 = G 2 2 U ;

G2212 = G2 2 1 2 ;

G2221 =

G2 2 2 1 ;

G*222 =

G 2 2 2 3 .

Для отсылки

оценки от высказываний G 2 3 U

и G 2 ? 1 2

к их

супервысказыва­

нию G2 2 1 программа

РР

вычисляет

 

m 2 2 1 =max

др.

m.:211>

др.2п

m2212

аргш

др.іі12

Отметим, что первая величина в скобках является по­ следним членом выражения для оценки непроверенного высказывания G 2 2 U , задаваемого уравнением (1), а именно

dp

dp

dp

ô p , 3

дрі21

m2211-

 

dp«

 

 

 

Программа РР отсылает также непроверенное высказы­

вание,

имеющее

наибольшую

 

оценку

 

относительно

G2 2 1

-Gffii

— это или G2211, или G2212 в зависимости

от того,

какая величина в скобках больше—первая

или

вторая.

Аналогично РР отсылает т222

и G222 от

значений, кото­

рые запоминались вместе с G2 2 n и G2 2 i2 -

После этого

РР

осуществляет

отсылки

на другом

уровне — от

позиций

G 2 2 1

и G2 2 2 в позицию G2 2 . Оценка имеет вид

 

 

 

 

m,

=max

dp»

m 221>

 

 

m.222

 

 

 

 

 

dp-iz

 

 

 

 

 

 

при

этом G22

есть

либо

G221,

либо

G222 в

 

зависимости

от

того, какая величина в скобках

больше — первая

или

вторая.

Далее РР

 

отсылает

значения

 

от

позиций

G2 1

и G2 2 в позицию G2 . Отметим,

что не приходится вновь

вычислять значения

т21

и G?i

в

дереве,

начинающемся

в G2 1 . Наконец, РР получает

рабочие значения оценки m

и выбора G*. Высказывание

G*

является

непроверенным

высказыванием, имеющим - наибольшую оценку. РР пы­ тается породить дерево из G* и отсылает вероятность и оценку в высказывание, стоящее в вершине. Этот цикл все время повторяется.

В качестве примера отсылки оценки и выбора выска­ зывания предположим, что программа РР только что породила дерево из G2 и что результат этого показан на фиг. 7.2. Прежде всего РР запоминает самооценку для

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

147

обоих вновь выработанных непроверенных высказываний G2i и G2 2 . Чтобы начать процедуру отсылки, РР запоми­ нает следующие выборы вместе с соответствующими вы­ сказываниями: GIi = G2 1 ; G22 = G--. Поскольку G2 яв­ ляется конъюнкцией G2 I и G2 2 , имеем р., = р~-р-~- Следо­ вательно,

дР~

_ „

и

 

дР-

—,

--Р21-

 

ô p 2 1

 

 

dp2 2

 

 

Для отсылки

оценки

от высказываний G2 1 и G2 2 к их су­

первысказыванию G2

программа

РР

вычисляет

m2 —max

др2

 

rn,211

dp2

^ 2 2

1 =

ôp2

 

dp2!

=max (p2 2 /n2 l ,

p2 1 m2 2 )== max (0,24,

0,18)=0,24.

РР отсылает

также

выбор Gl = G2 1 , так как первая ве­

личина

в скобках

больше.

 

 

 

Далее программа РР осуществляет отсылки на сле­

дующем уровне: от позиций G- и G2 к позиции G. По­

скольку

это дизъюнкция,

то р =

1 — (1 Рі) (1 — р 2 ) -

РР следующим образом вычисляет рабочую оценку по­ зиции G:

 

m = max

dp

 

 

дР

 

 

 

àPi

пи

 

àP2 m.

 

 

 

 

 

 

 

 

 

 

 

max[(l —p-)m-,

(1

-рі)Щ]

=

 

 

= max (0,028, 0,144) = 0,144.

 

 

Программа

РР

отсылает

также

выбор

G* = G2 = G2 1 ,

так

как вторая

величина

в скобках больше. Высказыва­

ние

G* =

G2 1

является

непроверенным

высказыванием,

имеющим наибольшую оценку. Как показано на фиг. 7.3,

РР порождает

дерево из

G2 1

и в свою очередь

отсылает

вероятность, оценку и выбор

к высказыванию,

стоящему

в вершине, и т. д.

 

 

 

7.2. ПРОГРАММА О Б У Ч Е Н И Я

 

 

Программа

обучения

LP

должна снабжать

програм­

му РР функциями для подсчета того, как зависят вероят­ ность и самооценка некоторого непроверенного высказы-

10*

148 Г Л А ВА 7

вания от свойств этого высказывания. Заметим, что про­ грамма LP еще не реализована на ЭВМ, так что последую­ щее описание — это просто план, приводимый здесь в целях полноты. В сообщаемых в данной главе эксперимен­ тах все функции и параметры задавались экспериментато­ ром. Они описываются в разд. 7.4. Принимающая дейст­ вительные значения функция от высказываний называется свойством этого высказывания. Например, свойством высказывания, относящегося к шашечной позиции, может являться небольшое преимущество черных. Эксперимен­

татор

задает

программе

конечное

множество свойств,

от которых зависят вероятность

р

и самооценка m : р =

= р(хг,

2,

хп) и m =

m (xlt

x2,

xn), где каждое Xj

есть свойство. Для оценки функций вероятности и само­ оценки программа LP использует как опыт программы Р Р , так и примеры и взвешенные данные, вводимые в програм­ му LP экспериментатором.

Выяснение зависимости самооценки от свойств путем обучения. Аппроксимацией функции самооценки может

служить многочлен с

переменными

xlf х2,

хп. Экспе­

риментатор может задать

программе

LP

определенную

точку с координатами

(М,

Хи Х2,

...,Хп)

и с весом W.

LP использует также

опыт

программы

РР для получения

таких точек. Допустим, что обладающее наибольшей оценкой непроверенное высказывание G имеет вероят­

ность Р0

и значения свойств Хх,

Х2,

Хп.

Допустим

далее, что действительная стоимость порождения

дерева

из позиции G составляет

ДС и что отсылаемая

в G вероят­

ность есть Рь.

В таком

случае

программа LP получает

точку

(М, Хи

Х2,

Хп)

с

весом

1,

где

M

= \ Р Ь - Р й \ / Д С

 

 

 

 

 

 

 

Выяснение

зависимости вероятности

от

свойств

пу­

тем обучения. Экспериментатор может задать программе

LP либо определенную точку (Р, Хи

Х2,

Хп) с весом

W, либо корректные примеры. В последнем случае про­

грамма LP создает точку с весом 1 для каждого проверен­

ного высказывания,

которое либо

доказано, либо опро­

вергнуто. Вероятность Р есть 1 или 0 в

зависимости

от

того, истинно или

ложно высказывание.

Программа

LP

использует для получения заданных точек также и опыт программы PP. С каждым проверенным высказыванием,

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

149

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

ности те же действия, что и с проверенным

высказыванием

в примере, задаваемом экспериментатором.

Вообще, после

того как программа РР завершила попытки доказать или опровергнуть высказывание, остаются некоторые

проверенные высказывания, которые не доказаны,

но и

не

опровергнуты. Для такого высказывания

программа

LP

создает определенную точку (Р, Хи

Х2,

Хп)

с ве­

сом W,

где Р

— отсылаемая вероятность, а

Х},

Х2, ...

W

Хп—значения

свойств проверенного высказывания. Вес

пропорционален общим затратам е на

создание

дерева,

началом которого является это высказывание,

т. е. W —

=

еІЕ,

где Е

— максимальные затраты,

когда-либо

сде­

ланные программой РР на любом дереве. Таким образом,

для W обеспечивается

желаемое свойство — никогда не

превосходить

1.

 

 

7.3. Э К С П Е Р И М Е Н Т Ы С

ПРОГРАММОЙ

Р Р

Для любой

области, в которой должны производиться

эксперименты,

экспериментатор должен

задать програм­

ме РР перечисленную ниже входную информацию. Вход­ ная информация иллюстрируется примерами из области

шашечных

окончаний.

 

 

Функция, которая пытается доказать или опровергнуть

высказывание

без

порождения

каких-либо

деревьев.

Когда эта функция применяется

к непроверенному выска­

зыванию,

она

может

принимать

одно из трех

значений.

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

150 Г Л А ВА ?

дующему: «Не ясно, истинно или нет высказывание о том, что черные могут выиграть, так как сейчас ход белых, а у белых имеются разрешенные ходы». Как только вы­

сказывание

вырабатывается, программа

РР применяет

к нему эту

функцию.

 

Преобразования для непроверенных

высказываний.

Экспериментатор должен сообщить программе РР, как преобразовать непроверенное высказывание в его подвысказывания и как зависит доказательство или опровер­ жение супервысказывания от доказательств или опровер­ жений его подвысказываний. Например, в шашках раз­ решенные ходы преобразуют не проверявшееся ранее высказывание в его подвысказывания, а последние либо дизъюнктивно, либо коиъюнктивно связаны с их супервысказываниями. Экспериментатор классифицирует все преобразования либо как непосредственные, либо как промежуточные. Непосредственным называется такое преобразование, которое, если только оно применимо, применяется без подсчета самооценки или вероятности того высказывания, к которому оно может быть приме­ нено. Так, в шашках непосредственное преобразование высказывания состоит в осуществлении всех взятий ша­ шек, если возможно хотя бы одно. Преобразование, не являющееся непосредственным, называется промежуточ­ ным. Так, в шашках промежуточное преобразование преобразует высказывание, в котором невозможны взя­ тия шашек, в подвысказывания, достижимые после ка­ кого-нибудь разрешенного хода.

7.4.Р Е З У Л Ь Т А Т Ы Э К С П Е Р И М Е Н Т О В С ПРОГРАММОЙ Р Р

Программа РР использовала следующие свойства (действительные функции) позиций, возникающих при

игре

в

калах:

 

А. Функция, аргументом которой является позиция

игры

в

калах,

а значением — перечень разрешенных в

этой

позиции

ходов.

Б. Функция, аргументом которой является позиция, а значением — истинность или ложность в зависимости от того, закончена игра или нет. Игра заканчивается, если

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