книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfР А З Л И Ч Н Ы Е И Н Т Е Л Л Е К Т У А Л Ь Н Ы Е П Р О Г Р А М М Ы |
191 |
двоичному коду должна соответствовать |
логическая |
КОНЪЮНКЦИЯ двух входных двоичных кодов, т. е. выходным двоичным кодом будет 1 тогда и только тогда, когда оба входных двоичных кода равны 1.
Учитель знает, в чем состоит задача, а студенты этого не знают. Студент представляет свою программу на рассмотрение своего учителя. Учитель выполняет эту программу и сообщает студенту, оказалась ли она пра вильной или нет. В действительности имеются два учи теля — одни для Гомера и Тедди, а другой для Рамзея (Гомер, Тедди и Рамзей — студенты). Учитель Гомера и Тедди выполняет все переданные ему программы для всех возможных комбинаций входных данных. Таким образом, в задаче КОНЪЮНКЦИЯ каждая переданная програм ма выполняется четыре раза. Гомер после каждой неудачи просто заменяет свою случайно выбранную программу другой случайно выбранной программой, пока не натал кивается на безупречную программу.
Тедди пытается научиться составлению программы для решения данной задачи. В каждой ячейке всегда записы ваются две команды, которые вначале выбираются слу чайным образом. Таким образом, в целом записываются 128 команд. Одна из двух команд — активная, другая — нейтральная. После каждой попытки Тедди передает программу своему учителю, который выполняет ее для всех возвожных в этой задаче комбинаций входных сигна лов. Используемая при каждой попытке программа со стоит из 64 активных команд. У Тедди есть два способа изменения программы. Он часто меняет местами две за писанные в некоторой ячейке команды, так что активной становится сначала одна из них, а потом — другая . Это называется сменой программы. Время от времени он про изводит случайную смену, т. е. стирает одну из 128 за писанных команд и помещает вместо нее новую случайно выбранную команду. Смены программы позволили Тед ди накопить информацию об относительной полезности двух записанных для каждой ячейки команд и постепен но начать оказывать предпочтение той команде, которая чаще приводила к успеху. Случайные смены введены для того, чтобы Тедди ие был ограничен 20 4 програмами, ко торые могут быть составлены из уже записанных в неко-
192
Таблица 9.1. Показатели работы «стулемтоп»
ГЛАВА 9
|
Задача |
Гомор |
Рамзеіі |
Тедди |
ТОЖДЕСТВО |
|
321 |
60 |
1360 |
к о н ъ ю н к ц и я |
19145 |
1758 |
24 898 |
|
Включающая |
ДИЗЪЮНКЦИЯ |
7208 |
216 |
4453Э |
ОТ Р И ЦАIIИ Е |
И МПЛ И КА ЦП 14 |
14247 |
6820 |
18633 |
1 Числа указывают среднее число попыток до достижения успеха.
торый момент времени команд. И смены программы, и случайные замены программ в значительной степени за висят от некоторого числа, связанного с каждой записан ной командой. Это число называется числом успехов. Всякий раз, когда регистрируется успех или неудача, соответственно увеличивается или уменьшается число успехов каждой участвующей в данной попытке команды. Отношение чисел, соответствующих каждому из успехов двух команд, и определяет относительную частоту пре вращения каждой из них в активною. Уменьшение числа успехов после неудач для данной команды продолжается до тех пор, пока одна из нетральных команд не становит ся активной. Есть два вида случайных смен. Команда, число успехов которой становится меньше некоторого за ранее )стаповленного числа, заменяется новой случайно выбранной командой. Кроме того, после каждой 64-й не удачи заменяется одна из команд.
В каждой задаче учитель заставляет Рамзея добиться успеха при наиболее сложных начальных условиях и только потом пытается подключить более простые эле менты задачи. Эксперименты (не описываемые здесь) по казывают, что лучше предъявлять сначала наиболее сложные элементы задачи, а не наоборот. Если представ ленная Рамзеем программа окажется при данном ее вы полнении успешной, Рамзей «связывает» все включенные в нее команды и вновь выдает программу — уже для сле ду к щсго элемента задачи. Если программа Рамзея ока зывается при данном ее выполнении неудачной, он заме няет все присутствующие в ней несвязанные команды
Р А З Л И Ч Н Ы Е И Н Т Е Л Л Е К Т У А Л Ь Н Ы Е П Р О Г Р А М М Ы |
193 |
новыми, случайно выбранными командами. Рамзей не меняет связанные команды, пока не «застревает». Рамзей считается «застрявшим», если после неудачного выпол нения программы ни одна команда не может быть замене на, поскольку все они связаны. Когда Рамзей застревает, решение задачи начинается вновь, и Рамзей выдает 64 но вые случайно выбранные команды.
В табл. 9.1 сведены показатели всех трех «студентов». Рамзей значительно превосходит Гомера, который в свою очередь значительно превосходит Тедди.
Из этой работы можно сделать несколько выводов. Эксперименты с Рамзеем (лучшим студентом) показывают, что способность разлагать задачи на элементы и работать над ними в соответствии с порядком их сложности ока залась полезной. Данный вывод не удивителен. Мы уже не раз видели, что декомпозиция задач на подзадачи — полезная идея. Таким образом, можно заключить (прав да не вполне обоснованно), что вычислительная машина была запрограммирована обучаться составлению про грамм. В разд. 9.2 мы уже обсуждали, какое большое зна чение имеет разработка программы, составляющей про граммы. Еще лучше было бы разработать программу, которая обучается составлять программы. К сожалению, программа, обучающаяся составлять программы (т. е. Тедди), очень слаба. В описанных экспериментах поведе ние, которому программа обучилась, уступало поведе нию, формируемому по случайному закону: Тедди значи тельно уступал Гомеру. Эти эксперименты показывают, что механизмы обучения Тедди весьма несовершенны, хотя они и кажутся на первый взгляд разумными и яв ляются относительно сложными.
9.4. ПРОГРАММА, С О Ч И Н Я Ю Щ А Я М У З Ы К У
В Университете штата Иллинойс Л. Хиллер и Л. Айзексон (1959) разработали для вычислительной машины ИЛЛИАК (ILLInois Automatic Computer) программу, сочиняющую музыку. Музыка удовлетворяет правилам построения контрапункта, сходным с теми, которыми поль зовался Палестрина. Программа начинает сочинять про изведение с того, что последовательно подбирает ноту за
13—1677
194 |
ГЛАВА 9 |
нотой, пока не дойдет до последней ноты или «застрянет». Она производит псевдослучайный выбор следующей ноты, которая потом проверяется с точки зрения выполнения правил построения контрапункта. Если 50 попыток по добрать следующую ноту оказываются неудачными, все сочинение стирается вплоть до этого места, и программа вновь начинает работать с первой ноты. Вероятно, было бы лучше воспользоваться процедурой поиска «сначала вглубь». Тогда после 50 неудач подряд программа сти рала бы последнюю найденную ноту и продолжала бы работу, возможно,''еще раз стерев последнюю ноту и т. д. Было бы лучше, если бы программа как-то планировала свои действия. Программа написала сравнительно широко известную «Иллпак-сюиту», которая исполнялась и дей ствительно напоминает музыку Палестрины.
9.5. ПРОГРАММА |
Д Л Я О П Р Е Д Е Л Е Н И Я |
|
Х И М И Ч Е С К И Х С Т Р У К Т У Р |
|
|
«Эвристический Дендрал» — программа, |
созданная в |
|
Стэнфордском |
университете Эдвардом |
Фейгенбаумом |
(1968) и другими. Входной информацией для этой про граммы являются эмпирическая формула (число атомов углерода, атомов водорода и т. д.) и масс-спектр некото рой ациклической (не кольцевидной) органической мо лекулы. Выходной информацией является набор струк турных формул (молекулярных графов), которые объяс няют данную информацию в свете имеющейся в програм ме масс-спектрометрической модели и устойчивости орга нических молекул. Формулы в наборе упорядочены — от наиболее удовлетворительной к наименее удовлетвори тельной. Для определенных классов органических молекул возможности этой программы близки к возможностям специалистов в области масс-спектроскопии с ученой сте пенью или превышают их возможности.
Эвристический Дендрал |
состоит |
из четырех |
частей: |
устройства предварительного |
вывода, |
генератора |
гипо |
тез, предсказывающего и |
оценивающего устройств. |
В устройстве предварительного вывода содержится набор эвристических правил по распознаванию образов. Это устройство производит предварительную интерпретацию
Р А З Л И Ч Н Ы Е И Н Т Е Л Л Е К Т У А Л Ь Н Ы Е П Р О Г Р А М М Ы |
195 |
данных — оно учитывает присутствие ключевых функцио нальных групп, отсутствие других функциональных групп, веса радикалов, присоединенных к ключевым функциональным группам, и т. д. Устройство предвари тельного вывода подготавливает информацию для гене ратора гипотез.
Генератору гипотез известны валентности |
атомов, и |
он способен генерировать все топологически |
возможные |
изомеры (соединения, обладающие одинаковыми эмпири ческими, но разными структурными формулами) данной эмпирической формулы. Генератор гипотез вместе с эмпи рической формулой определяет имплицитное дерево. В наивысшей вершине все атомы определены, но неизвест на структура. В оконечных вершинах известны полные структуры, но нет нелокализованных атомов. Поиском в этом дереве управляют различные эвристические пра вила и химические модели, более конкретно — выходы устройства предварительного вывода, априорная модель и теория масс-спектрометрии нулевого порядка. Априор ная модель — это модель химической устойчивости орга нических молекул, основывающаяся на присутствии не которых запрещенных или предпочтительных подграфов химических графов. Теория нулевого порядка — это очень грубая, но эффективная теория поведения молекул в масс-спектрометрии. Она выявляет даже при самой гру бой аппроксимации целые классы структур, противоре чащих известным данным.
Выходной информацией для устройства предваритель ного вывода и генератора гипотез является набор моле кулярных структур — гипотез, претендующих на объяс нение эмпирического спектра. Предсказывающее устрой ство для каждой претендующей на истинность гипотезы дает подробное предсказание ее масс-спектра. Оно со держит в себе сложную теорию масс-спектроскопии. Оценивающее устройство — это эвристическая нелиней ная иерархия, сопоставляющая предсказанный спектр каждой претендующей на истинность гипотезы с эмпи рическим спектром. После отбрасывания некоторых пре тендентов оно выдает на печать оставшиеся гипотезы, начиная с наиболее удовлетворительной и кончая наи менее удовлетворительной.
13*
196 |
|
|
|
|
|
|
|
|
|
|
|
|
ГЛАВА 9 |
У П Р А Ж Н Е Н И Я |
|
|
|
|
|
|
|
|
|
|
|
||
1. |
Назовите три |
многоцелевые |
программы. |
|
|
|
|||||||
2. |
Допустим, |
что |
задача |
управления сборочным |
конвейером |
||||||||
на фиг. |
9.1 |
имеет |
время |
цикла |
21: |
|
|
|
|||||
|
а) |
найдите |
(не обязательно |
оптимальное) |
решение; |
||||||||
|
б) |
найдите |
неоптнмальное |
решение. Докажите, |
что это реше |
||||||||
3. |
ние не |
оптимально. |
|
|
|
|
|
|
|
||||
Допустим, |
что специальная процедура использует для |
||||||||||||
управления сборочным |
конвейером, |
содержащим |
18 |
операций, два |
|||||||||
правила |
выбора: |
|
|
|
|
|
|
|
|
|
|
||
|
а) |
Сколько |
там |
имеется |
признаков? |
|
|
|
|||||
|
б) |
Каково общее число |
использованных вероятностей? |
||||||||||
4. |
Допустим, |
что |
в |
специальной вероятностной |
процедуре |
с двумя правилами А и В для выделения признаков оба правила обладают своим нормальным весом 50. При условии, что правило А один раз поощрялось, а правило В один раз наказывалось, опре
делите для правила А |
следующие |
показатели: |
|||
а) |
вес; |
|
|
|
|
б) |
вероятность. |
|
|
|
|
5. Сопоставьте букву для |
каждого относящегося к GPS по |
||||
нятия (первый столбец) с номером |
соответствующего понятия Ком |
||||
пилятора |
Описания Состояний |
(второй столбец): |
|||
а) |
объект; |
|
|
(1) программа на языке ИПЛ-Ѵ; |
|
б) |
оператор; |
|
|
(2) |
описание состояния; |
в) |
преобразующая |
цель; |
|
(3) |
команда на языке ИПЛ-Ѵ; |
г) |
решение. |
|
|
(4) |
цель составления програм |
|
|
|
|
|
|
|
|
|
мы. |
|
|
|
|
|
|
|
6. Сколько раз выполняет учитель Гомера и |
Тедди |
каждую |
||||||||||||
переданную |
ему |
программу |
решения |
задачи |
на |
«тождество»? |
|||||||||
|
7. В чем состояло бы улучшение программы, если бы в про |
||||||||||||||
грамме для сочинения музыки использовалась процедура |
поиска |
||||||||||||||
«сначала |
вглубь»? |
|
|
|
|
|
|
|
|
|
|
|
|||
Л И Т Е Р А Т У Р А |
|
|
|
|
|
|
|
|
|
|
|
|
|||
1. |
F e i g e n b a u m |
|
Е., |
«Artificial |
Intelligence: |
Themes |
in |
the |
|||||||
|
Second |
Décade», |
Proc. |
IFIP Congr., |
vol. I I , Spartan Books, |
Wa |
|||||||||
|
shington, |
D. C , |
1968, |
pp. |
1000—1008. |
|
|
|
|
|
|
||||
2. |
F r i e d b u r g |
R. |
M . , |
D u n h a m В., |
N о г t |
h |
H . , «A |
Lear |
|||||||
|
ning Machine», |
IBM |
J. |
Res. |
Develop.,\Vaxï |
1, 2, № |
1, 2—12 |
(1958); |
|||||||
|
Part 2, |
3, № |
3 |
(1959). |
|
|
|
|
|
|
|
|
|||
3. G r e e n |
С , |
«Application |
of Theorem |
Proving |
to |
Problem |
Sol |
||||||||
|
ving», |
Proc. |
Intern. |
Joint |
Conf. |
Artificial |
Intelligence, |
1969, |
pp.219—240.
4. H i 1 1 e r L. |
A., |
I's |
а а с s о n |
L. M . , |
Experimental |
Music, |
Composition |
with |
an |
Electronic |
Computer, |
McGraw-Hill, |
New |
York, 1959. |
|
|
|
|
|
|
5.N e w e l l A. (ed.), Information Processing Language V Manual, Prentice-Hall, Englewood Cliffs, N . J., 1961.
Р А З Л И Ч Н Ы Е И Н Т Е Л Л Е К Т У А Л Ь Н Ы Е П Р О Г Р А М М Ы |
197 |
6. |
S i m o n |
H . , |
«Experiments |
with |
a Heuristic Compiler», |
J. |
ACM, |
|||||
|
10, 493-506 (1963). |
|
|
|
|
|
|
|
|
|||
7. |
T о n g e |
F. M . , |
«Assembly |
Line |
Balancing Using |
Probabilistic |
||||||
|
Combinations |
of |
Heuristics», |
Management |
Sc'., |
11, |
№ |
7, |
727— |
|||
|
735 (1965). |
|
|
|
|
|
|
|
|
|
|
|
8. |
W a 1 d i n g e r R. J., L e e C. T., «PROW: A Step toward |
Auto |
||||||||||
|
matic Program |
Writing*, |
Proc. |
Intern. |
Joint. |
Conf. |
Artificial |
|||||
|
Intelligence, |
1969. |
|
|
|
|
|
|
|
|
10
Программы для автоматического дедуктивного вывода ответов на вопросы
Немало людей занималось разработкой для вычисли тельных машин программ для ответов на вопросы и для запроса данных. Обычно лучше всего реализовать такую программу в системе с разделением времени, допускаю щей взаимодействие между ЭВМ и человеком. Програм ма, способная дедуктивно вырабатывать ответы на широ кий круг вопросов, в перспективе является многоцеле вой. Другая перспективная цель состоит в превращении такой способной к дедукции программы для ответов на вопросы в разумного собеседника или партнера по ком муникации. Такая программа должна быть способна сама задавать пользователю вопросы. Программа, ис пользующая дедуктивный вывод для ответов на вопросы, полезна уже и в настоящее время. Она может вырабаты вать ответы, требующие объединения нескольких фактов, на что не способна обыкновенная информационно-поиско вая программа.
Когда данных становится очень много, их необходимо записать в память ЭВМ таким образом, чтобы программа для ответов на вопросы могла осуществлять эффективный поиск сведений, относящихся к данному вопросу. В про тивном случае программа затратит на поиск существен ной информации большую часть используемого ею вре мени. Когда данных немного, вполне достаточно бывает хранить их просто в виде перечня (списка) фактов. Не которые (но не все) виды данных удобно хранить в виде таблиц. Многие виды данных целесообразно хранить в
виде сети |
или графа; грубо говоря, каждая вершина в |
|||
них — это |
понятие, связанное различными |
отношениями |
||
с другими |
вершинами. Сеть, |
описывающая |
(частично) |
|
некоторую |
область, называется |
моделью |
этой |
области. |
П Р О Г Р А М М Ы Д Л Я Д Е Д У К Т И В Н О Г О ОТВЕТА НА В О П Р О С Ы |
199 |
Например, сеть, описывающая реальный мир, есть мо дель реального мира. В такой модели программа для от ветов на вопросы может более эффективно находить нуж ные факты, чем в простом перечне фактов. Росс Квиллиан (1966) составил программу (пока еще не использующую дедуктивный вывод для ответов на вопросы), которая рас полагает весьма совершенной моделью, представляющей собой своеобразный словарь определений. Каждое по нятие (вершина) определяется через другие понятия. Такую модель со средним количеством информации мож но эффективно разместить в памяти большой ЭВМ. Одна ко при дальнейшем увеличении объема данных потребу ются модели с более эффективным представлением ин формации.
10.1. ПРОГРАММЫ |
Д Л Я ОТВЕТОВ НА ВОПРОСЫ, |
З А Д А Н Н Ы Е НА О Г Р А Н И Ч Е Н Н О М |
|
АНГЛИЙСКОМ |
Я З Ы К Е |
Большинству таких программ можно просто сообщать факты на ограниченном английском языке. Некоторые другие программы при вводе новых данных требуют внут ренней перестройки своей структуры. Значительная часть программы обычно предназначена для определения син таксиса H значения предложений английского языка. Большинство авторов, в частности Б . Грин и др. (1962), Р. Линдсей (1963), Р. Симмонс (1965) и Ф. Томпсон (1966), при разработке программ для ответов на вопросы боль шее внимание уделяли развитию их способностей по «восприятию» английского языка и меньшее — развитию их способности к дедукции. У. Купер (1964) написал программу, отвечающую на вопросы об истинности или ложности определенных утверждений. Факты и вопросы для этой программы вводятся на ограниченном англий ском языке.
Д. Бобров (1964) написал программу STUDENT, предназначенную для решения задач из школьного кур са алгебры, сформулированных на английском языке. Эта программа представляет задачу в виде системы урав нений. Если программа STUDENT не может решить эту систему уравнений, применяются различные эвристики
200 ГЛАВА 10
для изменения уравнений и просматривается вся гло бальная информация в поисках формул, которые могут оказаться полезными. Примером формулы, относящейся к глобальной информации, является формула, которая устанавливает, что расстояние равно произведению ско рости на время. Программа STUDENT решила широкий круг алгебраических задач. В случае если программа с задачей справляется, скорость решения ею задачи обыч
но |
по меньшей мере такая же, как у человека. Бобров |
отмечает, что программа STUDENT большую часть задач |
|
из |
учебника в том виде, как они написаны, решить не |
в |
состоянии. Объясняется это тем, что ей доступен лишь |
ограниченный английский язык. Сходная программа, составленная Ю. Чарияком (1969), решает выраженные словами задачи из области математических исчислений.
10.2.ПРОГРАММЫ Д Л Я ВЫВОДА О Т В Е Т О В НА ВОПРОСЫ, В Ы Р А Ж Е Н Н Ы Е НА ФОРМАЛЬНОМ Я З Ы К Е
Вэтих программах факты и вопросы выражаются на языке исчисления предикатов или расширенного исчисле
ния предикатов; естественный язык не используется. При разработке таких программ особое внимание уделяет ся развитию их универсальности и способности к дедук ции. Первым шагом в этом направлении было предложе ние Джона Маккарти (1959, 1963, 1969) разработать про грамму, получившую название «Advice Taker» («Запросчик советов»). Эта программа должна была бы оперировать формальными описаниями задач типа тех, которые встре чаются в повседневной жизни. Маккарти заявил, что для суждений по поводу подобных задач программа должна обладать «здравым смыслом». Блэк (1964) написал про грамму, в которой воплощаются в жизнь некоторые идеи Маккарти и которая решила несколько'задач. В этой программе используется процедура поиска «сначала вглубь», причем движение при поиске решения осуществ ляется в обратном направлении — от вывода к гипоте зам, как и в геометрической программе Гелернтера (разд. 4.4). Такой же подход был использован при напи сании программы DEDUCOM (DEDUctive COMmunica-