Участник:Ruslanlazovskiy/CHAMELEON: различия между версиями
(Новая страница: «==Свойства и структура алгоритма== ===Общее описание алгоритма=== CHAMELEON – алгоритм иерархич…») |
|||
Строка 22: | Строка 22: | ||
===Свойства алгоритма=== | ===Свойства алгоритма=== | ||
==Программная реализация алгоритма== | ==Программная реализация алгоритма== | ||
− | ===Масштабируемость=== | + | ===Масштабируемость алгоритма и его реализации=== |
+ | |||
===Существующие реализации алгоритма=== | ===Существующие реализации алгоритма=== |
Версия 18:33, 14 октября 2016
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
CHAMELEON – алгоритм иерархической кластеризации графа, то есть процесса разбиения графа на несколько подграфов-кластеров таким образом, что данные внутри одного кластера имеют максимально схожи, а данные в разных кластерах — максимально различны. Особенность алгоритма состоит в учетё им как разницы в характеристиках вершин графа, так и их связей между собой ( ребер графа ), что позволяет произвести точную кластеризацию для графов, не соответствующих некоторой заранее заданной модели.
1.2 Математическое описание алгоритма
1.3 Вычислительное ядро алгоритма
В алгоритме 2 основных вычислительных ядра, по одному на каждый этап алгоритма.
На первом этапе алгоритма основная вычислительная нагрузка приходится на итерационный процесс разбиения графа на малые подграфы.
На втором этапе алгоритма вычислительное ядро полностью совпадает с самим этапом, то есть итерационным процессов агломеративной иерархической кластеризации.
1.4 Макроструктура алгоритма
Как уже понятно из предыдущих разделов описания, алгоритм CHAMELEON выполняется в 2 этапа, строго последовательных относительно друг друга. Каждый этап соответствует отдельному алгоритму, который может бысть расссмотрен как макрооперация.
Первый этап работы CHAMELEON – разделение графа для получения набора малых кластеров ( в зависимости от параметров программы — от 1 до 5 % от вершин исходного графа ).
Второй этап работы CHAMELEON – алгомеративная иерархическая кластеризация. Она представляет собой последовательный итеративный процесс. На каждой итерации происходит перебор всех неповторяющихся пар кластеров, имеющихся к началу итерации. Для каждой из этих пар принимается решение об объединении или необъединении её в 1 кластер. Итерационный процесс останавливается, когда на очередной итерации остаётся только 1 кластер либо когда ни одна из имеющихся пар кластеров не удовлетворяет условиям на объединение.