Научная статья на тему 'Генетический алгоритм как разновидность эволюционного алгоритма'

Генетический алгоритм как разновидность эволюционного алгоритма Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2620
233
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Климко Елена Генриховна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Genetic algorithm as a version of evolutionary algorithm

The basic principles of evolutionary algorithms are considered. The general circuit and characteristic of genetic algorithm are given in the article. The stages designing and development of information systems are described on the basis of evolutionary algorithms.

Текст научной работы на тему «Генетический алгоритм как разновидность эволюционного алгоритма»

ство носителя, поступающее потребителю (Употр.) определяется выражением

У = S * S * У * t v потр. аК анос. v нос. ипод.

Скорость подачи носителя Унос. зависит от УУнос.(давления в сети) и Sny. — величины, учитывающей диаметр трубы, режим движения воды, свойства материала, технологию изготовления и прочее, включающей гидравлическое сопротивление и коэффициент нелинейности [2]. Определяется Унос. выражением

У = S * УУ ¥нос. апу. v ¥нос.

Процесс подачи воды потребителю описывается следующим образом:

У = s * S * S * УУ * t

¥потр. ак анос. апу. v ¥нос. ипод.

Произведение Sny. * УУнос. в соответствии с [2] — это расход воды q — величина постоянная для данного потребителя на данный момент времени. Максимально возможная величина q — эквивалент пропускной способности канала (PS^h). В итоге потребителю (АЭ) поступает количество носителя, определяемое выражением

У = s * S * q(t) * t ¥потр. ак анос. Ч\1/ ипод*

Расход воды q в формуле указан как функция времени. На практике это действительно так и связано с изменениями напора в сети в зависимости от характера потребления.

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

Литература: 1.И.В.Кузьмин, В.А.Кедрус. К.: Вища шк. Головное изд-во, 1986. 238с. 2. ЕвдокимовА.Г., Коринько И.В., Кузнецов В.М., Самойленко НИ. Рациональная эксплуатация и развитие систем водоснабжения и водоотведения. Т.І.Компьютеризация в системах водоснабжения. Учебн.пособие / Под ред. А.Г.Евдоки-мова и Н.И.Самойленко. Харьков: ХТУРЭ,1997. 276с.

Поступила в редколлегию 06.12.2001

Рецензент: д-р техн. наук, проф. Алипов Н.В.

Григорьев Александр Викторович, доцент, канд. техн наук, докторант кафедры ПМ и ВТ ХДАМГ. Нучные интересы: разработка методов контроля и управления объектами различного назначения. Адрес: Украина, 61019, Харьков, ул.Катаева, 9, кв.48, тел.76-33-29.

УДК 519.711

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ КАК РАЗНОВИДНОСТЬ ЭВОЛЮЦИОННОГО АЛГОРИТМА

КЛИМКО Е.Г.___________________________

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

1. Эволюционное моделирование или эволюционные алгоритмы

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

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

— представление каждой особи в виде хромосомы (строки символов или фрагмента данных, который содержит искомые параметры) и заданной функции приспособленности (количественной характеристики, которая показывает, насколько успешно особь решает поставленную задачу, и позволяет сопоставить ее в этом отношении с другими особями) [1];

— максимизация функции приспособленности с помощью многократного применения операций отбора, скрещивания и мутации;

— чем выше приспособленность особи, тем выше вероятность, что в его потомстве эта приспособленность будет еще выше.

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

РИ, 2002, № 2

125

выбираем наиболее приспособленную особь, которая является близкой к оптимальному ответу.

К основным эволюционным алгоритмам (ЭА) относятся:

— генетический алгоритм (ГА), с помощью которого оптимизируют функции дискретных переменных (особое внимание на операции скрещивания);

— эволюционное программирование, направленное на оптимизацию непрерывных функций (операция скрещивания не используется);

— эволюционная стратегия, направленная на оптимизацию непрерывных функций (использование операций скрещивания);

— генетическое программирование - для оптимизации компьютерных программ (применяют только операции скрещивания) [2].

Сравнивая ЭА с обычными оптимизационными методами, можно выделить ряд особенностей: параллельный поиск, случайные скрещивания и мутации уже найденных решений.

Как простой эвристический метод, ЭА хорошо подходят для оптимизации многомерных, плохо определенных функций.

2. Генетический алгоритм

На данный момент наиболее известным представителем эволюционных алгоритмов является ГА, который содержит все основные генетические операции. Он получен в процессе обобщения и имитации в искусственных системах свойств живой природы:

— приспосабливаемое^ к изменениям среды;

— естественный отбор;

— наследование потомками наиболее “ценных” свойств родителей и т.д.

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

Можно выделить следующие механизмы:

— отбор сильнейших наборов хромосом, которым соответствуют наиболее оптимальные решения;

Схема генетического алгоритма

— скрещивание — получение новых индивидов при помощи смешивания хромосомных наборов отобранных индивидов;

— мутации — преобразование хромосомы, случайное изменение одного или несколько генов (чаще

— одного).

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

Наиболее популярное приложение генетического алгоритма - оптимизация многопараметрических функций. Реальные задачи формируются, как поиск оптимального значения сложной функции, зависящей от некоторых n - входных параметров. Сила ГА—в способности манипулировать одновременно многими параметрами. В одних случаях получено точное решение функции, в других -решением считается любое значение, лучшее некоторой заданной величины.

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

оптимизации:

max{f(Sk)

Sk є {0,1}n ; k = 1

n},

где n — численность популяции.

Случайным образом генерируется начальная популяция — набор возможных решений задачи. Работа ГА—итерационный процесс, продолжающийся до тех пор, пока не выполнится заданное число поколений или какой-либо критерий остановки. На каждом поколении осуществляется отбор, пропорциональный функции приспособленности (коэффициенту выживаемости или Fitness function). В функциональной оптимизации сама целевая функция выступает в качестве функции приспособленности. Затем проводится скрещивание (кроссовер, рекомбинация) двух родительских хромосом. Полученные потомки заменяют родителей и подвергаются мутации. Полученное решение добавляется в популяцию, решение с наименьшим значением целевой функции — отбрасывается [4].

126

РИ, 2002, № 2

Общую схему такого алгоритма запишем следующим образом.

1. Выбрать начальную популяцию

Sk(0) = { SkbSk2v,Sm}, где N — длина цепочки. Считать, что

f* = max{f(Sk)| Sk є Sk(t)},t:= 0 .

2. Пока не выполнен критерий остановки, делать следующее:

— выбрать родителей Ski, Sk2 из популяции Sk(t) (отбор);

/

— построить новое решение Sk по Ski , Sk2 (скрещивание);

/

— модифицировать Sk (мутация);

— если f* < f(Sk') , то f* := f(Sk') ;

— обновить популяцию и считать t := t +1 .

Чтобы реализовать генетический алгоритм, надо сначала выбрать структуру для представления этих решений. Структура данных ГА состоит из одной или большего количества хромосом. Как правило, хромосома — это битовая строка либо векторное представление вещественных чисел. После проведенных в ходе применения ГА операций осуществляем декодирование и получаем подмножество значений, которые соответствуют субоптимальному решению задачи. Генетический алгоритм оптимизации является множественно-вероятностным, т.е. он позволяет находить множество значений, которые примерно соответствуют искомому условию. Это существенно для решения задач с неявно выраженными максимумами или минимумами.

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

— на каждом поколении реализуется отбор пропорционально функции приспособленности;

— одноточечный кроссовер (скрещивание);

— мутация.

Члены популяции с более высокой приспособленностью с большей вероятностью чаще будут отбираться для проведения дальнейшей генетической обработки, чем особи с меньшей приспособленностью. После отбора проводим скрещивание, аналогично биологической эволюции [5]. Пусть имеем двух родителей:

S1 = (Sii = S12= - = S1N ) и S2 = (S2b S22’ ••• ’ S2N ) . Случайным образом выбираем точку разрыва. Обе родительские особи разрываются на два сегмента по этой точке. Затем соответствующие сегменты различных родителей соединяются и получаются два потомка:

(S1b ••• > S1m> S2,m+b ••• > S2N) и

(S21 > ••• > S2m> S1,m+b ••• > S1N) ,

т.е. “голова” и “хвост” хромосомы берутся от разных родителей.

После проведения скрещивания выполняется мутация. В каждой строке, подвергшейся мутации, произвольный ген заменяем на противоположный. Символы хромосомы первого создаваемого потомка взяты от родителей S1 или S2 произвольно для любой символьной позиции. Второй индивидуум получает символы разности. Например, двое потомков S1 и S2 имеют следующий вид:

(S1b S22> S13> S14> •••> S2N) и

(S2b S12> S23> S24> ••• > S1N) .

Как метод оптимизации, ГА обладает внутренним параллелизмом: различные существенные комбинации генов отыскиваются параллельным образом, одновременно для всех комбинаций. Чем меньше комбинация, тем легче ее определить. В связи с тем, что алгоритм в процессе поиска использует некоторую кодировку значений, а не сами значения, он эффективно может применяться для решения задач дискретной оптимизации, которые могут быть определены как на числовых, так и на конечных множествах произвольной природы. Так как в качестве информации об оптимизируемой функции для работы алгоритма используются лишь значения в рассматриваемых точках пространства поиска, то данный алгоритм применим к широкому классу функций (в частности, не имеющих аналитического описания). Генетический алгоритм, который построен в предположении, что об окружающей среде нам дан минимум информации, что характерно для сложных технических систем, успешно справляется с поставленной задачей даже там, где не существует общеизвестных алгоритмов решения или высока степень априорной неопределенности. Можно сделать вывод, что ГАотображает общие принципы генетической эволюции, является универсальным эвристическим методом оптимизации, которому не требуется полное знание о решаемой проблеме (отсутствие априорной информации).

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

3. Проектирование информационных систем с помощью эволюционных алгоритмов

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

РИ, 2002, № 2

127

Общие свойства, характерные для всех систем:

— любая ИС предназначена для сбора, хранения и обработки информации;

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

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

При построении ИС особое внимание надо уделить проектированию. Для этого необходимо выполнить ряд действий:

а) логическое проектирование, включает в себя:

— проведение анализа требований потребителя;

— выработка концептуальной схемы базы данных, лежащей в основе ИС;

— определение архитектуры системы;

б) физическое проектирование;

в) проектирование и разработка интерфейсов и обрабатывающей части прикладной системы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Последние стадии могут проходить параллельно. На них осуществляется выбор инструментальных средств, которые позволяют достаточно быстро произвести эффективную реализацию [6].

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

Свойства ЭА позволяют использовать их при решении задач проектирования и развития ИС:

— независимо от физического смысла решаемой задачи поиск решения проходит по единому алгоритму;

— параллельно осуществляется поиск решений задачи во многих точках по всему пространству поиска;

— на каждом шаге эволюции проводится сочетание генетических операций (скрещивание и мутации)

[7].

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

— с помощью метода генетического программирования осуществляется создание и развитие информационного обеспечения и конфигурации программных средств;

— на основе ГА производится создание и развитие конфигурации аппаратных средств;

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

При создании информационного обеспечения (ИО) выделяем элементарные информационные структуры, формируем хромосомы. Выбираем такое ИО, которое наиболее удовлетворяеттребованиям пользователя.

Создание конфигурации аппаратных средств предполагает, что каждый элемент описывается отдельным геном, каждый вариант конфигурации —хромосомой. Функция приспособленности должна максимально удовлетворять потребности пользователей ИС.

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

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

Эффективность автоматизации проектирования и сопровождения ИС зависит от полноты начального множества возможных вариантов строения информационного, аппаратного и программного обеспечения системы.

Литература: 1. Вороновский Г.К. и др. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. X.: Основа, 1997. 112с. 2. Редько В.Г. Эволюционная биокибернетика //Компьютерра. 1999, №11. http://www.computerxa.ru/1999/11/ 27.html 3. Гвоздинский А.Н., Климко Е.Г., Сороковой А.И Методы аналитической обработки информации // Радиоэлектроника и информатика. 2000. №4. С. 111-112. 4.. Гвоздинский А.Н., Климко Е.Г., Сороковой А.И. Применение генетических алгоритмов для решения оптимизационных задач. 7-я Международная конференция “Теория и техника передачи, приема и обработки информации”; Сб. научных трудов. Харьков: ХТУРЭ, 2001. С.390-391. 5.Red’ko V.G. Genetic Algorithms. 1999, http:/ /pespmc1.vub.ac.be/cgi-bin/Genetalg.htm 6. Кузнецов С. Введение в информационные системы // Системы управления базами данных. 1997. № 2. С.83-96. 7. Чалый С. Ф. Использование методов эволюционной биокибернетики при проектировании распределенных информационных систем // Радиоэлектроника и информатика. 2000. №4. С. 136-138.

Поступила в редколлегию 04.12.2001

Рецензент: д-р техн. наук, проф. Путятин В.П.

Климко Елена Генриховна, ассистент кафедры компьютерных технологий и информационных систем Полтавского государственного технического университета имени Юрия Кондратюка. Аспирантка (без отрыва от производства) кафедры искусственного интеллекта ХНУРЭ. Научные интересы: эволюционное моделирование. Адрес: Украина, 36021, Полтава, ул. Алмазная, 1-А, кв. 34, тел. (053-22) 3-43-12.

128

РИ, 2002, № 2

i Надоели баннеры? Вы всегда можете отключить рекламу.