finalII
This commit is contained in:
parent
f82e044c0a
commit
15d201da13
4 changed files with 25 additions and 284 deletions
25
Makefile
Normal file
25
Makefile
Normal file
|
@ -0,0 +1,25 @@
|
|||
all: upperbounds
|
||||
|
||||
upperbounds:
|
||||
xelatex upperbounds.tex
|
||||
bibtex upperbounds
|
||||
xelatex upperbounds.tex
|
||||
xelatex upperbounds.tex
|
||||
|
||||
clean:
|
||||
rm -f _region_.*
|
||||
rm -f upperbounds.bib.bak
|
||||
rm -f upperbounds.aux
|
||||
rm -f upperbounds.bbl
|
||||
rm -f upperbounds.bib.blg
|
||||
rm -f upperbounds.blg
|
||||
rm -f upperbounds.fdb_latexmk
|
||||
rm -f upperbounds.fls
|
||||
rm -f upperbounds.log
|
||||
rm -f upperbounds.nav
|
||||
rm -f upperbounds.out
|
||||
rm -f upperbounds.pdf
|
||||
rm -f upperbounds.snm
|
||||
rm -f upperbounds.synctex.gz
|
||||
rm -f upperbounds.toc
|
||||
rm -f upperbounds.vrb
|
284
_region_.tex
284
_region_.tex
|
@ -1,284 +0,0 @@
|
|||
\message{ !name(../upperbounds.tex)}\documentclass[10pt,dvipsnames]{beamer}
|
||||
\usepackage{appendixnumberbeamer}
|
||||
\usepackage{booktabs}
|
||||
\usepackage[scale=2]{ccicons}
|
||||
\usepackage{pgfplots}
|
||||
\usepgfplotslibrary{dateplot}
|
||||
\usepackage{xspace}
|
||||
%\usepackage{graphicx}
|
||||
\usepackage{scalerel}
|
||||
\usepackage[normalem]{ulem}
|
||||
\usepackage[noend]{algorithm2e}
|
||||
|
||||
% == General Beamer Settings ==
|
||||
\usetheme{metropolis}
|
||||
\setbeamertemplate{blocks}[rounded]
|
||||
\metroset{block=fill}
|
||||
\usefonttheme{professionalfonts}
|
||||
\usepackage{mathspec}
|
||||
\setsansfont{Fira Sans Light}
|
||||
\setmathsfont{Oldstyle}
|
||||
|
||||
|
||||
% == Presentation Settings ==
|
||||
\def\thumbsup{\scalerel*{\includegraphics{res/up.png}}{O}}
|
||||
\def\thumbsdown{\scalerel*{\includegraphics{res/down.png}}{O}}
|
||||
|
||||
\subject{Upper Bounds}
|
||||
\title[Upper Bounds]{Treewidth computations I. Upper bounds}
|
||||
\subtitle{Hans L. Bodlaender, Arie M.C.A Koster}
|
||||
\author{Armin Friedl}
|
||||
\date{\today}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\message{ !name(inputs/elimination.tex) !offset(-35) }
|
||||
\begin{frame}{Table of contents}
|
||||
\setbeamertemplate{section in toc}[sections numbered]
|
||||
\setbeamertemplate{subsection in toc}[square]
|
||||
\tableofcontents[sections={2}]
|
||||
\end{frame}
|
||||
|
||||
|
||||
\subsection{Idea}
|
||||
|
||||
\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}
|
||||
|
||||
\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}
|
||||
\end{frame}
|
||||
|
||||
\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}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "../upperbounds"
|
||||
%%% End:
|
||||
|
||||
\message{ !name(../upperbounds.tex) !offset(-221) }
|
||||
|
||||
\end{document}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: t
|
||||
%%% End:
|
BIN
upperbounds.pdf
BIN
upperbounds.pdf
Binary file not shown.
Loading…
Reference in a new issue