МЕТОДЫ ПОИСКОВОЙ АДАПТАЦИИ НА ОСНОВЕ МЕХАНИЗМОВ ГЕНЕТИКИ, САМООБУЧЕНИЯ И САМООРГАНИЗАЦИИ
Б.К. Лебедев
Методы поисковой адаптации на основе механизмов генетики являются эффективным средством решения оптимизационных задач [1-4], преимущество которых в параллельной обработке множества альтернативных решений, что является мощным средством выхода из локальных оптимумов. Генетические алгоритмы (ГА) - алгоритмы случайного поиска, однако заложенная в них стратегия эволюционного развития на основе естественного отбора приводит к синтезу решений, близких к оптимальным [5].
Тем не менее эффективность ГА во многом определяется как учетом специфики решаемой задачи, так и использованием новых и модифицированных процедур поиска.
Специфика решаемой задачи прежде всего учитывается при разработке структуры, принципов кодирования и декодирования хромосом. При разработке ГА руководствуются следующими соображениями [6].
Желательно, чтобы хромосомы в разрабатываемых алгоритмах были гомологичными, что исключает возникновение нелегальных решений и упрощает выполнение генетических операторов, модифицирующих хромосомы. Достоинством ГА является линейная оценка временной и пространственной сложности генетических процедур, выполняемых на каждой итерации, что дает возможность решать задачи большой возможности, а это важно при проектировании СБИС.
Для повышения эффективности в генетических алгоритмах используются структурирование хромосом и многохромосомные представления решения. Каждая часть структурированной хромосомы или каждая хромосома в случае многохромосомных представлений отвечает за определенный аспект решения. Это упрощает и делает более целенаправленным процесс генетического поиска.
Степень изменения решения зависит как от способа кодирования хромосом, так и от способа выполнения генетических операторов (кроссинговер, мутация). В алгоритмах, предложенных в [6], используются методики чередования типов хромосом одного решения и типов генетических операторов, причем на первых итерациях степень изменения решения более значительна, чем при последующих.
Один из приемов повышения эффективности ГА связан с распараллеливанием ГА с последующей миграцией хромосом из подпопуляций. Это связано с увеличением пространственной и временной сложности. Автором предложен метод формирования виртуального набора популяций, что позволяет организовать распараллеливание процесса поиска без увеличения временной и пространственной сложности [6].
Отличительной чертой метода является то, что процесс декодирования хромосомы Ы|, принадлежащей исходной популяции генотипов П={Ы|1 j=1,2,...,M}, опирается на вектор Б1. Таким образом, одному и тому же генотипу Н| в зависимости от вида Б1 соответствуют различные фенотипы.
Виртуальный набор популяций У={<Б1!П>, 1=1,2,..,1} определяется набором векторов Б={Б1! 1=1,2,...,п} при заданном наборе генотипов П. Пара <Б1 ! П> определяет одну популяцию у1е V.
Задается базовый вектор Б . Между В и каждым из векторов Б1еБ установлено взаимнооднозначное соответствие Г(Б ,С1,Б1). Декодирование генотипа Н| осуществляется с использованием вектора В , и строится фенотип Р .
Затем с помощью соответствий по Р строятся фенотипы, принадлежащие различным популяциям.
При использовании виртуального множества популяций для каждого фенотипа, соответствующего генотипу Н и вектору Б1, рассчитывается целевая функция (ЦФ) Таким образом, одному генотипу Н соответствует множество оценок Fj={Fj1 ! 1=1,2,...,п,}.
Среди оценок множества Fj выбирается Фj с максимальным значением (V1)[Фj>Fj1]. Эта оценка и будет ЦФ генотипа (хромосомы) Н
Алгоритмы селекции как при выборе родительских пар для скрещивания, так и при редукции расширенной популяции генотипов (хромосом) Пк до размеров исходной популяции Пп опираются на оценку Фj.
Использование виртуального множества популяций на одном наборе генотипов позволяет произвести распараллеливание генетического поиска, практически не изменяя пространственной и временной сложности алгоритма.
Наблюдение за живыми организмами показывает, что адаптация, являющаяся движущей силой эволюционного развития, многолика и проявляется как сочетание генетической адаптации и адаптации на основе самообучения и самоорганизации [7-9].
В работах [9-11] процесс оптимизации рассматривается как адаптивный поисковый процесс на основе самообучения и самоорганизации, моделируемый вероятностными обучающимися автоматами адаптации (АА) [12].
В 1948 г. У. Эшби предложил аналоговое электромеханическое устройство гомеостат, моделирующее свойство живых организмов поддерживать некоторые свои характеристики (температуру тела, содержание кислорода в крови и т.д.)
Гомеостат Эшби представляет собой динамическую систему = F(U,X,E). Состояние системы описывается вектором и=(и1,и2,.,ип) и определяется как вектором управляемых параметров
¥={хьх2,...,хт}, так и вектором неуправляемых параметров, характеризующих стохастические свойства среды. Изменение состояния и гомеостата осуществляется с помощью управляющего воздействия на параметры Х, причем целью управления является выведение гомеостата в заданное состояние и , то есть минимизация показателя Q=IU- и I.
Процесс выведения гомеостата в заданное состояние производится методом проб и ошибок, который фактически сводится к случайному перебору управляющих воздействий на Х с последующей проверкой их эффективности и реакции. При этом возможны два вида реакции. Отрицательная реакция К возникает в ответ на управляющее воздействие, не приводящее к уменьшению показателя Q. Эта реакция в соответствии с алгоритмом гомеостата вызывает выбор очередного случайного воздействия. Положительная реакция следует при уменьшении показателя Q. Она вызывает повторение воздействия, приведшего к положительному результату. Поведение гомеостата целесообразно и направлено на поиск и сохранение в системе состояния, которое обеспечивает положительную реакцию К+.
Значительным шагом в развитии технических устройств для имитации адаптации М.Л. Цетлиным был предложен подход, основанный на использовании вероятностных обучающихся автоматов [12].
Представим работу гомеостата как функционирование некоторого вероятностного автомата, действующего в случайной среде. Тогда гомеостат распадается на два компонента - среду и управляющее устройство. Под средой понимается объект управления (объект оптимизации), а управляющее устройство работает в соответствии с алгоритмом случайного поиска.
Основываясь на этой идее, Цетлин поместил в среду, характеризующуюся случайной реакцией, вероятностный АА для реализации функции управляющего устройства. Адаптация автомата производится путем самообучения в процессе его функционирования.
На каждом такте работы адаптивной системы в соответствии со значениями А выхода АА формируется управляющее воздействие и, приводящее к изменению состояния среды 8 и показателя Е(8) (рис.1). Q является откликом среды на реализацию управляющего воздействия. Под действием Q автомат переходит в новое состояние и вырабатывает новые выходные значения А.
Пусть Р={8( I 1=1,2,...} - пространство возможных состояний (решений задачи разбиения).
СРЕДА (объект оптимизации)
5
Формирование адаптивного воздействия
А АА е
5
Формирование отклика среды
Рис. 1
Цетлин предложил структуру и механизм поведения автоматов, адаптирующихся к среде, и впервые формализовал эту проблему [12].
АА способен воспринимать два входных сигнала: поощрения при удаче (+) и наказания при неудаче (-). Под действием этих сигналов осуществляется переход АА в новые состояния. В зависимости от состояния АА на его выходе может быть один из выходных сигналов А1,.,АП, соответствующий альтернативной структуре или действию, число которых не должно быть большим п=2^5. Задача адаптации состоит в том, чтобы поддерживать в объекте ту структуру, которая обеспечивает максимальную эффективность объекта при соблюдении заданных ограничений и иметь возможность переходить на другую альтернативную структуру, если в результате изменения условий она окажется лучше.
АА как конечный вероятностный автомат определяется следующей пятеркой: ({8}, {I}, {А}, Ф, Г).
8(1+1) = Ф(8(1)), 1(1+1); А(1) = Г(8(1)).
Здесь 8(1) - внутреннее состояние автомата в момент 1; 1(1) - вход автомата (отклик среды - сигнал поощрения или наказания); Ф - функция перехода из состояния в состояние, Ф:{8}х{1}^{8}; А(1) - выход автомата в момент времени 1, то есть его альтернатива (стратегия); Г - функция выхода, Г: {8}^{А}.
Характеристикой среды является вектор, имеющий п компонентов: С=(РьР2,...,Рп). При этом Р1 есть вероятность того, что за действия или структуру А1 АА получит от среды сигнал поощрения, а с вероятностью Qi = (1-Р1) - наказания.
Подчеркнем, что хотя Р1 объективно существуют, автомату они априорно неизвестны. Если бы это было не так, то задача адаптации решалась бы тривиально.
Рассмотрим примеры алгоритмов альтернативной адаптации для случая, когда имеются лишь две допустимые альтернативы (п=2) [9,10].
Автомат с линейной тактикой, граф которого показан на рисунке 2, имеет две цепочки состояний. В состояниях 811^81т выбирается первая альтернатива (А1), в состоянии 821^82т - вторая (А2).
(+) х-—^ (+) (-) -"V- (+) - (+)
(+С© 812) {^1") (Зт) (£) (55
ч__- (-) __ (-) (-) У*^_- (-) (-)
V У 7
V V
А1 А2
Рис. 2
Параметр т характеризует глубину памяти АА, его способность к инерции сохранения альтернативы (действия) при удачах.
Автомат с обучением (рис. 3) имеет параметр Р, характеризующий вероятность условного перехода на графе АА. Величина этой вероятности равна вероятности того, что первая альтернатива лучше второй. Эту вероятность легко оценить на базе предыстории работы алгоритма (а вначале можно выбрать Р=1/2). По сигналу наказания автомат переходит в состояние
и
А
P 1-P
Ъ, из которого сразу же возвращается либо в состояние А1 с вероятностью Р, либо в состояние А2 с вероятностью 1-Р.
Прежде всего, случайным образом или по результатам работы какого-либо алгоритма реализуется начальная альтернатива. В последующем на каждом шаге (итерации) работа адаптивного алгоритма выполняется за четыре такта:
1) осуществляется расчет параметров Р среды и объекта адаптации (ОА) после реализации ранее выбранной альтернативы;
2) по параметрам Р оценивается состояние ОА в среде и на основании этого вырабатывается управляющий сигнал поощрения или наказания;
3) под действием управляющего сигнала АА переходит в новое состояние;
4) на четвертом такте реализуется альтернатива, соответствующая состоянию АА.
Существует большое число алгоритмов адаптации [10-13], и выбор одного из них зависит от специфики решаемой задачи. Поэтому правильный выбор алгоритма адаптации в значительной степени определяет успех создаваемой адаптивной системы.
Все многообразие АА, в первую очередь, определяется механизмами переходов: внутри группы состояний, соответствующих одной альтернативе, и между группами состояний, то есть переход к новым альтернативам.
Другой важной проблемой является методика выработки управляющих сигналов (поощрения или наказания) при анализе состояния ОА в среде.
Как указывалось выше, процесс поисковой адаптации имеет последовательный многошаговый характер. В связи с этим важное значение имеет алгоритм, определяющий последовательность и тип процедур, выполняющихся на каждом из многократно повторяющихся шагов (итераций).
Адаптация на основе самообучения и самоорганизации доминирует в процессе существования и развития конкретного живого организма, в том числе и человека. ОА является конкретный индивидуум.
Генетическая адаптация является средством развития организма как вида, и ее механизмы реализуются на множестве организмов (популяции) как на едином целом.
Общий подход к построению поисковых адаптивных процедур опирается на сочетание принципов адаптации на основе самообучения, самоорганизации и генетического поиска.
Особенностью адаптивных обучающихся алгоритмов является то, что они легко и достаточно быстро находят оптимальное решение, лежащее в некоторой достаточно обширной окрестности начальной точки поиска в пространстве решений. Как правило, за границы этой окрестности алгоритм не выходит, и
если решение с глобальным оптимумом лежит вне этой окрестности, то оно не будет найдено. Для решения этой проблемы, с одной стороны, разрабатываются структуры поиска и механизмы вероятностных обучающихся автоматов, увеличивающих размеры окрестности, а с другой стороны, используется метод "набрасывания", суть которого в выборе нескольких точек начального поиска, последовательной реализации алгоритма для каждой из них и в выборе лучшего решения.
При генетическом поиске просматривается множество решений, "разбросанных", особенно в начале поиска, по всему пространству решений. Однако в процессе генетического поиска решения с худшими оценками по сравнению с другими, лежащими в областях, включающих точки с глобальным оптимумом, могут быть потеряны.
Другая проблема генетического поиска заключается в том, что решения, содержащиеся в развивающейся популяции, бывают очень близки к оптимальным, но механизмы генетического поиска, реализующие случайные изменения, часто не находят ту цепочку изменений, которые приводят к оптимальному решению. Для этого нужны "осмысленные" изменения, направленные в сторону глобального оптимума. Такие свойства как раз присущи адаптивным поисковым процедурам на основе самообучения и самоорганизации.
В связи с этим для преодоления барьера локальных оптимумов обоснованным является подход, основанный на сочетании генетического поиска с адаптацией на основе самообучения и самоорганизации. Простейшим способом сочетания генетического и адаптивного обучающегося алгоритма является их последовательная реализация.
После отработки ГА в популяции, полученной на последней генерации, отбирается несколько решений (может быть, одно лучшее), затем подключается адаптивный обучающийся алгоритм, использующий отобранные решения в качестве начальных.
В общем случае адаптивная поисковая процедура на основе самообучения и самоорганизации включается в структуру процедуры генетического поиска. На рисунке 4 приведен псевдокод комбинированной адаптивной поисковой процедуры.
Массив задача включает все исходные данные. Процедурой ФОРМ (задача) формируется начальная
Algoritm ПОИСКОВАЯ АДАПТАЦИЯ begin
задача= ИСХОДНЫЕ ДАННЫЕ нач_попул= ФОРМ (задача):
while k>Tdo {
тек_попул = ГЕНЕТИКА (нач_попул); ад_попул = А_СЕЛЕКЦИЯ (тек_попул); ад_попул = АДАПТАЦИЯ (ад_попул); тек_попул = ОБЪЕДИНИТЬ (тек_попул,ад_попул); нач_попул = СЕЛЕКЦИЯ (тек_попул);
к=к-1 };
end.
Рис. 4
популяция нач_попул. На каждой генерации (число генераций равно Т) сначала процедурой Генети-ка(нач_попул) реализуются генетические операторы, синтезирующие новые решения, в результате образуется расширенная популяция тек_попул. Процедурой АД_СЕЛЕКТ в популяции тек_попул отбирается множество решений нач_адапт для дальнейшей обработки адаптивным обучающимся алгоритмом. Отметим, что в множество нач_адапт не включаются решения, полученные алгоритмом адаптивного обучения и не подвергавшиеся дальнейшим изменениям генетическими операторами. Далее каждое решение множества нач_адапт с помощью процедуры АДАПТ(нач_адапт) подвергается обработке алгоритмом адаптивного обучения, и получается множество решений адапт. Полученные решения процедурой ОБЪЕДИНИТЬ(тек_попул,адапт) включаются в популяцию тек_попул. В заключении процедурой СЕЛЕКТ(тек_попул) на базе популяции тек_попул осуществляется отбор и формирование популяции нач_попул.
Дополнительным источником усовершенствования является правильная настройка параметров управления.
Для увеличения скорости генетического поиска осуществляется адаптация виртуального набора популяций. Суть заключается в смене виртуальной популяции, если в течение некоторого числа генераций в ней не появляются решения с лучшим значением ЦФ.
Для реализации механизма адаптации каждому вектору Б! сопоставляется АА а! с двумя группами состояний. На рисунке 5 приведена граф-схема переходов АА.
R
Рис. 5
Две группы состояний S1 и S2 соответствуют двум альтернативам: Л1=Г(81) - вектор Bi остается без изменений; Л2=Г(82) - вектор B1 меняется.
Входной алфавит Q={+,-,R} включает возможные отклики среды - поощрение (+) и наказание (-), а также сигнал возврата R.
Выработка управляющих сигналов (+) или (-) осуществляется следующим образом.
Обозначим через у лучшее значение ЦФ для виртуальной популяции vb то есть (Vj)[ yl>FJl], l=const.
Пусть vl - виртуальная популяция, для которой Y - худшее (наименьшее значение), которое обозначим как min.
Если в популяции vl после выполнения очередной генерации произошло улучшение показателя у, то вырабатывается сигнал поощрение (+), в противном случае вырабатывается сигнал наказание (-).
Процесс адаптации на каждой генерации реализуется за четыре такта:
1) для всех выбранных популяций рассчитывается показатель у;
2) вырабатываются отклики среды - сигналы (+) или (-);
3) под действием откликов осуществляются переходы в АА в соответствии с граф-схемой переходов. Отметим, что в состоянии S2 АА aj попадает, если в течение q генераций подряд не было улучшения
ц;
4) реализуются альтернативы в соответствии с состояниями АА.
Возможны три варианта реализации альтернатив. При первом варианте у всех виртуальных популяций Vi, для которых соответствующие им АА находятся в состоянии S2, осуществляется смена векторов Bi. Смена Bi заключается в генерации случайным образом нового Bi. Во всех вариантах после смены вектора Bi на вход АА подается сигнал R (возврата), по которому осуществляется переход в группу Sx.
При втором варианте смена Bi осуществляется только в том случае, если у имеет худшую оценку среди всех остальных.
При третьем варианте смена вектора Bi осуществляется только в том случае, если оценка у для vi имеет худшее значение среди оценок тех виртуальных популяций, для которых АА выдавали команду сменить.
Пусть Bi - обозначение до смены, а Bi - после смены. Смена Bi на Bi осуществляется случайным образом. Между Bi и Bi устанавливается соответствие г^аЖ).
При смене Bi анализируется расширенная популяция генотипов R„. Если существует пара (Bi,Hj)s R„, то на основе Bi строится Hj такая, чтобы решения р, на базе (Bi5 Hj) и на базе (Bi ,Hj) были идентичны. После этого в популяции Пи осуществляется смена Hj на Hj . Следовательно, при смене Bx лучшие решения рь входящие в популяцию решений Р, не изменяются.
Использование рассмотренных средств и методов поисковой адаптации позволило синтезировать эффективные алгоритмы автоматизированного проектирования СБИС [6].
Список литературы
1. Holland J.H. Adaptation in Natural and Artificial Systems. An Introductory Analysis with Application to Biology, Control, and Artificial Intelligence. University of Michigan, 1975, 210 p.
2. Handbook of Genetic Algorithms, Edited by Lowrence Davis, Van Nostrand Reinhold, New York, 1991. 385p.
3. Курейчик В.М., Лебедев Б.К., Лях А.В. Проблемы эволюционной адаптации в САПР. // Новинтех. - 1991. - №3.
4. Курейчик В.М. Генетические алгоритмы: Монография. - Таганрог: Изд-во ТРТУ. - 1998. - 242 с.
5. Батищев Д.И. Генетические алгоритмы решения экстремальных задач: Учеб. пособие. - Воронеж: ВГТУ, 1995. 65 с.
6. Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС: Монография. -Таганрог: Изд-во ТРТУ, 2000. - 192 c.
7. Букатова И.Л. и др. Эвоинформатика. Теория и практика эволюционного моделирования. - М.: Наука, 1991.
8. Венда В.Ф. Системы гибридного интеллекта. Эволюция, психология, информатика. - М.: Машиностроение, 1990. -448 с.
9. Поспелов Д.А. Фантазия или наука: на пути к искусственному интеллекту. - М.: Наука, 1982. - 224 с.
10. Растригин Л. А. Адаптивные компьютерные системы. -М.: Знание, 1987. - 64 с.
11. Лебедев Б.К. Адаптация в САПР: Монография. - Таганрог: Изд-во ТРТУ, 1999. - 160 с.
12. Цетлин М.Л. Исследования по теории автоматов и моделированию биологических систем. - М.: Наука, 1969. -316 с.
13. Курейчик В.М., Лебедев Б.К. Искусственный интеллект в САПР: Текст лекций. - Таганрог: ТРТИ, 1989. - 48 с.
ВЫЧИСЛИТЕЛЬНЫЙ ИНТЕЛЛЕКТ: НЕМОНОТОННЫЕ ЛОГИКИ И ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ЗНАНИЙ
С.И. Родзин
Разработка А1-компьютеров, в отличие от РС, связана с новым поколением информационных систем, ориентированных не на повышение мощности и быстродействия, а на ассистирование и поддержку принятия решений. Существенным свойством А1 является их способность к поиску решений в условиях НЕ-факторов [1] на основе немонотонной логики [2] и мягких вычислений [3]. Примерно пятнадцатилетний опыт интенсивных исследований в области инженерии знаний позволяет говорить о преимуществах и недостатках методов вычислительного интеллекта. Очевидно, что между обработкой вектора, состоящего из отдельных битов, и обработкой знаний дистанция огромного размера. Базы знаний (БЗ), содержащие несколько тысяч взаимосвязанных факторов, относятся к сложным системам, в то время как люди оперируют примерно 100 млн. единиц знаний. Проблема состоит не только в интеграции разнородных БЗ, но и в функциональных возможностях чело-векомашинного интерфейса (вывод знаний).
Вывод знаний как некоторое отношение предполагает представление знаний в виде следующей логической формулы: А &В |- С, где А - знания БЗ; С - запрос к БЗ; В - абдуктивное условие, аналогия и т.п. В ранних версиях экспертных систем предполагалось, что В=0, и тем самым значительно упрощались процедура вывода и пространство поиска решений, которые являются серьезной проблемой для реальных графических систем, работающих с огромными банками информации. Другая проблема возникает в случае, если знания А или запрос С являются неточными и недоопределенными, например, запрос к архиву с формулировкой «...насколько я помню, на интересующей меня странице справа вверху изображена круговая диаграмма...» свидетельствует о недостаточности информации для вывода и ответа на запрос. Следовательно, используемый механизм логического вывода должен отличаться гибкостью и когерентностью. Отметим, что предложенная М. Минским идея фреймов для формализации рекурсивных и стереотипных ситуаций дала мощный импульс исследованиям в области неклассических механизмов вывода знаний [5]. Сейчас стала очевидной ограниченность модели фреймов. Действительно, что делать, если объект или некоторая ситуация возникли неожиданно, а подходящий для описания
фрейм отсутствует? Или как деактивировать фрейм без последствий для последующей обработки других фреймов?
Известно, что основой конструкций языка Пролог является хорновское выражение (предложение исчисление высказываний, записываемое в виде «С если А1&А2&...&АП»). В чем же состоит различие между предположениями и правилами выбора значений «по умолчанию»? Предположения являются гипотезами, приводимыми для объяснения выводов. Правила вывода по умолчанию применяются, если отсутствуют основания говорить обратное, и являются основой для так называемого абдуктивного вывода [4,5]. Действительно, в условиях неполноты информации человек стремится минимизировать число гипотез, высказываемых для объяснения ситуации, и максимизировать число правил по умолчанию.
Целесообразным представляется совместное рассмотрение множеств предположений, гипотез и правил по умолчанию. Однако само по себе подобного рода объединение представляется непрочным, частично противоречивым, и требуется разбиение данного множества на устойчивые подмножества с установкой соответствующих приоритетов и альтернатив при выводе.
Вывод по умолчанию является расширением немонотонной логики, которой присущ ряд проблем, связанных с представлением знаний:
- не гарантируется существование обширного множества альтернативных правдоподобных умозаключений;
- возникают трудности с установлением приоритетов;
- не учитывается специфичность правил по умолчанию.
Особенность немонотонных логик состоит в том, что если к имеющимся предположениям добавляются некоторые новые знания, то уже необязательно выводится тот же результат, что и ранее. Установлением факта немонотонности, то есть влияния контекста знаний на логический вывод и его результаты, мы обязаны Дж. Маккартни, а идея абдуктивного инстинкта в человеческих рассуждениях, когда среди множества возможных гипотез выбираются именно те, которые нужны, принадлежит Ч.С. Пирсу [6].