Informatik Algorithmen – Bellman-Ford und negative Kanten
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Welches Problem löst der Bellman-Ford-Algorithmus? · Warum versagt Dijkstra bei negat…
Karten
15 KartenWelches Problem löst der Bellman-Ford-Algorithmus?
Rückseite
Er findet kürzeste Pfade von einem Startknoten zu allen anderen Knoten in Graphen mit negativ gewichteten Kanten.
Warum versagt Dijkstra bei negativen Kanten?
Rückseite
Dijkstra geht davon aus, dass ein einmal festgelegter kürzester Pfad nie kürzer wird – negative Kanten verletzen diese Annahme.
Was bedeutet Kanten-Relaxieren bei Bellman-Ford?
Rückseite
Prüfen, ob der Pfad über eine Kante (u,v) kürzer ist als der aktuell bekannte Pfad nach v, und Distanz entsprechend aktualisieren.
Wie viele Relaxierungs-Iterationen führt Bellman-Ford standardmäßig durch?
Rückseite
Genau |V| - 1 Iterationen, wobei |V| die Anzahl der Knoten ist.
Warum sind |V| - 1 Iterationen ausreichend?
Rückseite
Ein kürzester Pfad ohne Zyklen enthält maximal |V| - 1 Kanten; nach so vielen Iterationen sind alle solchen Pfade gefunden.
Wie erkennt Bellman-Ford einen negativen Zyklus?
Rückseite
Nach |V| - 1 Iterationen wird eine weitere ausgeführt: verkürzt sich noch eine Distanz, existiert ein negativer Zyklus.
Wie lautet die Laufzeitkomplexität von Bellman-Ford?
Rückseite
O(|V| · |E|), da |V| - 1 Iterationen jeweils alle |E| Kanten relaxieren.
Wie werden die Distanzen vor dem ersten Durchlauf initialisiert?
Rückseite
Startknoten erhält Distanz 0, alle anderen Knoten erhalten Unendlich (∞).
Was ist ein negativer Zyklus in einem Graphen?
Rückseite
Ein Zyklus, dessen Summe der Kantengewichte negativ ist – kürzeste Pfade sind dann nicht wohldefiniert.
Kann Bellman-Ford mit ungerichteten Graphen umgehen?
Rückseite
Nur wenn keine negativen Kanten existieren; eine ungerichtete negative Kante erzeugt sofort einen negativen 2-Zyklus.
Was passiert bei einer Kante (u,v) mit Gewicht w beim Relaxieren?
Rückseite
Falls dist[u] + w < dist[v], wird dist[v] auf dist[u] + w gesetzt und Vorgänger[v] auf u aktualisiert.
Wann kann Bellman-Ford vorzeitig terminieren?
Rückseite
Wenn in einer kompletten Iteration keine Distanz mehr aktualisiert wurde – alle kürzesten Pfade sind dann final.
Welche praktische Anwendung haben negative Kantengewichte?
Rückseite
Modellierung von Gewinnen (negative Kosten), Währungsarbitrage oder zeitliche Constraints in Scheduling-Problemen.
Wie gibt Bellman-Ford den konkreten Pfad zum Zielknoten aus?
Rückseite
Über das Vorgänger-Array vom Zielknoten rückwärts zum Startknoten folgen und die Reihenfolge umkehren.
Was ist der Unterschied zwischen Bellman-Ford und SPFA?
Rückseite
SPFA (Shortest Path Faster Algorithm) nutzt eine Queue und relaxiert nur Knoten, deren Distanz sich geändert hat – oft schneller in der Praxis.