Hamiltonkreisproblem.tex 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. \subsection{Hamiltonkreisproblem}
  2. \begin{frame}{Hamiltonkreisproblem}{Hamiltonian path}
  3. \begin{block}{Erklärung}
  4. Ein Hamiltonkreis ist ein Kreis in einem Graphen, in dem jeder Knoten genau einmal benutzt wird.\\
  5. Das Hamiltonkreisproblem ist NP-vollständig.
  6. \end{block}
  7. \end{frame}
  8. \begin{frame}{Hamiltonkreisproblem}{Bedingungen und Kriterien (Auszug)}
  9. \begin{block}{Kriterien (notwendig)}
  10. \begin{itemize}
  11. \item G hat keine Schnittknoten
  12. \item G hat keine Brückenkanten
  13. \item G hat Minimalgrad $\geq 2$
  14. \end{itemize}
  15. \end{block}
  16. \begin{block}{Bedingungen}
  17. Bei Graphen G mit $n \geq 3$ Knoten
  18. \begin{itemize}
  19. \item G hat Minimalgrad $\frac{n}{2} \Rightarrow$ $\exists $ Hamiltonkreis
  20. \item G ist vollständig $\Rightarrow \exists$ Hamiltonkreis
  21. \item G ist Kantengraph eines eulerschen oder hamiltonschen Graphen
  22. \end{itemize}
  23. \end{block}
  24. \end{frame}
  25. \begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}
  26. \begin{block}{Gegeben}
  27. Eine Menge von Wörtern
  28. \end{block}
  29. \begin{block}{Gesucht}
  30. Aneinanderreihung von Wörtern, sodass jeweils Anfangs- und Endbuchstaben gleich sind
  31. (auch im Ringschluss).
  32. \end{block}
  33. \end{frame}
  34. \begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}
  35. Wortmenge: $\{$as, man, meet, nets, set, sum, tea, team$\}$
  36. Menge der Anfangs- und Endbuchstaben: $\{$a, m, n, s, t$\}$
  37. \begin{figure}
  38. \begin{tikzpicture}[->,scale=1.3, auto,swap]
  39. % First we draw the vertices
  40. \foreach \pos/\name in {{(1,0)/nets}, {(3,0)/set}, {(5,0)/tea},
  41. {(0,2)/man}, {(6,2)/team}, {(1,4)/as},
  42. {(3,4)/sum}, {(5,4)/meet}}
  43. \node[vertex] (\name) at \pos {$\name$};
  44. % Connect vertices with edges and draw weights
  45. \foreach \source/ \dest /\pos in {nets/set/, nets/sum/, set/tea/, set/team/,
  46. tea/as/, man/nets/, team/man/, team/meet/, as/set/,
  47. as/sum/, sum/meet/, sum/man/, meet/team/bend left, meet/tea/}
  48. \path (\source) edge [\pos] node {} (\dest);
  49. % Start animating the edge selection.
  50. % For convenience we use a background layer to highlight edges
  51. % This way we don't have to worry about the highlighting covering
  52. % weight labels.
  53. \begin{pgfonlayer}{background}
  54. \foreach \source / \dest / \fr / \pos in { as/as/1/, as/sum/2/, sum/man/3/, man/nets/4/,
  55. nets/set/5/, set/team/6/, team/meet/7/, meet/tea/8/, tea/as/9/}
  56. \path<\fr->[selected edge] (\source.center) edge [\pos] node {} (\dest.center);
  57. \end{pgfonlayer}
  58. \end{tikzpicture}
  59. \end{figure}
  60. % Animierter Graph mit einem Hamiltonkreis. (ohne speziellen Algorithmus?) Wie ausführlich sollen Hamiltonkreise noch genau behandelt werden?
  61. \end{frame}
  62. \begin{frame}{Hamilton- und Eulerkreisproblem}{Anwendungsbeispiel}
  63. Wortmenge: $\{$as, man, meet, nets, set, sum, tea, team$\}$
  64. Menge der Anfangs- und Endbuchstaben: $\{$a, m, n, s, t$\}$
  65. \begin{figure}
  66. \begin{tikzpicture}[->,scale=1.8, auto,swap]
  67. % Draw a 7,11 network
  68. % First we draw the vertices
  69. \foreach \pos/\name in {{(0,0)/a}, {(0,2)/s},
  70. {(4,0)/m}, {(2,2)/t}, {(3,2)/n}}
  71. \node[vertex] (\name) at \pos {$\name$};
  72. % Connect vertices with edges and draw weights
  73. \tikzstyle{LabelStyle}=[fill=white, fill opacity=0.0, text opacity=1,sloped]
  74. \foreach \source/ \dest /\foo /\pos in {a/s/as/,s/m/sum/bend right,
  75. s/t/set/, m/t/meet/bend left,m/n/man/bend right,
  76. t/a/tea/bend left, t/m/team/bend left, n/s/nets/bend right}
  77. %\path (\source) edge [\pos] node {\foo} (\dest);
  78. \Edge[label=\foo,style={\pos}](\source)(\dest);
  79. % Start animating the edge selection.
  80. % For convenience we use a background layer to highlight edges
  81. % This way we don't have to worry about the highlighting covering
  82. % weight labels.
  83. \begin{pgfonlayer}{background}
  84. \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,
  85. s/m/6/bend right, m/t/7/bend left, t/a/8/bend left, a/s/9/}
  86. \path<\fr->[selected edge] (\source.center) edge [\pos] node {} (\dest.center);
  87. \end{pgfonlayer}
  88. \end{tikzpicture}
  89. \end{figure}
  90. \end{frame}