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

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

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

8

Общий решатель задач (GPS)

Программа,

названная

Общим

Решателем Задач

(GPS), решала

самые разнообразные

задачи

(Ньюэлл,

Шоу и Саймон,

19G0; Эрнст

и Ныоэлл, 1967,

1969). Из

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

(1969)

усовершенствовал более

ранний

вариант GPS

и провел с ним эксперименты. GPS — это

действительно

единая

универсальная

программа,

а

не простое сочета­

ние

программ,

каждая

из которых

специализирована

для

выполнения

задач

одного класса.

 

 

Для конкретности рассуждений приведем некоторые примеры внешнего поведения GPS. Предположим, что для GPS на подходящем языке сформулирована следую­ щая задача об «обезьяне и бананах». (Эта задача была впервые предложена Дж. А\аккартн, 1963.) Обезьяна вместе с ящиком находится в комнате, на потолке которой подвешены бананы. Обезьяна может подойти к ящику, передвинуть его и залезть на ящик. Обезьяна может до­ стать бананы только в том случае, если она будет стоять на ящике, а ящик будет находиться под бананами. Что необходимо сделать обезьяне, чтобы достать бананы? Про­ работав менее четырех минут, GPS находит ответ: обезьяна должна подойти к ящику, передвинуть его под бананы, залезть па яшик и достать бананы.

Для

нахождения

простых неопределенных

интегра­

лов GPS даются несколько простейших правил выполне­

ния арифметических

и алгебраических операций, а так­

же операций дифференцирования

и интегрирования. Про­

работав

над конкретной задачей

J" te'"dt около

трех ми-

11—1677

 

 

 

 

162

 

 

 

 

 

 

 

 

 

ГЛАВА 8

нут, GPS печатает ответ: 1/2е'і.

Проработав

около

шести

минут нал другой

конкретной

задачей: J' (sirA'/ cos ct. +

- f t~l)dt,

GPS печатает ответ:

(sin3 tV)/3c+ In/,

 

 

f-

В целом

способ

работы

программы

GPS состоит в по­

иске на дереве целей путем преобразования

целей

в бо­

лее

простые

подцели. Мы будем говорить

здесь и в даль­

нейшем «GPS», хотя в действительности

точнее

было бы

говорить

об «исполняющей

программе для

решения за­

дач», являющейся по существу

программой высшего уров­

ня

в GPS.

Исполняющая

программа

выбирает

подцели,

выбирает

методы и

применяет

выбранные методы к вы­

бранным

подцел/ім. Задача для GPS задается

через

объек­

ты,

операторы и различия. GPS применяет общий

метод,

называемый

анализом целей

и средств

(means-ends

a іа-

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

но

отсутствующее

в

другом

пли

же присутствующее

в нем в другом виде. GPS использует различие для

выбора

подходящего

 

оператора,

уменьшающего

это

различие.

 

 

 

 

 

 

 

 

 

 

Вот некоторые результаты работы GPS. Программа

GPS

решила

11 существенно

различающихся между со­

бой

задач. Она оказалась

способной

выполнять

задания,

требующие

индуктивных

и

дедуктивных

рассуждений.

Задания выполнялись

очень

медленно.

Оказалось,

что

метод

анализа

целей и средств очень эффективен

в неко­

торых

задачах,

но не во всех. Тот факт,

что используе­

мые в GPS общие методы напоминают методы, используе­

мые

людьми, очень

важен для исследователей,

которых

особенно интересуют психологические аспекты исследо­

ваний, ведущихся в

области

искусственного

интеллекта.

Для GPS оказались

нужны

лишь четыре

типа целей.

В GPS должны иметься средства рассмотрения задачи в

целом, способ же выбора следующей цели

требует усо­

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

О Б Щ И Й Р Е Ш А Т Е Л Ь З А Д А Ч

(GPS)

 

163

8.1. П Р Е Д Ъ Я В Л Е Н И Е

З А Д А Ч И

 

 

Каждая заданная программе GPS задача состоит из

проблемной среды

и

конкретной

задачи.

Проблемную

среду составляет

вся

общая для

задач

определенного

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

объектов,

и

некоторой

вспомогательной

информации.

Каждая

конкретная

задача

состоит из

конечной

цели

и

объектов.

В табл.

8.1

приведено

описание

задачи

об

обезьяне и

бананах.

Там

указана

конкретная

задача

и

почти полностью

представлена проблемная среда.

В этой

таблице хорошо представлены также таблица связей и информация, необходимая для сравнения объектов, одна­ ко более полно это будет объяснено в разд. 8.4. В вычисли­

тельной машине задачи для GPS

выражаются на языке,

напоминающем язык

табл. 8.1,

но более формальном.

8.2. ИСПОЛНЯЮЩАЯ

ПРОГРАММА

 

Д Л Я Р Е Ш Е Н И Я З А Д А Ч

Детальное описание задачи предъявляется исполняю­ щей программе, основные шаги функционирования котарой приводятся ниже. Упоминаемые в этих шагах «анте­ цеденты цели» определяются в разд. 8.4. Вообще говоря, ядро (внутренний цикл — шаги D — L) выполняется локально, т. е. оно довольно естественным образом гене­ рирует подцели и в зависимости от успехов и неудач пе­ ремещается между суперцелями и подцелями (к антецеден­ там). Исключениями из этой «локальности» являются шаги I и D (1). Шаги А и В выражают «отчаяние», т. е. тот случай, когда исчерпаны все методы достижения конеч­ ной цели [см. шаг D (1)]. Здесь не будет подробно разъяс­ няться, какая именно цель выбирается на шаге В, по­ скольку это не представляет особого интереса, да и слу­ чай этот встречается редко. Задача задается следующей исполняющей процедуре, и ее решение по существу начи­ нается с шага С.

А. Если исчерпаны все методы для всех целей, напе­ чатать сообщение об этом и остановиться.

11*

Таблица 8.1. Детальное описание задачи об обезьяне

ибананах, заданной GPS

1.Проблемная среда

А Вспомогательная информация: множество положений (на полу) = (положение 1, положение 2, под бананами),

В.Операторы 1. ЗАЛЕЗТЬ =

а)

предварительная проверка: положение оГезьяиы совпадает

с

положением

яшнка;

б)

результат:

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

на

ящике.

 

2. ИДТИ = а) переменная: х есть множество положений;

б) результат: положением обезьяны становится X. 3. ПЕРЕДВИНУТЬ ЯЩИК =

а) переменная: л: есть множество положений; б) предварительные проверки:

(1)положение обезьяны есть множество положений;

(2)положение обезьяны есть положение яиднка;

в) результаты:

(1) положением обезьяны становится х;

(2) положением ящика становится х.

4.ВЗЯТЬ БАНАНЫ = а) предварительные проверки:

(1)положение ящика — пол бананами;

(2)положение обезьяны — на ящике; б) fa паны у обезьяны в руке.

C.Различия:

Dl — положение обезьяны;

D1 — положение ящика;

Ш— содержимое руки обезьяны.

D. Упорядочение различий: Di умеіпшпть трѵлнее, чем

D2. а последнее уменьшить труднее, чем Dl.

E. ТАБЛИЦА СВЯЗЕЙ = все операторы желательны для умень­ шения всех различий.

I I . Конкретная задача

A. КОНЕЧНАЯ ЦЕЛЬ = преобразовать ИСХОДНЫЙ ОБЪЕКТ

вЖЕЛАЕМЫЙ ОБЪЕКТ. B. ОБЪЕКТЫ:

1.ИСХОДНЫЙ ОБЪЕКТ =

а) положение обезьяны есть положение 1;

б)

положение

ящика есть

положение 2;

ВІ

рѵки обезьяны пѵсты.

 

2. ЖЕЛАЕМЫЙ

ОБЪЕКТ =

бананы у обезьяны в руке.

О Б Щ И П Р Е Ш А Т Е Л Ь З А Д А Ч (GPS)

165

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

C.Выбрать конечную цель.

D. Если исчерпаны все методы для выбранной цели, сделать следующее:

1)если выбрана конечная цель, перейти к шагу А;

2) если выбранная

цель — не

конечная,

выбрать

ее су пер цель и

перейти

к

шагу D.

 

E. Выбрать не применявшийся

еще метод для

выбран­

ной цели.

F.Попытаться применить выбранный метод к выбран­ ной цели.

G.Если выбранный метод неудачен, т. е. если с его

помощью

ікль

не

достигается и

не

генерируется под­

цель, сделать следующее:

 

 

 

 

1)

если

выбранная

цель — конечная,

перейти

 

к

шагу

D;

 

 

 

 

2)

если

выбранная

цель — не

конечная,

выбрать

 

ее

суперцель и

перейти

к

шагу D.

 

H. Если с помощью выбранного метода цель дости­

гается, сделать

следующее:

 

 

 

1)если эта цель является конечной, напечатать ответ и остановиться;

2)если достигнутая цель— не конечная, вы­

брать ее супериель и перейти к шагу D.

I . С помощью выбранного метода генерируется под­ цель. Если эта подцель эквивалентна ранее выработан­

ной

цели, перейти к шагу С.

J.

Если подцель выбранной цели нежелательна ввиду

того, что она труднее достигается, чем суперцель выбран­

ной цели,

перейти к

шагу D.

К. Если

подцель

нежелательна ввиду того, что она

достигается труднее, чем антецедент выбранной цели,

выбрать антецедент и перейти к

шагу D.

 

L. Если подцель выдерживает

оценку, производимую

на

шагах J

и К, выбрать

подцель и перейти к шагу D.

8.3.

П Р И М Е Р

Р Е Ш Е Н И Я

З А Д А Ч И

 

В табл. 8.2 и на фиг. 8.1 показано, как GPS приме­ няет исполняющую процедуру для решения задачи об обезьяне и бананах, описанной в табл. 8.1. Как и во всех

166

 

 

Г Л А ВА 8

Таблица

5.2. Этапы решения программой GPS задачи

об обезьяне

и банане

ИСХОДНЫЙ ОБЪЕКТ =

а)

положение

обезьяны — положение 1;

б)

положение

ящика — положение 2;

в)

руки

обезьяны пусты.

Ж Е ЛАЕМЫЙ ОБЪЕКТ = бананы у обезьяны в руке. ОБЪЕКТ 2 =

а)

положение

обезьяны — положение 2;

б)

положение

ящика — положение 2;

в)

руки

обезьяны пусты.

 

ОБЪЕКТ 3

=

 

 

а)

положение

обезьяны — под бананами;

б)

положение

ящика — под

бананами;

в)

руки

обезьяны пусты.

 

ОБЪЕКТ 4

=

 

 

а)

положение

обезьяны — на

ящике;

б)

положение

ящика — под

бананами;

в)

руки

обезьяны пусты.

 

ОБЪЕКТ 5 =

 

 

в)

положение

обезьяны — на

ящике;

б)

положение ящика -г- пол бананами;

в)

бананы у обезьяны в руке.

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

щий для

таких целей, а именно метод

преобразований.

Отметим,

что мы для удобства запоминания

применяем

одно и то же название как для

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

типа цели,

так и для

одного из методов.

При методе

преобразований

исходный объект сравнивается с желаемым. Если между ними уже имеется соответствие (т. е. нет различии), то с помощью этого метода цель достигается. Если различия существуют, то в соответствии с этим методом строится подцель — уменьшить самое трудное различие. На шаге F метод преобразований применяется к конечной цели. Поскольку на шаге G с помощью выбранного метода цель достигается, осуществляется переход к шагу Н. На ша-

О Б Щ И Й Р Е Ш А Т Е Л Ь

З А Д А Ч

(GPS)

 

 

 

 

 

167

 

 

 

 

 

 

 

КОНЕЧНАЯ ЦЕЛЬ

 

 

 

 

 

 

 

 

п Р £ ? & % 3 0 т т

ГОДНЫЙ

 

 

 

 

 

 

 

ОБЪЕКТ в ЖЕЛАЕМЫЙ

 

 

 

 

 

 

 

 

 

 

 

ОБЪЕКТ

 

 

 

 

 

 

 

 

ЦЕЛЬ 2

 

 

.

цель із

 

 

 

 

 

 

Уменьшишь

S3

в

Шоаразовать

5

в

 

 

 

 

 

^СХОДНОМОБЪЕКТЕ

 

 

 

 

 

ЩЛАЕМЬ/ИОБЪЕКТ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЦЕЛЬЗ

 

 

 

 

 

 

 

 

 

 

Применить

к ИСХОДНОМУ ОбЪКТУ

 

 

 

 

 

 

Оператор

ВЗЯТЬ

ОАНАНЫ

 

 

 

 

 

ЦЕЛЬ 4

 

 

 

 

 

 

 

 

Уменьшите

£2 в

 

 

 

 

Применить

к 3

 

 

ИСХОДНОМ ОБЪЕКТЕ

 

 

 

 

\onepamop

ВЗЯТЬ

БАНАНЫ

 

ЦЕЛЬ

5

 

 

ЦЕЛЬ /О

 

ЦЕЛЬ 12

Примените

к ИСХОДНОМУ

 

Уменьшить

 

Л/

Применить

к 4

ОБЪЕКТУ

 

оператор

 

 

ПЕРЕДВИНУТЬ ЯЩИК

 

вЗ

 

 

оператор

 

с х-пор

 

 

бананалш.

 

 

 

 

 

ВЗЯТЬ

БАНАНЫ

ЦЕЛЬ

6

 

 

 

ЦЕЛЬ

в

 

 

ЦЕЛЬ II

 

 

Уменьшить

 

1)1

в

Применить

к 2

 

 

Применить

к 3

 

 

ИСХОДНОМ

ОБЪЕКТЕ

оператор ПЕРЕДВИ­

 

оператор

ЗАЛЕЗТЬ

 

НУТЬ

ЯЩИК

 

 

 

 

 

 

 

 

с се= под

бананами

 

 

 

 

 

ЦЕЛЬ

7

 

 

 

 

 

 

 

 

 

 

 

Применить

к ИСХОДНОМУ ОБЪЕКТУ

 

 

 

 

 

 

 

оператор

 

ИДТИ

 

 

 

 

 

 

 

 

с х- = полотенце

2

 

 

 

 

 

 

 

 

 

Ф и г . 8.1.

re IT применение этого метода не приводит к достижению цели: исходный объект не соответствует желаемому, по­ скольку в первом объекте рука обезьяны пуста, а в по­ следнем в пей находятся бананы. На шаге I с помощью этого метода вырабатывается подцель, цель 2 — умень­ шить различие D3 (содержимое руки обізьяны), ибо это наиболее трудное (и фактически единственное) различие между исходным и желаемым объектами. На шагах J и К цель 2 оценивается, так как для выбранной цели (ко­ нечной цели) нет ни суперцели, ни антецедента. На шаге L цель 2 выбирается и осуществляется переход к шагу D.

Когда выбрана цель 2, шаг D ничего не меняет. На шаге Е выбирается метод уменьшения различия. Это

168

Г Л А ВА 1

один из м.етодов, подходящих для целен типа

уменьше­

ния различия. Если метод уменьшения различия окажется успешным, в соответствии с ним строится подцель: применить к объекту оператор, подходящий для умень­ шения определенного различия. Этот метод успешно применяется на шагах F I , и он вырабатывает цель 3: применить к исходному ОБЪЕКТу оператор ВЗЯТЬ БАНАНЫ. Поскольку цель 3 успешно проходит оценку, производимую на шагах J и К, то на шаге L выбирается

цель 3 и

осуществляется переход к шагу D.

 

Когда выбрана цель 3, на шаге Е выбирается метод

применения

— один из методов, подходящих для

целей

типа применения. В соответствии с этим методом

опера­

тор, если это возможно, непосредственно применяется. Если оператор не может быть непосредственно применен,

строится подцель — уменьшить наиболее

трудное

раз­

личие,

препятствующее применению оператора. На

шаге

F метод

применения испытывается для цели

3. На шаге I

выбранный метод не ппиводит к достижению цели 3; оператор ВЗЯТЬ БАНАНЫ не может быть применен непосредственно, поскольку для его применения необ­

ходимо,

чтобы ящик

находился под бананами, а обезья­

на — на

ящике. На

шаге I с помощью этого метода вы­

рабатывается

подцель (цель 4) — уменьшить

различие D2

(положение

ящика),

более трудное, чем

D1

(положение

обезьяны).

На

шаге

L выбирается цель 4

и осуществляет­

ся переход

к

шагу

D.

 

 

Совершенно аналогично вырабатываются и выбира­ ются далее цели 5, 6 и 7. Предположим, что только что

вы^оана

цель

7

и осуществлен переход к шагу

D. На ша­

ге Е для

цели

7

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

На шаге IT

с помощью выбранного метода достигается цель 7; обезья­

на перемещается

в положение 2 и вырабатывается

объект

2 в табл. 8.2. На

шаге H (2) выбирается цель 6 (суперцель

цели 7) и осуществляется переход к шагу D. На

шаге Е

выбирается метод, подходящий для цели 6. С помощью

этого

метода достигается

цель уменьшения

различий,

если

уже достигнута ее

подцель. На шагах

F — H (2)

спомощью этого метода достигается цель 6. выбирается

еесуперцель (цель 5) и осуществляется переход к шагу D. На шаге Е выбирается метод, подходящий для цели 5.

О Б Щ И Й Р Е Ш А Т Е Л Ь З А Д А Ч ( G P S )

169

В соответствии с этим методом для пели применения вы­ рабатывается другая цель применения при условии, что

уже

достигнута

подцель

уменьшения

различий.

На

ша­

гах

F — I в соответствии

с этим методом вырабатываете!

цель 8 — подцель

цели 5. На

шаге L выбирается

цель 8

и осуществляется

переход

к шагу. D.

 

 

 

Аналогичным

образом

вырабатываются и выбираются

цели 9—13. Предположим, что только что выбрана

цель 13

и осуществлен

переход к

шагу

D. На

шаге Е для

цели

13 выбирается метод преобразования. ПОСКОЛЬКУ на шаге

H

объект

5 соответствует желаемому ОБЪЕКТу, до­

стигается

цель 13. На шаге H

(2) выбирается

конеч­

ная

цель и осуществляется переход

к шагу D. На

шаге Е

выбирается метод, подходящий для конечной цели. С по­

мощью этого метода достигается

цель преобразования при

условии,

что

уже

достигнута

подцель

преобразования.

Так как

на

шаге

H ( 1 ) фигурирует

конечная иель,

процесс завершается и печатается ответ: обезьяна пере­ мещается в положение 2, передвигает ящик под бананы,

залезает

на

ящик

и берет

бананы.

 

 

 

8.4. Ц Е Л И .

С Р А В Н Е Н И Я ,

О П Е Р А Т О Р Ы

 

 

 

И Т А Б Л И Ц А СВЯЗЕЙ]

 

 

 

 

 

 

Данный раздел и три предыдущих дадут читателю

хорошее

прелставленне

о том,

как

действует

GPS.

 

Цели.

GPS

имеет

дело с четырьмя

видами

целей:

преобразгвание

объекта

А в объект

В, уменьшение

разли­

чия D в объекте

А, применение

оператора

Q к объекту А

и выбор

из

множества

S

элемента,

наилучшим образам

удовлетворяющего

критерию

С. Первые три

вида

целей

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

170

Г Л А ВА 8

Однако большим достоинством GPS

является то, что в

него вводится в виде программ лишь небольшая часть ин­

формации, зависящей

от задачи.

 

 

 

 

 

Антецедентом цели G является такая цель, результат

которой

используется

при

постановке

цели

G и

супер­

цель которой

совпадает с

су пер целью

G. Например,

на

фиг. 8.1 цель 2 является антецедентом

цели

13, цель 4 —

антецедентом

цели 9,

цель 6 — антецедентом ^ цели

8,

а цель

10 — антецедентом

цели

12.

Никакая

другая

цель в табл. 8.2 не имеет антецедента.

 

 

 

 

Трудность

достижения

цели — это

трудность

связан­

ного с

ней различия.

Трудность

различия

определяется

в соответствии с имеющимся в проблемной среде упоря­ дочением различий. Поскольку единственные цели, с которыми непосредственно связаны различия, — это цели уменьшения различий, то трудность достижения всех других видов целей приравнивается к трудности наибо­ лее трудных их подцелей. Например, в табл. 8.2 с конеч­ ной целью непосредственно не связано различие, но после выработки цели 2 GPS приравнивает трудность достиже­ ния'конечной цели к трудности цели 2, поскольку при сравнении исходного объекта с желаемым наиболее труд­ ным различием оказалось D3. Цель 4 была оценена как желаемая, потому что су пер целью цели 3 является цель 2, а различие D2 не труднее, чем D3.

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

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