diff --git a/DokumentationAufgabe1.tex b/DokumentationAufgabe1.tex index ce84744..1683d9a 100644 --- a/DokumentationAufgabe1.tex +++ b/DokumentationAufgabe1.tex @@ -236,6 +236,11 @@ Das Programm durchsucht in einer optimierten Breitensuche alle Wege, die über P Der Weg von Lisa und dem Bus ist animiert. 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 und während der Suche gefundene Verbesserungen aus. +\subsection{Optimierungen} +Wie bereits in der Laufzeitanalyse kurz angesprochen, benutzt das Programm bestimmte Heuristiken, um die Suche zu beschleunigen. Eine davon ist die maximal mögliche Wartezeit für eine bestimmte Route. Dafür berechnet das Programm die höchstmögliche Position des Busses, was proportional zur gesuchten Größe ist. + +Um zu überprüfen, ob ein Routenabschnitt die Hindernisse schneidet, wird unter anderem ein R*-Baum benutzt. Mit ca. 40 Polygonen ist diese Methode ca. 5-6x schneller als alle Polygone zu überprüfen. Die Geschwindigkeitsgewinne werden größer, je mehr Polygone vorhanden sind. + \section{Beispiele} Alle Beispiele sind im Maßstab 1:70m. \lstinputlisting[caption=Lösung für lisarennt1.txt,frame=single,breaklines=true]{run1.txt}