Was ist die Relaxationsbedingung in der Graphentheorie?

8

Ich versuche die Hauptbegriffe der Graphentheorie und der darin enthaltenen Algorithmen zu verstehen. Die meisten Algorithmen scheinen einen "Entspannungszustand" zu enthalten. Ich bin mir nicht sicher, was das ist.

Könnte jemand mir das bitte erklären?

Ein Beispiel dafür ist der Dijkstras-Algorithmus, hier ist der Pseudo-Code.

%Vor%

Danke

    
alchemey89 07.04.2010, 13:28
quelle

2 Antworten

29

Entspannungsstufe:

  • Sie haben zwei Knoten, u und v
  • Für jeden Knoten haben Sie eine vorläufige Entfernung vom Quellknoten (für alle Knoten mit Ausnahme der Quelle beginnt sie bei positiver Unendlichkeit und sie sinkt nur bis zum Erreichen des Minimums).

Der Entspannungsschritt stellt im Grunde folgendes:

  • Ich weiß bereits, dass ich v mit einem Pfad der Entfernung dist[v] erreichen kann. Könnte ich das verbessern, indem ich stattdessen zu v bis u gehe? (wo der Abstand der letzteren wäre dist[u] + weight(u, v) )

Grafisch:

%Vor%

Sie kennen einen Pfad s~>v , der den Abstand dist[v] hat, und Sie kennen einen Pfad s~>u , der den Abstand dist[u] hat. Wenn dist[u] + weight(u, v) < dist[v] , dann ist der Pfad s~>u->v kürzer als s~>v , also solltest du diesen besser verwenden!

(Ich schreibe a~>b als Pfad von any Länge von a bis b , während a->b eine direkte einzelne Kante von a bis b ).

Sie können auch diese Vorlesung lesen: Ссылка

    
Dimitris Andreou 07.04.2010, 13:47
quelle
5

Eine der Bedeutungen des englischen Wortes "Entspannung" nimmt etwas ab. Da Sie in den Zeilen 14, 15 und 16 im Wesentlichen prüfen, ob Sie die aktuell berechnete Entfernung verringern (optimieren) können, nehme ich an, dass dies deshalb "Entspannungszustand" genannt wird.

    
Petar Minchev 07.04.2010 13:43
quelle

Tags und Links