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

книги / Системы экстремального управления

..pdf
Скачиваний:
15
Добавлен:
19.11.2023
Размер:
33.28 Mб
Скачать

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

Рассмотрим эти алгоритмы. Первую группу образуют алгоритмы, где направление шага определяется чисто

случайным образом.

 

1.

Алгоритм с парными пробами. Этот алгоритм пред­

полагает четкое разделение между поисковыми и рабочими

шагами

системы. В случайном направлении, определя­

 

емомслучайным единичным вектором

 

S = (£lf

., £„), по обе стороны от

 

исходного состояния

X = ц

 

. ., хп) делаются пробы. Значения

 

показателя качества в точках Х х$ =

 

= X ± gE, где g — величина

проб­

 

ного шага, и определяют направле­

 

ние рабочего шага. Этот шаг делается

 

в направлении наименьшего

значе­

 

ния

качества:

 

 

 

 

АХ = -aS sign

(X +gS) -

 

 

- Q ( X

-gE)], (17.3.3)

 

где

a —величина

рабочего

шага.

 

В данном случае основные потери

 

поиска связаны с двумя пробными

 

определениями показателя качества.

 

Рабочий же шаг

обычно делается

 

без

потерь.

 

 

 

Рис. 17.3.2. Блок-

Блок-схема этого алгоритма по­

казана на рис. 17.3.2.

Здесь

через

схема алгоритма слу-

чайного поиска с пар­

± gE обозначен оператор проб в слу­

ными пробами.

чайном направлении S, ДQ — опера­

 

тор

определения приращения функ­

ции качества AQ = Q {X +£S) — Q (X — gS), АХ — опе­ ратор рабочего шага, вычисляемого по формуле (17.3.3). Кружками здесь обозначены элементы памяти, где хра­ нится случайное направление S и промежуточное значе­ ние показателя качества, а пунктирными стрелками — циркуляция запоминаемой информации.

Характерной особенностью данного алгоритма явля­ ется его повышенная. тенденция к «блужданию» даже в том случае, если цель найдена. Действительно, даже найдя экстремум, алгоритм тут же уводит систему в сто-

рону. Для преодоления этого недостатка следует обра­ титься к другим алгоритмам поиска, которые изложены ниже.

2. Алгоритм с возвратом при неудачном шаге. Смысл этого поиска заключается в следующем. В пространстве оптимизируемых параметров из

исходного состояния X i делается шаг в случайном направлении S. Если значение функции качества

вновом состоянии Q (Xi+i) боль­ ше или равно значению функции

висходной точке Q (X i), т. е. слу­ чайная проба S оказалась неудач­ ной, то система возвращается в первоначальное состояние Xi, пос­ ле чего снова делается шаг в но­ вом случайном направлении. Если

же функция качества

уменьши­

 

 

 

лась, то этот шаг считается рабо­

 

 

 

чим и

последующий

случайный

 

 

 

шаг делается уже из нового со­

 

 

 

стояния

X i+1.

 

 

 

 

Рис. 17.3.3. Блок-схема

Этот

алгоритм можно

запи­

алгоритма случайного

сать в

виде следующего

рекур­

поиска с возвратом.

рентного выражения

для

шага

 

 

 

 

J

ûS

при

Q (X{) <

Q (Xj-i),

(17.3.4)

 

AXii+l ~

AXi при

Q (Xi) >

Q (XM).

Как видно, в этом алгоритме целенаправленность получена за счет возврата при неудачном шаге, т. е. когда функция качества не уменьшается. (Напомним, что в данном случае под шагом подразумевается смещение

системы из состояния X i в состояние

с последующим

определением функции качества в этом состоянии).

Блок-схема этого алгоритма показана на рис. 17.3.3,

где прямоугольниками изображены операторы: S — шаг

в случайном направлении

пространства параметров,

Q — определение функции

качества,

AQ — вычисление

приращения функции качества, —АХ — шаг в обратном направлении.

Этот алгоритм, как и предыдущий, может быть реко­ мендован для оптимизации «блуждающих» объектов, когда

Глс. 17.3.4. Блок-схема ал­ горитма случайного поиска с пересчетом.

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

память, что и выполняется в рассмотренных алгоритмах.

3.

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

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

Рекуррентная формула для смещения в пространстве параметров по этому алгоритму имеет вид

и г ,

■ *■ < ?№ )«**

(17.з.5)

1 - а Е ,-, + аЗ ,

при Q (X ,) > Q U ,

 

где Qi = min Q (Xj) — наименьшее значение

функции

7=1...... »

 

 

качества за i предыдущих шагов поиска.

 

Блок-схема алгоритма показана на рис. 17.3.4 и

отличается от предыдущей

в основном тем,

что запо­

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

Однако, как нетрудно заметить, работоспособность этого алгоритма зависит от содержимого памяти (Q0 и S)

Рис. 17.3.5. Блок-схема ал­ горитма случайного поиска с линейной экстраполяцией.

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

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

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

двойной шаг в противоположном направлении, но функ­ ция качества в этом состоянии не измеряется (вычис­ ляется), а экстраполируется в предположении о ее линей­ ном характере поведения. Рекуррентное представление

шага

по этому алгоритму имеет вид

 

 

AXi+ 1

=

 

 

(17.3.6)

=

JаЕ* и Ql =

Q (Х{)

при

Q (X*) <

 

[ - i a E ^ и

Q°i = 2 Q l1- Q ( X i)

при

Q (X,) > <??_х,

где Qi — содержимое памяти на i-м шаге поиска. Блок-схема этого алгоритма показана на рис. 17.3.5.

Здесь —2АХ — оператор двойного шага в направлении,

обратном предыдущему случайному шагу, a Q* —• опе­ ратор, линейно экстраполирующий значение функции качества. Как видно, неблагоприятные шаги в результате работы алгоритма приводят к уменьшению функции качества. Именно поэтому данный алгоритм обладает повышенным быстродействием. Но он, как это легко установить, плохо работает в нелинейной обстановке, при наличии ограничений и при действии больших помех и случайных сбоев.

Характерной чертой случайного поиска является не­ которая неопределенность результата оптимизации, вы­ званная случайным характером поиска, чего не наблю­ дается при работе с регулярными алгоритмами поиска (разумеется, при отсутствии помех). Для того чтобы по­ низить эту неопределенность, естественно ввести опера­ цию накопления, которая позволяет как бы «отфильтро­ вывать» случайную составляющую поиска и тем самым улучшать его характеристики, например уменьшать дис­ персию поиска. Рассмотрим некоторые алгоритмы поиска

снакоплением.

5.Алгоритм паилучшей пробы. Так назовем алго­ ритм случайного поиска, опирающийся на многократную случайную выборку. Из исходной точки Xt делается т

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

АХ1+1

= аЕ*,

 

(17.3.7)

где Е* — направление наилучшей

пробы, которая удов­

летворяет следующему выражению;

 

 

QfXi + g S ')»

min 0 (Х , + *В,),

(17.3.8)

7= 1 .......т

 

 

где g — величина пробного

шага,

Е; — единичные слу­

чайные векторы, равномерно распределенные по всем направлениям пространства параметров.

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

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

6.

Алгоритм статистического

градиента.

Аналогично

предыдущему алгоритму здесь из исходного состояния X

делается т случайных проб gEj,

., gSm, но при этом

вычисляются соответствующие приращения функции ка­

чества:

дQ, = Q(X

+eSj) - Q (X).

(17.3.9)

 

После

этого образуется

векторная

сумма

 

 

 

771

 

 

 

Гт = 2 S3A Qjt

 

(17.3.10)

 

 

7=1

 

 

которая, как можно показать для линейного поля, в пре­ деле при т-*-оо совпадает с направлением градиента функции качества, т. е.

Iim dir Y m = dir grad Q (X ),

(17.3.11)

171—*оо

 

где dir — знак направления (^dir Y — -pprj-j •

С другой сто­

роны, среднее значение вектора Y m по всем возможным реализациям пробных шагов Е3 также совпадает с на­ правлением градиента, т. е.

 

М diryTO=

dir grad Q (X ),

(17.3.12)

 

в

 

 

 

 

 

где

М —знак

математического

ожидания.

 

т

Таким образом, направление вектора Y при конечном

является

статистической

оценкой

градиентного

направления.

Поэтому

рабочий

шаг по

методу

ста­

тистического

градиента можно выбирать в

виде:

Рис. 17.3.6. Потери на поиск для локальных алгоритмов случайно­ го поиска и для метода градиента.

АХ =1 аУт или

АХ = - a dir Y m.

(17.3.13)

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

S j_ = (1, о, О,

., 0),

s n = (0, О,

., О, 1),

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

ческого градиента. Существенной особен­

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

Изложенный метод ста­ тистического градиента яв­ ляется, таким образом, статистическим аналогом и

расширением регулярного метода градиента.

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

К = — затра™— .

(17.3.14)

1

полож. эффект

'

Затраты в данном случае определяются количеством вы­ числений показателя качества (числом проб) за один цикл поиска; эффект естественно измерять величиной смещения к цели при линейной модели объекта за тот же цикл.

Для кусочно-линейного объекта имеем [17.5] сле­ дующие выражения для потерь на поиск алгоритма

Рис. 17.3.7. Зона целесообразного при­ менения случайного поиска (заштрихо­ вана).

с парными пробами

(17.3.3):

 

 

К г -

2

 

(17.3.15)

U(n) »

 

где

 

 

 

 

U(n) =

 

» ( т )

 

(17.3.16)

 

 

 

1^я (n — 1) Г ^“

2““ ) ’

 

Г (•) — гамма-функция [Г -J- 1) = хГ(х), Г

= 'V я

Г(1) = 1].

с линейной экстраполяцией

 

Для алгоритма

 

 

 

1

 

(17.3.17)

 

 

и {п)

 

 

 

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

порционально Y п- Для сопоставле­ ния здесь пунктиром представлены потери на поиск для двух алгоритмов градиент­ ного поиска с парны­ ми пробами (15.1.11) К = 2п и централь­ ной пробой (15.1.8) К = п + 1 . Хорошо

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

Этот вывод сделан при сопоставлении работы алго­ ритмов на линейной модели объекта, моделирующей си­ туацию вдали от экстремума. Естественно сопоставить алгоритмы случайного поиска и градиента вблизи цели. Это сделано для центральной модели [17,5], на которой

сопоставлено быстродействие случайного поиска с Воз­ вратом. На рис. 17.3.7 показана плоскость параметров ситуаций центрального объекта (р — расстояние до цели, измеренное в рабочих шагах поиска, п — размерность объекта). Заштрихована область, где быстродействие случайного поиска превышает быстродействие градиент­ ного по критерию потерь на поиск.

Из этого рисунка можно сделать следующие выводы : случайный поиск более эффективен при оптимизации

объектов большой

размерности вдали

от

экстремума.

В обстановке малой размерности

(п ^

3)

и в

районе

экстремума (р æ 0)

целесообразно

действовать

методом

градиента.

 

 

 

 

 

§ 17.4. Самообучение в процессе случайного поиска

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

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

Самообучение очень естественно вводится именно при работе методом случайного поиска. В этом случае оно проявляется в перестройке вероятностных характеристик

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

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

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

С другой стороны, алгоритм обучения должен иметь возможность «переучиваться», если ситуация изменилась или обучение было неточно.

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

Исследуем несколько алгоритмов самообучения в при­ менении к задачам оптимизации многопараметрических

систем

методом случайного поиска.

1. С а м о о б у ч е н и е м е т о д о м и с к л ю ч е ­

ния .

Этот алгоритм опирается на следующее очевидное

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