From aaeb0840b8ef00bd4ad2cf8931de46bca2eb7fe2 Mon Sep 17 00:00:00 2001 From: Thomas Ba Date: Wed, 9 Nov 2011 11:06:21 +0100 Subject: [PATCH] Update Berechenbarkeits-KomplexTh (1. VL 2011-11-09) --- .../Berechenbarkeits-KomplexTh.tex | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex index 82aa835..661b9d5 100644 --- a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex +++ b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex @@ -584,7 +584,7 @@ \bsp \( D = \{ \left[ \frac{b}{ca} \right], \left[ \frac{a}{ab} \right], \left[ \frac{ca}{a} \right], \left[ \frac{abc}{c} \right] \} \) - Ziel: lege Domins so, dass das Wort, das oben steht gleich dem ist, das unten steht. + Ziel: lege Dominos so, dass das Wort, das oben steht gleich dem ist, das unten steht. \( \left[ \frac{a}{ab} \right] \left[ \frac{b}{ca} \right] \left[ \frac{ca}{a} \right] \left[ \frac{abc}{c} \right] \) Widerspruch!\\ \( \left[ \frac{a}{ab} \right] \left[ \frac{b}{ca} \right] \left[ \frac{ca}{a} \right] \left[ \frac{a}{ab} \right] \left[ \frac{abc}{c} \right] \) @@ -595,11 +595,72 @@ \( \left[ \frac{ab}{abc} \right]\left[ \frac{c}{ab} \right] \) - hat keine Lösung, da Wörter unten immer Länger aös Wörter oben sind. \( D_1 \not\in PCP \) + hat keine Lösung, da Wörter unten immer Länger als Wörter oben sind. \( D_1 \not\in PCP \) \bsp \( \{ \left[ \frac{0}{011} \right] \left[ \frac{001}{1} \right] \left[ \frac{1}{00} \right] \left[ \frac{11}{110} \right] \} \)\\ Kürzeste Lösung hat 515 Dominos. PCP ist unentscheidbar + Eulerkreise: + + Rundweg in $G$, der über \underline{jede} Kante \underline{genau einmal} führt.\\ + Kreis \( = (1,5,2,3,1,2,4,6,3,4) \) + + Ein Eulescher Kreis besucht jeden Knoten gerade oft, d.\,h. jeder Knoten muss geraden Grad haben.\\ + \satz (Euler) $G$ ungerichtet, zusammenhängend\\ + $G$ hat Eulerkreis \( \Leftrightarrow \) jeder Knoten hat geraden Grad. + + Zu "\(\Leftarrow\)": + Konstruiere Eulerkreis\\ + Starte an beliebigem Knote, der noch unbesuchte Knoten hat. Laufe in beliebige Richtung, solange bis es nicht mehr weiter geht.\\ + Falls es noch unbesuchte Kanten gibt, wiederhole.\\ + Füge (rekursiv) die Kreise zu einem Kreis zusammen. + + Der Algorithmus funktioniert, weil in jeder Iteration in dem Restgraph mit dem noch unbesuchten Kanten jeder Knoten geraden Grad hat. (Invariante) + + \underline{Hamilton Kreise} + + = Kreise, in denen jeder Knoten genau einmal besucht wird. + + Brute force: teste alle Möglichkeiten.\\ + n Knoten. Liste alle Permutationen der n Knoten auf.\\ + \(1,2, 3, …, n\)\\ + \(2,1,3,…,n\)\\ + … + + für jede Permutation teste, ob sie ein Hamilton Kreis ist d.\,h. ob alle Kreiskanten in $G$ existieren.\\ + Laufzeit \( \ge n! \) (im schlechtesten Fall)\\ + \( n! \approx 2^{n \log n} \ge 2^n \)\\ + also exponentielle Laufzeit. + + (Sehr schneller) Rechner mit \( 10^9 \frac{\text{instructions}}{s} \)\\ + \( n = 100 \)\\ + \begin{tabular}{c|c|c|c|c} + $t(n)$ & $n$ & $n^2$ & $n^3$ & $2^n$ \\ + \hline + Zeit & $\frac{1}{10^7}$ & $\frac{1}{10^4}$ & $\frac{1}{10^2}$ & \( \frac{2^{100}}{10^9} = \frac{(2^{10})^{10}}{10^9} \approx \frac{(10^3)^{10}}{10^9} = 10^{21} s = 3 * 10^{13} \) Jahre + \end{tabular} + + Schnellere Hardware:\\ + Sei $n_0$ = Eingabegröße, die in 1h gelöst wird.\\ + Neue Rechner, 1000-mal schneller als bisher.\\ + Berechne $n_1$ = Eingabegröße, die in einer Stunde mit den neuen Rechnern gelöst wird. + \begin{enumerate} + \item + \( t(n) = n \)\\ + 1h. \( t(n_1) = 1000 t(n_0) \)\\ + \( n_1 = 1000 * n_0 \) + \item + \( t(n) = n^2: n_1^2 = 1000*n_0^2 \)\\ + \( n1 = \underbrace{\sqrt{1000}}_{\approx 33} * n_0 \) + \item + \( t(n) = n^3 \)\\ + \( n_1^3 = 1000*n_0^3 \)\\ + \( n_1 = 10 * n_0 \) + \item + \( t(n) = 2^n \)\\ + \( 2^{n_1} = 1000 * 2^{n_0} = 2^{n_0 + \log 1000} \)\\ + \( \Rightarrow n_1 = n_0 + \underbrace{\log 1000}_{\le 10} \) + \end{enumerate} \end{document}