![](/user_photo/_userpic.png)
книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfH ' ш Ш 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.Р Е З У Л Ь Т А Т Ы Э К С П Е Р И М Е Н Т О В С ПРОГРАММОЙ Р Р
Программа РР использовала следующие свойства (действительные функции) позиций, возникающих при
игре |
в |
калах: |
|
А. Функция, аргументом которой является позиция |
|||
игры |
в |
калах, |
а значением — перечень разрешенных в |
этой |
позиции |
ходов. |
Б. Функция, аргументом которой является позиция, а значением — истинность или ложность в зависимости от того, закончена игра или нет. Игра заканчивается, если