Kőnig's theorem (graph theory): Difference between revisions
Undid revision 1262571695 by 24.144.1.226 (talk) no, it's not called a matching set, it's called a matching |
|||
(115 intermediate revisions by 53 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Theorem showing that maximum matching and minimum vertex cover are equivalent for bipartite graphs}} |
|||
{{other uses|König's theorem (disambiguation)}} |
|||
{{About||the theorem about infinite graphs|Kőnig's lemma||König's theorem (disambiguation)}} |
|||
[[Image:Koenigs-theorem-graph.svg|thumb|An example of a bipartite graph, with a maximum matching (blue) and minimum vertex cover (red) both of size six.]] |
|||
In the [[mathematics|mathematical]] area of [[graph theory]], ''' |
[[File:Koenigs-theorem-graph.svg|thumb|An example of a bipartite graph, with a maximum matching (blue) and minimum vertex cover (red) both of size six.]] |
||
In the [[mathematics|mathematical]] area of [[graph theory]], '''Kőnig's theorem''', proved by {{harvs|first=Dénes|last=Kőnig|authorlink=Dénes Kőnig|year=1931|txt}}, describes an equivalence between the [[maximum matching]] problem and the minimum [[vertex cover problem]] in [[bipartite graph]]s. It was discovered independently, also in 1931, by [[Jenő Egerváry]] in the more general case of [[weighted graph]]s. |
|||
== Setting == |
== Setting == |
||
A |
A [[vertex cover]] in a graph is a set of vertices that includes at least one endpoint of every edge, and a vertex cover is ''minimum'' if no other vertex cover has fewer vertices.<ref>Called a ''covering'' and a ''minimum covering'' respectively by {{harvtxt|Bondy|Murty|1976}}, p. 73.</ref> A [[matching (graph theory)|matching]] in a graph is a set of edges no two of which share an endpoint, and a matching is ''maximum'' if no other matching has more edges.<ref>{{harvtxt|Bondy|Murty|1976}}, p. 70.</ref> |
||
It is obvious from the definition that any vertex-cover set must be at least as large as any matching set (since for every edge in the matching, at least one vertex is needed in the cover). In particular, the [[minimum vertex cover]] set is at least as large as the [[maximum matching]] set. Kőnig's theorem states that, in any [[bipartite graph]], the minimum vertex cover set and the maximum matching set have in fact the same size.<ref name="thm-stmt">{{harvtxt|Bondy|Murty|1976}}, Theorem 5.3, p. 74; {{harvtxt|Cook|Cunningham|Pulleyblank|Schrijver|2011}}.</ref> |
|||
For graphs that are not bipartite, the maximum matching and minimum vertex cover problems are very different in complexity: maximum matchings can be found in [[polynomial time]] for any graph, while minimum vertex cover is [[NP-complete]]. The complement of a vertex cover in any graph is an [[Independent set (graph theory)|independent set]], so a minimum vertex cover is complementary to a maximum independent set; finding maximum independent sets is another NP-complete problem. The equivalence between matching and covering articulated in König's theorem allows minimum vertex covers and maximum independent sets to be computed in polynomial time for bipartite graphs, despite the NP-completeness of these problems for more general graph families. |
|||
== Statement of the theorem == |
|||
König's theorem is equivalent to numerous other min-max theorems in graph theory and combinatorics, such as [[Marriage theorem|Hall's marriage theorem]] and [[Dilworth's theorem]]. Since bipartite matching is a special case of maximum flow, the theorem also results from the [[max flow min cut theorem]]. |
|||
<blockquote>''In any [[bipartite graph]], the number of edges in a [[maximum matching]] equals the number of vertices in a [[minimum vertex cover]].<ref name="thm-stmt" />''</blockquote> |
|||
=== Example === |
|||
König's theorem is named after the Hungarian mathematician [[Dénes Kőnig]]. Kőnig had announced in 1914 and published in 1916 the results that every [[regular graph|regular]] bipartite graph has a [[perfect matching]],<ref>In a poster displayed at the 1998 [[International Congress of Mathematicians]] in Berlin and again at the Bled'07 International Conference on Graph Theory, Harald Gropp has pointed out that the same result already appears in the language of [[projective configuration|configurations]] in the 1894 thesis of [[Ernst Steinitz]].</ref> and more generally that the [[chromatic index]] of any bipartite graph (that is, the minimum number of matchings into which it can be partitioned) equals its [[degree (graph theory)|maximum degree]]<ref>Biggs et al. (1976).</ref> – the latter statement is known as '''König's Line Coloring Theorem'''.<ref>Lovász and Plummer (1986), Theorem 1.4.17, pp.37ff.</ref> However, Bondy and Murty (1976) attribute König's theorem itself to a later paper of Kőnig (1931). According to Biggs et al., Kőnig attributed the idea of studying matchings in bipartite graphs to his father, mathematician [[Gyula Kőnig]]. Note that, although Kőnig's name is properly spelled with a [[double acute accent]], the theorem named after him is customarily spelled with an umlaut. |
|||
The bipartite graph shown in the above illustration has 14 vertices; a matching with six edges is shown in blue, and a vertex cover with six vertices is shown in red. There can be no smaller vertex cover, because any vertex cover has to include at least one endpoint of each matched edge (as well as of every other edge), so this is a minimum vertex cover. Similarly, there can be no larger matching, because any matched edge has to include at least one endpoint in the vertex cover, so this is a maximum matching. Kőnig's theorem states that the equality between the sizes of the matching and the cover (in this example, both numbers are six) applies more generally to any bipartite graph. |
|||
== Proofs == |
|||
== Statement of the theorem == |
|||
In any [[bipartite graph]], the number of edges in a [[maximum matching]] equals the number of vertices in a minimum vertex cover. |
|||
== |
=== Constructive proof === |
||
[[File:Minimum cut in a bipartite graph.svg|thumb|Minimum cut <math>(S, T)</math> in the flow network <math>G'_\infty</math>]] |
|||
The bipartite graph shown in the above illustration has 14 vertices; a matching with six edges is shown in blue, and a vertex cover with six vertices is shown in red. There can be no smaller vertex cover, because any vertex cover has to include at least one endpoint of each matched edge, so this is a minimum vertex cover. Similarly, there can be no larger matching, because any matched edge has to include at least one endpoint in the vertex cover, so this is a maximum matching. König's theorem states that the equality between the sizes of the matching and the cover (in this example, both numbers are six) applies more generally to any bipartite graph. |
|||
The following proof provides a way of constructing a minimum vertex cover from a maximum matching. Let <math>G=(V,E)</math> be a bipartite graph and let <math>A,B</math> be the two parts of the vertex set <math>V</math>. Suppose that <math>M</math> is a maximum matching for <math>G</math>. |
|||
Construct the [[flow network]] <math>G'_\infty</math> derived from <math>G</math> in such way that there are edges of capacity <math>1</math> from the source <math>s</math> to every vertex <math>a \in A</math> and from every vertex <math>b \in B</math> to the sink <math>t</math>, and of capacity <math>+\infty</math> from <math>a</math> to <math>b</math> for any <math>(a, b) \in E</math>. |
|||
==Algorithm== |
|||
Consider a bipartite graph where the vertices are partitioned into left (<math>L</math>) and right (<math>R</math>) sets. Suppose there is a maximum matching which partitions the edges into those used in the matching (<math>E_m</math>) and those not (<math>E_0</math>). Let <math>T</math> consist of all unmatched vertices from L, as well as all vertices reachable from those by going left-to-right along edges from <math>E_0</math> and right-to-left along edges from <math>E_m</math>. This essentially means that for each unmatched vertex in L, we add into T all vertices that occur in a path alternating between edges from <math>E_0</math> and <math>E_m</math>. |
|||
The size <math>|M|</math> of the maximum matching in <math>G</math> is the size of a [[Maximum flow problem|maximum flow]] in <math>G'_\infty</math>, which, in turn, is the size of a [[minimum cut]] in the network <math>G'_\infty</math>, as follows from the [[max-flow min-cut theorem]]. |
|||
Then <math>(L \setminus T) \cup (R \cap T)</math> is a minimum vertex cover. Intuitively, vertices in <math>T</math> are ''added'' if they are in <math>R</math> and ''subtracted'' if they are in <math>L</math> to obtain the minimum vertex cover. Thus, the [[Hopcroft–Karp algorithm]] for finding maximum matchings in bipartite graphs may also be used to solve the vertex cover problem efficiently in these graphs. |
|||
Let <math>(S, T)</math> be a minimum cut. Let <math>A = A_S \cup A_T</math> and <math>B = B_S \cup B_T</math>, such that <math>A_S, B_S \subset S</math> and <math>A_T, B_T \subset T</math>. Then the minimum cut is composed only of edges going from <math>s</math> to <math>A_T</math> or from <math>B_S</math> to <math>t</math>, as any edge from <math>A_S</math> to <math>B_T</math> would make the size of the cut infinite. |
|||
== Proof == |
|||
[[Image:Koenigs-theorem-proof.svg|thumb|Partition of the vertices of a matched bipartite graph into even and odd levels, for the proof of König's theorem.]] |
|||
Therefore, the size of the minimum cut is equal to <math>|A_T|+|B_S|</math>. On the other hand, <math>A_T \cup B_S</math> is a vertex cover, as any edge that is not incident to vertices from <math>A_T</math> and <math>B_S</math> must be incident to a pair of vertices from <math>A_S</math> and <math>B_T</math>, which would contradict the fact that there are no edges between <math>A_S</math> and <math>B_T</math>. |
|||
Suppose that ''G=(V,E)'' is a bipartite graph, where ''V = A ∪ B''. Let ''M'' be a matching for ''G''. |
|||
Thus, <math>A_T \cup B_S</math> is a minimum vertex cover of <math>G</math>.{{sfnp|Cesa-Bianchi|2020}} |
|||
We must show either ''G'' has a vertex cover ''C'' of size |''M''|, or ''M'' is not a maximum matching. |
|||
=== Constructive proof without flow concepts === |
|||
First, if ''M'' is a perfect matching, then ''M'' is maximum. In this case, every edge is incident to exactly one vertex on either side, |
|||
No vertex in a vertex cover can cover more than one edge of <math>M</math> (because the edge half-overlap would prevent <math>M</math> from being a matching in the first place), so if a vertex cover with <math>|M|</math> vertices can be constructed, it must be a minimum cover.<ref>{{harvtxt|Bondy|Murty|1976}}, Lemma 5.3, p. 74.</ref> |
|||
so any partition of ''G'' is a vertex cover of size |''M''| and we are done. |
|||
To construct such a cover, let <math>U</math> be the set of unmatched vertices in <math>A</math> (possibly empty), and let <math>Z</math> be the set of vertices that are either in <math>U</math> or are connected to <math>U</math> by alternating paths (paths that alternate between edges that are in the matching and edges that are not in the matching). Let |
|||
Otherwise, use an ''alternating path'' argument. An ''alternating path'' is a path where the edges alternate between ''M'' and ''E \ M''. |
|||
:<math>K=(A\setminus Z)\cup (B\cap Z).</math> |
|||
Partition the vertices of ''G'' into subsets ''S''<sub>''i''</sub> as follows. |
|||
Every edge <math>e</math> in <math>E</math> either belongs to an alternating path (and has a right endpoint in <math>K</math>), or it has a left endpoint in <math>K</math>. For, if <math>e</math> is matched but not in an alternating path, then its left endpoint cannot be in an alternating path (because two matched edges can not share a vertex) and thus belongs to <math>A\setminus Z</math>. Alternatively, if <math>e</math> is unmatched but not in an alternating path, then its left endpoint cannot be in an alternating path, for such a path could be extended by adding <math>e</math> to it. Thus, <math>K</math> forms a vertex cover.<ref name="bm-proof">{{harvtxt|Bondy|Murty|1976}}, pp. 74–75.</ref> |
|||
Let ''S''<sub>0</sub> consist of all vertices unmatched by ''M''. |
|||
For integer ''j'' ≥ 0, let ''S''<sub>2''j''+1</sub> be the set of vertices that: |
|||
#Are adjacent to vertices in ''S''<sub>2''j''</sub> via some edge ''e ∈ E \ M''. |
|||
#Have not been included in any previously-defined set ''S''<sub>k</sub>, where ''k < j''. |
|||
Additionally, every vertex in <math>K</math> is an endpoint of a matched edge. |
|||
Each vertex ''v ∈ S''<sub>''2j+1''</sub> must be adjacent to another vertex ''u'' via an edge ''e ∈ M'' |
|||
For, every vertex in <math>A\setminus Z</math> is matched because <math>Z</math> is a superset of <math>U</math>, the set of unmatched left vertices. |
|||
(otherwise, ''v'' is unmatched by ''M'' and would have been placed in ''S''<sub>''0''</sub>). |
|||
And every vertex in <math>B\cap Z</math> must also be matched, for if there existed an alternating path to an unmatched vertex then changing the matching by removing the matched edges from this path and adding the unmatched edges in their place would increase the size of the matching. However, no matched edge can have both of its endpoints in <math>K</math>. Thus, <math>K</math> is a vertex cover of cardinality equal to <math>M</math>, and must be a minimum vertex cover.<ref name="bm-proof" /> |
|||
If the ''u'' has not yet been included in a set ''S''<sub>''i''</sub>, insert ''u'' in ''S''<sub>2''j''+2</sub>. |
|||
If there are no vertices adjacent to ''S''<sub>2''j''</sub>, |
|||
arbitrarily pick an unused vertex and continue in ''S''<sub>2''j''+1</sub>. |
|||
=== Proof using linear programming duality === |
|||
The illustration is an isomorphic partitioning of the example graph and its matching. |
|||
To explain this proof, we first have to extend the notion of a matching to that of a [[fractional matching]] - an assignment of a weight in [0,1] to each edge, such that the sum of weights near each vertex is at most 1 (an integral matching is a special case of a fractional matching in which the weights are in {0,1}). Similarly we define a fractional vertex-cover - an assignment of a non-negative weight to each vertex, such that the sum of weights in each edge is at least 1 (an integral vertex-cover is a special case of a fractional vertex-cover in which the weights are in {0,1}). |
|||
The maximum fractional matching size in a graph <math>G=(V,E)</math> is the solution of the following [[linear program]]:<blockquote>Maximize '''1'''<sub>''E''</sub> ''·'' '''x''' |
|||
Each vertex in ''S''<sub>''i''</sub> has an edge to a vertex in ''S''<sub>''i''−1</sub>. |
|||
An alternating path can be formed from a given vertex, going up one level at a time, ending either at an unmatched vertex at level ''S''<sub>0</sub>, or at some level ''S''<sub>2''j''+1</sub> containing a single (matched) vertex. |
|||
Subject to: '''x''' ≥ '''0'''''<sub>E</sub>'' |
|||
because each of the vertices is connected by its single matched edge to a vertex in the previous level. |
|||
If there exists any unmatched edge ''uv'' between two vertices ''u'' and ''v'' in the same even-level subset ''S''<sub>2''j''</sub>, |
|||
or if there exists any matched edge ''uv'' between two vertices ''u'' and ''v'' in the same odd-level subset ''S''<sub>2''j''+1</sub>, |
|||
then the two alternating paths for ''u'' and ''v'' can be connected via edge ''uv'' into a longer alternating path. |
|||
This path cannot have any repeated vertices since ''G'' is bipartite, so its two end vertices must be distinct vertices from ''S''<sub>0</sub>. |
|||
Since the path contains one less edge in ''M'' than in ''E \ M'', swapping the matched and unmatched edges along the path gives a larger matching than ''M''. |
|||
__________ '''A'''<sub>''G''</sub> · '''x''' ''≤ '''1'''<sub>V</sub>.''</blockquote>where '''x''' is a vector of size |''E''| in which each element represents the weight of an edge in the fractional matching. '''1'''<sub>E</sub> is a vector of |''E''| ones, so the first line indicates the size of the matching. '''0'''''<sub>E</sub>'' is a vector of |''E''| zeros, so the second line indicates the constraint that the weights are non-negative. '''1'''<sub>V</sub> is a vector of |''V''| ones and '''A'''<sub>''G''</sub> is the [[incidence matrix]] of ''G,'' so the third line indicates the constraint that the sum of weights near each vertex is at most 1. |
|||
Thus, if ''M'' is maximum, each edge in ''M'' has a single endpoint in an odd-level subsets ''S''<sub>2''j''+1</sub>, |
|||
and each edge in ''E \ M'' has at least one endpoint in an odd-level subset ''S''<sub>2''j''+1</sub>. |
|||
The union of the odd-level subsets forms a vertex cover of size |''M''|. |
|||
Since no smaller set of vertices could cover every edge in ''M'', it must be a minimum vertex cover. |
|||
Similarly, the minimum fractional vertex-cover size in <math>G=(V,E)</math> is the solution of the following LP:<blockquote>Minimize '''1'''<sub>''V''</sub> ''·'' '''y''' |
|||
Therefore, a bipartite graph ''G'' with maximum matching ''M'' and minimum vertex cover ''C'' satisfies ''|M| = |C|''. |
|||
Subject to: '''y''' ≥ '''0'''''<sub>V</sub>'' |
|||
__________ '''A'''<sub>''G''</sub><sup>T</sup> · '''y''' ≥ '''''1'''<sub>E</sub>.''</blockquote>where '''y''' is a vector of size |V| in which each element represents the weight of a vertex in the fractional cover. Here, the first line is the size of the cover, the second line represents the non-negativity of the weights, and the third line represents the requirement that the sum of weights near each edge must be at least 1. |
|||
Now, the minimum fractional cover LP is exactly the [[dual linear program]] of the maximum fractional matching LP. Therefore, by the LP duality theorem, both programs have the same solution. This fact is true not only in bipartite graphs but in arbitrary graphs:<blockquote>''In any graph, the largest size of a fractional matching equals the smallest size of a fractional vertex cover.''</blockquote>What makes bipartite graphs special is that, in bipartite graphs, both these linear programs have optimal solutions in which all variable values are integers. This follows from the fact that in the [[Matching polytope|fractional matching polytope]] of a bipartite graph, all extreme points have only integer coordinates, and the same is true for the fractional vertex-cover polytope. Therefore the above theorem implies:{{sfnp|Lovász|Plummer|1986|p=270}} |
|||
<blockquote>''In any bipartite graph, the largest size of a matching equals the smallest size of a vertex cover.''</blockquote> |
|||
==Algorithm== |
|||
The constructive proof described above provides an algorithm for producing a minimum vertex cover given a maximum matching. Thus, the [[Hopcroft–Karp algorithm]] for finding maximum matchings in bipartite graphs may also be used to solve the vertex cover problem efficiently in these graphs.<ref>For this algorithm, see {{harvtxt|Storer|2001}}, p 319, and for the connection to vertex cover see p. 342.</ref> |
|||
Despite the equivalence of the two problems from the point of view of exact solutions, they are not equivalent for [[approximation algorithm]]s. Bipartite maximum matchings can be approximated arbitrarily accurately in constant time by [[distributed algorithm]]s; in contrast, approximating the minimum vertex cover of a bipartite graph requires at least logarithmic time.{{sfnp|Göös|Suomela|2014}} |
|||
===Example=== |
|||
In the graph shown in the introduction take <math>L</math> to be the set of vertices in the bottom layer of the diagram and <math>R</math> to be the set of vertices in the top layer of the diagram. From left to right label the vertices in the bottom layer with the numbers 1, …, 7 and label the vertices in the top layer with the numbers 8, …, 14. The set <math>U</math> of unmatched vertices from <math>L</math> is {1}. The alternating paths starting from <math>U</math> are 1–10–3–13–7, 1–10–3–11–5–13–7, 1–11–5–13–7, 1–11–5–10–3–13–7, and all subpaths of these starting from 1. The set <math>Z</math> is therefore {1,3,5,7,10,11,13}, resulting in <math>L\setminus Z=\{2,4,6\}</math>, <math>R\cap Z=\{10,11,13\}</math> and the minimum vertex cover <math>K=\{2,4,6,10,11,13\}</math>. |
|||
== Non-bipartite graphs == |
|||
For graphs that are not bipartite, the minimum vertex cover may be larger than the maximum matching. Moreover, the two problems are very different in complexity: maximum matchings can be found in [[polynomial time]] for any graph, while minimum vertex cover is [[NP-complete]]. |
|||
The complement of a vertex cover in any graph is an [[Independent set (graph theory)|independent set]], so a minimum vertex cover is complementary to a maximum independent set; finding maximum independent sets is another NP-complete problem. The equivalence between matching and covering articulated in Kőnig's theorem allows minimum vertex covers and maximum independent sets to be computed in polynomial time for bipartite graphs, despite the NP-completeness of these problems for more general graph families.<ref name="s342">{{harvtxt|Storer|2001}}, [https://books.google.com/books?id=S-tXjl1hsUYC&pg=PA342 Exercise 261, p. 342].</ref> |
|||
== History == |
|||
Kőnig's theorem is named after the Hungarian mathematician [[Dénes Kőnig]]. Kőnig had announced in 1914 and published in 1916 the results that every [[regular graph|regular]] bipartite graph has a [[perfect matching]],<ref>In a poster displayed at the 1998 [[International Congress of Mathematicians]] in Berlin and again at the Bled'07 International Conference on Graph Theory, Harald Gropp has pointed out that the same result already appears in the language of [[projective configuration|configurations]] in the 1894 thesis of [[Ernst Steinitz]].</ref> and more generally that the [[chromatic index]] of any bipartite graph (that is, the minimum number of matchings into which it can be partitioned) equals its [[degree (graph theory)|maximum degree]]<ref>{{harvtxt|Biggs|Lloyd|Wilson|1976}}.</ref> – the latter statement is known as '''Kőnig's line coloring theorem'''.{{sfnp|Lovász|Plummer|1986|loc=Theorem 1.4.17, pp. 37ff.}} However, {{harvtxt|Bondy|Murty|1976}} attribute Kőnig's theorem itself to a later paper of Kőnig (1931). |
|||
According to {{harvtxt|Biggs|Lloyd|Wilson|1976}}, Kőnig attributed the idea of studying matchings in bipartite graphs to his father, mathematician [[Gyula Kőnig]]. In Hungarian, Kőnig's name has a [[double acute accent]], but his theorem is sometimes spelled (incorrectly) in German characters, with an [[Umlaut (diacritic)|umlaut]]. |
|||
== Related theorems == |
|||
Kőnig's theorem is equivalent to many other min-max theorems in graph theory and combinatorics, such as [[Hall's marriage theorem]] and [[Dilworth's theorem]]. Since bipartite matching is a special case of [[Maximum flow problem|maximum flow]], the theorem also results from the [[max-flow min-cut theorem]].{{sfnp|Cook|Cunningham|Pulleyblank|Schrijver|2011}} |
|||
== Connections with perfect graphs == |
== Connections with perfect graphs == |
||
A graph is said to be [[perfect graph|perfect]] if, in every [[induced subgraph]], the [[chromatic number]] equals the size of the largest [[clique (graph theory)|clique]]. Any bipartite graph is perfect, because each of its subgraphs is either bipartite or independent; in a bipartite graph that is not independent the chromatic number and the size of the largest clique are both two while in an independent set the chromatic number and clique number are both one. |
A graph is said to be [[perfect graph|perfect]] if, in every [[induced subgraph]], the [[chromatic number]] equals the size of the largest [[clique (graph theory)|clique]]. Any bipartite graph is perfect,<ref>"Trivially", according to {{harvtxt|Lovász|1974}}.</ref> because each of its subgraphs is either bipartite or independent; in a bipartite graph that is not independent the chromatic number and the size of the largest clique are both two while in an independent set the chromatic number and clique number are both one. |
||
A graph is perfect if and only if its complement is perfect |
A graph is perfect if and only if its complement is perfect,<ref>This is the [[perfect graph theorem]] of {{harvtxt|Lovász|1972}}</ref> and Kőnig's theorem can be seen as equivalent to the statement that the complement of a bipartite graph is perfect. For, each color class in a coloring of the complement of a bipartite graph is of size at most 2 and the classes of size 2 form a matching, a clique in the complement of a graph ''G'' is an independent set in ''G'', and as we have already described an independent set in a bipartite graph ''G'' is a complement of a vertex cover in ''G''. Thus, any matching ''M'' in a bipartite graph ''G'' with ''n'' vertices corresponds to a coloring of the complement of ''G'' with ''n''-|''M''| colors, which by the perfection of complements of bipartite graphs corresponds to an independent set in ''G'' with ''n''-|''M''| vertices, which corresponds to a vertex cover of ''G'' with ''M'' vertices. Conversely, Kőnig's theorem proves the perfection of the complements of bipartite graphs, a result proven in a more explicit form by {{harvtxt|Gallai|1958}}. |
||
One can also connect |
One can also connect Kőnig's line coloring theorem to a different class of perfect graphs, the [[line graph]]s of bipartite graphs. If ''G'' is a graph, the line graph ''L''(''G'') has a vertex for each edge of ''G'', and an edge for each pair of adjacent edges in ''G''. Thus, the chromatic number of ''L''(''G'') equals the chromatic index of ''G''. If ''G'' is bipartite, the cliques in ''L''(''G'') are exactly the sets of edges in ''G'' sharing a common endpoint. Now Kőnig's line coloring theorem, stating that the chromatic index equals the maximum vertex degree in any bipartite graph, can be interpreted as stating that the line graph of a bipartite graph is perfect.{{sfnp|Lovász|1974}} |
||
Since line graphs of bipartite graphs are perfect, the complements of line graphs of bipartite graphs are also perfect. A clique in the complement of the line graph of ''G'' is just a matching in ''G''. And a coloring in the complement of the line graph of ''G'', when ''G'' is bipartite, is a partition of the edges of ''G'' into subsets of edges sharing a common endpoint; the endpoints shared by each of these subsets form a vertex cover for ''G''. Therefore, |
Since line graphs of bipartite graphs are perfect, the complements of line graphs of bipartite graphs are also perfect. A clique in the complement of the line graph of ''G'' is just a matching in ''G''. And a coloring in the complement of the line graph of ''G'', when ''G'' is bipartite, is a partition of the edges of ''G'' into subsets of edges sharing a common endpoint; the endpoints shared by each of these subsets form a vertex cover for ''G''. Therefore, Kőnig's theorem itself can also be interpreted as stating that the complements of line graphs of bipartite graphs are perfect.{{sfnp|Lovász|1974}} |
||
== Weighted variants == |
|||
Konig's theorem can be extended to [[weighted graph]]s. |
|||
=== [[Jenő Egerváry|Egerváry]]'s theorem for edge-weighted graphs === |
|||
[[Jenő Egerváry]] (1931) considered graphs in which each edge ''e'' has a non-negative integer weight ''w<sub>e</sub>''. The weight vector is denoted by '''w'''. The '''w-'''''weight of a matching'' is the sum of weights of the edges participating in the matching. A '''''w-'''vertex-cover'' is a multiset of vertices ("multiset" means that each vertex may appear several times), in which each edge ''e'' is adjacent to at least ''w<sub>e</sub>'' vertices. [[Jenő Egerváry|Egerváry]]'s theorem says:<blockquote>''In any edge-weighted bipartite graph, the maximum '''w-'''weight of a matching equals the smallest number of vertices in a '''w-'''vertex-cover.''</blockquote>The maximum '''''w-'''''weight of a fractional matching is given by the LP:{{sfnp|Lovász|Plummer|1986|p=271}} |
|||
<blockquote>Maximize '''''w''''' ''·'' '''x''' |
|||
Subject to: '''x''' ≥ '''0'''''<sub>E</sub>'' |
|||
__________ '''A'''<sub>''G''</sub> · '''x''' ''≤ '''1'''<sub>V</sub>.''</blockquote>And the minimum number of vertices in a fractional '''''w-'''''vertex-cover is given by the dual LP:<blockquote>Minimize '''1'''<sub>''V''</sub> ''·'' '''y''' |
|||
Subject to: '''y''' ≥ '''0'''''<sub>V</sub>'' |
|||
__________ '''A'''<sub>''G''</sub><sup>T</sup> · '''y''' ≥ '''''w'''.''</blockquote>As in the proof of Konig's theorem, the LP duality theorem implies that the optimal values are equal (for any graph), and the fact that the graph is bipartite implies that these programs have optimal solutions in which all values are integers. |
|||
=== Theorem for vertex-weighted graphs === |
|||
One can consider a graph in which each vertex ''v'' has a non-negative integer weight ''b<sub>v</sub>''. The weight vector is denoted by '''b'''. The '''''b'''-weight'' of a vertex-cover is the sum of ''b<sub>v</sub>'' for all ''v'' in the cover. A '''''b'''-matching'' is an assignment of a non-negative integral weight to each edge, such that the sum of weights of edges adjacent to any vertex ''v'' is at most ''b<sub>v</sub>''. Egerváry's theorem can be extended, using a similar argument, to graphs that have both edge-weights '''w''' and vertex-weights '''b''':{{sfnp|Lovász|Plummer|1986|p=271}} |
|||
<blockquote>''In any edge-weighted vertex-weighted bipartite graph, the maximum '''w-'''weight of a '''b'''-matching equals the minimum '''b'''-weight of vertices in a '''w-'''vertex-cover.''</blockquote> |
|||
== See also == |
|||
* [[Matching_in_hypergraphs#Kőnig's_property|Kőnig's property in hypergraphs]] |
|||
== Notes == |
== Notes == |
||
{{reflist}} |
{{reflist|30em}} |
||
== References == |
== References == |
||
{{sfn whitelist |CITEREFLovászPlummer1986}} |
|||
*{{cite book |
|||
*{{citation |
|||
| author = Biggs, N. L.; Lloyd, E. K.; Wilson, R. J. |
|||
| last1 = Biggs | first1 = E. K. |
|||
| title = Graph Theory 1736–1936 |
|||
| last2 = Lloyd |
|||
| publisher = Oxford University Press |
|||
| |
| last3 = Wilson | first3 = R. J. |
||
| isbn = 0-19-853916-9 |
|||
| pages = 203–207 |
|||
| publisher = Oxford University Press |
|||
*{{cite book |
|||
| title = Graph Theory 1736–1936 |
|||
| author1-link=J. A. Bondy|author2-link=U. S. R. Murty |
|||
| title-link = Graph Theory, 1736–1936 |
|||
| last1=Bondy|first1=J. A.|last2=Murty|first2=U. S. R. |
|||
| year = 1976}}. |
|||
| title = Graph Theory with Applications |
|||
*{{citation |last=Cesa-Bianchi |first=Nicolò |author-link=Nicolò Cesa-Bianchi |date=April 11, 2020 |title=Matchings and the max-flow min-cut theorem |url=https://cesa-bianchi.di.unimi.it/GraphTheory/Notes/matchings.pdf |access-date=}} |
|||
| publisher = North Holland |
|||
*{{citation |
|||
| year = 1976 |
|||
| last1 = Cook | first1 = William J. | author1-link = William J. Cook |
|||
| isbn = 0-444-19451-7 |
|||
| last2 = Cunningham | first2 = William H. |
|||
| page = 74}} |
|||
| last3 = Pulleyblank | first3 = William R. | author3-link = William R. Pulleyblank |
|||
* {{cite journal |
|||
| last4 = Schrijver | first4 = Alexander | author4-link = Alexander Schrijver |
|||
| author = Gallai, Tibor |
|||
| isbn = 9781118031391 |
|||
| authorlink = Tibor Gallai |
|||
| pages = 48–49 |
|||
| title = Maximum-minimum Sätze über Graphen |
|||
| publisher = John Wiley & Sons |
|||
| year = 1958 |
|||
| series = Wiley Series in Discrete Mathematics and Optimization |
|||
| journal = Acta Math. Acad. Sci. Hungar. |
|||
| title = Combinatorial Optimization |
|||
| volume = 9 |
|||
| url = https://books.google.com/books?id=tarLTNwM3gEC&pg=PA48 |
|||
| issue = 3-4 |
|||
| volume = 33 |
|||
| year = 2011}}. |
|||
| id = {{MathSciNet | id = 0124238}} |
|||
*{{citation |
|||
| doi = 10.1007/BF02020271}} |
|||
| last1 = Bondy |
|||
*{{cite journal |
|||
| first1 = J. A. |
|||
| author1-link = J. A. Bondy |
|||
| authorlink = Dénes Kőnig |
|||
| last2 = Murty |
|||
| title = Gráfok és alkalmazásuk a determinánsok és a halmazok elméletére |
|||
| first2 = U. S. R. |
|||
| journal = Matematikai és Természettudományi Értesítő |
|||
| author2-link = U. S. R. Murty |
|||
| volume = 34 |
|||
| isbn = 0-444-19451-7 |
|||
| publisher = North Holland |
|||
| pages = 104–119}} |
|||
| title = Graph Theory with Applications |
|||
*{{cite journal |
|||
| year = 1976 |
|||
| author = Kőnig, Dénes |
|||
| url-access = registration |
|||
| authorlink = Dénes Kőnig |
|||
| url = https://archive.org/details/graphtheorywitha0000bond |
|||
| title = Gráfok és mátrixok |
|||
}}. |
|||
| journal = Matematikai és Fizikai Lapok |
|||
*{{citation |
|||
| volume = 38 |
|||
| last = Gallai | first = Tibor | author-link = Tibor Gallai |
|||
| year = 1931 |
|||
| doi = 10.1007/BF02020271 | doi-access = |
|||
| pages = 116–119}} |
|||
| issue = 3–4 |
|||
*{{cite book |
|||
| journal = [[Acta Mathematica Hungarica|Acta Mathematica Academiae Scientiarum Hungaricae]] |
|||
| author1 = Lovász, László |
|||
| mr = 0124238 |
|||
| authorlink1 = László Lovász |
|||
| pages = 395–434 |
|||
| author2 = M.D. Plummer |
|||
| title = Maximum-minimum Sätze über Graphen |
|||
| volume = 9 |
|||
| publisher = North-Holland |
|||
| year = 1958}}. |
|||
*{{citation |
|||
| isbn = 0444879161 |
|||
| last1 = Göös | first1 = Mika |
|||
}} |
|||
| last2 = Suomela | first2 = Jukka |
|||
* {{cite journal |
|||
| arxiv = 1205.4605 |
|||
| author = Lovász, László |
|||
| doi = 10.1007/s00446-013-0194-z |
|||
| authorlink = László Lovász |
|||
| issue = 6 |
|||
| journal = Distributed Computing |
|||
| title = Normal hypergraphs and the perfect graph conjecture |
|||
| mr = 3280546 |
|||
| journal = [[Discrete Mathematics (journal)|Discrete Mathematics]] |
|||
| pages = 435–443 |
|||
| title = No sublogarithmic-time approximation scheme for bipartite vertex cover |
|||
| issue = 3 |
|||
| volume = 27 |
|||
| year = 2014| s2cid = 13513566 |
|||
}} |
|||
| doi = 10.1016/0012-365X(72)90006-4}} |
|||
*{{citation |
|||
| last = Kőnig | first = Dénes | author-link = Dénes Kőnig |
|||
| journal = Matematikai és Természettudományi Értesítő |
|||
| pages = 104–119 |
|||
| title = Gráfok és alkalmazásuk a determinánsok és a halmazok elméletére |
|||
| volume = 34 |
|||
| year = 1916}}. |
|||
*{{citation |
|||
| last = Kőnig | first = Dénes | author-link = Dénes Kőnig |
|||
| journal = Matematikai és Fizikai Lapok |
|||
| pages = 116–119 |
|||
| title = Gráfok és mátrixok |
|||
| volume = 38 |
|||
| year = 1931}}. |
|||
*{{citation |
|||
| last = Lovász | first = László | author-link = László Lovász |
|||
| doi = 10.1016/0012-365X(72)90006-4 |
|||
| issue = 3 |
|||
| journal = [[Discrete Mathematics (journal)|Discrete Mathematics]] |
|||
| mr = 0302480 |
|||
| pages = 253–267 |
|||
| title = Normal hypergraphs and the perfect graph conjecture |
|||
| volume = 2 |
|||
| year = 1972| doi-access = |
|||
}}. |
|||
*{{citation |
|||
| last = Lovász | first = László | author-link = László Lovász |
|||
| contribution = Minimax theorems for hypergraphs |
|||
| doi = 10.1007/BFb0066186 | doi-access = |
|||
| location = Berlin |
|||
| mr = 0406862 |
|||
| pages = 111–126 |
|||
| series=Lecture Notes in Mathematics |
|||
| volume=411 |
|||
| publisher = Springer |
|||
| isbn = 978-3-540-06846-4 | title = Hypergraph Seminar (Proc. First Working Sem., Ohio State Univ., Columbus, Ohio, 1972; dedicated to Arnold Ross) |
|||
| year = 1974}}. |
|||
*{{Cite Lovasz Plummer}} |
|||
*{{citation |
|||
| last = Storer | first = J. A. |
|||
| isbn = 9780817642532 |
|||
| publisher = Springer |
|||
| series = Progress in Computer Science and Applied Logic Series |
|||
| title = An Introduction to Data Structures and Algorithms |
|||
| year = 2001}}. |
|||
{{DEFAULTSORT:Koenigs theorem}} |
{{DEFAULTSORT:Koenigs theorem}} |
||
[[Category:Theorems in |
[[Category:Theorems in graph theory]] |
||
[[Category:Articles containing proofs]] |
[[Category:Articles containing proofs]] |
||
[[Category:Perfect graphs]] |
[[Category:Perfect graphs]] |
||
[[Category:Matching]] |
[[Category:Matching (graph theory)]] |
||
[[Category:Bipartite graphs]] |
|||
[[de:Satz von König (Graphentheorie)]] |
|||
[[fr:Théorème de König (théorie des graphes)]] |
|||
[[ko:쾨니그의 정리]] |
|||
[[hu:Kőnig-tétel (gráfelmélet)]] |
|||
[[ru:Теорема Кёнига (комбинаторика)]] |
Latest revision as of 02:46, 12 December 2024
In the mathematical area of graph theory, Kőnig's theorem, proved by Dénes Kőnig (1931), describes an equivalence between the maximum matching problem and the minimum vertex cover problem in bipartite graphs. It was discovered independently, also in 1931, by Jenő Egerváry in the more general case of weighted graphs.
Setting
[edit]A vertex cover in a graph is a set of vertices that includes at least one endpoint of every edge, and a vertex cover is minimum if no other vertex cover has fewer vertices.[1] A matching in a graph is a set of edges no two of which share an endpoint, and a matching is maximum if no other matching has more edges.[2]
It is obvious from the definition that any vertex-cover set must be at least as large as any matching set (since for every edge in the matching, at least one vertex is needed in the cover). In particular, the minimum vertex cover set is at least as large as the maximum matching set. Kőnig's theorem states that, in any bipartite graph, the minimum vertex cover set and the maximum matching set have in fact the same size.[3]
Statement of the theorem
[edit]In any bipartite graph, the number of edges in a maximum matching equals the number of vertices in a minimum vertex cover.[3]
Example
[edit]The bipartite graph shown in the above illustration has 14 vertices; a matching with six edges is shown in blue, and a vertex cover with six vertices is shown in red. There can be no smaller vertex cover, because any vertex cover has to include at least one endpoint of each matched edge (as well as of every other edge), so this is a minimum vertex cover. Similarly, there can be no larger matching, because any matched edge has to include at least one endpoint in the vertex cover, so this is a maximum matching. Kőnig's theorem states that the equality between the sizes of the matching and the cover (in this example, both numbers are six) applies more generally to any bipartite graph.
Proofs
[edit]Constructive proof
[edit]The following proof provides a way of constructing a minimum vertex cover from a maximum matching. Let be a bipartite graph and let be the two parts of the vertex set . Suppose that is a maximum matching for .
Construct the flow network derived from in such way that there are edges of capacity from the source to every vertex and from every vertex to the sink , and of capacity from to for any .
The size of the maximum matching in is the size of a maximum flow in , which, in turn, is the size of a minimum cut in the network , as follows from the max-flow min-cut theorem.
Let be a minimum cut. Let and , such that and . Then the minimum cut is composed only of edges going from to or from to , as any edge from to would make the size of the cut infinite.
Therefore, the size of the minimum cut is equal to . On the other hand, is a vertex cover, as any edge that is not incident to vertices from and must be incident to a pair of vertices from and , which would contradict the fact that there are no edges between and .
Thus, is a minimum vertex cover of .[4]
Constructive proof without flow concepts
[edit]No vertex in a vertex cover can cover more than one edge of (because the edge half-overlap would prevent from being a matching in the first place), so if a vertex cover with vertices can be constructed, it must be a minimum cover.[5]
To construct such a cover, let be the set of unmatched vertices in (possibly empty), and let be the set of vertices that are either in or are connected to by alternating paths (paths that alternate between edges that are in the matching and edges that are not in the matching). Let
Every edge in either belongs to an alternating path (and has a right endpoint in ), or it has a left endpoint in . For, if is matched but not in an alternating path, then its left endpoint cannot be in an alternating path (because two matched edges can not share a vertex) and thus belongs to . Alternatively, if is unmatched but not in an alternating path, then its left endpoint cannot be in an alternating path, for such a path could be extended by adding to it. Thus, forms a vertex cover.[6]
Additionally, every vertex in is an endpoint of a matched edge. For, every vertex in is matched because is a superset of , the set of unmatched left vertices. And every vertex in must also be matched, for if there existed an alternating path to an unmatched vertex then changing the matching by removing the matched edges from this path and adding the unmatched edges in their place would increase the size of the matching. However, no matched edge can have both of its endpoints in . Thus, is a vertex cover of cardinality equal to , and must be a minimum vertex cover.[6]
Proof using linear programming duality
[edit]To explain this proof, we first have to extend the notion of a matching to that of a fractional matching - an assignment of a weight in [0,1] to each edge, such that the sum of weights near each vertex is at most 1 (an integral matching is a special case of a fractional matching in which the weights are in {0,1}). Similarly we define a fractional vertex-cover - an assignment of a non-negative weight to each vertex, such that the sum of weights in each edge is at least 1 (an integral vertex-cover is a special case of a fractional vertex-cover in which the weights are in {0,1}).
The maximum fractional matching size in a graph is the solution of the following linear program:
Maximize 1E · x
Subject to: x ≥ 0E
__________ AG · x ≤ 1V.
where x is a vector of size |E| in which each element represents the weight of an edge in the fractional matching. 1E is a vector of |E| ones, so the first line indicates the size of the matching. 0E is a vector of |E| zeros, so the second line indicates the constraint that the weights are non-negative. 1V is a vector of |V| ones and AG is the incidence matrix of G, so the third line indicates the constraint that the sum of weights near each vertex is at most 1. Similarly, the minimum fractional vertex-cover size in is the solution of the following LP:
Minimize 1V · y
Subject to: y ≥ 0V
__________ AGT · y ≥ 1E.
where y is a vector of size |V| in which each element represents the weight of a vertex in the fractional cover. Here, the first line is the size of the cover, the second line represents the non-negativity of the weights, and the third line represents the requirement that the sum of weights near each edge must be at least 1. Now, the minimum fractional cover LP is exactly the dual linear program of the maximum fractional matching LP. Therefore, by the LP duality theorem, both programs have the same solution. This fact is true not only in bipartite graphs but in arbitrary graphs:
In any graph, the largest size of a fractional matching equals the smallest size of a fractional vertex cover.
What makes bipartite graphs special is that, in bipartite graphs, both these linear programs have optimal solutions in which all variable values are integers. This follows from the fact that in the fractional matching polytope of a bipartite graph, all extreme points have only integer coordinates, and the same is true for the fractional vertex-cover polytope. Therefore the above theorem implies:[7]
In any bipartite graph, the largest size of a matching equals the smallest size of a vertex cover.
Algorithm
[edit]The constructive proof described above provides an algorithm for producing a minimum vertex cover given a maximum matching. Thus, the Hopcroft–Karp algorithm for finding maximum matchings in bipartite graphs may also be used to solve the vertex cover problem efficiently in these graphs.[8]
Despite the equivalence of the two problems from the point of view of exact solutions, they are not equivalent for approximation algorithms. Bipartite maximum matchings can be approximated arbitrarily accurately in constant time by distributed algorithms; in contrast, approximating the minimum vertex cover of a bipartite graph requires at least logarithmic time.[9]
Example
[edit]In the graph shown in the introduction take to be the set of vertices in the bottom layer of the diagram and to be the set of vertices in the top layer of the diagram. From left to right label the vertices in the bottom layer with the numbers 1, …, 7 and label the vertices in the top layer with the numbers 8, …, 14. The set of unmatched vertices from is {1}. The alternating paths starting from are 1–10–3–13–7, 1–10–3–11–5–13–7, 1–11–5–13–7, 1–11–5–10–3–13–7, and all subpaths of these starting from 1. The set is therefore {1,3,5,7,10,11,13}, resulting in , and the minimum vertex cover .
Non-bipartite graphs
[edit]For graphs that are not bipartite, the minimum vertex cover may be larger than the maximum matching. Moreover, the two problems are very different in complexity: maximum matchings can be found in polynomial time for any graph, while minimum vertex cover is NP-complete.
The complement of a vertex cover in any graph is an independent set, so a minimum vertex cover is complementary to a maximum independent set; finding maximum independent sets is another NP-complete problem. The equivalence between matching and covering articulated in Kőnig's theorem allows minimum vertex covers and maximum independent sets to be computed in polynomial time for bipartite graphs, despite the NP-completeness of these problems for more general graph families.[10]
History
[edit]Kőnig's theorem is named after the Hungarian mathematician Dénes Kőnig. Kőnig had announced in 1914 and published in 1916 the results that every regular bipartite graph has a perfect matching,[11] and more generally that the chromatic index of any bipartite graph (that is, the minimum number of matchings into which it can be partitioned) equals its maximum degree[12] – the latter statement is known as Kőnig's line coloring theorem.[13] However, Bondy & Murty (1976) attribute Kőnig's theorem itself to a later paper of Kőnig (1931).
According to Biggs, Lloyd & Wilson (1976), Kőnig attributed the idea of studying matchings in bipartite graphs to his father, mathematician Gyula Kőnig. In Hungarian, Kőnig's name has a double acute accent, but his theorem is sometimes spelled (incorrectly) in German characters, with an umlaut.
Related theorems
[edit]Kőnig's theorem is equivalent to many other min-max theorems in graph theory and combinatorics, such as Hall's marriage theorem and Dilworth's theorem. Since bipartite matching is a special case of maximum flow, the theorem also results from the max-flow min-cut theorem.[14]
Connections with perfect graphs
[edit]A graph is said to be perfect if, in every induced subgraph, the chromatic number equals the size of the largest clique. Any bipartite graph is perfect,[15] because each of its subgraphs is either bipartite or independent; in a bipartite graph that is not independent the chromatic number and the size of the largest clique are both two while in an independent set the chromatic number and clique number are both one.
A graph is perfect if and only if its complement is perfect,[16] and Kőnig's theorem can be seen as equivalent to the statement that the complement of a bipartite graph is perfect. For, each color class in a coloring of the complement of a bipartite graph is of size at most 2 and the classes of size 2 form a matching, a clique in the complement of a graph G is an independent set in G, and as we have already described an independent set in a bipartite graph G is a complement of a vertex cover in G. Thus, any matching M in a bipartite graph G with n vertices corresponds to a coloring of the complement of G with n-|M| colors, which by the perfection of complements of bipartite graphs corresponds to an independent set in G with n-|M| vertices, which corresponds to a vertex cover of G with M vertices. Conversely, Kőnig's theorem proves the perfection of the complements of bipartite graphs, a result proven in a more explicit form by Gallai (1958).
One can also connect Kőnig's line coloring theorem to a different class of perfect graphs, the line graphs of bipartite graphs. If G is a graph, the line graph L(G) has a vertex for each edge of G, and an edge for each pair of adjacent edges in G. Thus, the chromatic number of L(G) equals the chromatic index of G. If G is bipartite, the cliques in L(G) are exactly the sets of edges in G sharing a common endpoint. Now Kőnig's line coloring theorem, stating that the chromatic index equals the maximum vertex degree in any bipartite graph, can be interpreted as stating that the line graph of a bipartite graph is perfect.[17]
Since line graphs of bipartite graphs are perfect, the complements of line graphs of bipartite graphs are also perfect. A clique in the complement of the line graph of G is just a matching in G. And a coloring in the complement of the line graph of G, when G is bipartite, is a partition of the edges of G into subsets of edges sharing a common endpoint; the endpoints shared by each of these subsets form a vertex cover for G. Therefore, Kőnig's theorem itself can also be interpreted as stating that the complements of line graphs of bipartite graphs are perfect.[17]
Weighted variants
[edit]Konig's theorem can be extended to weighted graphs.
Jenő Egerváry (1931) considered graphs in which each edge e has a non-negative integer weight we. The weight vector is denoted by w. The w-weight of a matching is the sum of weights of the edges participating in the matching. A w-vertex-cover is a multiset of vertices ("multiset" means that each vertex may appear several times), in which each edge e is adjacent to at least we vertices. Egerváry's theorem says:
In any edge-weighted bipartite graph, the maximum w-weight of a matching equals the smallest number of vertices in a w-vertex-cover.
The maximum w-weight of a fractional matching is given by the LP:[18]
Maximize w · x
Subject to: x ≥ 0E
__________ AG · x ≤ 1V.
And the minimum number of vertices in a fractional w-vertex-cover is given by the dual LP:
Minimize 1V · y
Subject to: y ≥ 0V
__________ AGT · y ≥ w.
As in the proof of Konig's theorem, the LP duality theorem implies that the optimal values are equal (for any graph), and the fact that the graph is bipartite implies that these programs have optimal solutions in which all values are integers.
Theorem for vertex-weighted graphs
[edit]One can consider a graph in which each vertex v has a non-negative integer weight bv. The weight vector is denoted by b. The b-weight of a vertex-cover is the sum of bv for all v in the cover. A b-matching is an assignment of a non-negative integral weight to each edge, such that the sum of weights of edges adjacent to any vertex v is at most bv. Egerváry's theorem can be extended, using a similar argument, to graphs that have both edge-weights w and vertex-weights b:[18]
In any edge-weighted vertex-weighted bipartite graph, the maximum w-weight of a b-matching equals the minimum b-weight of vertices in a w-vertex-cover.
See also
[edit]Notes
[edit]- ^ Called a covering and a minimum covering respectively by Bondy & Murty (1976), p. 73.
- ^ Bondy & Murty (1976), p. 70.
- ^ a b Bondy & Murty (1976), Theorem 5.3, p. 74; Cook et al. (2011).
- ^ Cesa-Bianchi (2020).
- ^ Bondy & Murty (1976), Lemma 5.3, p. 74.
- ^ a b Bondy & Murty (1976), pp. 74–75.
- ^ Lovász & Plummer (1986), p. 270.
- ^ For this algorithm, see Storer (2001), p 319, and for the connection to vertex cover see p. 342.
- ^ Göös & Suomela (2014).
- ^ Storer (2001), Exercise 261, p. 342.
- ^ In a poster displayed at the 1998 International Congress of Mathematicians in Berlin and again at the Bled'07 International Conference on Graph Theory, Harald Gropp has pointed out that the same result already appears in the language of configurations in the 1894 thesis of Ernst Steinitz.
- ^ Biggs, Lloyd & Wilson (1976).
- ^ Lovász & Plummer (1986), Theorem 1.4.17, pp. 37ff..
- ^ Cook et al. (2011).
- ^ "Trivially", according to Lovász (1974).
- ^ This is the perfect graph theorem of Lovász (1972)
- ^ a b Lovász (1974).
- ^ a b Lovász & Plummer (1986), p. 271.
References
[edit]- Biggs, E. K.; Lloyd; Wilson, R. J. (1976), Graph Theory 1736–1936, Oxford University Press, pp. 203–207, ISBN 0-19-853916-9.
- Cesa-Bianchi, Nicolò (April 11, 2020), Matchings and the max-flow min-cut theorem (PDF)
- Cook, William J.; Cunningham, William H.; Pulleyblank, William R.; Schrijver, Alexander (2011), Combinatorial Optimization, Wiley Series in Discrete Mathematics and Optimization, vol. 33, John Wiley & Sons, pp. 48–49, ISBN 9781118031391.
- Bondy, J. A.; Murty, U. S. R. (1976), Graph Theory with Applications, North Holland, ISBN 0-444-19451-7.
- Gallai, Tibor (1958), "Maximum-minimum Sätze über Graphen", Acta Mathematica Academiae Scientiarum Hungaricae, 9 (3–4): 395–434, doi:10.1007/BF02020271, MR 0124238.
- Göös, Mika; Suomela, Jukka (2014), "No sublogarithmic-time approximation scheme for bipartite vertex cover", Distributed Computing, 27 (6): 435–443, arXiv:1205.4605, doi:10.1007/s00446-013-0194-z, MR 3280546, S2CID 13513566
- Kőnig, Dénes (1916), "Gráfok és alkalmazásuk a determinánsok és a halmazok elméletére", Matematikai és Természettudományi Értesítő, 34: 104–119.
- Kőnig, Dénes (1931), "Gráfok és mátrixok", Matematikai és Fizikai Lapok, 38: 116–119.
- Lovász, László (1972), "Normal hypergraphs and the perfect graph conjecture", Discrete Mathematics, 2 (3): 253–267, doi:10.1016/0012-365X(72)90006-4, MR 0302480.
- Lovász, László (1974), "Minimax theorems for hypergraphs", Hypergraph Seminar (Proc. First Working Sem., Ohio State Univ., Columbus, Ohio, 1972; dedicated to Arnold Ross), Lecture Notes in Mathematics, vol. 411, Berlin: Springer, pp. 111–126, doi:10.1007/BFb0066186, ISBN 978-3-540-06846-4, MR 0406862.
- Lovász, László; Plummer, M. D. (1986), Matching Theory, Annals of Discrete Mathematics, vol. 29, North-Holland, ISBN 0-444-87916-1, MR 0859549
- Storer, J. A. (2001), An Introduction to Data Structures and Algorithms, Progress in Computer Science and Applied Logic Series, Springer, ISBN 9780817642532.