Научная статья на тему 'Применение генетического алгоритма в синтезе структуры распределенной информационной системы'

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

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

Аннотация научной статьи по математике, автор научной работы — Ганагина Н. И.

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

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

Текст научной работы на тему «Применение генетического алгоритма в синтезе структуры распределенной информационной системы»

УДК 004.02

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В СИНТЕЗЕ СТРУКТУРЫ РАСПРЕДЕЛЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ

© 2007 г. Н.И. Ганагина

Рассмотрим математическую модель проектирования и оптимизации структуры распределенной информационной системы. За основу анализа примем некоторый информационный объект (база данных, неструктурированные данные, программные средства и т.п.), фрагменты которого территориально разнесены по ПЭВМ сети. Пусть F = {/\, f2,...,fn} - вектор фрагментов информационного объекта. Справедливо

п

следующее правило: / и /2 и... и /п = и / = F , но

i=\

в общем случае не выполняется / п /у = 0 , / = \ ..п ,

у = \ ..п, I Ф у , п - мощность множества фрагментов информационного объекта.

Выделим следующие составляющие распределенной информационной системы:

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

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

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

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

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

Q (о), безопасности системы В (о), доступности данных Б (о) и суммарной стоимости проекта £ (о). При

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

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

F (X ) = Ф[Ж (X), Q (X), В (X), Б (X), £ (X )] =

= ф[/^)] :F^Нfti:,

где X - вектор входных параметров, характеристик распределенной информационной системы.

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

Указанные функции достаточно сложно, а иногда и невозможно представить в аналитическом виде, поэтому в общем случае целевая функция является многомодальной, а задача синтеза структуры распределенной информационной системы - многокритериальной. Рассматриваемые функции могут быть представлены в матричном виде (например, см. [\]).

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

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

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

ГА = (Р0, А, I, ©, ц, Т),

где Р0 = {А\0,...,АА} - исходная популяция, в которой А0, I = \,А - решение задачи, представленное в виде хромосомы; А - размер популяции; I - длина хромосомы популяции; © - оператор отбора; ^ -множество генетических операторов; ц - функция оптимальности; Т - критерий останова. Популяция Р 0 является случайно сгенерированной исходной популяцией, а параметры А и I — характеристиками популяции.

Простой репродуктивный план включает две повторяющиеся процедуры. В течение первой из них

дополнительные копии некоторых особей, обладающих приспособленностью выше среднего по популяции уровня, добавляются к текущей популяции Р', в то время как некоторые особи с низкой приспособленностью удаляются. Каждая особь получает возможность стать родителем с вероятностью, пропорциональной ее приспособленности [2].

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

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

1. Реализация генетических операторов.

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

3. Выбор критерия останова.

Будем использовать классический генетический алгоритм с фиксированным размером популяции. Опытным путем было получено, что такое условие, накладываемое на генетический алгоритм, позволяет добиться приемлемого компромисса между сходимостью алгоритма и требуемым объемом оперативной памяти ПЭВМ. При проектировании распределенной информационной системы с иг - уровнями и К1, 1 = 1. иг элементами на каждом уровне вычислительная сложность задачи оценивается как:

C 0

K"rK"

C1

J^ur z^ur -1

CK K ix

(n i yur —\v ur — 2 \

C0 C1 CK K x

Kur —-1kur—2 Kur—iKur—2 " kur—1Kur—2 ''''

x(c02 1C\ ) = 2KurKur—1 x

\ K 2K1 K 2K1 K 2*K1

Kur —1Kur—2 к 2k 1

x2 ... 2

=2

KurKur —1 + Kur —1Kur—2 +... + к2к1.

Согласно теории генетического алгоритма, размер популяции выбирают как 21(^2 N г, где N г - количество решений задачи, т. е.

2 log 2 Nr = 2log2 2

KurKur —1+ Kur—1Kur—2 +... + к2к1

тической формулой сформируем хромосому в виде вектора значений:

((м1;а)(«!,а2 )...(,a )...(,акиг )ах )(а,а)...

...(, акиг _1) (al, fi )(а2, fi)... (аг, f)... (, fn)).

где и j, j = 1..m, - множество потребителей информационного ресурса, m - мощность множества потребителей информационного ресурса; аi, i = 1..Kur -множество объектов (компонентов) сети. Каждой особи Ai, i = 1, X ставится в соответствие значение целевой функции F(Ai).

Оператор отбора играет решающую роль при реализации операторов скрещивания и редукции. Качественный отбор особей позволяет улучшить характеристики сходимости генетического алгоритма к точке глобального максимума, увеличивая, таким образом, скорость алгоритма. Для выбора наиболее качественных особей популяции обычно используют понятие ранга особи. В популяции размера X для всех i е{1,...,X} - ранг особи популяции гапк(Ai ) = i при условии, что для всех iе{1,...,X_ 1} выполняется отношение ц(Аг-)°ц(Аг-+1), где о есть бинарное отношение порядка на множестве значений функции оптимизации, ц - функция оптимальности. Индекс i

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

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

со значением R(а* ), где t - номер поколения, которое затем подвергается рекомбинации и мутации, а R (А/) е R - вещественное число, называемое темпом

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

R (А/) в целочисленные (число копий особи Ai на

следующем шаге эволюции t +1).

Оптимальный алгоритм копирования требует, чтобы

i R (А/ ) = X.

i=1

При таком алгоритме отбора вероятность копирования особи Ai с темпом копирования R(а* ) равна

R (А/)

Pe (At )

X

= 2 ((игКиг-1 + Киг-1 Киг-2 +... + К 2 К1).

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

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

е в(л; )=хр (л; )=я (л;).

В качестве алгоритма отбора будем использовать алгоритм пропорциональной селекции:

R

И )

'И)

где V(а/ ) = g (ц(А/)) - функция качества, в которой

g (•) - функция, преобразующая значения целевой функции в неотрицательное число таким образом, что функция V(а/) должна быть максимизирована; V1 -

среднее значение функции качества в текущей популяции Р'.

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

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

В качестве оператора мутации используется вариант точковой мутации.

Вероятность срабатывания оператора мутации для всякой популяции Р' определим достаточно низкой (в пределах \ - 5 %). Если оператор мутации сработал, то на основе равномерного случайного закона из Р', где Р' - текущая популяция, выбирается особь Ai,

I = \, А. В особи Ai на основе равномерного случайного закона выбирается ген, который заменяется на новый случайно сформированный ген.

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

Критерием останова работы генетического алгоритма может быть одно из трех событий:

\. Сформировано заданное пользователем число поколений.

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

3. Достигнут некоторый уровень сходимости. Т. е. особи в популяции стали настолько подобными, что дальнейшее их улучшение происходит чрезвычайно медленно.

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

Динамика изменения среднего значения целевой функции генетического алгоритма

v

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

1) получение заданного значения целевой функции;

2) получение заданного числа популяций.

Практическое применение программного комплекса, построенного на основе представленного алгоритма, показало его сходимость, высокую производительность и возможность получения качественных

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

Литература

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

1. Ганагина Н.И. Постановка задачи синтеза структуры распределенной информационной системы в нечетком виде // Вестник СевКавГТИ. Ставрополь; 2007. Вып. VII. С. 62-65.

2. Воронкин Р.А. Математическое моделирование процессов генетического поиска для повышения качества обучения нейронных сетей прямого распространения: Дис. ... канд. техн. наук: 05.13.18. Ставрополь, 2004.

Северо-Кавказский государственный технический университет, г. Ставрополь 18 сентября 2007 г.

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