📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / presentations / Diskrete-Mathematik / LaTeX / Koenigsberger-Brueckenproblem.tex
132931 viewsLicense: OTHER
\subsection{Königsberger Brückenproblem}12\framedgraphic{Königsberg heute}{../images/koenigsberg-bruecken-luftbild}34\framedgraphic{Königsberger Brückenproblem}{../images/Konigsberg_bridges.png}56\framedgraphic{Übersetzung in einen Graphen}{../images/Konigsberg_bridges-graph.png}78\begin{frame}{Übersetzung in einen Graphen}9\begin{center}10\adjustbox{max size={\textwidth}{0.8\textheight}}{11\input{koenigsberg/koenigsberg-1}12}13\end{center}14\end{frame}1516\begin{frame}{Eulerscher Kreis}17\begin{block}{Eulerscher Kreis}18Sei $G$ ein Graph und $A$ ein Kreis in $G$.1920$A$ heißt \textbf{eulerscher Kreis} $:\Leftrightarrow \forall_{k \in K}: k \in A$.21\end{block}2223\begin{block}{Eulerscher Graph}24Ein Graph heißt \textbf{eulersch}, wenn er einen eulerschen Kreis enthält.25\end{block}26\end{frame}2728\begin{frame}{Hamiltonkreis}29\begin{alertblock}{Achtung}30Verwechslungsgefahr: Hamiltonkreis $\neq$ Eulerkreis31\end{alertblock}32\pause33\begin{block}{Hamiltonkreis}34Sei $G$ ein Graph und $A$ ein Kreis in $G$.3536$A$ heißt \textbf{Hamilton-Kreis} $:\Leftrightarrow \forall_{e \in E}: e \text{ ist genau ein mal in } A$.37\end{block}3839\begin{block}{Eulerscher Kreis}40Sei $G$ ein Graph und $A$ ein Kreis in $G$.4142$A$ heißt \textbf{eulerscher Kreis} $:\Leftrightarrow \forall_{k \in K}: k \in A$.43\end{block}44\end{frame}4546\pgfdeclarelayer{background}47\pgfsetlayers{background,main}48\begin{frame}{Eulerscher Kreis}49\newcommand\n{5}50\begin{center}51\adjustbox{max size={\textwidth}{0.8\textheight}}{52\begin{tikzpicture}53\foreach \number in {1,...,\n}{54\node[vertex] (N-\number) at ({\number*(360/\n)}:5.4cm) {};55}5657\foreach \number in {1,...,\n}{58\foreach \y in {1,...,\n}{59\draw (N-\number) -- (N-\y);60}61}6263\node<2->[vertex,red] (N-1) at ({1*(360/\n)}:5.4cm) {};6465\begin{pgfonlayer}{background}66\path<2->[selected edge] (N-1.center) edge node {} (N-2.center);67\path<3->[selected edge] (N-2.center) edge node {} (N-3.center);68\path<4->[selected edge] (N-3.center) edge node {} (N-4.center);69\path<5->[selected edge] (N-4.center) edge node {} (N-5.center);70\path<6->[selected edge] (N-5.center) edge node {} (N-1.center);71\path<7->[selected edge] (N-1.center) edge node {} (N-3.center);72\path<8->[selected edge] (N-3.center) edge node {} (N-5.center);73\path<9->[selected edge] (N-5.center) edge node {} (N-2.center);74\path<10->[selected edge] (N-2.center) edge node {} (N-4.center);75\path<11->[selected edge](N-4.center) edge node {} (N-1.center);76\end{pgfonlayer}77\end{tikzpicture}78}79\end{center}80\end{frame}8182\pgfdeclarelayer{background}83\pgfsetlayers{background,main}84\begin{frame}{Hamilton-Kreis, kein EK}85\begin{center}86\adjustbox{max size={\textwidth}{0.8\textheight}}{87\begin{tikzpicture}88\node (a)[vertex] at (0,0) {};89\node (b)[vertex] at (2,0) {};90\node (c)[vertex] at (2,2) {};91\node (d)[vertex] at (0,2) {};9293\foreach \from/\to in {a/b,b/c,c/d,d/a,a/c,b/d}94\draw[line width=2pt] (\from) -- (\to);9596\node<2->[vertex,red] (a) at (0,0) {};97\node<3->[vertex,red] (b) at (2,0) {};98\node<4->[vertex,red] (c) at (2,2) {};99\node<5->[vertex,red] (d) at (0,2) {};100\begin{pgfonlayer}{background}101\path<3->[selected edge,black!50] (a.center) edge node {} (b.center);102\path<4->[selected edge,black!50] (b.center) edge node {} (c.center);103\path<5->[selected edge,black!50] (c.center) edge node {} (d.center);104\path<6->[selected edge,black!50] (d.center) edge node {} (a.center);105\end{pgfonlayer}106\end{tikzpicture}107}108\end{center}109\end{frame}110111\pgfdeclarelayer{background}112\pgfsetlayers{background,main}113\begin{frame}{Eulerkreis, kein HK}114\begin{center}115\adjustbox{max size={\textwidth}{0.8\textheight}}{116\begin{tikzpicture}117\node (a)[vertex] at (0,0) {};118\node (b)[vertex] at (2,0) {};119\node (c)[vertex] at (2,2) {};120\node (d)[vertex] at (0,2) {};121\node (e)[vertex] at (1,1) {};122123\foreach \from/\to in {a/b,b/c,c/d,d/a,b/e,e/d}124\draw[line width=2pt] (\from) -- (\to);125\draw[line width=2pt] (b) to[bend right] (d);126127\node<2->[vertex,lime] (d) at (0,2) {};128\node<3->[vertex,red] (a) at (0,0) {};129\node<4->[vertex,red] (b) at (2,0) {};130\node<5->[vertex,red] (c) at (2,2) {};131\node<6->[vertex,lime] (d) at (0,2) {};132\node<7->[vertex,red] (e) at (1,1) {};133\node<8->[vertex,red] (b) at (2,0) {};134\begin{pgfonlayer}{background}135\path<3->[selected edge,black!50] (d.center) edge node {} (a.center);136\path<4->[selected edge,black!50] (a.center) edge node {} (b.center);137\path<5->[selected edge,black!50] (b.center) edge node {} (c.center);138\path<6->[selected edge,black!50] (c.center) edge node {} (d.center);139\path<7->[selected edge,black!50] (d.center) edge node {} (e.center);140\path<8->[selected edge,black!50] (e.center) edge node {} (b.center);141\path<9->[selected edge,black!50] (b.center) to[bend right] (d.center);142\end{pgfonlayer}143\end{tikzpicture}144}145\end{center}146\end{frame}147148\subsection{Satz von Euler}149\begin{frame}{Satz von Euler}150\begin{block}{Satz von Euler}151Wenn ein Graph $G$ eulersch ist, dann hat jede Ecke von $G$ geraden Grad.152\end{block}153154\pause155156$\Rightarrow$ Wenn $G$ eine Ecke mit ungeraden Grad hat, ist $G$ nicht eulersch.157158\pause159160\begin{gallery}161\galleryimage{vollstaendig/k-5}162\galleryimage{koenigsberg/koenigsberg-1}163\end{gallery}164\end{frame}165166\begin{frame}{Beweis: Satz von Euler}167\textbf{Beh.:} $G$ ist eulersch $\Rightarrow \forall e \in E: $ Grad($e$) $\equiv 0 \mod 2$ \pause \\168\textbf{Bew.:} Eulerkreis geht durch jede Ecke $e \in E$\pause, \\169also geht der Eulerkreis (eventuell mehrfach) in $e$ hinein und hinaus \pause \\170$\Rightarrow$ Grad($e$) $\equiv 0 \mod 2$171\end{frame}172173\begin{frame}{Umkehrung des Satzes von Euler}174\begin{block}{Umkehrung des Satzes von Euler}175Wenn in einem zusammenhängenden Graphen $G$ jede Ecke geraden Grad hat, dann176ist $G$ eulersch.177\end{block}178\pause179\underline{Beweis:} Induktion über Anzahl $m$ der Kanten\\180\pause181\underline{I.A.:} $m=0$: $G$ ist eulersch. \cmark\\182\pause183$m=1$: Es gibt keinen Graphen in dem jede Ecke geraden Grad hat. \cmark\\184\pause185$m=2$: Nur ein Graph möglich. Dieser ist eulersch. \cmark\\186\pause187188\underline{I.V.:} Sei $m \in \mathbb{N}_0$ beliebig, aber fest und189es gelte: Für190alle zusammenhängenden Graphen $G$ mit höchstens $m$ Kanten, bei191denen jede Ecke geraden Grad hat, ist $G$ eulersch.192193\pause194195\underline{I.S.:} Sei $G=(E,K)$ mit $2 \leq m = |K|$. $G$ ist zus. \pause196$\Rightarrow$ Jede Ecke von $G$ hat min. Grad 2. \pause197$\xRightarrow[]{A. 5}$ Es gibt einen Kreis $C$ in $G$.\pause198199\dots200201\end{frame}202203\begin{frame}{Umkehrung des Satzes von Euler}204\begin{block}{Umkehrung des Satzes von Euler}205Wenn in einem zusammenhängenden Graphen $G$ jede Ecke geraden Grad hat, dann206ist $G$ eulersch.207\end{block}208\dots209210Sei211\[G_C = (E_C, K_C) \]212Graph zu Kreis $C$ und213214\[G^* = (E, K \setminus K_C).\] \pause215$\Rightarrow$ Alle Knoten jeder Zusammenhangskomponente in $G^*$ haben geraden Grad\\216\pause217$\xRightarrow[]{I.V.}$ Alle $n$ Zhsgk. haben Eulerkreise $C_1, \dots, C_n$\\218\pause219$\Rightarrow$ $C_1, \dots, C_n$ können in $C$ \enquote{eingehängt} werden\\220\pause221$\Rightarrow G$ ist eulersch\pause $\Rightarrow $ Beh.222\end{frame}223224\begin{frame}{Wie findet man Eulerkreise?}225\begin{algorithm}[H]226\begin{algorithmic}227\Require $G = (E, K)$ ein eulerscher Graph.228\\229\State $C \gets$ leerer Kreis230\Repeat231\State $C_\text{tmp} \gets \text{ein beliebiger Kreis}$ \Comment{vgl. Aufgabe 5}232\State $C \gets C $ vereinigt mit $C_\text{tmp}$233\State Entferne Kanten in $C_\text{tmp}$ aus $G$234\State Entferne isolierte Ecken235\Until{$C$ ist Eulerkreis}236\\237\State \textbf{Ergebnis:} Eulerkreis $C$238\end{algorithmic}239\caption{Algorithmus von Hierholzer}240\label{alg:Hierholzer}241\end{algorithm}242\end{frame}243244\begin{frame}{Sind Eulerkreise eindeutig?}245\begin{center}246\large Sind Eulerkreise bis auf Rotation und Symmetrie eindeutig?247\end{center}248\end{frame}249250\tikzstyle{markedCircle}=[blue,line width=1pt,rotate=90,decorate,decoration={snake, segment length=2mm, amplitude=0.4mm},->]251\tikzstyle{markedCircle2}=[red,line width=1pt,rotate=90,decorate,decoration={snake, segment length=3mm, amplitude=0.4mm},->]252\begin{frame}{Sind Eulerkreise eindeutig?}253\begin{tikzpicture}[scale=1.9]254\node[vertex,label=$a_1$] (a1) at (1,2) {};255\node[vertex,label=$b_1$] (b1) at (3,2) {};256\node[vertex,label=$c_1$] (c1) at (2,1) {};257258\node[vertex,label=$b_2$] (b2) at (0,2) {};259\node[vertex,label=$c_2$] (c2) at (1,3) {};260261\node[vertex,label=$c_3$] (c3) at (3,3) {};262\node[vertex,label=$a_3$] (a3) at (4,2) {};263264\draw (a1) -- (b1) -- (c1) -- (a1) -- cycle;265\draw (a1) -- (b2) -- (c2) -- (a1) -- cycle;266\draw (b1) -- (c3) -- (a3) -- (b1) -- cycle;267268\node<2->[vertex, red] (a1) at (1,2) {};269270\draw<2->[color=blue, markedCircle,->] (a1.center) -- (b2.center);271\draw<3->[color=blue, markedCircle] (b2.center) -- (c2.center);272\draw<4->[color=blue, markedCircle] (c2.center) -- (a1.center);273\draw<5->[color=blue, markedCircle] (a1.center) -- (b1.center);274\draw<6->[color=blue, markedCircle] (b1.center) -- (c3.center);275\draw<7->[color=blue, markedCircle] (c3.center) -- (a3.center);276\draw<8->[color=blue, markedCircle] (a3.center) -- (b1.center);277\draw<9->[color=blue, markedCircle] (b1.center) -- (c1.center);278\draw<10->[color=blue, markedCircle] (c1.center) -- (a1.center);279280\draw<11->[markedCircle2] (a1) -- (b2.center);281\draw<12->[markedCircle2] (b2.center) -- (c2.center);282\draw<13->[markedCircle2] (c2.center) -- (a1.center);283\draw<14->[markedCircle2] (a1.center) -- (b1.center);284\draw<15->[markedCircle2] (b1.center) -- (a3.center);285\draw<16->[markedCircle2] (a3.center) -- (c3.center);286\draw<17->[markedCircle2] (c3.center) -- (b1.center);287\draw<18->[markedCircle2] (b1.center) -- (c1.center);288\draw<19->[markedCircle2] (c1.center) -- (a1.center);289\end{tikzpicture}290291\pause292$\Rightarrow$ Eulerkreise sind im Allgemeinen nicht eindeutig293\end{frame}294295\begin{frame}{Offene eulersche Linie}296\begin{block}{Offene eulersche Linie}297Sei $G$ ein Graph und $A$ ein Weg, der kein Kreis ist.298299$A$ heißt \textbf{offene eulersche Linie} von $G :\Leftrightarrow$ Jede Kante300in $G$ kommt genau ein mal in $A$ vor.301\end{block}302303Ein Graph kann genau dann "`in einem Zug"' gezeichnet werden, wenn er eine304offene eulersche Linie besitzt.305\end{frame}306307\begin{frame}{Offene eulersche Linie}308\begin{block}{Satz 8.2.3}309Sei $G$ ein zusammenhängender Graph.310311$G$ hat eine offene eulersche Linie $:\Leftrightarrow G$ hat genau zwei Ecken312ungeraden Grades.313\end{block}314315\pause316317\begin{block}{Beweis "`$\Rightarrow"'$}318Sei $G=(E, K)$ ein zusammenhängender Graph und $L = (e_0, \dots, e_s)$ eine offene319eulersche Linie. \pause320Sei $G^* = (E, K \cup \Set{e_s, e_0})$. \pause321Es gibt einen Eulerkreis in $G^*$ \pause \\322$\xLeftrightarrow{\text{Satz von Euler}}$ In $G^*$ hat jede Ecke geraden Grad \pause \\323Der Grad von nur zwei Kanten wurde um jeweils 1 erhöht \pause \\324$\Leftrightarrow$ in $G$ haben genau 2 Ecken ungeraden Grad. Diese heißen $e_0, e_s$. $\blacksquare$325\end{block}326327\pause328Rückrichtung analog329\end{frame}330331\pgfdeclarelayer{background}332\pgfsetlayers{background,main}333\begin{frame}{Haus des Nikolaus}334\tikzstyle{selected edge} = [draw,line width=5pt,-,red!50]335\begin{center}336\adjustbox{max size={\textwidth}{0.8\textheight}}{337\begin{tikzpicture}338\node[vertex] (a) at (0,0) {};339\node[vertex] (b) at (2,0) {};340\node[vertex] (c) at (2,2) {};341\node[vertex] (d) at (0,2) {};342\node[vertex] (e) at (1,4) {};343344\draw (a) -- (d);345\draw (d) -- (b);346\draw (b) -- (c);347\draw (c) -- (d);348\draw (d) -- (e);349\draw (e) -- (c);350\draw (c) -- (a);351\draw (a) -- (b);352353\node<2->[vertex, red] (a) at (0,0) {};354355\begin{pgfonlayer}{background}356\path<2->[selected edge] (a.center) edge node {} (d.center);357\path<3->[selected edge] (d.center) edge node {} (b.center);358\path<4->[selected edge] (b.center) edge node {} (c.center);359\path<5->[selected edge] (c.center) edge node {} (d.center);360\path<6->[selected edge] (d.center) edge node {} (e.center);361\path<7->[selected edge] (e.center) edge node {} (c.center);362\path<8->[selected edge] (c.center) edge node {} (a.center);363\path<9->[selected edge] (a.center) edge node {} (b.center);364\end{pgfonlayer}365\end{tikzpicture}366}367\end{center}368\end{frame}369370371