3. Горский ЮМ. Гомеостатика: модели, свойства, патологии. Новосибирск: Наука, 1990.
4. Берштейн Л.С.,Финаев В.И. Адаптивное управление с нечеткими стратегиями. Ростов -на - Дону: Изд-во РГУ, 1993.
5. Горский Ю.М. Основы гомеостатики.(Гармония и дисгармония живых, природных, социальных и искусственных систем). Иркутск: Изд-во ИГЭА, 1988.
6. Осипов ГС. Приобретение знаний интеллектуальными системами. М.: Наука, 1997.
7. Попов Э.В. и др. Статические и динамические экспертные системы. М.: Финансы и ста-
, 1996.
8. . . - -
ретические подходы к построению интеллектуальных организаций// Известия АН. Теория и системы управления. 1998, №5. C.12-23.
9. Поспелов ДА. «Десять горячих точек» в исследованиях по искусственному интеллекту. М.: ИС, Т.1,1996.
10. .. . .: - , 1999.
11. Тесл иное АТ. Развитие систем управления: методология и концептуальные структуры. М.: Глобус, 1998.
12. Курейчик В.Ы.,Курейчик В.В. Эволюционные, синергетические и гомеостатические
. // . ., 3,2000. .22-92.
13. Куре йчик ААЭволюцион ные, синергетические и гомеостатические методы принятия решений. Монография. Таганрог: Изд-во ТРТУ, 2001.
УДК 658.012
Л.А. Зинченко1 ОЦЕНКИ ЭФФЕКТИВНОСТИ ЭВОЛЮЦИОННОГО ПОИСКА ДЛЯ МНОГОАЛЬТЕРНАТИВНЫХ АЛГОРИТМОВ
Поиск решения при проектировании заключается в определении множества возможных альтернативных решений, затем их оценке и выборе лучшего варианта. Под термином “принятие лучшего решения” следует понимать нахождение приемлемого решения, которое может не быть оптимальным. Подобная постановка процесса принятия решений позволяет формализовать поиск решения на основе алгоритмов эволюционного моделирования. Они отличаются терпимостью к неточно, , -, , -ной связью с реальностью.
Алгоритмы эволюционного моделирования являются адаптивными алгорит-
,
отсутствии требований к дифференцируемости оптимизируемой функции или полноты знаний о решаемой проблеме. Они отличаются устойчивостью при поиске , -.
Как всякий метод, использующий элементы случайности, эволюционное моделирование не гарантирует нахождение глобального оптимума. Эти методы позволяют найти совокупность приемлемых решений. Тем не менее, они оказались эффективными для решения ряда задач, в которых не требуется гарантировать на.
1 Работа выполнена при поддержке РФФИ, гранты № 01-01-000-44, 00-01-00-125
Исследование пространства поиска при помощи популяции решений, а не од,
общие закономерности ландшафта целевой функции. Это дает возможность распределять поиск путем комбинирования решений и отбора в наиболее перспектив.
Возможное объяснение принципа работы генетических алгоритмов представлено Д. Г олдбергом [2] как гипотеза о строительных блоках, в которой предпола-, . заключается в выращивании строительных блоков, а вторая состоит в смешивании этих блоков с целью получения оптимального решения. Чтобы получить достаточно уверенную сходимость к глобальному оптимуму, необходимо, чтобы оба этих процесса были сбалансированы. Математические основы оценки эффективности генетических алгоритмов сформулированы в виде фундаментальной теоремы генетических алгоритмов [2].
Проблемы использования генетических алгоритмов для функций, имеющих несколько локальных оптимумов, - неполнота представления информации о конкретной области поискового пространства [1]. При нахождении глобального оптимума в области А с очень низкой средней целевой функцией генетический алгоритм будет направлять поиск в другие области поискового пространства В, и возможность нахождения оптимума будет обеспечиваться в основном за счет мутаций При недостаточном числе решений-особей, попадающих в конкретную область, алгоритм может прекратить поиск в данной области, посчитав ее неперспективной, хотя на самом деле среднее значение целевой функции в этой области превосходит среднюю по популяции [1].
Эффективность генетического алгоритма зависит от множества факторов. Их оптимальный выбор приводит к повышению скорости и устойчивости поиска. Скорость генетического алгоритма определяется временем, необходимым для выполнения заданного пользователем критерия останова (достижения заданного числа итераций, качества популяции или ее сходимость). Устойчивость поиска определяется способностью постоянно повышать среднюю целевую функцию и преодолевать локальные оптимумы. В связи с большой размерностью задачи не представляется возможным установить математическую связь между характеристиками генетического алгоритма и его параметрами.
Существуют различные методы, позволяющие повысить эффективность эво-. -ных генетических алгоритмов является распараллеливание [2]. Другое направление
- разработка адаптивных генетических алгоритмов [1], суть которого состоит в переходе от алгоритмов с жестко заданными связями к модели с динамически меняющейся структурой в зависимости от решаемой задачи. Выбор параметров генетических алгоритмов - произвольный, во многих задачах он определяется только . , генетического алгоритма задаются перед запуском программы и неизменны в течение всего процесса эволюции. В поколенческих генетических алгоритмах [2, 3] размер популяции может меняться в определенных пределах. Такой подход позволяет расширить пространство поиска при незначительном снижении скорости.
В алгоритмах эволюционного моделирования можно выделить следующие основные этапы [1, 2]: кодирование генотипа и фенотипа; создание начальной популяции; определение целевой функции; селекция и репродукция (кроссинговер, мутация и т.п.); редукция. Исследуем возможности введения адаптации на каждом из этих уровней.
Кодирование генотипа и фенотипа - один из важнейших этапов, так как на этом этапе определяются дальнейшие возможности операций селекции и репродукции. В основном в генетических алгоритмах используется бинарное кодирование генотипа на основе двухзначной логики [1], в эволюционных алгоритмах -соответственно вещественные числа. Возможно также использование более сложных типов структур данных: ген может являться качественной переменной, реальным числом или целым числом в бинарном представлении.
В связи с тем, что скорость генетического поиска обратно пропорциональна длине схемы Ь(И), то эффективность генетического поиска повышается при использовании коротких стрингов. Для решения этой проблемы при кодировании необходимо использовать иерархическое кодирование хромосомы. Обмен в генотипе может выполняться только между соответствующими блоками.
Создание начальной популяции - один из важнейших этапов эволюционного моделирования. В начальной популяции должны быть представлены все возможности генетического материала. Обычно формирование начальной популяции выполняется в алгоритмах эволюционного моделирования с использованием случай,
пространства. Исходная популяция может быть результатом работы другого алго-.
знаний о решаемой проблеме. При создании начальной популяции в задачах многокритериальной оптимизации используется стратегия сетки, позволяющая включить в начальную популяцию информацию обо всех возможностях популяции в . , -гии «фокусировки». В этом случае на основе какой-либо одной молекулы создается популяция ее мутантов. Возможно также использование стратегии "золотого сечения". Поисковое пространство при формировании начальной популяции разбивается на два подпространства в отношении 0.618 : 0.382. Полученные подпростран-
« ». -вание начальной популяции также может быть выполнено на основе чисел Фибо-.
соответствующим числом Фибоначчи. Все возможные решения последовательно разбиваются на пропорциональные части 2,3,5,8,13,21,... . Выбор конкретных стратегий создания начальной популяции может быть описан с помощью следующей модели формирования начальной популяции:
1Р=<М1р, ЯФ(М)>,
где М1р - множество моделей создания начальной популяции; Я1р(М) - функция выбора модели для конкретного элемента популяции.
Целевая функция - критерий направления поиска решения в перспективные области. Оценка получаемых решений может выполняться на основе математиче-, . модель может быть формально-логической моделью или системой интегро-
. -
[3]
переход к явной модели исследуемых явлений [5, 6].
Последовательность этапов репродукции, селекции и редукции определяется на этапе выбора типа эволюции. Он может быть описан с помощью следующей :
Б=<Ме, Ие(М)>,
где Ме - множество моделей эволюции (эволюция Дарвина, Ламарка, сальтацио-низма, номогенеза); Яе(М) - функция выбора последовательности использования моделей эволюции для конкретного элемента популяции.
Существует большое число методов селекции, которые можно условно классифицировать на три группы [1, 2]. К первой группе отнесем вероятностные мето. - .
- . -иски оптимальных методов селекции непрерывно продолжаются. Дело в том, что основной трудностью решения комбинаторно-логических задач с большим количеством локальных оптимумов является нахождение только локального оптимума. Различные методы селекции и их модификации позволяют в некоторых случаях решать эту проблему. На этапе селекции также могут быть использованы законы числовой гармонии, в частности, стратегия "золотого сечения". Текущая популяция разбивается на две части. Подпопуляции далее разбиваются также на основе принципа «золотого сечения». Селекция также может быть выполнена на основе . -циональные части 2,3,5,8,13,21,... Это является эффективным в связи с поддержанием разнообразия генетического материала для последующей репродукции.
Опишем теперь методы кроссинговера. Основная функция оператора крос-синговера состоит в определении правил формирования хромосомы потомков на основе различного скрещивания родителей. Существует огромное число операто-,
алгоритма: одноточечный, двухточечный, упорядоченный и т.д. Однако, в общем случае могут быть использованы только классический одноточечный или более общий М-точечный кроссинговер. При рекомбинации, вид гена (качественный или ) , обмен производится только между соответствующими блоками. Использование арифметического кроссинговера в общем случае недопустимо.
Функция мутации играет важную роль в натуральной и искусственной генетике. Известно [1], что мутация предотвращает потерю важного генетического материала. Обычно оператор мутации является одноточечным оператором, который случайно выбирает ген в хромосоме и случайным образом обменивает его на рядом расположенный ген. Известны также различные варианты оператора мутации такие, как оператор мутации с аргументированными знаниями, позиционный оператор мутации и т.д. Конкретный вид этого оператора применяется в зависимости от типа мутирующего гена. Здесь возможны четыре общих случая:
1) .
выбирается новый элемент из соответствующего множества правил.
2) - . три базовые принципа:
3) -
;
4) новое значение выбирается из двух граничных значений: максимум или минимум варьируемого параметра;
5) -ния вероятностей с математическим ожиданием, равным исходному значению варьируемого параметра. В некоторых приложениях используются и другие непрерывные распределения вероятностей.
6) - . -ренные выше принципы с небольшими изменениями. Новое значение выби-
рается на основе дискретного распределения вероятностей, например, бино-
.
7) Мутирующий ген - число в бинарном представлении. Известно 5 различных операторов мутации для бинарного кодирования хромосомы:
8) БЯ мутация использовала идею золотого сечения;
9) ;
10) квадратичная гауссова аппроксимационная мутация;
11) кубичная гауссова аппроксимационная мутация;
12) .
Остальные разновидности мутации связаны с эвристическими правилами выбора точки разрыва хромосомы для мутации.
Выбор конкретных стратегий селекции и репродукции может быть описан с помощью следующей модели:
8Я=<Мз1ь
где Мж - множество моделей селекции и репродукции; КЖ(М) - функция выбора последовательности использования моделей селекции и репродукции для конкретного элемента популяции.
Задание фиксированного времени жизни, равного одной генерации, в задачах эволюционного моделирования приводит к нахождению только локального опти-.
найденного эффективного решения. Для устранения этой проблемы может быть использован принцип элитизма. Он состоит в том, что одно лучшее решение включается в следующую популяцию. В методе генитора наихудший элемент заменяет.
между этими двумя асимптотами. Использование фиксированных параметров на этапе селекции приводит к снижению эффективности генетического поиска. Использование данных о целевой функции элементов предыдущих и последующей популяций позволяет сохранить все наилучшие решения, найденные на нескольких .
При решении задач эволюционного моделирования обычно используются фиксированные размеры популяции, что также приводит к нахождению только .
, . -, -
зволяет повысить эффективность алгоритма, обеспечить сохранение найденных . -ное моделирование с использованием динамических параметров [7]. Обобщением этого подхода является многоальтернативный алгоритм эволюционного моделирования с динамическими параметрами. Основные этапы этого алгоритма следую:
1. -
нотипом на основе иерархического кодирования.
2.
обеспечения разнообразия исходного генетического материала.
3. . -
трат приоритетное использование явных моделей целевых функций.
4. .
кроссинговера. Применение оператора мутации в зависимости от типа мутирую.
5. Оценка новых элементов популяции. Формирование следующей популяции.
6. Если заданный критерий останова достигнут, то останов, если нет, то переход к п. 4.
Формирование следующей популяции выполняется на основе определения времени жизни каждого элемента [7]:
ЬТ1 = МіпЬТ(п+1) + 8 (п+1)(Гі1пе88(С1) - РіїМіп) / (РіїМах-РіїМіп),
где МіпЬТ(п+1) - минимальное время жизни на (п+1)-м шаге; є(п+1) - константа, больше или равная нулю; Шпеєє^) - целевая функция і-го элемента популяции; РіїМіп, БіїМах - минимальное и максимальное значение целевой функции для
.
Сравнение может выполняться для двух популяций (между родителями и по)
знаний. Ее величина может быть выбрана равной как размеру популяции, так и меньше или больше этой величины. При фиксированном размере популяции удаляются элементы с наименьшим временем жизни. Переменное время жизни позволяет управлять процессом селекции и редукции при задании различных параметров МіпЬТ(п+1), б(п+ 1) и размера базы знаний или базы прецедентов при использовании рассуждений по прецедентам. При МіпЬТ(п+1)=1, є(п+1)=0 указанный алгоритм сводится к случаю простого генетического алгоритма. При МіпЬТ(п+1)=1, Б(п+ 1)=1 задача сводится к стратегии элитизма. В этом случае элемент с максимальной целевой функцией сохраняется в следующей популяции без изменений.
Для повышения эффективности генетического поиска используется динамический размер популяции [7]:
Р(п+1) = Р(п)*(1+г(п+1))-0(п+1),
где Р(п+1), Р(п) -р^мер новой и исходной популяции соответственно; г(п+1) -уровень репродукции на (п+1)-м шаге; Б(п+1) - число удаляемых элементов родителей и потомков на (п+1)-м шаге.
При задании г(п+1)=1, Б(п+1)=Р(п) предлагаемый подход сводится к частному случаю простого генетического алгоритма.
В общем случае вероятность сохранения найденного решения в следующей популяции определяется следующими факторами: вероятностью выбора его для репродукции и вероятностью оператора кроссинговера и мутации.
Вероятность выбора хромосомы оператором селекции определяется ее целевой функцией [2]:
р = (СІ) .
р („)
£ fitness (С,.) ,-1
Ожидаемое число копий i-й хромосомы после оператора репродукции определяются выражением:
P. - P (n) P fTeSS (С ) ■
£ fltness (С,)
,-1
Если в популяции n имелось m схем H, то в следующей популяции благодаря оператору репродукции появится следующее число схем H:
m(H, n +1) = m(H, n)P (n)
fitness (CH ) ,
P(n)
X fltness (Ci)
i=1
где /?/пе5ж(СН) - средняя целевая функция хромосом, представленных схемой Н в популяции п.
Если оператор кроссинговера выполняется на основе случайного выбора с вероятностью Р(ОК), то вероятность сохранения схемы в следующей популяции определится выражением [4]:
р (ж) * 1 - РЮК1Ш1,
Ь -1
где Ь(Н) - определенная длина схемы; Ь - длина хромосомы.
Оператор мутации - случайная альтернативная перестановка элементов в стринге с вероятностью Р(ОМ). Для того, чтобы схема Н была сохранена в следующей популяции, все специфические позиции не должны быть изменены. Сле-
, (1-Р( ))
является неизменной, когда каждая из Ь(Н) закрепленных позиций схемы не изменяется. Тогда вероятность сохранения найденного решения после оператора мутации определяется выражением [2]
Р3 {ОМ) = 1 - Ь (Н) • Р (ОМ).
, Н -
щей генерации после операторов селекции, кроссинговера и мутации, определяемое следующим соотношением:
т(Н,п + 1) = т(Н,п)Р(п)р(^^(Сн) [1-Р(ОК)Ь(Н)-Ь(Н )Р(ОМ)] (1)
^/г/пежж (С,) Ь-1
г=1
Это выражение является обобщением фундаментальной теоремы генетических алгоритмов на случай алгоритмов с динамическим размером популяции.
На основе полученных соотношений может быть сделан вывод: применение иерархического кодирования хромосомы позволяет повысить вероятность сохранения найденных лучших решений за счет использования коротких стрингов ЬЕ, Ьр.
Рассмотрим популяцию Р(п) стрингов длины Ь. Будем считать только схемы, которые сохраняются в следующей популяции с вероятностью больше, чем константа Р(б). Для упрощения рассмотрим простой оператор кроссинговера и оператор мутации с низкой вероятностью его применения. Это приведет к рассмотрению только тех схем, где 5<1-Р(з). Будем считать только те схемы, где длина Цб)<5(Ь-1)+1.
Ясно, что существует кЬ(§) 1 таких схем для размерности алфавита, равной к. Для вычисления общего числа таких схем берут заданный шаблон и перемещают его вдоль стринга на каждом шаге. Выполним этот шаг общее число Ь-Цб)+1 раз. В результате можно вычислить общее число схем длины Цб) следующим образом:
кЬ(8)-1-(Ь-Ц8)+1). ( 2)
Формула (2) показывает число схем для одного стринга. Очевидно, для целой популяции число схем, выживших после генетических операторов, определяется выражением
P(n)kL(s)'1(L-L(s)+1).
Вероятность сохранения элемента с фенотипом F в следующей популяции определяется соотношением:
m(F,n+1)=P(n)(1-P(OM))m(F,n),
где m(F,n) - имеющееся число элементов с фенотипом F в популяции.
При комбинации эволюции Дарвина и Ламарка вероятность сохранения схемы H в следующей популяции определяется выражением (1). Вероятность сохранения элементов с фенотипами, соответствующими хромосоме H, в следующей популяции определяется выражением
m(FH,n+1)=P(n)(1-P(OM))m(FH,n),
где m(FH,n) - имеющееся число элементов с фенотипами FH, соответствующими
H, n.
При переменном времени жизни в популяции происходят процессы накопления эффективных решений. В связи с этим частная схема H получает ожидаемое число копий в следующей генерации после операторов селекции, кроссинговера и , : m (H, n +1) = m (H,n)P (n) pjf^ (Ch ) [1-P (OK )LH - L (H )P (OM )] +
£ fitness (C) ,
i=1
P (n)
+ £ m (H,i)h[LTh - (n +1)},
i =1
где h(t) - единичная функция (функция Хевисайда); LTH - время жизни схемы H в i- й популяции.
Это выражение является обобщением фундаментальной теоремы генетических алгоритмов на случай алгоритмов с динамическим размером популяции и переменным временем жизни.
, , (n+1)- ,
, , и мутации, и схем, время жизни которых не истекло. Следовательно, при использовании алгоритмов с динамическими параметрами повышается вероятность выживания схем с более высокой целевой функцией.
ЛИТЕРАТУРА
1. Курейчик В.М. Генетические алгоритмы // Монография. Таганрог: Изд-во ТРТУ, 1998.
2. Goldberd D.E. Genetic Algorithms in Search, Optimization and Machine Learning. USA: Addison-Wesley Publishing Company, Inc., 1989.
3. Корнеев В.В., Гареев А.Ф., Васютин (1В. Базы данных. Интеллектуальная обработка информации. М.: Нолидж, 2000.
4. Зинченко Л.А. Алгоритмы численно -аналитического моделирования и средства программной поддержки САПР электронных устройств. Таганрог: ТРТУ, 1999.
5. Kureichik V.M., Zinchenko L.A. Evolution modeling of integrated dynamic systems // Proceedings ICAFS 2000. Siegen, Germany: Verlag, 2000.
6. Kureichik V.M., Zinchenko L.A. Symbolic information technologies in evolutionary modeling // Proceedings ECAI 2000, ASC 2000, Berlin, Germany: IOS Press, 2000.
7. Курейчик B.M., Зинченко Л.А. Эволюционное моделирование с динамическим изменени-
// VII .
.: , 2000.
УДК 658.512:519.7:007.52
С.И. Родзин ГЕНЕТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ И ПРОБЛЕМЫ СИНТЕЗА ПРОГРАММ
Введение. Проблемы компьютерного синтеза программ [1] стали одним из
50- .
автоматической генерации программ, решающих поставленную задачу, привели к достаточно скромным результатам, что вполне объяснимо тогдашним состоянием Hardware и Software. Начиная с середины 80-х годов, интерес исследователей к данной проблематике резко возрос благодаря работам [2,3] по генеттескому программированию (ГП), представленным в рамках 1-й и последующих международных конференций по генетическим алгоритмам. Наиболее значительным следует признать работы Koza [4,5].
Применение scheme-теоремы Холланда [6] для описания динамики эволюционного процесса является сильно упрощенным подходом. В данной работе предлагаются альтернативные подходы на основе анализа статистических и динамических особенностей различных форм представления хромосом в популяции.
Схема генетического программирования. ГП представляет собой одно из направлений в генетических алгоритмах (ГА) и ориентировано, в основном, на решение задач автоматического синтеза программ на основе обучающих данных путем индуктивного вывода. Хромосомы или структуры, которые автоматически генерируются с помощью генетических операторов, являются компьютерными программами различной величины и сложности. Программы состоят из функций, переменных и констант. Исходная популяция P(0) хромосом в ГП образуется случайно и состоит из программ, которые включают в себя элементы множества проблемно-ориентированных элементарных функций (function set), а также проблемно-ориентированные переменные и константы (terminal set). Множества function set и terminal set являются основой для эволюционного синтеза программы, способной наилучшим образом решать поставленную задачу. Одновременно устанавливаются правила выбора элементов из указанных множеств в пространстве всех потенциально синтезируемых программ. Понятно, что множества terminal set и function set, а также правила их обработки, оказывают серьезное влияние на размерность пространства поиска наилучшего решения и на качество результатов, получаемых методами ГП. Структуры ГП имеют древовидную форму.
Koza в своих исследованиях по ГП применяет язык LISP, обладающий всеми необходимыми для синтеза ГП-структур свойствами. Однако, язык LISP имеет свои недостатки и для целей ГП применяются также языки C, Smalltalk, C++.
Поскольку основой моделирования эволюции в ГП являются элементы мно-terminal set function set, , ,