Projekt 4: Routenplaner für Fußgänger

Werbung
Projekt 4:
Routenplaner für Fußgänger
Projektbetreuer:
Timo Leuders
Teilnehmer/innen:
Jannik Dreier, Städt. Gymnasium, Blomberg
Jeremi Dzienian, Gymnasium Leopoldinum, Detmold
Juliane Exeler, Städt. Kopernikus-Gymnasium, Rheine
Christian Kuster, Gymnasium Im Loekamp, Marl
Thomas Petig, Städt. Gymnasium, Barntrup
Benedikt Pleie, Städt. Gymnasium, Ochtrup
Projekt 4:
Routenplaner für Fußgänger
Die Grundideen:
Ein Strassennetz können wir als Graph aus Knoten und Kanten
darstellen
Alle möglichen Wege von A nach B zu berechnen, dauert zu lange
Die Strategie, Wege, die grob in die richtige Himmelsrichtung
führen, bei der Suche zu bevorzugen, führt nicht zwangsläufig
schneller zum Ziel
Was ist ein optimaler Weg?
•Der kürzeste Weg?
•Der Weg mit den wenigsten Kanten?
•Der schnellste Weg?
•Der Weg mit dem geringsten “Engergieverbrauch”?
Projekt 4:
Routenplaner für Fußgänger
Der Dijkstra-Algorithmus:
Gehe zum Startknoten
Gehe zum nächsten Nachbarn und berechne Entfernung zum Startpunkt
Ergebnis < kleinstes
gespeichertes Ergebnis?
ja
Merke Entfernung
nein
Alle Nachbarn geprüft?
ja
Alle Knoten geprüft?
ja
Fertig!!
nein
nein
Gehe zu dem Knoten
mit der niedrigsten
gemerkten Entfernung
zum Startpunkt, der
noch nicht bearbeitet
wurde
Projekt 4:
Routenplaner für Fußgänger
Aufbau des Programms:
Routenplaner
Eingabemodul
Datenkonvertierungs-Modul
Manuelle Eingabe
Automatische Kartenerkennung
Vielen Dank an die Projektgruppe
Gesichtserkennung!!
Weg-Berechnungs-Modul
Ausgabemodul
Projekt 4:
Routenplaner für Fußgänger
Eingabe des Stadtplans:
Erfassung des
Strassennetzes durch
Markieren von
Kreuzungen und
Strassen
Es entsteht ein
Graph aus Knoten
und Kanten
Jeder Knoten wird mit
Koordinaten und
benachbarten Knoten
in einer Textdatei
abgelegt
Projekt 4:
Routenplaner für Fußgänger
Das Eingabemodul:
manuelle und computergerechte Eingabe der Straßen und Kreuzungen durch Punkte und
Linien z.B. auf Karten oder Luftbildern
Projekt 4:
Routenplaner für Fußgänger
Datenkonvertierungs-Modul:
Projekt 4:
Routenplaner für Fußgänger
Dijkstra-Implementierungen im Vergleich:
Implementierung 1: Berechnung erfolgt direkt auf Strings
 PRO: Keine Komplizierten Umwandlungen;
schnell, wenn oft neue Karten eingelesen werden
 CONTRA: Langsam bei vielen Berechnungen auf einer Karte
Implementierung 2: Umrechnung in eine Baumstruktur mit Pointer
 PRO: Sehr schnell bei vielen Berechnungen auf einer Karte
 CONTRA: Langsam beim Einlesen der Daten
Implementierung 3: Umrechnung in eine Baumstruktur ohne echte Pointer
 Kompromiss aus beiden Implementierungen
Projekt 4:
Routenplaner für Fußgänger
Testläufe der drei Implementierungen und ihre Ergebnisse:
Gesamtlaufzeit
350
300
250
200
Zeit/s
150
100
50
0
5000
10000
20000
30000
40000
Knoten
5000
Kanten
 Implementierung 1
50000
(teilweise unvollendet)
1000
400
200
8
30000
Berechnungszeit
Gesamtlaufzeit
300
20000
30000
40000
Knoten
1000
400
200
8
30000
5000
Kanten
(Kantenanzahl hat kaum Einfluss auf
Berechnungszeit; sehr grosse
Graphen lassen sich nicht in dem
Baum darstellen)
250
5000
200
10000
Zeit/s 150
100
20000
30000
50
0
Knoten
5000
Kanten
Berechnungszeit
Gesamtlaufzeit
300
350
300
5000
250
10000
200
20000
150
30000
40000
100
50000
50
30000
250
5000
200
 Implementierung 3 
10000
Zeit/s 150
20000
100
30000
50
500
300
5000
1000
Kanten
400
Knoten
200
8
0
Knoten
40000
30000
100
400
500
5000
1000
Kanten
300
200
8
0
100
Zeit/s
40000
30000
1000
 Implementierung 2 
400
10000
200
5000
8
350
300
250
200
Zeit/s
150
100
50
0
50000
Projekt 4:
Routenplaner für Fußgänger
Ausgabemodul:
Die rote Linie entspricht dem kürzesten Weg.
Projekt 4:
Routenplaner für Fußgänger
…Das war…
Projektgruppe 4 schreibt einen Routenplaner für Fussgänger
ODER
ZITAT: “Das ist das absolute Chaos hier. Aber WIR finden den
kürzesten Weg wieder heraus!!”
Herunterladen