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 Algorithmbest vertexbest unmovedSearch Mode The search mode controls how vertices are selected based on thevertex ranking. It plays a similar rule like the grouping and matching algorithmsin graph coarsening. The most accurate search method is to consider always allpossible operations: In each step all possible moves of all vertices are evaluated andthe global best modularity increase is selected. This is a costly operation becauseevaluating all moves requires to visit all edges in each move step. For k vertex movesthe k|V | maxmod evaluations lead to O(k|E|+k|V | max |C|) average run-time wheremax |C| is the highest number of clusters the occurred during the moves.Fortunately this method can be divided into two stages by first selecting the bestvertex according to a vertex ranking and then evaluating further operations only forthat vertex (mode: best vertex). In combination <strong>with</strong> the maxmod vertex rankingthis is equal to the previous method. Instead the vertex ranking should be replacedby a constant-time predictor. Then performing k vertex moves requires at most k|V |evaluations of the vertex ranking and one maxmod target ranking per moved vertex.Thus the average run-time will be in O(k|V | + k|E|/|V | + k max |C|).Most predictors are likely to also select vertices which cannot be moved formodularity increase. In greedy refinement these vertices must be skipped. In orderto not select these vertices again all processed vertices are marked and ignored later(mode: best unmoved). This search mode thus selects one of the remaining verticesuntil no vertex is left. The whole process is restarted in case some early selectedvertices became movable after later moves.Ranking Updates An algorithm could simply iterate over a fixed ordering of thevertices or update the ranking after each move. The updated ranking is implementedby simply visiting all vertices in each move step. Alternatively a heap can be used toefficiently retrieve the best ranked vertex. However empirical comparisons suggestedthat all variants are similarly fast. Therefore visiting all vertices is the preferredmethod.On Modularity Decrease In case the selected operation does not improve themodularity following three choices are possible:skip, abort,acceptskip Mark the vertex as moved but leave it in the current cluster.abort Abort the refinement.accept Perform the operation anyway.Greedy heuristics are characterized by not accepting non-improving operations.Whether to directly abort the refinement depends on the search method. In caseother vertices still allow modularity increasing moves the currently selected vertexshould be skipped. Otherwise the refinement can be aborted.Classification of Basic Refinement Algorithms Table 3.2 provides an overviewand classification of refinement methods building on the components described in46

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

Saved successfully!

Ooh no, something went wrong!