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

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

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

Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч

121

веренных доказательств привела к переполнению объема памяти вычислительной машины. Абрахаме не пытался исправить одно неверное одношаговое «доказательство» теоремы, требовавшее в действительности 10 шагов. В 63 проверках в среднем на каждую проверку требова­ лось 17 с,

6.3. ПРОГРАММЫ, КОТОРЫЕ П Л А Н И Р У Ю Т , ОТЫСКИВАЮТ ЛЕММЫ И ОБУЧАЮТСЯ

Л. Трэвис (1964) разработал программу для решения задач о шахматном коне. Каждая задача состоит в пере­ мещении шахматного коня с помощью некоторой последо­ вательности ходов с данного поля на другое поле «шахмат­ ной доски» размером 20 х 20 полей. Ход коня представ­ ляет собой перемещение на два поля в одном направлении (по горизонтали или вертикали), а затем на одно поле в направлении, перпендикулярном данному. Таким обра­ зом, с большинства полей (за исключением полей у края доски) конь может перейти на любое из восьми полей. Однако по условию коню в каждой такой задаче не раз­ решается ходить на определенные поля, называемые за­ прещенными. Задача о шахматном коне и ее решение по­ казаны на фиг. 6.1. Задача состоит в том, чтобы переме­ стить коня с поля 5 на поле G. Заштрихованные поля являются запрещенными. Программа нашла решение, показанное на фиг. 6.1.

В действительности программа решает также и «за­ дачи о полуконе». «Полуконь» может из каждого положе­ ния (кроме крайних) делать только четыре хода, а не восемь, как «полный» конь. Таккак все дальнейшее из­ ложение относится в равной степени к обоим видам за­ дач, в дальнейшем «задача о полуконе» специально упо­ минаться не будет.

При составлении своей программы Трэвис преследо­ вал несколько целей. Задачи шахматного коня хорошо определены и просты. Человек с ними легко справляется, а используемые преобразования (ходы коня) также про­ сты. Трэвис избрал эту проблемную область для того, чтобы достигнуть своей основной цели, не увязнув в де­ талях, как могло бы случиться при исследовании более

122

Г Л А ВА в

Ol 2 д 4

5 6 7 8 9

Ю II 12 13 14 15 16 17 18 19 \

Ф н г . Г б . 1 .

Программа

решает]]задачу о|шахматиом коне.

сложной проблемной области. Основной же целью его было составить программу для построения длинных после­ довательностей преобразований. Программы для доказа­ тельства теорем или для составления программ тоже долж­ ны уметь строить последовательности. И действительно, он назвал свою программу «программой для доказательства теорем». Дополнительно он хотел определить уровень трудности задач, которые может решать его программа. Ему хотелось изучить вопрос о том, как программа может планировать, находить вспомогательные теоремы (лем­ мы) и обучаться. Так как Трэвис назвал свою программу программой для доказательства теорем и так как эти три свойства должны быть добавлены к другим свойствам программ для доказательства теорем, его работа описы­ вается в этой главе. Программа Трэвиса «обучается» в том смысле, что она для решения трудных задач исполь­

зует ранее найденные решения

более

ппостых

задач.

Описание программы. Программа

Трэвиса

состоит

из двух частей: исполнительной

программы и программы

Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч

123

обучения. В свою очередь исполнительная программа со­ стоит из трех частей: подпрограммы планирования, под­ программы упорядочения и подпрограммы отыскания лемм.

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

Каждое преобразование является либо базовым, либо составным. Базовое преобразование рассчитано на выбор одного из 8 возможных ходов коня. Каждое составное преобразование строится из базовых преобразований. Составные преобразования различаются тем, сколько раз в них применяется каждое базовое преобразование. По­

рядок применения

базовых

преобразований в составных

не оговаривается.

Вместе

с каждым преобразованием

(базовым или составным) хранится его координатная ха­

рактеристика, задаваемая

двумя целыми числами X и Y.

X задает изменение числа

вертикальных, a Y — измене­

ние числа горизонтальных рядов в результате преобра­ зования. Например, для одного из базовых преобразова­ ний X = 2, Y = 1 . Преобразования классифицируются по знакам и относительным амплитудам (абсолютным зна­ чениям) X и У.

Исходная задача о шахматном коне задает главную цель перемещения коня из S в G. Эта цель классифици­ руется, а затем сравнивается с преобразованиями, хра­ нящимися в памяти машины, п выбранных преобразова­ ний состоят из преобразования, которое переводит коня с поля 5 как можно ближе к полю G (не учитывая запрещен­ ные поля) и из (я — 1) тесно связанных с ним преобразо­ ваний. Предположим, что п преобразований переводят

коня с поля 5 на поля S,, S3

5/,

Sn

соответственно.

Каждой из п подцелей является

перевод

коня с поля 5/

на поле G. Перемещение с поля Si на поле G является наиболее вероятной подцелью, и процедура «сначала

124

Г Л А ВА в

вглубь» обрабатывает его в первую очередь. Эта

подцель

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

таким образом,

чтобы конь остановился у границы, но

вне запрещенной

области.

Подпрограмма упорядочения исполнительной програм­

мы пытается объединить базовые преобразования в план

таким образом,

чтобы конь остановился у границы, но

вне запрещенной

области. В процессе получения такого

упорядочения подпрограмма формирует список «отно­

сительно» запрещенных полей,

который время от

вре­

мени выдается подпрограмме

отыскания лемм.

Этот

список содержит перечень полей, которые часто мешают успешному упорядочению. В дальнейшем мы на про­ грамме упорядочения больше останавливаться не будем, так как более важными с точки зрения искусственного интеллекта являются подпрограммы планирования, оты­ скания лемм и обучения.

Подпрограмма отыскания лемм рассматривает отно­ сительно запрещенные поля и пытается найти «лемму» — т. е. промежуточное поле М, которое могло бы быть за­ нято конем во время его «путешествия». Выбрав поле М, программа отыскания лемм представляет исходную за­ дачу как конъюнкцию двух задач, а именно задачи пере­ мещения из 5 в M и задачи перемещения из M в G. Каж­ дая из этих задач решается подпрограммой планирова­ ния. Далее подпрограмма отыскания лемм может при необходимости (при наличии относительно запрещенных полей) представить одну из этих двѵх задач в виде конъюнкции двух подзадач и т. д. Таким образом, эта программа порождает конъюнктивное дерево целей. Чем ниже уровень этого дерева, тем меньше становится зна­ чение параметра /г, задаваемого подпрограмме планиро­ вания.

Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч

125

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

Действие программы и выводы. Для исследования работы программы была использована последователь­ ность из 60 задач, сложность которых постепенно воз­ растала. Программа, описанная в предыдущем разделе, решила более 60% предложенных ей задач. Обычно не­ решенными оказывались последние, наиболее трудные задачи. Для решения одной из трудных задач программе потребовалось применить 44 базовых преобразования. Для сравнения укажем, что человек нашел решение этой задачи с использованием только 28 базовых преобразо­ ваний. Довольно низкий уровень качества работы этой программы, несомненно, объясняется отчасти примене­ нием процедуры поиска «сначала вглубь» на имплицит­

ном

дизъюнктивном дереве целей. Как

показано в

разд.

6.1, было бы, вероятно, гораздо лучше,

если бы про­

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

126

 

 

 

Г Л А ВА 6

абстрактные образы

для ряда

других

типов

задач. Тем

не менее, когда это возможно,

эвристическая

программа

должна использовать планирование.

Процедура,

кото­

рая отыскивает и

использует

леммы, является

очень

эффективной. К сожалению, однако, и тут неизвестно,

как находить удовлетворительные леммы для ряда

за­

дач другого типа. Естественно, что эвристические

про­

граммы работают намного лучше, если они обладают спо­ собностью отыскивать и использовать леммы.

Программа обучения работает недостаточно хорошо. Объединение исполнительной программы и программы обучения позволило решить на GO задач больше, чем решила исполнительная программа до такого объедине­ ния. Однако после добавления более простых задач к началу последовательности из 60 задач объединенная программа решила трудных задач не больше, чем ранее.

6.4. ПРОГРАММЫ, ПОМОГАЮЩИЕ Л Ю Д Я М

ОП Е Р И Р О В А Т Ь С МАТЕМАТИЧЕСКИМИ

ВЫ Р А Ж Е Н И Я М И

Различные исследователи разработали программы, ко­ торые помогают людям оперировать с математическими выражениями. Уильям Мартин (1967) и Дж. Мозес (1967) составили одну такую программу для машины, работающей в режиме разделения времени в Массачусетском технологическом институте. Программа способна, кроме всего прочего, производить упрощение математиче­ ских выражений, дифференцировать и интегрировать их и решать некоторые простые дифференциальные урав­ нения. Обычно пользователь с помощью электрической пишущей машинки вводит в машину некоторые исходные математические выражения. Затем он сообщает програм­ ме, каким операциям он хотел бы подвергнуть эти вы­ ражения. Программа быстро и точно выполняет предпи­ санные ей операции и получает промежуточные выраже­ ния. Далее пользователь сообщает программе, что он хо^ет сделать с промежуточными выражениями. Этот процесс может повторяться много раз до тех пор, пока пользователь, наконец, получит окончательное выражение которое ему было нужно. Таким путем программа может,

Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч

127

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

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

6.5.ПРОГРАММА, РЕШАЮЩАЯ З А Д А Ч И НА ОТЫСКАНИЕ Г Е О М Е Т Р И Ч Е С К И Х АНАЛОГИЙ

Программа, составленная Томасом Эвансом (1964), решает широкий класс задач на геометрические аналогии. Программа, названная им ANALOGY, решает эти зада­ чи на уровне сильного ученика старших классов средней школы.

Каждая задача на отыскание геометрической аналогии состоит из восьми помеченных контурных рисунков и сле­

дующего

вопроса:

«Рисунок А

относится к рисунку В,

как рисунок С относится к одномѵ из пяти других

при­

веденных

рисунков.

К какому'»

При предъявлении

за­

дачи, показанной на фиг. 6.2, программа ANALOGY правильно отобрала рисунок под номером 4. Задачи на отыскание геометрических аналогий похожи на интеллек­ туальные тесты. Например, рассмотренная выше задача взята из сборника психологических тестов для студентов первого курса колледжей, выпущенного Американским советом по вопросам образования в 1942 г. ^

!28

ГЛАВА 6

Ф и г. 6.2. Восемь контурных рисунков, использованных программой отыскания геометрических аналогий ANALOGY .

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

Программа может быть описана в терминах следующей восьмишаговой процедуры:

A.Ввести в машину входные описания восьми рисун­ ков. Входные описания делаются вручную. Каждый ри­ сунок описывается в терминах -отрезков прямых и дуг окружностей.

B.Попытаться разложить каждый рисунок на состав­ ляющие его объекты. Например, рисунок А задачи, пред­ ставленной на фиг. 6.3, разлагается на объекты, назван­

ные Рх,

Р2

и Р3. Обозначения

Ри

Я 3

и т. д. введены для

удобства

описания программы

и

ие

задаются программе

во входных

описаниях рисунков.

 

 

Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч

129

Ф

і'. 6.3. Разложение на части контурных

рисунков

и

присвоение обозначений, выполненные программой A N A L O G Y .

 

C. Вычислить характеристики этих

объектов и отно­

шения между ними. Например, на этом шаге с помощью

вычислений устанавливается, что

на рисунке А

объект,

обозначенный Р2,

лежит

внутри

объекта,

обозначенного

Р3.

Кроме того,

устанавливается,

что

Pï

лежит

над

Р2

и Р3.

Устанавливается,

что на рисунке

В

объект

Рі

на­

ходится слева от объекта

Ръ.

 

 

 

 

 

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

 

E. С использованием информации, полученной на

ша­

гах

В — D,

выработать

ЛБ-правила. По

определению

Ло-правила преобразуют

рисунок А

в

рисунок

В.

Л5-правило указывает, как перемещаются,

дополняются

и

изменяются

характеристики

объектов

в

рисунке

А

и отношения между ними для порождения

рисунка

В.

Для порождения ЛБ-правил

программа

сравнивает

объекты рисунка А с объектами рисунка В,

выбирая

все

их

возможные

сочетания,

согласующиеся

с

информацией

о подобии. ЛВ-правило очень специфично, т. е. оно

опре­

деляет в максимально возможной степени

характеристики

и отношения этих

объектов. В рассматриваемом примере

программа находит

Л/З-правило, которое

удаляет

Рг и

9—1677

130

Г Л А ВА В

преобразует Я 2 в Р 4 и Р3 в Рл.

Программа находит ре­

шение и в более сложных случаях, когда объекты не только удаляются, но и дополняются.

F.

Аналогично

для

каждого

результирующего

ри­

сунка

в нижнем

ряду

породить

СХ-правила.

 

 

G. Попытаться построить «обобщенные правила» для

каждого ЛБ-правила и

СХ-правила. По определению

обобщенное

правило

есть совокупность

ЛБ-правила

и

СХ-правила, которая не

преобразует

С

ни в

какой

ре­

зультирующий рисунок,

кроме

X.

 

 

 

 

H. Если

некоторое

обобщенное

правило

является

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

Мы ограничимся описанием этого метода и ие будем останавливаться здесь на других имеющихся подходах.

Итак, была составлена программа, которая решает задачи на геометрические аналогии на уровне хорошего учащегося старших классов средней школы. Это является существенным достижением, так как такого рода програм­ мы похожи на интеллектуальные тесты и поскольку спо­ собность рассуждать с помощью аналогии может сыграть большую роль при создании более сложных программ для решения задач. Составленная программа может об­ рабатывать сложные контурные рисунки, она умеет так­ же разлагать рисунок на части и затем использовать от­ ношения между этими частями.

6.6. Э В Р И С Т И Ч Е С К А Я ПРОГРАММА Р Е Г Р Е С С И О Н Н О Г О А Н А Л И З А

Ф. А. Миллер (1967) составил имеющую практическое значение эвристическую программу регрессионного ана­ лиза, способную к обучению. Один из входов в программу представляет собой набор из (іг + 1) переменных г, х2, хп, у), где /г ^ 40. Независимые переменные xj называются предикіпооами. Зависимая переменная у

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