]> mj.ucw.cz Git - saga.git/blobdiff - adv.tex
Fix proof of the local contractive algorithm.
[saga.git] / adv.tex
diff --git a/adv.tex b/adv.tex
index e8c0fca0582a71e61ddffbb7832a44775a9f3dba..bf78611bd049ccefe34e60f65a047923b01a11ed 100644 (file)
--- a/adv.tex
+++ b/adv.tex
@@ -12,9 +12,9 @@ Can we find any broader class of graphs where the algorithm is still efficient?
 The right context turns out to be the minor-closed graph classes, which are
 closed under contractions and have bounded density.
 
-\defn
-A~graph~$H$ is a \df{minor} of a~graph~$G$ iff it can be obtained
-from a subgraph of~$G$ by a sequence of simple graph contractions (see \ref{simpcont}).
+\defn\id{minordef}%
+A~graph~$H$ is a \df{minor} of a~graph~$G$ (written as $H\minorof G$) iff it can be obtained
+from a~subgraph of~$G$ by a sequence of simple graph contractions (see \ref{simpcont}).
 
 \defn
 A~class~$\cal C$ of graphs is \df{minor-closed}, when for every $G\in\cal C$ and
@@ -22,23 +22,106 @@ its every minor~$H$, the graph~$H$ lies in~$\cal C$ as well. A~class~$\cal C$ is
 \df{non-trivial} if at least one graph lies in~$\cal C$ and at least one lies outside~$\cal C$.
 
 \example
-Non-trivial minor-closed classes include planar graphs and more generally graphs
-embeddable in any fixed surface. Many nice properties of planar graphs extend
-to these classes, too, most notably the linearity of the number of edges.
+Non-trivial minor-closed classes include:
+\itemize\ibull
+\:planar graphs,
+\:graphs embeddable in any fixed surface (i.e., graphs of bounded genus),
+\:graphs embeddable in~${\bb R}^3$ without knots or without interlocking cycles,
+\:graphs of bounded tree-width or path-width.
+\endlist
+
+\para
+Many of the nice structural properties of planar graphs extend to
+minor-closed classes, too (see \cite{diestel:gt} for a~nice overview
+of this theory). The most important property is probably the characterization
+of such classes by forbidden minors.
+
+\defn
+For a~class~$\cal H$ of graphs we define $\Forb({\cal H})$ as the class
+of graphs which do not contain any of the graphs in~$\cal H$ as a~minor.
+We will call $\cal H$ the set of \df{forbidden (or excluded) minors} for this class.
+
+\obs
+For every~${\cal H}\ne\emptyset$, the class $\Forb({\cal H})$ is non-trivial
+and closed on minors. This works in the opposite direction as well: for every
+minor-closed class~$\cal C$ there is a~class $\cal H$ such that ${\cal C}=\Forb({\cal H})$.
+One such~$\cal H$ is the complement of~$\cal C$, but smaller sets can be found, too.
+For example, the planar graphs exclude exactly $K_5$ and~$K_{3,3}$ --- this follows
+from the Kuratowski's theorem (the theorem uses forbidden subdivisions, but while
+in general this is not the same as forbidden minors, it is for $K_5$ and $K_{3,3}$).
+The celebrated theorem by Robertson and Seymour guarantees that we can always find
+a~finite set of forbidden minors.
+
+\thmn{Excluded minors, Robertson \& Seymour \cite{rs:wagner}}
+For every non-trivial minor-closed graph class~$\cal C$ there exists
+a~finite set~$\cal H$ of graphs such that ${\cal C}=\Forb({\cal H})$.
+
+\proof
+This theorem has been proven in the series of papers on graph minors
+culminating with~\cite{rs:wagner}. See this paper and follow the references
+to the previous articles in the series.
+\qed
+
+\para
+We will make use of another important property --- the bounded density of minor-closed
+classes. The connection between minors and density dates back to Mader in the 1960's
+and it can be proven without use of the Robertson-Seymour theorem.
 
 \defn\id{density}%
 Let $\cal C$ be a class of graphs. We define its \df{edge density} $\varrho(\cal C)$
 to be the infimum of all~$\varrho$'s such that $m(G) \le \varrho\cdot n(G)$
 holds for every $G\in\cal C$.
 
-\thmn{Density of minor-closed classes}
-A~minor-closed class of graphs has finite edge density if and only if it is
-a non-trivial class.
+\thmn{Mader \cite{mader:dens}}
+For every $k\in{\bb N}$ there exists $h(k)\in{\bb R}$ such that every graph
+with average degree at least~$h(k)$ contains a~subdivision of~$K_{k}$ as a~subgraph.
+
+\proofsketch
+(See Lemma 3.5.1 in \cite{diestel:gt} for a~complete proof in English.)
+
+Let us fix~$k$ and prove by induction on~$m$ that every graph with average
+degree $a\ge 2^m$ contains a~subdivision of some graph with $k$~vertices
+and ${k\choose 2}\ge m\ge k$~edges. For $m={k\choose 2}$ the theorem follows
+as the only graph with~$k$ vertices and~$k\choose 2$ edges is~$K_k$.
+
+The base case $m=k$: Let us observe that when the average degree
+is~$a$, removing any vertex of degree less than~$a/2$ does not decrease the
+average degree. A~graph with $a\ge 2^k$ therefore has a~subgraph
+with minimum degree $\delta\ge a/2=2^{k-1}$. Such subgraph contains
+a~cycle on more than~$\delta$ vertices, in other words a~subdivision of
+the cycle~$C_k$.
+
+Induction step: Let~$G$ be a~graph with average degree at least~$2^m$ and
+assume that the theorem already holds for $m-1$. Without loss of generality,
+$G$~is connected. Consider a~maximal set $U\subseteq V$ such that $G[U]$ is connected
+and the graph $G.U$ ($G$~with $U$~contracted to a~single vertex) has average
+degree at least~$2^m$ (such~$U$ exists, because $G=G.U$ whenever $\vert U\vert=1$).
+Now consider the subgraph~$H$ induced in~$G$ by the
+neighbors of~$U$. Every $v\in V(H)$ must have degree at least~$2^{m-1}$
+(otherwise we can add this vertex to~$U$, contradicting its maximality), so by
+the induction hypothesis $H$ contains a~subdivision of some graph~$R$ with
+$r$~vertices and $m-1$ edges. Any two non-adjacent vertices of~$R$ can be
+connected in the subdivision by a~path lying entirely in~$G[U]$, which reveals
+a~subdivision of a~graph on $m$~vertices. \qed
+
+\thmn{Density of minor-closed classes, Mader~\cite{mader:dens}}
+Every non-trivial minor-closed class of graphs has finite edge density.
 
 \proof
-See Theorem 6.1 in \cite{nesetril:minors}, which also lists some other equivalent conditions.
+Let~$\cal C$ be any such class, $X$~its smallest excluded minor and $x=n(X)$.
+As $H\minorof K_x$, the class $\cal C$ entirely lies in ${\cal C}'=\Forb(\{K_x\})$, so
+$\varrho({\cal C}) \le \varrho({\cal C}')$ and therefore it suffices to prove the
+theorem for classes excluding a~single complete graph~$K_x$.
+
+We will show that $\varrho({\cal C})\le 2h(x)$, where $h$~is the function
+from the previous theorem. If any $G\in{\cal C}$ had more than $2h(x)\cdot n(G)$
+edges, its average degree would be at least~$h(x)$, so by the previous theorem
+$G$~would contain a~subdivision of~$K_x$ and therefore $K_x$ as a~minor.
 \qed
 
+\rem
+See also Theorem 6.1 in \cite{nesetril:minors}, which also lists some other equivalent conditions.
+
 \thmn{MST on minor-closed classes \cite{mm:mst}}\id{mstmcc}%
 For any fixed non-trivial minor-closed class~$\cal C$ of graphs, Algorithm \ref{contbor} finds
 the MST of any graph in this class in time $\O(n)$. (The constant hidden in the~$\O$
@@ -111,10 +194,11 @@ of the previous algorithm (\ref{mstmcc}), we observe that all the $G_i$'s
 are minors of the graph~$G$ given as the input.
 
 For the choice $t=4\varrho$, the Lemma on low-degree vertices (\ref{lowdeg})
-guarantees that at least $n_i/2$ edges get selected in the $i$-th iteration.
-Hence at least a half of the vertices participates in contractions, so
-$n_i\le 3/4\cdot n_{i-1}$. Therefore $n_i\le n\cdot (3/4)^i$ and the algorithm terminates
-after $\O(\log n)$ iterations.
+guarantees that at the beginning of the $i$-th iteration, at least $n_i/2$ vertices
+have degree at most~$t$. Each selected edge removes one such vertex and
+possibly increases the degree of another, so at least $n_i/4$ edges get selected.
+Hence $n_i\le 3/4\cdot n_{i-1}$ and therefore $n_i\le n\cdot (3/4)^i$ and the
+algorithm terminates after $\O(\log n)$ iterations.
 
 Each selected edge belongs to $\mst(G)$, because it is the lightest edge of
 the trivial cut $\delta(v)$ (see the Blue Rule in \ref{rbma}).
@@ -167,6 +251,11 @@ has degree~9.
 
 \figure{hexangle.eps}{\epsfxsize}{The construction from Remark~\ref{hexa}}
 
+\rem
+The observation in~Theorem~\ref{mstmcc} was also made by Gustedt in~\cite{gustedt:parallel},
+who studied a~parallel version of the contractive Bor\o{u}vka's algorithm applied
+to minor-closed classes.
+
 %--------------------------------------------------------------------------------
 
 \section{Using Fibonacci heaps}
@@ -194,7 +283,7 @@ active edge for~$w$ and replace it by~$vw$ if the new edge is lighter.
 The following algorithm shows how these operations translate to insertions, decreases
 and deletions on the heap.
 
-\algn{Jarn\'\i{}k with active edges; Fredman and Tarjan \cite{ft:fibonacci}}\id{jarniktwo}%
+\algn{Active Edge Jarn\'\i{}k; Fredman and Tarjan \cite{ft:fibonacci}}\id{jarniktwo}%
 \algo
 \algin A~graph~$G$ with an edge comparison oracle.
 \:$v_0\=$ an~arbitrary vertex of~$G$.
@@ -279,14 +368,14 @@ for sufficiently dense graphs. In some cases, it is useful to combine it with
 another MST algorithm, which identifies a~part of the MST edges and contracts
 the graph to increase its density. For example, we can perform several
 iterations of the Contractive Bor\o{u}vka's algorithm and find the rest of the
-MST by the Jarn\'\i{}k's algorithm.
+MST by the Active Edge Jarn\'\i{}k's algorithm.
 
 \algn{Mixed Bor\o{u}vka-Jarn\'\i{}k}
 \algo
 \algin A~graph~$G$ with an edge comparison oracle.
 \:Run $\log\log n$ iterations of the Contractive Bor\o{u}vka's algorithm (\ref{contbor}),
   getting a~MST~$T_1$.
-\:Run the Jarn\'\i{}k's algorithm with active edges (\ref{jarniktwo}) on the resulting
+\:Run the Active Edge Jarn\'\i{}k's algorithm (\ref{jarniktwo}) on the resulting
   graph, getting a~MST~$T_2$.
 \:Combine $T_1$ and~$T_2$ to~$T$ as in the Contraction lemma (\ref{contlemma}).
 \algout Minimum spanning tree~$T$.
@@ -305,7 +394,7 @@ and both trees can be combined in linear time, too.
 
 \para
 Actually, there is a~much better choice of the algorithms to combine: use the
-improved Jarn\'\i{}k's algorithm multiple times, each time stopping after a~while.
+Active Edge Jarn\'\i{}k's algorithm multiple times, each time stopping after a~while.
 A~good choice of the stopping condition is to place a~limit on the size of the heap.
 We start with an~arbitrary vertex, grow the tree as usually and once the heap gets too large,
 we conserve the current tree and start with a~different vertex and an~empty heap. When this
@@ -322,7 +411,7 @@ contract the graph along the edges of~this forest and iterate.
 \::$F\=\emptyset$. \cmt{forest built in the current phase}
 \::$t\=2^{\lceil 2m_0/n \rceil}$. \cmt{the limit on heap size}
 \::While there is a~vertex $v_0\not\in F$:
-\:::Run the improved Jarn\'\i{}k's algorithm (\ref{jarniktwo}) from~$v_0$, stop when:
+\:::Run the Active Edge Jarn\'\i{}k's algorithm (\ref{jarniktwo}) from~$v_0$, stop when:
 \::::all vertices have been processed, or
 \::::a~vertex of~$F$ has been added to the tree, or
 \::::the heap has grown to more than~$t$ elements.
@@ -376,7 +465,7 @@ how the algorithm could have stopped growing the tree~$R_i^j$:
 
 \thm\id{itjarthm}%
 The Iterated Jarn\'\i{}k's algorithm finds the MST of the input graph in time
-$\O(m\timesbeta(m,n))$, where $\beta(m,n):=\min\{ i: \log^{(i)}n < m/n \}$.
+$\O(m\timesbeta(m,n))$, where $\beta(m,n):=\min\{ i: \log^{(i)}n \le m/n \}$.
 
 \proof
 Phases are finite and in every phase at least one edge is contracted, so the outer