Aufgabenstellung 2. Projekt, Aufgabe 3
Guten Tag,
Vielleicht ist dies nur ein voreiliger Schluss und ich habe wichtige Apsekte übersehen, aber mir kommt es momentan so vor, als wäre die dritte Aufgabe des zweiten Projekts im Kontext der anderen Aufgaben überaus ungünstig gestellt. Ähnlich ging es uns bei der Bearbeitung der Aufgabe 6 des ersten Projekts.
-
Aufgabe 2 lässt durchscheinen, dass anscheinend ursprünglich ein Schienensystem geplant war. Der "Straßennetz"-Aspekt wirkt, als wäre er nachträglich hinzugefügt worden. Das offensichtliche Problem hierbei ist, dass bei einem Schienensystem die Bahnhöfe, die durch Knoten modelliert werden, der identifizierende Aspekt sind. Bei einem Straßennetz sind die Straßen entscheidend und diese entsprechen in einem Graphen jedoch den Kanten. Eine Implementierung, die die Straßen durch Knoten modelliert würde erfordern, dass es einen Knoten pro anliegender Straße gibt und diese jeweils zueinander den Abstand 0 haben, was für die Navigation große Probleme bei der Verarbeitung bedeuten würde - ich glaube also nicht, dass dies die Absicht war. Die in Aufgabe 1 spezifizierten Klassen sind für diesen Zweck in keiner Weise ausgelegt. Welche Informationen sollen in Knoten gespeichert werden? Diese sind immerhin Kreuzungen - eine Trennzeichen-basierte Liste aus anliegenden Straßen? Was soll passieren, wernn addEdge() aufgerufen wird? Immerhin können wir keinen Straßennamen übergeben und die Knoten haben diese Information zu diesem Zeitpunkt noch nicht. Es ist für mich nach meiner aktuellen Informations- und Verständnislage klar, dass die Klassen und damit die komplette Aufgabe 1 sich nicht für die Implementierung der Aufgabe 3 eignen.
-
Aufgabe 2 spezifiziert für den Dujkstra-Algorithmus die Funktionen "distanceTo" und "shortestPathTo", Aufgabe 3 erfordert jedoch eine darauffolgende Optimierung der Abbiegemanöver. Da wir nur einen Pfad bekommen und die Klassen aus Aufgabe 1 uns es nicht erlauben, den Graphen so zu implementieren, dass wir von einem Knoten zum anderen Informationen über die Richtung (Abbiegen) bekommen, ist auch diese Aufgabe in dieser Form nicht geeignet, Aufgabe 3 zu implementieren.
Es scheint mir, dass wir die Aufgabe 3 komplett lösgelöst von den anderen Aufgaben implementieren müssen, um gute Ergebnisse zu erzielen, was sich nicht mit den bisherigen Übungsblättern deckt. War dies beabsichtigt, übersehen wir wichtige Aspekte, oder sollte die Aufgabe vielleicht doch angepasst werden?
Grüße, Marvin