12.07.2015 Views

Multilevel Graph Clustering with Density-Based Quality Measures

Multilevel Graph Clustering with Density-Based Quality Measures

Multilevel Graph Clustering with Density-Based Quality Measures

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3 The Multi-Level Refinement Algorithmthe previous subsections. Specific observations about greedy and Kernighan-Linrefinement are discussed in the next section.The implemented algorithms are marked in the table. Other algorithms are includedto show how they align <strong>with</strong>in this design space. Sorted greedy refinement<strong>with</strong> maxmod vertex ranking (sorted-maxmod) is not implemented because it is asslow as complete greedy but also is restricted in its search. Thus it has no advantagesover other greedy algorithms. The three fitness-based Kernighan-Lin algorithms KLmod,KL-eo, and KL-dens are not considered further because they do not reliablyfind local optima. Their vertex ranking combined <strong>with</strong> accepting quality decreasingmoves prevents this. Finally randomized algorithms are generally excluded for thesame reason. They are interesting just in combination <strong>with</strong> greedy refinement. Butthen too many combinations exist to be discussed in the scope of this work.3.4.2 Greedy RefinementData: graph,clustering,selectorResult: clusteringrepeatv ← selector:find best maxmod vertex;j ← selector:find best target cluster for v;if move v → C j is improving modularity thenmove v to cluster j and update selector;until move was not improving ;Figure 3.10: Refinement Method: Complete GreedyGreedy refinement algorithms are characterized by accepting only vertex movesthat increase modularity. The complete greedy algorithm, as displayed in Figure 3.10,uses the maximal modularity increase maxmod as vertex selector. This enforces theglobally best move in each iteration. Selecting and moving vertices is repeated untilthe modularity is not further improved. In each iteration |V | vertex rankings haveto be evaluated <strong>with</strong> each requiring O(|E|/|V | + max |C|) time in average. Selectingthe best target cluster and updating the cluster weights w(C(v)), w(C j ) costs lineartime in the number of incident edges. Moving the vertex is done in constant timeby updating the mapping C(v) which is stored in an array. Thus k moves requireO(k|E| + k|V | max |C|) time.To improve search speed the sorted greedy algorithm splits vertex and move selectioninto separate steps. Figure 3.11 displays the algorithm in pseudo-code. Theinner loop selects all vertices once sorted by their vertex ranking. Since the rankingchanges <strong>with</strong> each move all vertices are re-visited in each inner iteration. Withconstant-time rankings like mod-fitness this will cost O(|V | 2 ) time for the completeinner loop. Again the most expensive part is selecting the target cluster for thecurrent vertex. The inner loop does this exactly once for each vertex which costsO(|E| + |V | max |C|). Moving a vertex and updating cluster weights and vertex48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!