2016-06-26 22:30:37 +00:00
\begin { frame} { Table of contents}
\setbeamertemplate { section in toc} [sections numbered]
\setbeamertemplate { subsection in toc} [square]
\tableofcontents [sections={2}]
\end { frame}
\subsection { Idea}
2016-06-29 14:06:02 +00:00
\begin { frame} { Idea}
\setbeamercolor { block title} { fg=RoyalBlue!70}
\begin { block} { Theorem { \normalfont \small \color { black} \cite { bodlaender2010, gavril1974} } }
Equivalent:
\begin { enumerate} [(i)]
\item $ G $ has a treewidth at most k.
\item There is an elimination ordering $ \pi $ , such that no vertex $ v \in V $ has more than $ k $ neighbours with a higher number in $ \pi $ in $ G ^ + _ \pi $
\end { enumerate}
\end { block}
2016-06-26 22:30:37 +00:00
2016-06-29 14:06:02 +00:00
\setbeamercolor { block title} { fg=ForestGreen!70}
\begin { block} { Application}
\begin { enumerate}
\item Take \emph { some} elimination ordering $ \pi $ of $ G $
\item Construct $ G ^ + _ \pi $ , calculate $ k $
\item $ \xrightarrow { ( i ) ~ \equiv ~ ( ii ) } $ Upper Bound for treewidth
\end { enumerate}
\end { block}
2016-06-26 22:30:37 +00:00
\end { frame}
2016-06-29 14:06:02 +00:00
\begin { frame} { What is $ \bf G ^ + _ \pi $ ?}
\metroset { block=transparent}
\begin { columns} [c]
\begin { column} { 0.5\textwidth }
\begin { block} { } \centering
\begin { tikzpicture}
\node [shape=circle,draw=black] (A) at (0,0) { A} ;
\only <2>{ \node [shape=circle,fill=mLightGreen] (A) at (0,0) { A} ;}
\only <3->{ \node [shape=circle,fill=mDarkTeal,text=white] (A) at (0,0) { A} ;}
\node [shape=circle,draw=black] (B) at (3,0) { B} ;
\only <2>{ \node [shape=circle,fill=mLightBrown] (B) at (3,0) { B} ;}
\only <3>{ \node [shape=circle,fill=mLightGreen] (B) at (3,0) { B} ;}
\only <4->{ \node [shape=circle,fill=mDarkTeal,text=white] (B) at (3,0) { B} ;}
\node [shape=circle,draw=black] (C) at (0,3) { C} ;
\only <2>{ \node [shape=circle,fill=mLightBrown] (C) at (0,3) { C} ;}
\only <3>{ \node [shape=circle,fill=mLightBrown] (C) at (0,3) { C} ;}
\only <4>{ \node [shape=circle,fill=mLightGreen] (C) at (0,3) { C} ;}
\only <5->{ \node [shape=circle,fill=mDarkTeal,text=white] (C) at (0,3) { C} ;}
\node [shape=circle,draw=black] (D) at (3,3) { D} ;
\only <3>{ \node [shape=circle,fill=mLightBrown] (D) at (3,3) { D} ;}
\only <4>{ \node [shape=circle,fill=mLightBrown] (D) at (3,3) { D} ;}
\only <5>{ \node [shape=circle,fill=mLightGreen] (D) at (3,3) { D} ;}
\only <6->{ \node [shape=circle,fill=mDarkTeal,text=white] (D) at (3,3) { D} ;}
\node [shape=circle,draw=black] (E) at (1.5,5) { E} ;
\only <4,5>{ \node [shape=circle,fill=mLightBrown] (E) at (1.5,5) { E} ;}
\only <6>{ \node [shape=circle,fill=mLightGreen] (E) at (1.5,5) { E} ;}
\only <7>{ \node [shape=circle,fill=mDarkTeal,text=white] (E) at (1.5,5) { E} ;}
\path (A) edge (B);
\path (A) edge (C);
\path (B) edge (D);
\path (C) edge (D);
\path (C) edge (E);
\path [style=dashed, color=mLightBrown] <2> (B) edge (C);
\only <3->{ \path [style=dashed, color=mDarkTeal] (B) edge (C);}
\path [style=dashed, color=mLightBrown] <4> (E) edge (D);
\only <5->{ \path [style=dashed, color=mDarkTeal] (E) edge (D);}
\end { tikzpicture}
\end { block} { }
\begin { block} { } \centering
$ \pi = [ \textcolor < 2 > { mLightGreen } { A }
\textcolor <3>{ mLightGreen} { ,B}
\textcolor <4>{ mLightGreen} { ,C}
\textcolor <5>{ mLightGreen} { ,D}
\textcolor <6>{ mLightGreen} { ,E} ]$
\end { block} { }
\end { column}
\begin { column} { 0.5\textwidth }
\only <1-6>{
\begin { algorithm} [H]
\label { alg:fill}
\KwIn { $ G, \pi $ }
\KwOut { $ G ^ + _ { \pi } $ }
$ H = G $ \\
\ForEach { $ v \in V _ G $ } {
\ForEach { $ w, x $ of N$ _ H $ ($ v $ )} {
\If { $ \pi ( w ) , \pi ( x ) > \pi ( v ) $ } {
\alert <2->{ add \{ w,x\} to E$ _ H $ }
}
}
}
\KwRet { H}
\end { algorithm}
}
\only <7>{
\begin { itemize}
\item $ G ^ + _ \pi $ is chordal
\item $ G $ is a subgraph of $ G ^ + _ \pi $
\item $ \pi $ is a perfect elimination ordering of $ G ^ + _ \pi $
\item $ tw $ of \emph { subtree graph} (also a tree decomposition) of $ G ^ + _ \pi $ is $ \text { MAXCLIQUE } ( G ^ + _ \pi ) - 1 $ ~\cite { gavril1974}
\item There is a tree decomposition algorithm for $ G $ with $ tw = \text { MAXCLIQUE } ( G ^ + _ \pi ) - 1 $ , polynomial in n ~\cite { bodlaender2010}
\end { itemize}
}
\end { column}
\end { columns}
\end { frame}
\begin { frame} [c]
\centering
\alert { How to find \only <1,2>{ the best} \only <3>{ \sout { the best} a good} elimination ordering?} \\
\bigskip
\only <2>{
\begin { align*}
\text { Best} & = G^ +_ \pi ~\text { with Min(MAXCLIQUE} (G^ +_ \pi ))\\
& = \text { Computational Infeasible} \\
& = \text { see} ~\cite { heggernes2006}
\end { align*}
}
\only <3>{
\small
No best. But the smaller the triangulation the better.\\
For minimal (not minimum): $ \mathcal { O } ( n ^ { 2 . 376 } ) $ ~\cite { heggernes2006}
}
\end { frame}
\subsection { Greedy Triangulation}
\begin { frame} { Greedy Triangulation - Algorithm}
\begin { algorithm} [H]
\label { alg:greedy}
\KwIn { $ G ( V,E ) $ }
\KwOut { $ \pi $ }
$ H = G $ \\
\For { $ i = 1 $ \KwTo $ n $ } {
Choose $ v \in H $ by criterion \alert <2>{ X} \\
Set $ \pi ^ { - 1 } ( i ) = v $ \\
Eliminate $ v $ from $ H $ (make $ N _ H ( v ) $ a clique and remove $ v $ )
}
\KwRet { H}
\end { algorithm}
\bigskip
\uncover <2>{ \centering \alert { How to choose X?} }
\end { frame}
\begin { frame} { Greedy Triangulation - Criterion X}
\metroset { block=transparent}
\begin { block} { Minimum Degree/Greedy Degree}
X = $ v $ with smallest degree in $ H $ \\
\medskip
{ \small Performs well in practice}
\end { block}
\begin { block} { Greedy Fill In}
X = $ v $ which causes smallest number of fill edges in $ G ^ + _ \pi $ \\
\hspace { 1.8mm} = $ v $ with smallest number of pairs of non-adjacent neighbours\\
\medskip
{ \small Slightly slower, slightly better bounds than MD/GD on average}
\end { block}
\end { frame}
\begin { frame} { Greedy Triangulation - Advanced Criteria}
\metroset { block=transparent}
\begin { block} { Lower Bound Based}
Eliminate $ v $ from $ H $ , compute lower bound (LB) of treewidth\\
Choose $ v $ with Min($ 2 * LB + \deg _ H ( v ) ) $
\end { block}
\begin { block} { Enhanced Minimum Fill In}
Compute LB of $ G $ \\
Choose simplical or almost simplical $ v $ with $ \deg ( v ) $ at most LB\\
otherwise: Greedy Fill In
\end { block}
\dots { }
\end { frame}
\subsection { Local Search (Tabu Search)}
\begin { frame} [shrink]{ Tabu Search}
\begin { block} { General Approach}
\begin { enumerate} [(i)]
\item Keep list of $ \alpha $ last solutions to avoid cycling
\item Find inital solution [= some elimination ordering]
\item Make small change to get \emph { Neighbourhood}
\item Select neighbouring solution $ \not \in \alpha $ with smallest cost
\item Repeat (iii), (iv) some time $ \rightarrow $ return best solution
\end { enumerate}
\end { block}
\metroset { block=transparent}
\begin { block} { Neighbourhood Generation}
Swap two vertices in elminiation ordering
\end { block}
\begin { block} { Step Cost}
\begin { enumerate} [(i)]
\item Width of generated neighbour
\item But many neighbours with equal width, better:
$ \rightarrow w _ \pi * n ^ 2 + \sum { v \in V } \vert N ^ + _ \pi ( v ) \vert { } ^ 2 $
\end { enumerate}
\end { block}
\end { frame}
\subsection { Chordal Graph Recognition}
\begin { frame} { Chordal Graph Recognition Heuristics}
If it's chordal already, find perfect elminiation ordering (i.e. recognize it):
\begin { itemize}
\item Maximum Cardinality Search
\item Lexicographical Breadth First Search
\end { itemize}
\dots { } tree decomposition depends on (perfect) elimination ordering found. Mostly determined by algorithms, except for first chosen $ v _ n $ (from right to left).
$ \rightarrow $ try for all $ v $
$ \rightarrow $ adds factor $ \mathcal { O } ( n ) $
\end { frame}
2016-06-26 22:30:37 +00:00
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../upperbounds"
%%% End: