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

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

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

Р А З Л И Ч Н Ы Е И Н Т Е Л Л Е К Т У А Л Ь Н Ы Е П Р О Г Р А М М Ы

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-

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