книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfД Р У Г И Е П Р О Г Р А М М Ы Д Л Я |
Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч |
131. |
|
называется реакцией. |
Другой |
вход в программу есть k, |
|
принимающее значения 3, 4 |
или 5, но не превышающее |
||
п— 2. Программа вычисляет |
модель, связанную с |
каж |
дым из 2п различных наборов k предикторов. По опреде
лению |
модель, связанная с k предикторами |
дг,-, |
хіз, ... |
|||||
...,xik, |
есть функция |
вида у = а0 + алхіх |
- f a2xit |
+ ... |
+ |
|||
+ akxik, |
которая «наилучшим |
образом |
соответствует» |
|||||
наборам из (п + 1) переменных. а,-называются |
множествен |
|||||||
ными коэффициентам |
и |
регрессии. |
Выход |
программы |
со |
|||
стоит из трех наилучших |
моделей, порожденных програм |
мой. Зачастую пользователя программы в первую оче редь интересуют три хороших набора из k предикторов, которые он получает как часть трех моделей. Мы не бу дем обсуждать здесь ту часть программы, которая после того, как набор из k предикторов выбран, для вычисле ния множественных коэффициентов регрессии применяет стандартную процедуру (линейная процедура метода наи меньших квадратов). Основное, на что следует обратить внимание в приведенной ниже процедуре, состоит в том, как она обучается выбору хороших предикторов.
A. Для запуска программы ввести наблюдаемые дан ные, т. е. набор из (п + 1) переменных. Вначале поло жить каждое Р} = 1/л, где Pt—вероятность выбора пре диктора X] на шаге С.
B. Начать опыт. Во время каждого опыта выбирается набор из k предикторов.
C. Выбрать предиктор вероятностным образом в со ответствии с вероятностями Р>.
D.Если выбранный предиктор уже был выбран в этом опыте, отбросить его и перейти к шагу С.
E.Если набор из k предикторов еще не выбран, пе
рейти к шагу С. |
|
|
F. Если набор из k предикторов такой же, |
как набор, |
|
выбранный в каком-то |
предыдущем опыте, |
исключить |
его и перейти к шагу |
С. |
|
!£••" G. Применить регрессионный анализ для |
нахождения |
|
модели, связанной с набором из k предикторов. |
||
Н. Сохранить эту модель, если она принадлежит к |
||
числу трех наилучших |
моделей, полученных |
до сих пор |
в этом^прогоне. |
|
|
9*
132 |
|
|
|
|
|
|
|
Г Л А ВА 6 |
I . Скорректировать вероятность Р} |
выбираемого |
предик |
||||||
тора Xj (мы не |
останавливаемся на |
технической |
стороне |
|||||
реализации |
этого |
шага). |
|
|
|
|
|
|
J. Если |
прогон |
не закончился, |
т. е. если было порож |
|||||
дено менее 2п моделей, перейти к шагу В. |
|
|
|
|||||
К. Напечатать три наилучшие модели и остановиться. |
||||||||
Программа |
работает отлично. Она реализуется в че |
|||||||
тыре раза быстрее первоначально составленных |
программ. |
|||||||
С 1964 г. она решила более тысячи |
различных |
практиче |
||||||
ских задач в разных промышленных |
компаниях, включая |
|||||||
«Celanese Corporation of America» |
и «Glidden |
Comnany» |
||||||
[см. об этом, например, в статьях |
Блэкмора |
и др. (1966) |
||||||
и Драттелла |
( 1968)]. Программа |
выбрала |
предикторы, |
послужившие основанием для назначения высоких окла
дов |
канадским специалистам по исследованию |
операций-, |
и |
выявила важные причины (предикторы) |
смертности |
в результате дорожных происшествий в Джексонвилле, штат Флорида. Эта эвристическая программа, способная к обучению, имеет экономическое значение для промыш ленности, ориентированной на получение высокой при были.
6.7. О Б Щ И Е ВЫВОДЫ, КАСАЮЩИЕСЯ ПРОГРАММ Д Л Я Р Е Ш Е Н И Я М А Т Е М А Т И Ч Е С К И Х З А Д А Ч
Как показано в трех предыдущих главах, исследова тели преуспели в создании программ, которые доказы вают теоремы из области логики и геометрии, проверяют доказательства, производят интегрирование, помогают лю дям оперировать с математическими выражениями, эври стически решают задачи регрессионного анализа, плани руют, находят леммы и обучаются. Скрость действия каждой такой программы выгодно сопоставима со скоростью работы человека, хорошо решающего подобные задачи. Наибольшие усилия в настоящее время должны быть направлены на развитие достигнутых успехов при менительно к тому, чтобы сделать возможным автоматиче ское решение математических задач, еще более трудных и впжных для практики. Эвристическая программа ре грессионного анализа и программа, помогающая людям манипулировать математическими выражениями, уже
Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч 133
имеют практические приложения. Программа, проверяю щая доказательства, и программа, выполняющая интегри рование, могли бы послужить основной для разработки практически применимых программ.
В то же время в процессе разработки эвристических программ для решения математических задач исследова телям удалось напасть на некоторые очень полезные идеи. Например, выяснилась важная роль, которую при реше нии задач играют планирование, отыскание лемм и обуче ние. Были разработаны конкретные процедуры для ре шения целого ряда задач; речь идет о процедурах поиска на имплицитных деревьях с использованием преобразо ваний и с попыткой непосредственного решения задач. Эти идеи могут послужить основой для построения в бу дущем общей теории решения задач.
УПРАЖНЕНИЯ |
|
|
|
|
1. |
Объясните, |
почему утверждение |
3 в табл. 6.1 является за |
|
конным |
следствием утверждения |
2. |
|
|
2. |
Какова первоначально заданная (высшая) цель дизъюнк |
|||
тивного |
дерева, |
использованного |
для |
получения доказательства |
втабл. 6.1 ?
3.Составьте задачу средней трудности о шахматном коне и дайте ее решение.
4. Опишите словами простую проиедуру, которая гаранты рует нахождение кратчайшего решения для любой решаемой за
дачи о |
шахматном |
коне. |
|
|
|
5. |
В предположении, что |
леммы не |
использовались, опреде |
||
лите, какого |
плана |
придерживалась программа при решении при |
|||
веденной на |
фиг. |
6.1 задачи о |
шахматном |
коне. |
6.Составьте задачу на геометрическую аналогию и дайте е« решение.
7.Объясните своими словами цели создания каждой из сле дующих программ:
а) программы, проверяющей |
математические |
доказательства; |
||||
б) программы, помогающей людям оперировать с математи |
||||||
ческими |
выражениями; |
|
|
|
|
|
в) эвристической |
программы |
регрессионного |
анализа. |
|||
Л И Т Е Р А Т У Р А |
|
|
|
|
|
|
A b r a h a m s P., «Machine Verification |
of Mathemathical Proofs , |
|||||
doct. diss., Dept. of Math., |
MIT , Cambridge, Mass., May 1963. |
|||||
B 1 а с k m о r e |
W. R. |
et al., |
«Annual |
CORS Salary Survey for |
||
1965», Can. Oper. Res. Soc, |
B u l l . , Fall, 1966, |
|
134 |
|
|
|
|
|
|
|
|
|
|
Г Л А В А 6 |
|
D r a t t e l l |
A., |
«Management Training Ground at Glidden», Bu |
||||||||||
siness |
Autorr.., |
15, № |
4 (1968). |
|
|
|
|
|||||
E V a n s T., A Heuristic Program |
to Solve Geometric Analogy Prob |
|||||||||||
lems, |
Proc. AF1PS. Ann. Spring Joint Computer Conf., 1964. |
|||||||||||
M a r t i n |
W. A., |
«Symbolic |
Mathematical |
Laboratory*, doct. diss., |
||||||||
M I T , |
Cambridge, Mass., |
Jan, |
1967. |
|
|
|
|
|||||
M i l l e r |
F. A., |
«Improving |
Heuristic |
Regression |
Analysis*, pre |
|||||||
sented |
at |
the |
|
6Ui Annual |
|
Southeastern |
Regional |
Meeting of the |
||||
ACM, |
Chapel |
|
H i l l , |
North |
Caroline, |
June 1967. |
|
|
||||
M o s e s |
J., |
((Symbolic |
Integration», MAC-TR-47, |
Project |
MAC, |
|||||||
M I T , |
Cambridge, Mass., |
Dec. |
1967. |
|
|
|
|
|||||
N e w e l l |
|
A., S h a w |
J. C , |
S i m o n |
H . , «Empirical Explora |
|||||||
tions of the Logic Theory Machine», Proc. Western Joint Computer |
||||||||||||
Conf., |
Febr. |
1957; см. Computers and |
Thought |
(eds.: |
Feigen |
|||||||
baum |
E. A. and Feldman J.), New |
York, McGraw-Hill, 1963; |
||||||||||
русский |
перевод см. сб. «Вычислительные машины и мышление», |
|||||||||||
изл-во «Мир», 1968. |
|
|
|
|
|
|
|
|
||||
Т г а V i s L. Е., |
|
«Experiments with a Theorem Utilising Program», |
||||||||||
Proc. |
AFIPS AnnSpring Joint Computer Cnnf., |
April |
1964. |
|||||||||
W h i t e h e a d |
A. N . . |
R ü s s e l В., |
Principia Mathematica, 2d |
|||||||||
ed., vol. I , Cambridge Univ. |
Press, |
1935. |
|
|
7
Универсальная эвристическая программа ( M U L T I P L E )
В этой и трех последующих главах описывается не сколько универсальных программ (т. е. программ много целевого назначения). Каждая из этих программ является многоцелевой в том смысле, что она способна решать не только задачи одного класса, а множество задач различ ных классов. Разработка таких эвристических программ важна для исследований в области искусственного ин теллекта, потому что именно в этом смысле универсален естественный интеллект. Программа будет действительно универсальной в том случае, если одни и те же существен ные ее части используются для решения различных видов задач; это значит, что программа не должна быть конгло мератом программ, предназначенных каждая для реше ния задач одного класса. Разработка универсальной программы часто отнимает меньше времени и является более поучительной, чем разработка функционально со ответствующего ей набора специальных программ. Можно надеяться, что в конце концов будет разработана универ сальная эвристическая программа, которая будет на столько широкой, что сможет решать некоторые свои «внутренние» задачи, например задачи своего собствен ного обучения, планирования и т. д.
В этой книге рассматриваются следующие универ сальные (многоцелевые) эвристические программы: MULTIPLE (в настоящей главе) [Слэйгл (1965), Слэйгл и Барский (1968), Слэйгл и Конайвер (1970)1; Общий Ре шатель Задач (GPS) А. Ныоэлла и др. (гл. 8); общая вероятностная процедура Ф. Тонге (разд. 9.1) и некоторые программы, отвечающие на вопросы (гл. 10).
MULTIPLE — сокращенное обозначение многоцеле вой обучающейся программы (MULTIpurpose Program
136 |
jT\ |
Г Л А ВА 7 |
that |
LEarns). Она состоит из двух частей— |
программы |
доказательства и программы обучения. Программа дока зательства (РР) ищет конструктивное доказательство или опровержение данного высказывания. Пользуясь терми нологией, введенной в гл. 4, можно сказать, что РР ищет конструктивное доказательство или опровержение того, что данная цель достижима. Она может строить поиск на имплицитном дереве целей достаточно общего вида, вклю чая имплицитное дизъюнктивно-конъюнктивное дерево целей. Следовательно, она представляет собой обобщение компонентов, общих для трех описанных в гл. 4 специаль
ных |
программ, |
а именно программы, решающей задачи |
по |
геометрии, |
программы нахождения неопределенных |
интегралов и программы, решающей шахматные задачи. Она использует алгоритм поиска, эффективно выбираю щий для следующего шага работы то высказывание, ко
торое представляется наилучшим. |
РР выполняет это, |
|
1) поочередно порождая дерево из |
наиболее |
подходящего |
непроверенного высказывания на |
дереве |
высказываний |
и 2) отсылая вероятность и оценку для каждого вновь вырабатываемого непроверенного высказывания к выска зыванию, стоящему в вершине дерева (т. е. заданному первоначально). Вероятность высказывания есть вероят ность того, что это высказывание может быть доказано. Оценка непроверенного высказывания состоит в оценке степени достоверности того, что порождение дерева из этого высказывания окажется недорогим и изменит ве роятность доказательства первоначально заданного вы сказывания. Программа обучения (LP) разработана, но еще не реализована на ЭВМ. Она будет вычислять аппрок симации для функций, необходимых программе РР для вычисления зависимости вероятности и оценки непрове
ренного высказывания |
от заданных свойств |
этого |
выс |
||
казывания. |
|
|
|
|
|
|
В одном из экспериментов РР была дана задача поиска |
||||
доказательств и опровержений высказываний, |
относящих |
||||
ся |
к критериям окончания игры в |
калах (правила |
игры |
||
в |
калах см. в разд. 2.5). В другом |
эксперименте несколь |
|||
ко модифицированная |
программа |
действительно |
играла |
в калах. В обоих экспериментах эта программа сравнива лась с альфа-бета-программой. Результаты обнадежи-
У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E ) |
137 |
вают, поскольку РР оказалась сравнительно быстрой и эффективной. Преимущество ее возрастало по мере уве личения размерности задачи.
7.1. ПРОГРАММА Д О К А З А Т Е Л Ь С Т В А
Чтобы читатель мог получить достаточно ясное пред ставление о РР-части MULIPLE, мы, прежде чем присту пить к ее абстрактному описанию, приведем гипотетиче ский пример ее действия.
Гипотетический пример. В качестве примера покажем, как РР искала бы доказательство конкретного высказы вания, относящегося к игре в шашки. Хотя РР такие высказывания в действительности и не предъявлялись, мы для примера воспользуемся шашками, поскольку боль шинству читателей эта игра более знакома, чем калах. (Как мы увидим ниже, программа доказывала и высказы вания, касающиеся игры в калах, которые значительно сложнее предлагаемых здесь в качестве примера три виальных шашечных утверждений.) Предположим, что РР пытается найти конструктивное доказательство или опровержение высказывания, согласно которому белые могут выиграть в верхней позиции на фиг. 7.1. РР по рождает из высказывания G высказывания d и G2 . Вы сказывание Gj гласит: «Черные начинают, и белые выигры вают» в позиции, обозначенной G\ на фиг. 7.1. РР с учетом правил игры в шашки оценивает вероятность Gx числом 0,4. «Самооценка», строго определяемая ниже, выражает ся числом 0,1, а выбор G* есть позиция Gj. Вообще гово ря, выбор в данной вершине дерева есть то непроверенное высказывание на поддереве, начинающемся в данной вер шине, которое представляется наилучшим. Аналогично РР определяет вероятность, самооценку и выбор для вы сказывания G,. Эти величины отсылаются из Gx и G2 в G.
Поскольку белые могут выиграть в позиции |
G тогда и |
||||||
только тогда, |
когда они могут |
выиграть либо |
в Glt |
либо |
|||
в Go, либо в обеих |
позициях, и поскольку |
d |
и G2 |
пред |
|||
полагаются |
для |
простоты |
независимыми, |
то |
р — |
||
= 1 — (1 — р,) (1 — ро) = 0,82. |
Рабочая |
оценка |
пози |
||||
ции G равняется 0,12, а рабочим |
выбором |
будет позиция |
|||||
G2 . Это означает, |
что наилучшим |
в данный момент |
непро- |
Ф и г. L 7.1. Белые начинают и выигрывают.
Ф и г . 7.2.
У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E ) |
139 |
верейным высказыванием, расположенным на дереве вы сказываний ниже G, является высказывание G2 . Грубо говоря, данный выбор обусловлен тем фактом, что выска зывание G2 обладает более высокой вероятностью (благо приятной для дизъюнкции) и более высокой самооценкой, чем конкурирующее с ней высказывание G r Поэтому РР пытается порождать дерево, исходя из G2 , результат чего показан на фиг. 7.2. РР определяет вероятность, само
оценку |
и выбор |
каждого |
из вновь выращенных |
непрове |
||||
ренных высказываний G2 1 |
и G2 2 . Эти величины отсылаются |
|||||||
в позицию G2 . Поскольку |
белые могут добиться |
победы в |
||||||
позиции G2 тогда и только.тогда, |
когда они могут выиграть |
|||||||
в G2 1 |
и G2 2 , и поскольку |
позиции G2 1 и G2 2 |
принимаются |
|||||
для |
простоты независимыми, |
получаем |
р й — роЛр22 |
= |
||||
= 0,72. |
Рабочая |
оценка |
позиции G2 равняется |
0,24, |
а |
|||
рабочим |
выбором |
будет позиция |
G2 1 . Эта новая |
информа |
ция относительно позиции G2 и старая информация отно сительно позиции Gi отсылаются в позицию G. Очень важно отметить, что информацию в Gx не нужно вычислятзаново, и это остается справедливым, даже если Gx яв ляется началом очень большого поддерева. Таким обра зом, стоимость отсылок приблизительно пропорциональна глубине дерева, начинающегося от выбранного непрове ренного высказывания, а не размеру всего дерева выска зываний. Это важный момент, поскольку встречающиеся на практике деревья могут оказаться чрезвычайно боль шими. Поскольку теперь выбор G* в позиции G есть пози
ция G2 i, то для |
всего дерева наилучшим |
непроверенным |
||||
высказыванием |
представляется G2 1 . РР порождает дерево |
|||||
из позиции G2i |
(фиг. 7.3). В позиции G2 1 1 вероятность выиг |
|||||
рыша белых |
равна 1,0, |
ибо белые |
уже |
выиграли. |
Эта |
|
информация |
отсылается |
в G2 1 . Затем |
новая информация |
|||
из позиции |
G2 i |
и старая информация |
из |
позиции G2 2 |
от |
сылаются в Go- Наконец, старая информация из позиции Gx
и новая информация из |
позиции G2 отсылаются в G. |
||
|
Далее РР порождает дерево из G2 2 (фиг. 7.4). |
Вероят |
|
ность выигрыша белых |
в G2 2 1 равна 1,0, ибо они |
уже вы |
|
играли. Эта информация |
отсылается в G2 2 . Затем |
старая |
|
информация из G2 1 и новая информация из G2 2 отсылаются |
|||
в |
G2 , а старая информация из Gx и новая информация из |
||
G2 |
в свою очередь отсылаются в G. Из того факта, |
что от- |
Ф и г . 7.3.