<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=ECF_grading_system</id>
	<title>ECF grading system - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=ECF_grading_system"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=ECF_grading_system&amp;action=history"/>
	<updated>2026-07-23T14:00:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=ECF_grading_system&amp;diff=17427&amp;oldid=prev</id>
		<title>en&gt;Smjg: /* Conversion between ECF grade and FIDE rating */ rewrite</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=ECF_grading_system&amp;diff=17427&amp;oldid=prev"/>
		<updated>2013-04-06T00:22:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Conversion between ECF grade and FIDE rating: &lt;/span&gt; rewrite&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In mathematics, the &amp;#039;&amp;#039;&amp;#039;graph partition&amp;#039;&amp;#039;&amp;#039; problem is defined on data represented in the form of a [[graph (mathematics)|graph]] &amp;#039;&amp;#039;G&amp;#039;&amp;#039; = (&amp;#039;&amp;#039;V&amp;#039;&amp;#039;,&amp;#039;&amp;#039;E&amp;#039;&amp;#039;), with &amp;#039;&amp;#039;V&amp;#039;&amp;#039; vertices and &amp;#039;&amp;#039;E&amp;#039;&amp;#039; edges, such that it is possible to [[partition of a set|partition]] &amp;#039;&amp;#039;G&amp;#039;&amp;#039; into smaller components with specific properties. For instance, a &amp;#039;&amp;#039;k&amp;#039;&amp;#039;-way partition divides the vertex set into &amp;#039;&amp;#039;k&amp;#039;&amp;#039; smaller components. A good partition is defined as one in which the number of edges running between separated components is small. Uniform graph partition is a type of graph partitioning problem that consists of dividing a graph into components, such that the components are of about the same size and there are few connections between the components. Important applications of graph partitioning include scientific computing, partitioning various stages of a VLSI design circuit and task scheduling in multi-processor systems.&amp;lt;ref name=&amp;quot;balgraph&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Andreev, Konstantin and Räcke, Harald,&lt;br /&gt;
 | title = Balanced Graph Partitioning&lt;br /&gt;
 | journal = Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures&lt;br /&gt;
 | year = 2004&lt;br /&gt;
 | location = Barcelona, Spain&lt;br /&gt;
 | pages = 120–124&lt;br /&gt;
 | doi = 10.1145/1007912.1007931&lt;br /&gt;
 | isbn = 1-58113-840-7&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; Recently, the uniform graph partition problem has gained importance due to its application for clustering and detection of cliques in social, pathological and biological networks.&amp;lt;ref name=&amp;quot;cutpartition&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Sachin B. Patkar and H. Narayanan&lt;br /&gt;
 | title = An Efficient Practical Heuristic For Good Ratio-Cut Partitioning&lt;br /&gt;
 | journal =VLSI Design, International Conference on&lt;br /&gt;
 | volume = &lt;br /&gt;
 | year = 2003&lt;br /&gt;
 | pages = 64&lt;br /&gt;
 | doi = 10.1109/ICVD.2003.1183116&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problem complexity ==&lt;br /&gt;
&lt;br /&gt;
Typically, graph partition problems fall under the category of NP-hard problems. Solutions to these problems are generally derived using heuristics and approximation algorithms.&amp;lt;ref name=cutpartition /&amp;gt;&amp;lt;ref name=baltrees&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Feldmann, Andreas Emil and Foschini, Luca&lt;br /&gt;
 | title = Balanced Partitions of Trees and Applications&lt;br /&gt;
 | journal = Proceedings of the 29th International Symposium on Theoretical Aspects of Computer Science&lt;br /&gt;
 | year = 2012&lt;br /&gt;
 | location = Paris, France&lt;br /&gt;
 | pages = 100–111&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; However, uniform graph partitioning or a balanced graph partition problem can be shown to be NP-complete to approximate within any finite factor.&amp;lt;ref name=balgraph /&amp;gt; Even for special graph classes such as trees and grids, no reasonable approximation algorithms exist,&amp;lt;ref name=&amp;quot;fastpartition&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Feldmann, Andreas Emil&lt;br /&gt;
 | title = Fast Balanced Partitioning is Hard, Even on Grids and Trees&lt;br /&gt;
 | journal = Proceedings of the 37th International Symposium on Mathematical Foundations of Computer Science&lt;br /&gt;
 | year = 2012&lt;br /&gt;
 | location = Bratislava, Slovakia&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; unless P=NP. Grids are a particularly interesting case since they model the graphs resulting from [[Finite element method|Finite Element Model (FEM)]] simulations. When not only the number of edges between the components is approximated, but also the sizes of the components, it can be shown that no reasonable fully polynomial algorithms exist for these graphs.&amp;lt;ref name=&amp;quot;fastpartition&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
Consider a graph &amp;#039;&amp;#039;G&amp;#039;&amp;#039; = (&amp;#039;&amp;#039;V&amp;#039;&amp;#039;, &amp;#039;&amp;#039;E&amp;#039;&amp;#039;), where &amp;#039;&amp;#039;V&amp;#039;&amp;#039; denotes the set of &amp;#039;&amp;#039;n&amp;#039;&amp;#039; vertices and &amp;#039;&amp;#039;E&amp;#039;&amp;#039; the set of edges. For a (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,&amp;#039;&amp;#039;v&amp;#039;&amp;#039;) balanced partition problem, the objective is to partition &amp;#039;&amp;#039;G&amp;#039;&amp;#039; into &amp;#039;&amp;#039;k&amp;#039;&amp;#039; components of at most size &amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;amp;middot;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;/&amp;#039;&amp;#039;k&amp;#039;&amp;#039;), while minimizing the capacity of the edges between separate components.&amp;lt;ref name=balgraph /&amp;gt; Also, given &amp;#039;&amp;#039;G&amp;#039;&amp;#039; and an integer &amp;#039;&amp;#039;k&amp;#039;&amp;#039; &amp;gt; 1, partition &amp;#039;&amp;#039;V&amp;#039;&amp;#039; into &amp;#039;&amp;#039;k&amp;#039;&amp;#039; parts (subsets) &amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, &amp;#039;&amp;#039;V&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, ..., &amp;#039;&amp;#039;V&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039; such that the parts are disjoint and have equal size, and the number of edges with endpoints in different parts is minimized. Such partition problems have been discussed in literature as bicriteria-approximation or resource augmentation approaches. A common extension is to [[hypergraph]]s, where an edge can connect more than two vertices. A hyperedge is not cut if all vertices are in one partition, and cut exactly once otherwise, no matter how many vertices are on each side. This usage is common in [[electronic design automation]].&lt;br /&gt;
&lt;br /&gt;
===Analysis===&lt;br /&gt;
For a specific (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;, 1&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;ε&amp;#039;&amp;#039;) balanced partition problem, we seek to find a minimum cost partition of &amp;#039;&amp;#039;G&amp;#039;&amp;#039; into &amp;#039;&amp;#039;k&amp;#039;&amp;#039; components with each component containing maximum of (1&amp;amp;nbsp;+&amp;amp;nbsp;&amp;#039;&amp;#039;ε&amp;#039;&amp;#039;)&amp;amp;middot;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;/&amp;#039;&amp;#039;k&amp;#039;&amp;#039;) nodes. We compare the cost of this approximation algorithm to the cost of a (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,1) cut, wherein each of the &amp;#039;&amp;#039;k&amp;#039;&amp;#039; components must have exactly the same size of (&amp;#039;&amp;#039;n&amp;#039;&amp;#039;/&amp;#039;&amp;#039;k&amp;#039;&amp;#039;) nodes each, thus being a more restricted problem. Thus,&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;\max_i |V_i| \le (1+\varepsilon) \left\lceil\frac{|V|}{k}\right\rceil.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We already know that (2,1) cut is the minimum bisection problem and it is NP complete.&amp;lt;ref name=&amp;quot;minbisect&amp;quot;&amp;gt;&lt;br /&gt;
{{cite book&lt;br /&gt;
 | author = Garey, Michael R. and Johnson, David S.&lt;br /&gt;
 | title = Computers and intractability: A guide to the theory of NP-completeness&lt;br /&gt;
 | year = 1979&lt;br /&gt;
 | isbn = 0-7167-1044-7&lt;br /&gt;
 | publisher = W. H. Freeman &amp;amp; Co.&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; Next we assess a 3-partition problem wherein &amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;3&amp;#039;&amp;#039;k&amp;#039;&amp;#039;, which is also bounded in polynomial time.&amp;lt;ref name=balgraph /&amp;gt; Now, if we assume that we have an finite approximation algorithm for (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,&amp;amp;nbsp;1)-balanced partition, then, either the 3-partition instance can be solved using the balanced (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,1) partition in &amp;#039;&amp;#039;G&amp;#039;&amp;#039; or it cannot be solved. If the 3-partition instance can be solved, then (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,&amp;amp;nbsp;1)-balanced partitioning problem in &amp;#039;&amp;#039;G&amp;#039;&amp;#039; can be solved without cutting any edge. Otherwise if the 3-partition instance cannot be solved, the optimum (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;, 1)-balanced partitioning in &amp;#039;&amp;#039;G&amp;#039;&amp;#039; will cut at least one edge. An approximation algorithm with finite approximation factor has to differentiate between these two cases. Hence, it can solve the 3-partition problem which is a contradiction under the assumption that &amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;NP&amp;#039;&amp;#039;. Thus, it is evident that (&amp;#039;&amp;#039;k&amp;#039;&amp;#039;,1)-balanced partitioning problem has no polynomial time approximation algorithm with finite approximation factor unless &amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;NP&amp;#039;&amp;#039;.&amp;lt;ref name=balgraph /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[planar separator theorem]] states that any &amp;#039;&amp;#039;n&amp;#039;&amp;#039;-vertex [[planar graph]] can be partitioned into roughly equal parts by the removal of O(√&amp;#039;&amp;#039;n&amp;#039;&amp;#039;) vertices. This is not a partition in the sense described above, because the partition set consists of vertices rather than edges. However, the same result also implies that every planar graph of bounded degree has a balanced cut with O(√&amp;#039;&amp;#039;n&amp;#039;&amp;#039;) edges.&lt;br /&gt;
&lt;br /&gt;
==Graph partition methods==&lt;br /&gt;
Since graph partitioning is a hard problem, practical solutions are based on heuristics.  There are two broad categories of methods, local and global. Well known local methods are the [[Kernighan&amp;amp;ndash;Lin algorithm]], and [[Fiduccia-Mattheyses algorithm]]s, which were the first effective 2-way cuts by local search strategies. Their major drawback is the arbitrary initial partitioning of the vertex set, which can affect the final solution quality.  Global approaches rely on properties of the entire graph and do not rely on an arbitrary initial partition.  The most common example is spectral partitioning, where a partition is derived from the spectrum of the adjacency matrix.&lt;br /&gt;
&lt;br /&gt;
==Multi-level methods==&lt;br /&gt;
A multi-level graph partitioning algorithm works by applying one or more stages.   Each stage reduces the size of&lt;br /&gt;
the graph by collapsing vertices and edges, partitions the smaller graph, then maps back and refines this partition of the original graph.&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite conference&lt;br /&gt;
 |title=A multilevel algorithm for partitioning graphs&lt;br /&gt;
  |author=Hendrickson, B. and Leland, R.&lt;br /&gt;
  |conference =Proceedings of the 1995 ACM/IEEE conference on Supercomputing&lt;br /&gt;
  |pages=28&lt;br /&gt;
  |year=1995&lt;br /&gt;
  |publisher=ACM&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;  A wide variety of partitioning and refinement methods can be applied within the overall multi-level scheme.  In many cases, this approach can give both fast execution times and very high quality results.  &lt;br /&gt;
One widely used example of such an approach is [[METIS]],&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{cite journal &lt;br /&gt;
 |title=A fast and high quality multilevel scheme for partitioning irregular graphs&lt;br /&gt;
 |author=Karypis, G. and Kumar, V.&lt;br /&gt;
 |journal=SIAM Journal on Scientific Computing&lt;br /&gt;
 |volume=20&lt;br /&gt;
 |issue=1&lt;br /&gt;
 |pages=359&lt;br /&gt;
 |year=1999 &lt;br /&gt;
 |doi=10.1137/S1064827595287997&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; a graph partitioner, and hMETIS, the corresponding partitioner for hypergraphs.&amp;lt;ref name=&amp;quot;hmetis&amp;quot;&amp;gt;&lt;br /&gt;
{{cite conference&lt;br /&gt;
 |title=Multilevel hypergraph partitioning: application in VLSI domain&lt;br /&gt;
 |author=Karypis, G. and Aggarwal, R. and Kumar, V. and Shekhar, S.&lt;br /&gt;
 |booktitle=Proceedings of the 34th annual Design Automation Conference&lt;br /&gt;
 |pages=526–529&lt;br /&gt;
 |year=1997&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Spectral partitioning and spectral bisection==&lt;br /&gt;
Given a graph with [[adjacency matrix]] &amp;#039;&amp;#039;A&amp;#039;&amp;#039;, where an entry &amp;#039;&amp;#039;A&amp;lt;sub&amp;gt;ij&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039; implies an edge between node &amp;#039;&amp;#039;i&amp;#039;&amp;#039; and &amp;#039;&amp;#039;j&amp;#039;&amp;#039;,  and [[degree matrix]] &amp;#039;&amp;#039;D&amp;#039;&amp;#039;, which is a diagonal matrix, where each diagonal entry of a row &amp;#039;&amp;#039;i&amp;#039;&amp;#039;, &amp;#039;&amp;#039;d&amp;lt;sub&amp;gt;ii&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;, represents the node degree of node &amp;#039;&amp;#039;i&amp;#039;&amp;#039;. The [[Laplacian matrix|Laplacian of the matrix]] &amp;#039;&amp;#039;L&amp;#039;&amp;#039; is defined as &amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;amp;nbsp;&amp;amp;minus;&amp;amp;nbsp;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;. Now, a ratio-cut partition for graph &amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;(&amp;#039;&amp;#039;V&amp;#039;&amp;#039;,&amp;amp;nbsp;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;) is defined as a partition of &amp;#039;&amp;#039;V&amp;#039;&amp;#039; into disjoint &amp;#039;&amp;#039;U&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;W&amp;#039;&amp;#039;, such that cost of cut(&amp;#039;&amp;#039;U&amp;#039;&amp;#039;,&amp;#039;&amp;#039;W&amp;#039;&amp;#039;)/(|&amp;#039;&amp;#039;U&amp;#039;&amp;#039;|&amp;amp;middot;|&amp;#039;&amp;#039;W&amp;#039;&amp;#039;|) is minimized.&lt;br /&gt;
&lt;br /&gt;
In such a scenario, the second smallest [[Eigenvalues and eigenvectors|eigenvalue]]  (&amp;#039;&amp;#039;λ&amp;#039;&amp;#039;) of &amp;#039;&amp;#039;L&amp;#039;&amp;#039;, yields a lower bound on the optimal cost (&amp;#039;&amp;#039;c&amp;#039;&amp;#039;) of ratio-cut partition with &amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;amp;nbsp;≥&amp;amp;nbsp;&amp;#039;&amp;#039;λ&amp;#039;&amp;#039;/&amp;#039;&amp;#039;n&amp;#039;&amp;#039;. The eigenvector (&amp;#039;&amp;#039;V&amp;#039;&amp;#039;) corresponding to &amp;#039;&amp;#039;λ&amp;#039;&amp;#039;, called the Fiedler vector, bisects the graph into only two communities based on the sign of the corresponding vector entry. Division into a larger number of communities is usually achieved by repeated bisection, but this does not always give satisfactory results. The examples in Figures 1,2 illustrate the spectral bisection approach.&lt;br /&gt;
&lt;br /&gt;
[[File:Bisected network.jpg|thumb|Figure 1: The graph &amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;(5,4) is analysed for spectral bisection. The linear combination of the smallest two eigenvectors leads to [1 1 1 1 1]&amp;#039; having an eigen value&amp;amp;nbsp;=&amp;amp;nbsp;0.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Connected graph..jpg|thumb|Figure 2: The graph &amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;(5,5) illustrates that the Fiedler vector in red bisects the graph into two communities, one with vertices {1,2,3} with positive entries in the vector space, and the other community has vertices {4,5} with negative vector space entries.]]&lt;br /&gt;
&lt;br /&gt;
Minimum cut partitioning however fails when the number of communities to be partitioned, or the partition sizes are unknown. For instance, optimizing the cut size for free group sizes puts all vertices in the same community. Additionally, cut size may be the wrong thing to minimize since a good division is not just one with small number of edges between communities.  This motivated the use of [[Modularity (networks)|Modularity]] (Q) &amp;lt;ref name=&amp;quot;npnas&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Newman, M. E. J.&lt;br /&gt;
 | year = 2006&lt;br /&gt;
 | title = Modularity and community structure in networks&lt;br /&gt;
 | journal = PNAS&lt;br /&gt;
 | volume = 103&lt;br /&gt;
 | issue = 23&lt;br /&gt;
 | pages = 8577–8696&lt;br /&gt;
 | doi = 10.1073/pnas.0601602103&lt;br /&gt;
 | pmid=16723398&lt;br /&gt;
 | pmc=1482622&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; as a metric to optimize a balanced graph partition. The example in Figure 3 illustrates 2 instances of the same graph such that in &amp;#039;&amp;#039;(a)&amp;#039;&amp;#039; modularity (Q) is the partitioning metric and in &amp;#039;&amp;#039;(b)&amp;#039;&amp;#039;, ratio-cut is the partitioning metric. However, it has recently demonstrated that Q suffers a resolution limit, what produces unreliable results when dealing with small communities. In this context, [[Surprise (networks)|Surprise]]&amp;lt;ref name = &amp;quot;Surprise&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Rodrigo Aldecoa and Ignacio Marín&lt;br /&gt;
 | year = 2011&lt;br /&gt;
 | title = Deciphering network community structure by Surprise&lt;br /&gt;
 | journal = PLoS ONE&lt;br /&gt;
 | volume = 6&lt;br /&gt;
 | issue = 9&lt;br /&gt;
 | pages = e24195&lt;br /&gt;
 | doi = 10.1371/journal.pone.0024195 &lt;br /&gt;
 | pmid = 21909420&lt;br /&gt;
 | url = http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0024195&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt; has been proposed as a novel promising approach for evaluating the quality of a partition.&lt;br /&gt;
&lt;br /&gt;
[[File:Graph comparison.jpg|thumb|Figure 3: Weighted graph &amp;#039;&amp;#039;G&amp;#039;&amp;#039; may be partitioned to maximize &amp;#039;&amp;#039;Q&amp;#039;&amp;#039; in (a) or to minimize the ratio-cut in (b). We see that (a) is a better balanced partition, thus motivating the importance of modularity in graph partitioning problems.]]&lt;br /&gt;
&lt;br /&gt;
==Other graph partition methods==&lt;br /&gt;
Spin models have been used for clustering of multivariate data wherein similarities are translated into coupling strengths.&amp;lt;ref name=&amp;quot;potts&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | title = Statistical mechanics of community detection&lt;br /&gt;
 | month = Jul&lt;br /&gt;
 | doi = 10.1103/PhysRevE.74.016110&lt;br /&gt;
 | author = Reichardt, Jörg and Bornholdt, Stefan&lt;br /&gt;
 | year = 2006&lt;br /&gt;
 | issue = 1&lt;br /&gt;
 | journal = Phys. Rev. E&lt;br /&gt;
 | pages = 016110&lt;br /&gt;
 | volume = 74&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; The properties of ground state spin configuration can be directly interpreted as communities. Thus, a graph is partitioned to minimize the Hamiltonian of the partitioned graph. The [[Hamiltonian mechanics#Mathematical formalism|Hamiltonian]] (H) is derived by assigning the following partition rewards and penalties.&lt;br /&gt;
* Reward internal edges between nodes of same group (same spin)&lt;br /&gt;
* Penalize missing edges in same group&lt;br /&gt;
* Penalize existing edges between different groups&lt;br /&gt;
* Reward non-links between different groups.&lt;br /&gt;
&lt;br /&gt;
Additionally, Kernel PCA based Spectral clustering takes a form of least squares Support Vector Machine framework, and hence it becomes possible to project the data entries to a kernel induced feature space that has maximal variance, thus implying a high separation between the projected communities &amp;lt;ref name=&amp;quot;pami&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Carlos Alzate and Johan A.K. Suykens&lt;br /&gt;
 | title = Multiway Spectral Clustering with Out-of-Sample Extensions through Weighted Kernel PCA&lt;br /&gt;
 | journal = IEEE Transactions on Pattern Analysis and Machine Intelligence&lt;br /&gt;
 | volume = 32&lt;br /&gt;
 | issn = 0162-8828&lt;br /&gt;
 | year = 2010&lt;br /&gt;
 | pages = 335–347&lt;br /&gt;
 | doi=10.1109/TPAMI.2008.292&lt;br /&gt;
 | publisher = IEEE Computer Society&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | pmid = 20075462&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some methods express graph partitioning as a multi-criteria optimization problem which can be solved using local methods expressed in a game theoretic framework where each node makes a decision on the partition it chooses.&amp;lt;ref&amp;gt;Kurve, Griffin, Kesidis (2011) &amp;quot;A graph partitioning game for distributed simulation of networks&amp;quot; Proceedings of the 2011 International Workshop on Modeling, Analysis, and Control of Complex Networks: 9 -16&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software tools ==&lt;br /&gt;
&lt;br /&gt;
One of the first{{cn|date=December 2013}} publicly available software packages called Chaco&amp;lt;ref name=&amp;quot;chaco&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = Bruce Hendrickson&lt;br /&gt;
 | title = Chaco: Software for Partitioning Graphs&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; is due to Hendrickson and Leland.&lt;br /&gt;
As most of the publicly available software packages,{{cn|date=December 2013}} Chaco implements the multilevel approach outlined above and basic local search algorithms. &lt;br /&gt;
Moreover, they implement spectral partitioning techniques.&lt;br /&gt;
&lt;br /&gt;
Metis&amp;lt;ref name=&amp;quot;:0&amp;quot;/&amp;gt; is a graph partitioning family by Karypis and Kumar. &lt;br /&gt;
kMetis is focused{{weasel word|date=December 2013}}  on partitioning speed and hMetis,&amp;lt;ref name=&amp;quot;hmetis&amp;quot;/&amp;gt; which is a hypergraph partitioner, aims at partition quality.{{weasel word|date=December 2013}}&lt;br /&gt;
ParMetis&amp;lt;ref name=&amp;quot;:0&amp;quot;/&amp;gt; is a parallel implementation of the Metis graph partitioning algorithm.&lt;br /&gt;
&lt;br /&gt;
PaToH&amp;lt;ref name=&amp;quot;patoh&amp;quot;&amp;gt;{{cite conference&lt;br /&gt;
 | author = Ü. Catalyürek and C. Aykanat&lt;br /&gt;
 | title = PaToH: Partitioning Tool for Hypergraphs&lt;br /&gt;
 | year=2011&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt;  is also a widely{{cn|date=December 2013}} used hypergraph partitioner that produces high quality{{cn|date=December 2013}} partitions. &lt;br /&gt;
&lt;br /&gt;
Scotch&amp;lt;ref name=&amp;quot;scotch&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = C. Chevalier and F. Pellegrini&lt;br /&gt;
 | title = PT-Scotch: A Tool for Efficient Parallel Graph Ordering&lt;br /&gt;
 | journal = Parallel Computing&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | issue = 6&lt;br /&gt;
 | pages = 318–331&lt;br /&gt;
 | year=2008&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; is graph partitioning framework by Pellegrini. It uses recursive multilevel bisection and includes sequential as well as parallel partitioning techniques.&lt;br /&gt;
&lt;br /&gt;
Jostle&amp;lt;ref name=&amp;quot;jostle&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = C. Walshaw and M. Cross&lt;br /&gt;
 | title = Mesh Partitioning: A Multilevel Balancing and Refinement Algorithm&lt;br /&gt;
 | journal = Journal on Scientific Computing&lt;br /&gt;
 | volume = 22&lt;br /&gt;
 | issue = 1&lt;br /&gt;
 | pages = 63–80&lt;br /&gt;
 | year=2000&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; is a sequential and parallel graph partitioning solver developed by Chris Walshaw. &lt;br /&gt;
The commercialized version of this partitioner is known as NetWorks. &lt;br /&gt;
&lt;br /&gt;
If a model of the communication network is available, then Jostle and Scotch are able to take this model into account for the partitioning process.{{cn|date=December 2013}}&lt;br /&gt;
&lt;br /&gt;
Party&amp;lt;ref name=&amp;quot;party&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = R. Diekmann, R. Preis, F. Schlimbach and C. Walshaw&lt;br /&gt;
 | title = Shape-optimized Mesh Partitioning and Load Balancing for Parallel Adaptive FEM&lt;br /&gt;
 | journal = Parallel Computing&lt;br /&gt;
 | volume = 26&lt;br /&gt;
 | issue = 12&lt;br /&gt;
 | pages = 1555–1581&lt;br /&gt;
 | year=2000&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; implements the Bubble/shape-optimized framework and the Helpful Sets algorithm.&lt;br /&gt;
&lt;br /&gt;
The software packages DibaP&amp;lt;ref name=&amp;quot;dibap&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = H. Meyerhenke and B. Monien and T. Sauerwald&lt;br /&gt;
 | title = A New Diffusion-Based Multilevel Algorithm for Computing Graph Partitions&lt;br /&gt;
 | journal = Journal of Parallel Computing and Distributed Computing&lt;br /&gt;
 | volume = 69&lt;br /&gt;
 | issue = 9&lt;br /&gt;
 | pages = 750–761&lt;br /&gt;
 | year=2008&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; and its MPI-parallel variant PDibaP&amp;lt;ref name=&amp;quot;pdibap&amp;quot;&amp;gt;{{cite conference&lt;br /&gt;
 | author = H. Meyerhenke&lt;br /&gt;
 | title = Shape Optimizing Load Balancing for MPI-Parallel Adaptive Numerical Simulations.&lt;br /&gt;
 | booktitle = 10th DIMACS Implementation Challenge on Graph Partitioning and Graph Clustering&lt;br /&gt;
 | pages = 67–82&lt;br /&gt;
 | year=2013&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; by Meyerhenke implement the Bubble framework using diffusion; DibaP also uses AMG-based techniques for coarsening and solving linear systems arising in the diffusive approach.&lt;br /&gt;
&lt;br /&gt;
Sanders and Schulz released a graph partitioning package KaHIP&amp;lt;ref name=&amp;quot;kahip&amp;quot;&amp;gt;{{cite conference&lt;br /&gt;
 | author = P. Sanders and C. Schulz&lt;br /&gt;
 | title = Engineering Multilevel Graph Partitioning Algorithms&lt;br /&gt;
 | booktitle = Proceeings of the 19th European Symposium on Algorithms (ESA)&lt;br /&gt;
 | volume = 6942&lt;br /&gt;
 | pages = 469–480&lt;br /&gt;
 | year=2011&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; (Karlsruhe High Quality Partitioning) focusing on solution quality.{{peacock-term|date=December 2013}} It implements for example flow-based methods, more-localized local searches and several parallel and sequential meta-heuristics.&lt;br /&gt;
&lt;br /&gt;
To address the load balancing problem in parallel applications, distributed versions of the sequential partitioners Metis, Jostle and Scotch have been developed. {{cn|date=December 2013}}&lt;br /&gt;
&lt;br /&gt;
The tools Parkway&amp;lt;ref name=&amp;quot;parkway&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = A. Trifunovic and W. J. Knottenbelt&lt;br /&gt;
 | title = Parallel Multilevel Algorithms for Hypergraph Partitioning&lt;br /&gt;
 | journal = Journal of Parallel and Distributed Computing&lt;br /&gt;
 | volume = 68&lt;br /&gt;
 | issue = 5&lt;br /&gt;
 | pages = 563–581&lt;br /&gt;
 | year=2008&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; by Trifunovic and&lt;br /&gt;
Knottenbelt as well as Zoltan&amp;lt;ref name=&amp;quot;zoltan&amp;quot;&amp;gt;{{cite conference&lt;br /&gt;
 | author = K. Devine and E. Boman and R. Heaphy and R. Bisseling and Ü. Catalyurek&lt;br /&gt;
 | title = Parallel Hypergraph Partitioning for Scientific Computing&lt;br /&gt;
 | booktitle = Proceedings of the 20th International Conference on Parallel and Distributed Processing&lt;br /&gt;
 | pages = 124-124&lt;br /&gt;
 | year=2006&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; by Devine et al. focus on hypergraph&lt;br /&gt;
partitioning.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;List of free open-source frameworks:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!License&lt;br /&gt;
!Brief info&lt;br /&gt;
|-&lt;br /&gt;
|Chaco||GPL|| software package implementing spectral techniques and the multilevel approach&lt;br /&gt;
|-&lt;br /&gt;
|DiBaP||*|| graph partitioning based on multilevel techniques, algebraic multigrid as well as graph based diffusion&lt;br /&gt;
|-&lt;br /&gt;
|Jostle||*|| multilevel partitioning techniques and diffusive load-balancing, sequential and parallel&lt;br /&gt;
|-&lt;br /&gt;
|KaHIP||GPL|| several parallel and sequential meta-heuristics, guarantees the balance constraint&lt;br /&gt;
|-&lt;br /&gt;
|kMetis||Apache 2.0||graph partitioning package based on multilevel techniques and k-way local search&lt;br /&gt;
|-&lt;br /&gt;
|Mondriaan||LGPL|| matrix partitioner to partition rectangular sparse matrices &lt;br /&gt;
|-&lt;br /&gt;
|PaToH||BSD|| multilevel hypergraph partitioning &lt;br /&gt;
|-&lt;br /&gt;
|Parkway||*|| parallel multilevel hypergraph partitioning&lt;br /&gt;
|-&lt;br /&gt;
|Scotch||CeCILL-C|| implements multilevel recursive bisection as well as diffusion techniques, sequential and parallel&lt;br /&gt;
|-&lt;br /&gt;
|Zoltan||BSD|| hypergraph partitioning&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Chamberlain, Bradford L. (1998). [http://masters.donntu.edu.ua/2006/fvti/krasnokutskaya/library/generals.pdf &amp;quot;Graph Partitioning Algorithms for Distributing Workloads of Parallel Computations&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
== Bibliography ==&lt;br /&gt;
* {{cite book|title=Graph Partitioning: Optimisation and Applications|author=Charles-Edmond Bichot, Patrick Siarry|year=2011|publisher=ISTE – Wiley|isbn=978-1848212336|pages=384|url=http://cebichot.netne.net/graph_partitioning_book/}} &lt;br /&gt;
* {{cite book|last=Feldmann|first=Andreas Emil|title=Balanced Partitioning of Grids and Related Graphs: A Theoretical Study of Data Distribution in Parallel Finite Element Model Simulations|year=2012|publisher=Cuvillier Verlag|location=Goettingen, Germany|isbn=978-3954041251|pages=218|url=http://www.pw.ethz.ch/people/research_group/andemil/personal/thesis.pdf}} An exhaustive analysis of the problem from a theoretical point of view.&lt;br /&gt;
* {{cite journal |title=An efficient heuristic procedure for partitioning graphs |url=http://www.ece.wisc.edu/~adavoodi/teaching/756-old/papers/kl.pdf |author=BW Kernighan, S Lin |journal=Bell System Technical Journal |year=1970}}  One of the early fundamental works in the field.  However, performance is O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), so it is no longer commonly used.&lt;br /&gt;
* {{cite conference |title=A Linear-Time Heuristic for Improving Network Partitions |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1585498 |author=CM Fiduccia, RM Mattheyses |booktitle=Design Automation Conference |year=1982}}  A later variant that is linear time, very commonly used, both by itself and as part of multilevel partitioning, see below.&lt;br /&gt;
* {{cite journal |title=A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs |url=http://glaros.dtc.umn.edu/gkhome/node/107 |author= G Karypis, V Kumar |journal=Siam Journal on Scientific Computing |year=1999}}  Multi-level partitioning is the current state of the art. This paper also has good explanations of many other methods, and comparisons of the various methods on a wide variety of problems.&lt;br /&gt;
* {{cite journal |title=Multilevel hypergraph partitioning: applications in VLSI domain |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=748202 |author= Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=pp. 69–79 |doi=10.1109/92.748202}}  Graph partitioning (and in particular, hypergraph partitioning) has many applications to IC design.&lt;br /&gt;
* {{cite journal |title=Optimization by Simulated Annealing |url=http://www.sciencemag.org/cgi/content/abstract/220/4598/671 |author=S. Kirkpatrick, C. D. Gelatt Jr.,  and M. P. Vecchi |journal=Science |date=13 May 1983 |issue=4598 |pages=671–680 |doi= 10.1126/science.220.4598.671 |volume=220 |pmid=17813860}}  Simulated annealing can be used as well.&lt;br /&gt;
* {{cite journal |title=New spectral methods for ratio cut partitioning and clustering |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=159993 |author=Hagen, L. and Kahng, A.B. |journal=IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |date=September 1992 |volume=11,&amp;amp;nbsp; |issue=9 |pages= 1074–1085 |doi=10.1109/43.159993}}.  There is a whole class of &amp;#039;&amp;#039;spectral partitioning&amp;#039;&amp;#039; methods, which use the Eigenvectors of the Laplacian of the connectivity graph.  You can see [http://www.stanford.edu/~dgleich/demos/matlab/spectral/spectral.html a demo of this], using Matlab.&lt;br /&gt;
&lt;br /&gt;
[[Category:NP-complete problems]]&lt;br /&gt;
[[Category:Computational problems in graph theory]]&lt;/div&gt;</summary>
		<author><name>en&gt;Smjg</name></author>
	</entry>
</feed>