Using Genetic Algorithm in Clustering Problem for Weighted Oriented Graph
- Authors: Kulikov A.A.1,2
-
Affiliations:
- MIREA – Russian Technological University
- Financial University under the Government of the Russian Federation
- Issue: Vol 11, No 2 (2024)
- Pages: 93-101
- Section: INFORMATICS AND INFORMATION PROCESSING
- URL: https://journals.eco-vector.com/2313-223X/article/view/635834
- DOI: https://doi.org/10.33693/2313-223X-2024-11-2-93-101
- EDN: https://elibrary.ru/MULJLE
- ID: 635834
Cite item
Full Text
Abstract
Optimization is a very important concept in any field of business, be it retail, finance, automotive or healthcare. The goal of optimization is to find a point or set of points in the search space by minimizing/maximizing the loss/cost function that gives the optimal solution for the problem at hand. In this case, clustering methods, data mining techniques and clustering optimization algorithms are of particular importance. In this context, metaheuristic algorithms, which include the genetic algorithm, become particularly popular and important. Thus, the aim of the paper is to examine the possibilities of using genetic algorithm in the clustering problem for weighted directed graph. Objectives: 1) to consider the peculiarities of using GA in optimization problems; 2) to propose a variant of solving the problem of partitioning some set of ISP users into groups according to a certain set of characteristics using GA; 3) to evaluate the efficiency of the proposed GA in comparison with the algorithm of limit enumeration. Research methods: methods of system analysis, applied and computational mathematics; experimental research; computer and simulation modeling. As a result of the research, the paper proposes an approach for solving the problem of clustering Internet users using a genetic algorithm. To take into account the specificity of the problem and to improve the efficiency of the genetic algorithm, heterogeneous chromosomes were used and modifications were made in the course of classical procedures of crossing and mutation. Conclusions. The developed algorithm was tested for performance in comparison with the limit search algorithm and its significant advantage in this indicator was shown. To take into account the specifics of the task and increase the efficiency of the GA, heterogeneous chromosomes were used. To achieve this, significant modifications were made to the classical procedures of crossing and mutation. The developed algorithm was tested for performance in comparison with the limit search algorithm and its significant advantage in this indicator was shown. The obtained comparison results allow us to assert that already for 150 units of the original set, solving the problem using the limit search method requires a disproportionately large amount of time. While the proposed GA provides a solution for a significantly larger problem dimension in a quite acceptable time.
Keywords
Full Text
Введение
Кластеризация – это важный процесс абстрагирования, который играет значимую роль как в распознавании образов, так и в поиске данных. Для кластеризации больших массивов информации часто используются условные алгоритмы [1: 24–34]. Алгоритм K-means – это самый популярный условный алгоритм кластеризации, также широко распространены нечеткий, грубый, вероятностный и нейросетевой алгоритмы [2]. Однако основная проблема обозначенных алгоритмов заключается в том, что они могут не достигать глобально оптимального решения соответствующей задачи кластеризации. В данном контексте для преодоления обозначенных трудностей очень привлекательными являются генетические алгоритмы.
Генетические алгоритмы (ГА) – это рандомизированные методы поиска и оптимизации, основанные на принципах эволюции и естественной генетики и обладающие большим количеством неявного параллелизма [3]. ГА выполняют поиск в сложных, больших и многомодальных ландшафтах (например, для оптимизации гиперпараметров, таких как скорость обучения, параметры регуляризации и сетевая архитектура в нейронных сетях, параметры фильтрации для шумоподавления сигналов, сохраняя при этом важную информацию) и предоставляют почти оптимальные решения для целевой функции или функции пригодности задачи оптимизации. Кроме того, ГА снижает чувствительность k-средних к случайно инициализированным центрам и уменьшает вероятность сходимости к локальным минимумам [4].
Таким образом, принимая во внимание значительный потенциал ГА в поиске оптимальных кластеризации, расширение исследований в данном направлении является важной научно-практической задачей, что и предопределило выбор темы данной статьи.
Анализ публикаций по теме исследования. Возможности использования ГА в различных контекстах, в которых либо непрактично, либо невозможно напрямую найти глобально оптимальное решение сложных числовых задач, рассматривают в своих трудах М.С. Германчук, Д.В. Лемтюжникова, В.А. Лукьяненко [5], Т.И. Петров, А.Р. Сафин, М.Ф. Низамиев [6], K.K. Gola, B.M. Singh [7], F. Houshmand-Nanehkaran, S.M. Lajevardi [8].
Над улучшением ГА кластеризации, который способен автоматически находить оптимальное количество кластеров и их разделов на основе числовых критериев трудятся Р.А. Аралбаев, А.А. Тарасов [9], Е.Л. Еремин, Е.А. Шеленок [10], O. Üstün, E. Bekiroğlu [11], Cao Jianli, Chen Zhikui [12], J. Chanu, M. Singh [13].
Экспериментальные результаты сравнения ГА кластеризации с алгоритмом K-means представлены для нескольких наборов искусственных и реальных данных в публикациях А.М. Минитаевой, Р.Д. Векшина, А.А. Шатилова [14], Ф.В. Безгачева, П.В. Галушина, Е.Н. Рудаковой [15], Е.Е. Бизянова, И.С. Козловой [16], Baodan Sun, Yun Zhou [17], B.N. Chebouba, M.A. Mellal [18].
Нерешенные части общей проблемы. Несмотря на весомый объем знаний, накопленный в изучаемой предметной плоскости, данные об экспрессии генов представляют собой уникальные проблемы, в частности, в отношении внутренних критериев валидации. Это объясняется тем, что они должны предсказать, сколько кластеров действительно присутствует в наборе данных, что уже является сложной задачей, которая усугубляется тем, что оценка должна быть достаточно разумной, чтобы учесть присущую структуру функционально связанных генов.
Методология исследования
Цель статьи заключается в рассмотрении возможностей использования генетического алгоритма в задаче кластеризации для взвешенного ориентированного графа.
Задачи:
1) рассмотреть особенности использования ГА в задачах оптимизации;
2) предложить вариант решения задачи разбиения некоторого множества пользователей провайдера интернет-услуг на группы в соответствии с определенным набором характеристик с использованием ГА;
3) оценить эффективность предложенного ГА по сравнению с алгоритмом предельного перебора.
Методы: методы системного анализа для описания концептуальных моделей в задачах кластеризации; прикладной и вычислительной математики – для моделирования эволюционных процессов на основе ГА; экспериментальные исследования – при оценке эффективности ГА по сравнению с алгоритмом предельного перебора; компьютерного и имитационного моделирования с целью оценки эффективности предложенных в статье решению.
Результаты и обсуждение
Эволюция зарекомендовала себя как очень мощный механизм поиска хороших решений сложных задач. Можно рассматривать естественный отбор как метод оптимизации, который позволяет найти адекватные решения для конкретных условий [19]. Несмотря на большое количество применений ГА в различных типах оптимизационных задач, существует очень мало исследований по использованию такого подхода к проблеме кластеризации.
Гибкость, связанная с ГА, – один из важных аспектов, который следует иметь в виду. При одном и том же представлении генома, просто изменив фитнес-функцию, можно получить другой алгоритм [20]. В случае пространственного анализа это особенно важно, так как на этапе исследования можно попробовать различные фитнес-функции.
Рассмотрим задачу разбиения некоторого множества пользователей провайдера интернет-услуг на группы в соответствии с определенным набором характеристик: скорость доступа, объем потребленного входящего и исходящего трафика. Такое разбиение позволит оценить потребности абонентов и в соответствии с этим организовать максимально гибкую и приспособленную к ситуации на рынке систему тарифов провайдера.
Кластеризация пользователей сети Интернет может быть сформулирована как оптимизационная задача. Этот критерий может представлять собой некоторый функционал, отражающий уровень желательности различных разбиений и группировок. В качестве целевой функции примем традиционную для задач кластеризации сумму квадратов евклидовых расстояний между объектами в пределах одного кластера:
Итак, пусть G = (V, E) – взвешенный граф, обозначающий критерий кластеризации, где V – множество вершин; E – множество взвешенных ребер, V × V → ℜ. Тогда для любых двух вершин u, v ∈ V мы можем определить внешнюю и внутреннюю значимость ребра (u; v):
соответственно.
Понятно, что
обозначает средний вес ребер от u до других вершин графа, и, следовательно, Iout(u, v), т.е. разность между весом ребра и средним весом, измеряет относительную важность (u; v) среди всех исходящих из u ребер. Аналогично, Iin(u, v) измеряет относительную важность (u; v) среди всех входящих в v ребер. Следовательно, общую важность ребра (u; v) можно обозначить как I(u, v) = Iout(u, v) + Iin(u, v). Тогда, для кластеризации C = {C1, C2, … , Ck} степень C, удовлетворяющая критерию представленному G, которая обозначается как degG (C), определяется следующим образом:
где w1; w2 ∈ (0; 1] – параметры, устанавливаемые в зависимости от реальных приложений и экспериментов.
Два слагаемых в degG (C) измеряют внутрикластерную и межкластерную плотность кластеризации соответственно. Таким образом, цель состоит в том, чтобы найти кластеризацию, которая максимизирует внутрикластерную плотность и минимизирует межкластерную. Пусть cis (G) обозначает множество всех возможных кластеризаций на основе G. Тогда задача кластеризации формулируется как следующая оптимизационная задача:
После того как оптимизационная задача сформулирована, мы можем решить ее с помощью ГА. Для этого разработаем последовательность операций, моделирующих эволюционные процессы на основе математических аналогов генетической наследственности, изменчивости и естественного отбора.
- Генерирование начальной популяции. Начальная популяция содержит n хромосом, сгенерированных случайным образом. При этом как последовательность генов, так и характер (форма) разбиения задается случайным образом. Для каждого из n полученных разбиений рассчитывается целевая функция, и начальная популяция записывается в рабочую матрицу, занимая ее элементы с индексами от 0 до n–1.
- Создание потомков:
а) двухточечное скрещивание (рис. 1): хромосома случайным образом разбивается на три части, как показано на рисунке. Меняя местами крайние участки хромосомы, получаем новое решение.
Рис. 1. Двухточечное скрещивание (с k-го гена основной составляющей начинается новый кластер)
Fig. 1. Two-point crossing (a new cluster begins with the kth gene of the main component)
Хромосомы, полученные по механизму двухточечного скрещивания, записываются в рабочую матрицу с индексами от n до 2n – 1;
б) мутация 1: два случайно взятых гена одной хромосомы меняются местами (рис. 2).
Рис. 2. Мутация в пределах одной формы разбиения
Fig. 2. Mutation within one partition shape
Таким образом, изменяется положение только одного объекта относительно кластеров. Этот вид мутации обеспечивает изменчивость в пределах одной формы разбиения. Мутанты, полученные по первому виду, располагаются в рабочей матрице с индексами от 2n до 3n – 1;
в) мутация 2: для сформированной родительской хромосомы случайным образом генерируется новый массив маркеров разбиения, при этом порядок следования объектов остается неизменным (рис. 3).
Рис. 3. Мутация форм разбиения
Fig. 3. Mutation of partition forms
Этот вид мутации обеспечивает сменность форм разбиения и позволяет расширить область поиска оптимального решения. Мутанты по второму виду занимают позиции с 3n до 4n – 1 рабочей матрицы. Для каждого из полученных таким образом потомков также подсчитывается целевая функция.
- Реализация механизма естественного отбора в пределах популяции. Используем стратегию элитизма, которая заключается в том, что особи с наибольшей приспособленностью гарантированно переходят в новую популяцию. Применение элитизма позволяет ускорить сходимость ГА [21: 201–205]. Поэтому среди 4n особей популяции, хромосомы которых хранятся в рабочей матрице, отбираем n по критерию минимальности целевой функции. Они формируют следующее поколение.
- Если не выполняется условие остановки, очищаем рабочую матрицу и повторяем предыдущую процедуру, начиная с шага 2. Итерационный процесс считаем завершенным, когда текущая сумма значений целевой функции для лучших n особей перестает уменьшаться.
Таким образом, в рамках предложенного алгоритма, из поколения в поколение, благоприятные характеристики распространяются по всей популяции. Скрещивание наиболее приспособленных особей приводит к тому, что исследуются наиболее перспективные участки пространства поиска. В общем итоге популяция будет сходиться к оптимальному решению задачи или близкому к оптимальному. Преимущество разработанного генетического алгоритма заключается в том, что он находит приблизительные оптимальные решения за относительно короткое время.
Для того, чтобы проверить эффективность предложенного ГА проведем эксперимент. Для этого были взяты данные интерне-провайдера BIC. В рамках проводимого анализа изучалась статистика доступа за сутки 22.02.2024 для 150 пользователей. В качестве основных показателей, характеризующих абонентов были выбраны следующие:
- скорость передачи данных;
- полный объем входящего трафика за заданный период времени;
- полный объем исходящего трафика за заданный период времени.
В результате работы программы был получен вариант разбиения набора входных векторов на 4 однородные группы (табл. 1).
Таблица 1
Результат разбиения множества абонентов на кластеры [Result of dividing a set of subscribers into clusters]
Номер кластера [Cluster number] | Количество пользователей [Number of users] | Скорость доступа [Access speed] | Соотношение входящего и исходящего трафика [Ratio of incoming and outgoing traffic] |
1 | 18 | 1–15 М | |
2 | 69 | 130 k – 2 M | Входящий > Исходящий [Incoming > Outgoing] |
3 | 36 | 130 k – 1,5 M | Входящий >> Исходящий [Incoming >> Outgoing] |
4 | 27 | 130 k – 1 M | Входящий ≤ Исходящий [Incoming ≤ Outgoing] |
Анализ данных табл. 1 позволяет констатировать следующее:
- кластер 1 – это небольшой сегмент пользователей с самой высокой по выборке скоростью доступа;
- кластер 2 – это самый массовый кластер, в него вошли пользователи со средней скоростью доступа, у которых входящий трафик превышает исходящий;
- кластер 3: в этот кластер попали преимущественно абоненты у которые скорость соединения невысокая, они используют преимущественно только входящее направление передачи данных;
- кластер 4 состоит из абонентов, для которых характерно преобладание объема исходящего трафика над входящим, скорость доступа преимущественно невысокая.
Данное разбиение является приблизительным, однако несмотря на это, в полученных данных можно четко проследить наличие компактных скоплений объектов, и на их основе делать выводы о характере логических закономерностей, которые заложены в исходных данных. Сравним время работы предложенного ГА по сравнению со временем выполнения алгоритма предельного перебора для разного количества объектов в исходном множестве.
Результаты сравнения изображены на рис. 4. По оси абсцисс обозначено количество объектов в исходном множестве, по оси ординат – время работы программы.
Рис. 4. Сравнение алгоритмов по времени выполнения
Fig. 4. Comparison of algorithms by execution time
График, показанный на рис. 4, свидетельствует о том, что в задачах небольшой размерности (до 150 пользователей) ГА по времени выполнения показывает результат, несоизмеримо малый по сравнению с алгоритмом предельного перебора. Время выполнения последнего начинает стремительно расти уже при количестве n = 120 пользователей. При этом в задачах большей размерности ГА ведет себя таким образом, как показано на рис. 5: заметный рост времени выполнения программы наблюдается только тогда, когда количество пользователей превышает 350. Однако даже для значительно большего объема входных данных (390 пользователей и более) время выполнения чрезвычайно мало по сравнению с аналогичным показателем для алгоритма предельного перебора.
Рис. 5. Зависимость времени выполнения ГА от размерности задачи
Fig. 5. Dependence of GA execution time on problem dimension
Поиск оптимальных кластеров – сложная задача. Большинство методов кластеризации требуют предварительного задания количества кластеров, а иерархические методы обычно выдают набор кластеров. В обоих случаях пользователю приходится выбирать количество кластеров. В данной работе предлагается усовершенствование ГА кластеризации, способное находить оптимальное количество кластеров и их разбиений на основе числовых критериев. В качестве примера использовалась задача кластеризации пользователей интернета.
В рамках проведенного исследования для учета специфики задачи и повышения эффективности работы ГА были применены неоднородные хромосомы. Для этого были внесены существенные модификации в ход классических процедур скрещивания и мутации. Разработанный алгоритм был исследован на быстродействие по сравнению с алгоритмом предельного перебора и показано значительное его преимущество по этому показателю. Полученные результаты сравнения позволяют утверждать, что уже для 150 единиц исходного множества решение задачи с помощью метода предельного перебора требует несоизмеримо больших временных затрат. В то время как предложенный ГА дает решение при значительно большей размерности задачи за вполне приемлемое время.
Заключение
Дальнейшие исследования связаны с развитием интеллектуального подхода к решению задачи кластеризации и использованием нечетких множеств с целью преодоления зашумленности входных данных.
About the authors
Alexander A. Kulikov
MIREA – Russian Technological University; Financial University under the Government of the Russian Federation
Author for correspondence.
Email: tibult41@gmail.com
ORCID iD: 0000-0002-8443-3684
Cand. Sci. (Eng.), associate professor, Department of Instrumental and Application Software, associate professor, Department of Digital and Additive Technologies
Russian Federation, Moscow; MoscowReferences
- Ling Li, Xiangbing Zhou. An improved genetic algorithm with Lagrange and density method for clustering. Concurrency and Computation: Practice and Experience. 2020. No. 32.
- Akopov A.S., Beklaryan G.L. Multi-agent genetic algorithm based on fuzzy clustering for solving multicriteria problems. Artificial Societies. 2020. No. 2. Pp. 10–17. (In Rus.)
- Stepanyan I.V. Molecular genetic algorithms for data clustering. Scientific and Technical Information. Series 2: Information Processes and Systems. 2021. No. 1. Pp. 1–8. (In Rus.)
- Heidari E., Movaghar A. A novel approach for clustering and routing in WSN using genetic algorithm and equilibrium optimizer. International Journal of Communication Systems. 2020. No. 35. Pp. 112–119.
- Germanchuk M.S., Lemtyuzhnikova D.V., Lukyanenko V.A. Metaheuristic algorithms for multi-agent routing problems. Management Problems. 2020. No. 6. Pp. 3–13. (In Rus.)
- Petrov T.I., Safin A.R., Nizamiev M.F. Application of a genetic algorithm in the development of software for material selection in the optimization of synchronous motors. Bulletin of the Kazan State Energy University. 2022. No. 2. Pp. 96–105. (In Rus.)
- Gola K.K., Singh B.M. Multi-objective hybrid capuchin search with genetic algorithm based hierarchical resource allocation scheme with clustering model in cloud computing environment. Concurrency and Computation: Practice and Experience. 2023. No. 35. Pp. 67–73.
- Houshmand-Nanehkaran F., Lajevardi S.M. Optimization of fuzzy similarity by genetic algorithm in user-based collaborative filtering recommender systems. Expert Systems. 2022. No. 39. Pp. 39–45.
- Aralbaev R.A., Tarasov A.A. Optimization problems and application of genetic algorithm algorithms in practice. Innovation. Science. Education. 2021. No. 48. Pp. 1645–1653. (In Rus.)
- Eremin E.L., Shelenok E.A. Genetic algorithm in the problem of parametric optimization of hyperstable control systems. Bulletin of the Pacific State University. 2023. No. 1. Pp. 29–38. (In Rus.)
- Üstün O., Bekiroğlu E. Design of highly effective multilayer feedforward neural network by using genetic algorithm. Expert Systems. 2020. No. 37. Pp. 135–142.
- Cao Jianli, Chen Zhikui. Parallel genetic algorithm for N-queens problem based on message passing interface-compute unified device architecture. Computational Intelligence. 2020. No. 36. Pp. 56–59.
- Chanu Y.J., Singh Kh.M. A new hybrid image segmentation approach using clustering and black hole algorithm. Computational Intelligence. 2020. No. 39. Pp. 145–152.
- Minitaeva A.M., Vekshin R.D., Shatilov A.A. Analysis of various types of genetic algorithms in optimization problems. Technologies of Engineering and Information Systems. 2022. No. 1. Pp. 21–34. (In Rus.)
- Bezgachev F.V., Galushin P.V., Rudakova E.N. Efficient implementation of initialization and mutation in a pseudo-Boolean optimization genetic algorithm. E-Scio. 2020. No. 4 (43). Pp. 224–231. (In Rus.)
- Bizyanov E.E., Kozlova I.S. Optimization of vehicle scheduling management processes using a fuzzy genetic algorithm. Economic Bulletin of Donbass State Technical University. 2020. No. 4. Pp. 49–55. (In Rus.)
- Baodan Sun, Yun Zhou. Bayesian network structure learning with improved genetic algorithm. International Journal of Intelligent Systems. 2022. No. 37. Pp. 123–129.
- Chebouba B.N., Mellal M.A. Fuzzy multiobjective system reliability optimization by genetic algorithms and clustering analysis. Quality and Reliability Engineering International. 2020. No. 37. Pp. 178–183.
- Denisov M.A., Sopov E.A. Genetic algorithm of conditional optimization for designing informative features in classification problems. Siberian Aerospace Journal. 2021. No. 22. Pp. 18–31. (In Rus.)
- Belousov A.O., Gordeeva V.O. Comparison of genetic algorithm and evolutionary strategies in optimizing stripline modal filters. Radio Engineering and Electronics. 2023. No. 11. Pp. 1079–1089. (In Rus.)
Supplementary files





