ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Вестн. Ом. ун-та. 2011. № 4. С. 170-171.
УДК 004.032.26
С.В. Белим, М.С. Рублев
ЭВОЛЮЦИОННЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ТАКСОНОМИИ
Приводятся эволюционный алгоритм решения задачи таксономии для точек в декартовом пространстве, результаты компьютерного эксперимента. Показана зависимость результатов работы алгоритма от числа шагов.
Ключевые слова: декартово пространство, задачи таксономии, сферические таксоны.
1. Введение
На сегодняшний день разработано достаточно много алгоритмов разбиения множества точек на таксоны. Таксонами принято называть подмножество точек, наиболее близко расположенных друг к другу. Широкое распространение получили методы работы с таксонами, основанные на алгоритмах семейства FOREL и его модификация FOREL-2, SKAT и BIGFOR [1]. В результате работы этих алгоритмов получаются сферические таксоны, так как являются последовательным разбиением гиперсферы, охватывающей все элементы, на гиперсферы, охватывающие подмножества. Трудоемкость этих алгоритмов на больших массивах данных довольно быстро увеличивается. Также следует отметить, что результаты таксономии не всегда однозначны и зависят от выбора начальной точки работы алгоритма.
В связи с этим актуальной является задача разработки алгоритмов таксономии, работающих за минимальное время.
2. Постановка задачи
Пусть задано множество из K точек в N-мерном пространстве. Необходимо разбить заданное множество точек на Т таксонов. Таким образом, решается задача таксономии с заранее известным числом таксонов.
Будем решать поставленную задачу с помощью следующего эволюционного алгоритма.
Шаг 1. Построение матрицы расстояний M.
Строим квадратную матрицу размером K х K. Элемент матрицы Mij определяет расстояние от точки с номером i до точки с номером j. Этот шаг может отсутствовать, а вычисление расстояний может осуществляться по мере необходимости. Однако отказ от вычисления матрицы M приводит к увеличению трудоемкости алгоритма.
Шаг 2. Поиск наибольшего расстояния.
Ищется наибольший элемент матрицы M, который в дальнейшем будем обозначать Dm. Данная величина задает диаметр множества точек.
Шаг 3. Инициализация генератора случайных чисел.
Генератор необходим для проведения воспроизводимых экспериментов.
Шаг 4. Начальное распределение элементов.
© С.В. Белим, М. С. Рублев, 2011
Эволюционный алгоритм решения задачи таксономии
171
Множество точек произвольным образом разбивается на Т таксонов приблизительно равного размера (с точностью до остатка от деления) по следующему алгоритму:
1) выбираются случайным образом Т точек из начального множества. Выбранные точки служат центрами будущих таксонов;
2) для каждого из таксонов поочередно выбираются свободные элементы из множества точек так, чтобы по матрице расстояний они были максимально близки к центру таксона. Максимально возможным расстоянием считается найденное ранее значение Dm.
Шаг 5. Вычисление коэффициента таксономии.
Коэффициент таксономии Kt служит характеристикой оптимальности разбиения. Сначала для каждого таксона вычисляется сумма расстояний между его точками kt. Коэффициент таксономии есть сумма kt по всем таксонам.
Шаг 6. Эволюционный перебор.
Далее изменение таксонов происходит итерационно. Количество итераций Ntt является параметром алгоритма и задается до начала его работы. Эволюционный перебор состоит из следующих шагов:
• с использованием генератора случайных чисел выбираются случайно два таксона t\ и t2;
• случайно выбираются два числа S1 и S2, такие что S1 меньше количества элементов в t1 и S2 меньшее, чем количество элементов в t2;
• у каждого из таксонов выбирается подмножество точек m1 и m2, содержащее соответственно S1 и S2 элементов;
• таксоны обмениваются подмножествами точек m.1 и m2;
• для результирующей таксономии вычисляется коэффициент Kti. Если коэффициент Kti данного шага меньше, чем Kt, то транзакция принимается и Kt = Kti. Иначе происходит обратная расстановка таксонов, то есть возврат m1 в t1 и m2 в t2.
3. Компьютерный эксперимент
В рамках компьютерного эксперимента проводилась таксономия двумерного множества из K = 20 точек, представленного на рис. 1. Использовался линейный конгруэнтный генератор псевдослучайных чисел с параметрами а = 69069, с = 5, m = 232.
Далее была проведена таксономия представленного множества на T = 2 так-
сона с помощью эволюционного алгоритма за Nit =1000 итераций. На рис. 2 представлено начальное случайное разбиение на таксоны.
Результат работы программы после 1000 итераций представлен на рис. 3.
120
100
80
40
20
0 20 40 60 80 100 120 140
Рис 1. Распределение точек на плоскости
Рис. 2. Начальное распределение
0 20 40 60 80 100 120 140
Рис 3. Результат таксономии после 1000 итераций
Таким образом, представленный алгоритм дает приемлемые результаты таксономии за заданное количество шагов. Дальнейшие компьютерные эксперименты показали, что после определенного числа шагов происходит «насыщение» и дальнейшие результаты остаются неизменными.
ЛИТЕРАТУРА
[1] Загоруйко Н. Г. Прикладные методы анализа данных и знаний. Новосибирск : Изд-во Ин-та математики, 1999. 270 с.
[2] Плюта В. Сравнительный многомерный анализ в экономических исследованиях: методы таксономии и факторного анализа. М. : Статистика, 1980. 151 с.
60
0
120
100
80
60
40
г0
0
0
100
120
l40
120
100
8o
o