📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / presentations / ICPC-Referat / Hamiltonkreisproblem.tex
132934 viewsLicense: OTHER
\subsection{Hamiltonkreisproblem}12\begin{frame}{Hamiltonkreisproblem}{Hamiltonian path}3\begin{block}{Erklärung}4Ein Hamiltonkreis ist ein Kreis in einem Graphen, in dem jeder Knoten genau einmal benutzt wird.\\56Das Hamiltonkreisproblem ist NP-vollständig.7\end{block}8\end{frame}910\begin{frame}{Hamiltonkreisproblem}{Bedingungen und Kriterien (Auszug)}11\begin{block}{Kriterien (notwendig)}12\begin{itemize}13\item G hat keine Schnittknoten14\item G hat keine Brückenkanten15\item G hat Minimalgrad $\geq 2$16\end{itemize}17\end{block}18\begin{block}{Bedingungen}19Bei Graphen G mit $n \geq 3$ Knoten20\begin{itemize}21\item G hat Minimalgrad $\frac{n}{2} \Rightarrow$ $\exists $ Hamiltonkreis22\item G ist vollständig $\Rightarrow \exists$ Hamiltonkreis23\item G ist Kantengraph eines eulerschen oder hamiltonschen Graphen24\end{itemize}25\end{block}26\end{frame}2728\begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}29\begin{block}{Gegeben}30Eine Menge von Wörtern31\end{block}32\begin{block}{Gesucht}33Aneinanderreihung von Wörtern, sodass jeweils Anfangs- und Endbuchstaben gleich sind34(auch im Ringschluss).35\end{block}36\end{frame}373839\begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}40Wortmenge: $\{$as, man, meet, nets, set, sum, tea, team$\}$4142Menge der Anfangs- und Endbuchstaben: $\{$a, m, n, s, t$\}$43\begin{figure}44\begin{tikzpicture}[->,scale=1.3, auto,swap]45% First we draw the vertices46\foreach \pos/\name in {{(1,0)/nets}, {(3,0)/set}, {(5,0)/tea},47{(0,2)/man}, {(6,2)/team}, {(1,4)/as},48{(3,4)/sum}, {(5,4)/meet}}49\node[vertex] (\name) at \pos {$\name$};50% Connect vertices with edges and draw weights51\foreach \source/ \dest /\pos in {nets/set/, nets/sum/, set/tea/, set/team/,52tea/as/, man/nets/, team/man/, team/meet/, as/set/,53as/sum/, sum/meet/, sum/man/, meet/team/bend left, meet/tea/}54\path (\source) edge [\pos] node {} (\dest);55% Start animating the edge selection.56% For convenience we use a background layer to highlight edges57% This way we don't have to worry about the highlighting covering58% weight labels.59\begin{pgfonlayer}{background}60\foreach \source / \dest / \fr / \pos in { as/as/1/, as/sum/2/, sum/man/3/, man/nets/4/,61nets/set/5/, set/team/6/, team/meet/7/, meet/tea/8/, tea/as/9/}62\path<\fr->[selected edge] (\source.center) edge [\pos] node {} (\dest.center);63\end{pgfonlayer}64\end{tikzpicture}65\end{figure}66% Animierter Graph mit einem Hamiltonkreis. (ohne speziellen Algorithmus?) Wie ausführlich sollen Hamiltonkreise noch genau behandelt werden?67\end{frame}686970\begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}71Wortmenge: $\{$as, man, meet, nets, set, sum, tea, team$\}$7273Menge der Anfangs- und Endbuchstaben: $\{$a, m, n, s, t$\}$74\begin{figure}75\begin{tikzpicture}[->,scale=1.8, auto,swap]76% Draw a 7,11 network77% First we draw the vertices78\foreach \pos/\name in {{(0,0)/a}, {(0,2)/s},79{(4,0)/m}, {(2,2)/t}, {(3,2)/n}}80\node[vertex] (\name) at \pos {$\name$};81% Connect vertices with edges and draw weights82\tikzstyle{LabelStyle}=[fill=white, fill opacity=0.0, text opacity=1,sloped]83\foreach \source/ \dest /\foo /\pos in {a/s/as/,s/m/sum/bend right,84s/t/set/, m/t/meet/bend left,m/n/man/bend right,85t/a/tea/bend left, t/m/team/bend left, n/s/nets/bend right}86%\path (\source) edge [\pos] node {\foo} (\dest);87\Edge[label=\foo,style={\pos}](\source)(\dest);88% Start animating the edge selection.89% For convenience we use a background layer to highlight edges90% This way we don't have to worry about the highlighting covering91% weight labels.92\begin{pgfonlayer}{background}93\foreach \source / \dest / \fr / \pos in {s/s/1/, s/t/2/, t/m/3/bend left, m/n/4/bend right, n/s/5/bend right,94s/m/6/bend right, m/t/7/bend left, t/a/8/bend left, a/s/9/}95\path<\fr->[selected edge] (\source.center) edge [\pos] node {} (\dest.center);96\end{pgfonlayer}97\end{tikzpicture}98\end{figure}99\end{frame}100101102