From 484c06dbd2056faa4c6a1fc9e7e66d2a8332b5f5 Mon Sep 17 00:00:00 2001 From: arnekeller Date: Sat, 13 Apr 2019 13:05:52 +0200 Subject: [PATCH] Minor doc. changes --- DokumentationAufgabe1.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/DokumentationAufgabe1.tex b/DokumentationAufgabe1.tex index 35da22f..678e109 100644 --- a/DokumentationAufgabe1.tex +++ b/DokumentationAufgabe1.tex @@ -72,7 +72,7 @@ Zunächst kann man feststellen, dass jeder Abschnitt einer Route immer exakt ger \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7] + \tkzInit[xmax=3.5,ymax=6.5] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0){B} @@ -92,7 +92,7 @@ Zunächst kann man feststellen, dass jeder Abschnitt einer Route immer exakt ger \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7] + \tkzInit[xmax=3.5,ymax=6.5] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0){B} @@ -111,7 +111,7 @@ Zunächst kann man feststellen, dass jeder Abschnitt einer Route immer exakt ger \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7] + \tkzInit[xmax=3.5,ymax=6.5] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0){B} @@ -153,7 +153,7 @@ Der letzte Abschnitt ihrer Route trifft die y-Achse immer in einem 60\degree-Win \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7.5] + \tkzInit[xmax=3.5,ymax=6.3] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0.3){B} @@ -175,7 +175,7 @@ Der letzte Abschnitt ihrer Route trifft die y-Achse immer in einem 60\degree-Win \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7.5] + \tkzInit[xmax=3.5,ymax=6.3] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0.5359){B} @@ -199,7 +199,7 @@ Der letzte Abschnitt ihrer Route trifft die y-Achse immer in einem 60\degree-Win \begin{subfigure}{.33\textwidth} \centering \begin{tikzpicture} - \tkzInit[xmax=3.5,ymax=7.5] + \tkzInit[xmax=3.5,ymax=6.3] \tkzAxeXY \tkzGrid \tkzDefPoint(0,0.3){B} @@ -233,7 +233,7 @@ Das Programm benutzt den Dijkstra-Algorithmus, um die beste Route für Lisa zu f Der Weg von Lisa und dem Bus wird animiert ausgegeben. Zusätzlich zu den unbedingt benötigten Ausgaben wie z.B. der Start- und Zielzeit gibt das Programm auch noch die theoretisch (ohne Hindernisse) beste Startzeit aus. Nützlich sind auch die Debug-Ausgaben, die Statistiken zur Eingabedatei und der Performanz (Zeit pro Iteration, Gesamtzeit) enthalten. \subsection{Laufzeitanalyse} -Da programmintern der Dijkstra-Algorithmus verwendet wird, entspricht die Laufzeit in etwa diesem. Somit ist die Zeitkomplexität ca. $O(n^2)$, wobei $n$ die Anzahl der Ecken aller Polygone ist. Effektiv können allerdings in jedem Schritt nur eine kleine Anzahl anderer Ecken erreicht werden, was den Algorithmus beschleunigt. Im Abschnitt \ref{performance} werden diese theoretischen Werte überprüft. +Da programmintern der Dijkstra-Algorithmus verwendet wird, entspricht die Laufzeit in etwa diesem. Somit ist die Zeitkomplexität ca. $O(n^2)$, wobei $n$ die Anzahl der Ecken aller Polygone ist. Effektiv können allerdings in jedem Schritt nur eine kleine Anzahl anderer Ecken erreicht werden, was den Algorithmus beschleunigen könnte. In Abschnitt \ref{performance} werden diese theoretischen Werte überprüft. \subsection{Optimierungen} Das Programm benutzt bestimmte Heuristiken, um die Suche zu beschleunigen. Eine davon ist die maximal mögliche Aufstehzeit für eine bestimmte Route. Um diese schnell zu berechnen, kann man zunächst feststellen, das der Bus mit konstanter Geschwindigkeit fährt. Deshalb ist eine Startposition des Busses mit einer kleineren y-Koordinate äquivalent zu einem früheren Aufstehen von Lisa. Das Programm berechnet daher die höchstmögliche Startposition für eine gegebene Route, weil diese Größe proportional zur gesuchten Größe ist.