Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Kürzester Pfad auf Graphen finden (Roboter, Irrgarten) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Kürzester Pfad auf Graphen finden (Roboter, Irrgarten)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
java_oca
Grünschnabel


Dabei seit: 29.02.2016
Beiträge: 3

Kürzester Pfad auf Graphen finden (Roboter, Irrgarten) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

hier ein Rätsel wo ich gerne die Hilfe dieses Forums in Anspruch nehmen würde:

Ein ungerichtetes Graph beschreibt ein Irrgarten. Jede Kante hat einen positiven bez. negativen Wert. Der Irrgarten kann aus mehreren Exit-Knoten bestehen, es kann aber auch nur einen geben.

Jeder Roboter hat eine gewisse Prozentzahl von Energie. Bei jeder Bewegung (von einer Kante zur nächsten) ändert sich diese Energie, je nach dem Wert der Kante (Also wenn die Kante einen Wert von +20% hat, ändert sich die Energie des Roboters auch um +20%. Wenn die Kante -5% hat, ändert sich die Energie des Roboters auch um -5%, etc.).

Der Roboter stirbt wenn die Energie <= 0 ist. Ziel ist es für ein Roboter den kürzesten Pfad zu finden, ohne dabei zu Sterben.

Der Roboter hat eine Karte des Irrgartens, muss also nur noch den kürzesten Pfad ausrechnen.

Was ist ein guter Ansatz bez. Algorithmus um solch eine Aufgabe anzugehen?

Dijkstra-Algorithmus geht nicht, da es hier nicht um den kürzesten Pfad geht, sondern um den Günstigsten. Außerdem sind negative Kosten inkompatibel.

A* geht auch nicht, da keine wirkliche Schätzung der Distanz zum Exit-Knoten errechnet werden kann.

Den besten Ansatz den ich bisher finden konnte war der Bellman–Ford Algorithmus, allerdings findet dieser nur den günstigsten, nicht den kürtesten Pfad.

Danke für eure Hilfe im Voraus!

java_oca.

ADMIN: Habe Thema ausversehen in falsche Kategorie gepostet. Bitte in Algorithmen verschieben. Danke smile

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von java_oca: 29.02.2016 02:22.

29.02.2016 02:18 java_oca ist offline Beiträge von java_oca suchen Nehmen Sie java_oca in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie stellst du bei Bellman-Ford sicher, dass du zwischendurch nicht stirbst?
Vielleicht kann man das Problem als Min-Cost-Flow umformen.

Je nach Größe des Graphen könntest du auch eine Lookup Table verwenden: wenn du in Knoten X bist und Y Energie übrig hast, schaffst du es auf Weg Z am schnellsten. Da kannst du bei den Endknoten starten und dich dann zur Startposition durcharbeiten.

__________________
Syntax Highlighting fürs Board (Link)
29.02.2016 06:32 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
java_oca
Grünschnabel


Dabei seit: 29.02.2016
Beiträge: 3

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von eulerscheZahl
Vielleicht kann man das Problem als Min-Cost-Flow umformen.


Hallo,

danke für deine Antwort. Geht aber m.M. nach nicht, da durch negative Schleifen low cost immer unemdlich sein wird...

Grüße,

-java_oca
29.02.2016 14:27 java_oca ist offline Beiträge von java_oca suchen Nehmen Sie java_oca in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Kürzester Pfad auf Graphen finden (Roboter, Irrgarten)