User:Cycrax/sandbox
The multi-level technique is a heuristic to efficiently generate a high quality solution for the graph partitioning problem. The procedure is summarized in 3 phases.
- Coarsening: The graph is reduced in size using edge contractions.
- Initial Partitioning: An interim partition on the smaller graph is generated using computationally expensive algorithms.
- Refinement: The original graph is restored and the partition is improved by reassigning nodes to different blocks.

Problem
[edit]- Graph partitioning
- A graph with nodes and edges
- Partition
- A partition seperates the graph into blocks so that every node is assigned to exactly one block .
- Balance
- A partition is balanced if the blocks are about equal in size.
- Cut
- The cut is the weight of edges which connect nodes in different blocks.
Finding a balanced partition is NP-hard.
Coarsening
[edit]During the coarsening phase the original graph is iteratively reduced to smaller graphs . Coarsening reduces pairs of nodes in to a single node in . The size of is increased to maintain the balance ratio and structure of the original graph. Heavier edges are intuitive contraction candidates as they are most likely in the same partition block in a good cut. Special care must be taken to not violate the balance constraint by contracting too many nodes into one representative node. The following techniques are commonly used to determine good contraction candidates:

Matching
[edit]On each a matching algorithm can determine multiple reasonable contraction targets. By contracting all matched nodes the graph is reduced in size. No need for maximum matching, maximal matching or "reasonable" matching sufficient. Heavy weight matching. Parallel: Splitting modes into groups can cause communication issues, do collision reduction. Restricted matching (ParMetis); probabilistic matching (Folding can help; reduce the number of processes if your graph gets too small)
Label Propagation
[edit]Clustering . Parallel Clustering work, and span. The nodes of the cluster are contracted to one supernode. Parallelization gives each processor a subgraph of contigous nodes a..b. Nodes change their blocks (Ghostnodes).
Flow Networks
[edit]Initial Partitioning
[edit]Initial Partitioning will generate a partition on the coarsest graph G_p. Due to the size reduction by the coarsening phase, the graph is sufficiently small to utilize a runtime expensive algorithm to generate a good quality partition. This can be parallelized by running multiple intances with different randomizers.
Recursive Bisection
[edit]Flow network
[edit]Setting a source and sink allows a flow to be put on the graph. Max-Flow-min-cut theroremMax-flow_min-cut_theorem. Max-flow estimated runtime
Refinement
[edit]In order to produce a solution for the original problem G_0 the graph is coarsening steps are reversed. Uncoarsening alone does induce a valid solution for G_0. However, by applying a heuristic during each iteration of the uncoarsening, the solution can be improved. Important to note, the balance must be maintained. Usual algorithms include FM, hillclimber(TODO: parallel. there are good methods to parallelize this).
Multitry k-way Local Search
[edit]Parallelizeable
Simulated Annealing
[edit]Kerningham Lin
[edit]Fiduccia-Matttheyses
[edit]Wallshaw-Cross
[edit]Parallel Refinement (refuses to be good under parallelizing the sequential algorithm citation needed) Refinement Diffusion(Book)
parmetis.pdf[1] 2high_quality_shared_graph_partitioning.pdf [2] 3graph partitioning book [3]
4Parallel Multilevel k-way Partitioning Scheme for Irregular Graphs [4] 5Parallel graph parttiioning for complex networks [5] 6 Graph partitioning is NP-hard [6] 7 8 9 10[7] The multi-level technique has shown to significantly improve the results, in terms of both quality and running time. Especially when used on heuristics considering the graph only locally, as the multi-level technique constitutes a more global view on the graph. [8]
References
[edit]- ^ LaSalle, Dominique and Karypis, George (2013). Multi-threaded graph partitioning.
{{cite book}}
: Unknown parameter|booktitle=
ignored (help)CS1 maint: multiple names: authors list (link) - ^ Akhremtsev, Yaroslav and Sanders, Peter and Schulz, Christian (2018). "High-quality shared-memory graph partitioning".
{{cite journal}}
: Cite journal requires|journal=
(help); Unknown parameter|booktitle=
ignored (help)CS1 maint: multiple names: authors list (link) - ^ Bichot, Charles-Edmond and Siarry, Patrick (2011). Graph partitioning. Wiley Online Library.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ^ Karypis, George and Kumar, Vipin (1999). "Parallel multilevel series k-way partitioning scheme for irregular graphs". Siam Review. SIAM.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Meyerhenke, Henning and Sanders, Peter and Schulz, Christian (2017). "Parallel graph partitioning for complex networks". IEEE Transactions on Parallel and Distributed Systems. 28 (9). IEEE: 2625--2638.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Garey, Michael R and Johnson, David S and Stockmeyer, Larry (1974). Some simplified NP-complete problems. pp. 47--63.
{{cite book}}
: Unknown parameter|booktitle=
ignored (help)CS1 maint: multiple names: authors list (link) - ^ title={Distributed evolutionary graph partitioning}, author={Sanders, Peter and Schulz, Christian}, booktitle={2012 Proceedings of the Fourteenth Workshop on Algorithm Engineering and Experiments (ALENEX)}, pages={16--29}, year={2012}, organization={SIAM}
- ^ G Karypis, V Kumar (1999). "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs". SIAM Journal on Scientific Computing.