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

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

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

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

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

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

На основании изложенного можно сделать следующие выводы. Разработана программная среда для задач проектирования. При построении комплекса программ использовались пакеты Borland C++, Builder, Visual C++. Была протестирована серия из 500 графовых моделей на 500, 1000 и 5000 вершин. При этом временная сложность алгоритма не выходила из области полино-

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

Литература

1. Норенков И.П. Основы автоматизированного проектирования. М.: Изд-во МГТУ им. Н.Э. Баумана, 2006. 360 с.

2. Курейчик В.В., Неупокоева Н.В. Решение оптимизационных задач на основе генетических алгоритмов // Перспективные информационные технологии. 2000. № 2. С. 113-116.

3. Курейчик В.В., Курейчик В.М. Генетический алгоритм размещения графа // Изв. РАН. Теория и системы управления. 2000. № 5. С. 67-74.

4. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Решение задачи размещения на основе эволюционного моделирования // Там же. 2007. № 4. С. 78-90.

5. Гладков Л.А., Курейчик В.В., Курейчик В.М., Сороко-летов П.В. Биоинспирированные методы в оптимизации. М.: Физматлит, 2009.

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

А.К. Керимов, д.ф.-м.н. (Азербайджанский государственный экономический университет,

г. Баку, adalat_kerim@mail.ru); Р.И. Давудова (Институт кибернетики Национальной академии наук Азербайджана,

г. Баку, d.rewana@rambler.ru)

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

Ключевые слова: эволюция, ламаркизм, дарвинизм, кроссовер (кроссинговер), мутация, популяция, особь, потомок, ген.

В статье рассматривается задача построения оптимальной классификации без обучения объектов (автоматическая классификация), характеризующихся количественными признаками. Искомая (оптимальная) классификация представляет собой решение некоторой задачи минимизации определенного типа функционала, характеризующего качество классификации. Данная проблема решается в рамках трехпараметрической модели алгоритма вычисления оценок (АВО) [1, 2], а оптимизация соответствующего функционала, характеризующего качества классификации, проводится с применением эволюционного алгоритма по принципу Ж. Ламарка.

Пусть дано множество допустимых однотипных сложных объектов:

X={х1,х2,...,хга}, (1)

состояния которых описываются набором некоторых числовых признаков

Т =| 6М] с К:1=1^=1~п. (2)

Здесь Т - прямоугольная матрица; х^ -признак 1-го объекта; Mj - ограниченная область изменения j-го признака. Множество объектов (1) считается допустимым, если признаки (2) определены областью значений Mj, то есть для VI х^е Mj, где 1=1,т^=1,п . Однотипными считаются системы, описание состояний которых дано в одном и том же признаковом пространстве. Таблицу Т называют признаковой матрицей. Каждый объект х1

из (1) можно определить отображением М1 хМ2 х...хМп = Мп с К", где К" - пространство п-мерных векторов действительных чисел.

Определение 1. Подмножества КР1=1,/, набора объектов X называются классами и удовлетворяют следующим условиям:

1) Ф ||К =0);

/

2) цк=х;

¡=1

3) для Хч е Х((х„ еК1) 1 ((К(х, ,^)> >К(хч, К1))), где К(хч, Kj) - мера сходства объекта х1) и класса К ;

4) для хр,хч еХ((хч,хр еК^ еKj) ^

1((К(хч,х()> К(хч,хр) и К(хр,х1)>К(хч,хр), где К(хч,х1) - мера сходства объектов хч и х4.

Предполагается, что количество классов / до классификации неизвестно.

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

Р„(х1)"х1 еKq",q=1/ , где Р1)(х1)е{0,1,А}, то есть

1, если х1 еК, 0, если х1 ,

Р() (х1)=• А, если алгоритм отказывается от принадлежности объекта х1 к классам К^=1,/.

Для решения рассматриваемой задачи предложен подход, комбинирующий два алгоритма -входящий в семейство АВО [1, 2] и эволюционный алгоритм по принципу Ламарка [3].

Задача решается в два этапа. На первом этапе сформулированная задача решается в рамках (п+2)-параметрической модели АВО. В этой модели введен вектор пороговых параметров и=и(е1,е2,...,еп,88,8к), где е1,88,8ке[0,1]. Здесь е1 характеризует близость двух объектов по 1-му признаку, 88 характеризует близость двух объектов, 8к - близость объекта к классу. Вектор й=й(е1, е2,...,еп,88,8к) заменен обобщенным вектором и=и(е,88,8к), где параметр ее[0,1] характеризует близость двух объектов по обобщенному признаку и связан с вектором е=е(е1,е2,...,еп) соотношениями е1 =А 1 -е; А1 = тахх.—хр1 , 1=1,т,

рл 1 q р 1

то есть (п+2)-параметрическая модель сводится к трехпараметрической модели АВО [2].

Введем вектор весов признаков V=у(у1,у2,... ...,уп), у1 =[0,1], 1=, компоненты которого задаются экспертно.

Понятия близости определяются в соответствии с АВО (табл. 1).

Таблица 1

Название Формула

Мера близости объектов хр и х() по j-му признаку если |Xpj -xqj|>ej [1,если |xpj- xqj| <е j

Мера близости объектов хр и Xq 1 n R(p,q)=- Xrj(p,q) n j=1

Бинарная функция близости объектов хре X и XqеX [0, если R(p,q)<8s r(p,q)=^1 iss [1, если R(p,q)>8s

Мера близости объекта хре X и класса (множества объектов) KiсX R(p;K>A X r(p,q) m xq^K

Бинарная функция близости объекта хре X и класса KiсX r( ;K )=[0' если R(p;Ki)<8k |1, если R(p;Ki)>8k

На первом этапе для начального значения вектора u=u(e, 8s, 8k) вычисляются T(p,q), по вычисленным значениям r(p,q) строится начальная классификация и определяется начальное количество классов I. Для фиксированного u=u(e,8s, 8k),

основываясь на R(p,Kj) и Г(р,К), p=1,m, i=1,l, проводится уточнение полученной классификации.

На втором этапе для оптимизации полученной классификации осуществляется минимизация функционала, характеризующего качество классификации (3) с применением эволюционного алгоритма по принципу Ламарка, то есть

J* = J(u*) = min £ Е R(p,q), (3)

u(s)eU

KjEK(u) Xp,XqEKj

p#q

где R(p,q) - расстояние между объектами с номерами p и q; U - допустимая область трехмерного вектора пороговых оценок:

U={u(e,8s,8k)е[0,1]} . (4)

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

По Чарльзу Дарвину, биологические популяции развиваются из поколения в поколение, подчиняясь законам естественного отбора, и выживает наиболее приспособленный. Генетические алгоритмы основаны на тех же процессах, что происходят с биологическими организмами. Основной идеей Ламарка, в отличие от Дарвина, является то, что организмы изменяются под воздействием окружающей среды и условий жизнедеятельности, а не только на генетическом уровне [3]. По теории эволюции Ламарка, характерные особен-

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

Определение 2. Классификация, полученная из решения задачи (3), (4) и удовлетворяющая условиям 1-4 определения 1, называется оптимальной.

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

В работе [4] для решения задачи автоматической классификации предлагается новый алгоритмический подход, состоящий из двух эвристических алгоритмов - алгоритма, входящего в семейство АВО, и самоорганизующегося генетического алгоритма, который выбирает приоритетную схему многородительской репродукции и эффективного числа родителей.

В данной работе для решения задачи (3), (4) предлагается новый подход, базирующийся на эволюционном принципе Ж. Ламарка. Кратко опишем модифицированный эволюционный алгоритм по принципу Ламарка.

Шаг 0. Пусть к=0.

Шаг 1. Генерируется случайная начальная популяция.

Шаг 2. Вычисляется функция приспособленности.

Шаг 3. Из популяции случайно выбираются к_т особей и битов для многоточечной мутации.

Шаг 4. Проводится многоточечная мутация. Полученные особи остаются в популяции (заменяя своих родителей).

Шаг 5. Случайно выбирается первый член пары скрещивания, вторым членом будет самая близкая к нему особь. Перейти к шагу 7 (инбридинг).

Шаг 6. Выбираются максимально далекие особи (аутбридинг).

Шаг 7. Проводится операция двухточечного кроссинговера между двумя выбранными особями. Полученные потомки заменяют в популяции обоих родителей.

Шаг 8. Вычисляется целевая функция.

Шаг 9. Проверяются условия для завершения алгоритма. Если условия удовлетворяются, необходимо остановиться, иначе принять к=к+1 и перейти к шагу 3.

Проведены многочисленные вычислительные эксперименты при разных значениях т и п. Приведем один из них.

Рассматривается задача автоматической классификации т=20 объектов (точек в пространстве), которые описываются п=3 признаками (координатами) (табл. 2). Значение вектора весов У=(1,1,1).

Критерий завершения работы алгоритма выбирается следующим образом: если после двух последовательных итераций удовлетворяется условие

|^к+1—^то процесс заканчивается, в противном случае продолжается, где 1* - значение функционала на к-й итерации; а - заданная точность. Результаты расчета приведены в таблице 3.

Таблица 2

Значения матрицы признаков Т

Номера точек Координаты

I II III

1 21.00 16.00 14.00

2 20.80 18.00 14.00

3 8.80 8.30 4.50

4 9.00 8.40 4.70

5 0.30 1.00 0.20

6 20.00 17.00 13.00

7 4.70 7.30 8.50

8 6.10 7.80 9.30

9 11.60 8.70 4.90

10 8.50 7.90 4.00

11 8.70 9.30 6.80

12 7.20 10.50 8.40

13 8.20 8.30 4.40

14 10.00 9.50 7.30

15 2.80 6.10 4.30

16 3.20 5.80 3.50

17 9.50 11.20 7.30

18 3.40 6.90 3.50

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

19 17.00 9.00 6.00

20 8.20 8.80 4.60

Для рассмотренных объектов построена оптимальная классификация при пороговых значениях (2.53*10"1,3.28*10"1, 2.42*10-1), для которой значение функционала составляет 66.33335, а количество классов 1=3. Вычислительные эксперименты показали, что при некоторых значениях е, 5к, 58 получается тривиальная классификация, то есть либо все объекты входят в один класс, либо каждый объект образует отдельный класс. При значениях е, 8к, 58 =(9.335938* 10-1, 2.187500*10^, 8.867188*10-1) получается первый случай, а для векторов (6.445313*10-1, 3.437500*10-1, 6.132813*10^), (3.320313*10-1, 2.617188*10" 1,8.867188*10-1), (5.585938*10-1, 9.023438*10^, 7.539063*10-1) - второй случай.

Оценивание вычислительной сложности предложенного алгоритма

Если решение задачи проводится с применением суперпозиций нескольких алгоритмов Аъ А2,..., А , то есть А=А1®А2®— причем 1-й алгоритм имеет вычислительную сложность К(А), тогда для вычислительной сложности алгоритма А справедливо следующее: К(А)=К(А[)+

+К(А2)+ ...+К(Ар).

Классификация объектов при разных значениях е, Sk, Ss

Таблица 3

Значения е, Sk, 5S (соответственно) Количество классов (объектов) Объекты, принадлежащие классам Не-отнесенные объекты Значение функционала

I II III

9.02*10-1, 4.49*10-1, 3.94*10-1 2 (16,4) 3,4,7,8,9, 10, 11, 12, 13,14,15, 16,17,18, 19,20 1,2,5,6 - - 123.333

7.14*10-1, 7.89*10-1, 2.18*10-1 2 (15,5) 3,4,5,7,9, 10,11,12, 13,14, 15, 16, 17,18, 20 1,2,6, 8,19 - - 114.6666

2.62*10-1, 5.39*10-1, 2.38*10-1 3 (14,3,2) 3,4,7,8,9, 10,11,12, 13,14,15, 17,19,20 1,2,6 16,18 5 80.99998

5.58*10-1, 9.02*10-1, 7.53*10-1 2 (15,3) 3,4,7,8,9, 10,11,12, 13,14,15, 16,17,18,20 1,2,6 - 5,19 110.0000

5.54*10-1, 2.26*10-1, 9.02*10-1 3 (14,2,1) 3,4,7,8,9, 10,11,12, 13,14,17, 18,19,20 2,5 1 6,15, 16 90.33334

3.32*10-1, 2.61*10-1, 8.86*10-1 3 (13,2,4) 3,4,7,8,10, 12,13,15, 16,17,18, 19,20 1,2 7,15, 16,18 5,6,9, 11,14 71.0000

2.53*10-1, 3.28*10-1, 2.42*10-1 3 (13,3,4) 3,4,5,8,9, 10,11,12, 13,14,17, 19,20 1,2,6 7,15, 16,18 - 66.33335

Верхние границы вычислительных сложностей отдельных программных модулей составляют, соответственно, 0(к_рор2пт3), 0(пт3), 0(т2п2), 0(к_рор2 т3п), О(п т), 0(к_рор2 п),

где т - количество объектов; п - количество признаков; к_рор - количество особей, формирующих популяцию. Тогда для верхней границы

вычислительном сложности предложенного алгоритма получается:

R(n,m,k_pop)<O(m3 n k_pop2)+O(n m3)+ +O(m2n2)+ O(m3nk_pop2 )+O(mn2)+ +O(n m)+ O(nk_pop2)<O(n2 m3 k_pop2).

Итак, доказана следующая теорема: алгоритм, состоящий из суперпозиций АВО и эволюционного алгоритма для решения задачи автоматической классификации m объектов, описываемых n количественными признаками, имеет вычислительную сложность O(n2 -m3-k_pop2), иными словами, предложенный алгоритм принадлежит к классу эффективных алгоритмов P.

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

Литература

1. Журавлев Ю.И., Никифоров В.В. Алгоритмы распознавания, основанные на вычислении оценок // Кибернетика. 1971. № 3. С. 1-11.

2. Зенкин А.А., Зенкин А.И. Задача построения оптимальных классификаций // Сб. работ по мат. кибернетике ВЦ АН СССР. М., 1981. С. 20-33.

3. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003. 432 с.

4. Керимов А.К., Давудова Р.И. Генетический алгоритм в задачах автоматической классификации / Сб. докл. Междунар. конф. по мягким вычислениям и измерениям (SCM'2006). СПб, 2006. Т. 1. С. 250-252.

5. Керимов А.К., Давудова Р.И. Эволюционный алгоритм для решения задачи автоматической классификации // Искусственный интеллект и принятие решений. 2009. № 4. С. 74-79.

МЕТОДЫ. УДОВЛЕТВОРЕНИЯ ВРЕМЕННЫХ ОГРАНИЧЕНИЙ

В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ РЕАЛЬНОГО ВРЕМЕНИ

(Работа выполнена при финансовой поддержке РФФИ, проект 08-01-00437)

А.П. Еремеев, д.т.н.; Д.Ю. Митрофанов

(Московский энергетический институт (технический университет), eremeev@appmat.ru)

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

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

Интеллектуальные системы поддержки принятия решений (ИСППР) реального времени (РВ) предназначены для помощи ЛПР при мониторинге

и управлении сложными объектами и процессами в условиях достаточно жестких временных ограничений [1-3]. К таким объектам относятся и объ-

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