. Graphen 8 Bespel: f 5 5 d e 7 7 a 4 b 6 c Für den obenstehenden zusammenhängenden Graphen soll en Mnmalgerüst konstruert werden. Wr ordnen zunächst de Kanten des Graphen nach wachsender Bewertung, d.h. {d,e},{b,d},{b,e},{a,b},{d,f},{e,f},{b,c},{c,e},{a,d}. 4 5 5 6 7 7 Be Durchführung des Algorthmus erhalten wr folgende Zwschenresultate: Komponentensystem M {{a},{b},{c},{d},{e},{f}} {{a},{b},{c},{d,e},{f}} {{a},{b,d,e},{c},{f}} {{a,b,d,e},{c},{f}} {{a,b,d,e,f},{c}} {{a,b,c,d,e,f}} - Ausgewählte Kante {d,e} {b,d} {a,b} {d,f} {b,c} De Menge der n deser Wese ausgewählten Kanten, nämlch blden dann en Mnmalgerüst. B={{d,e},{b,d},{a,b},{d,f},{b,c}}. ) Algorthmus für kürzeste Wege Ist G en (gerchteter oder ungerchteter) Graph mt ener reellen Bewertungsfunkton w, so kann man allgemen eder (gerchten oder ungerchteten) Kantenfolge ene Bewertung zuwesen, ndem man de Bewertungen aller darn vorkommenden Kanten aufaddert. In deser Wese kann man dann auch e zwe Knoten a und b des Graphen enen Abstand d(a,b) zuwesen, nämlch als de klenste Bewertung aller Kantenfolgen, welche a und b verbnden. (Falls es kene Kantenfolge gbt, welche a und b verbndet, wrd d(a,b)= gesetzt.) Algorthmus von Dkstra: Se G=(V,E) en (gerchteter oder ungerchteter) Graph mt ener nchtnegatven Bewertung w. Ist dann v V en festgewählter Knoten, so kann dann für eden Knoten v V n folgender Wese der Abstand d(v):=d(v, v ), sowe ene Menge p(v) aller unmttelbaren Vorgänger (auf enem kürzesten Weg von v nach ) berechnet werden: () Setze d(v ), d(v) v V \{ v }, p(v):= v V, sowe U V. v
. Graphen 9 () Falls U=, dann STOP, sonst weter mt (). () Fnde en u U für das d(u) mnmal st. Ist d(u)=, dann ebenfalls STOP. (4) Für alle v U mt uv E se d(v) mn{d(v),d(u)+w(uv)}. Zusätzlch wrd, falls der neue Wert von d(v) klener als der alte st, auch p(v) aktualsert: p(v) {u}. (Ist man dabe ncht nur an enem, sondern an allen kürzesten Wegen von v nach v nteressert, so hätte man m Fall der Glechhet des alten und neuen Wertes de Ersetzung p(v) p(v) {u} vorzunehmen.) (5) Setze U:=U\{u} und mache weter mt (). Nach Beendgung des Algorthmus kann man zu edem v V, welches von v überhaupt über enen Weg errechbar st, was sch n d(v)< ausdrückt, auch sofort enen kürzesten Weg v v... v k von v nach v = v k n der Wese angeben, ndem man ewels en v p(v ) n der Rehenfolge = k,k-,, auswählt. Ist n de Anzahl der Knoten des betrachteten Graphen, so kann man zegen, dass de Komplextät des Dkstra-Algorthmus O(n ) beträgt, was bedeutet, dass der Rechenaufwand (gemessen an der Anzahl von gewssen Elementaroperatonen oder auch enfach an der Rechenzet) ncht stärker anwächst als de Funkton Cn für ene gewsse reelle Konstante C>. Insbesondere handelt es sch dabe also um enen sog. Polynomalzetalgorthmus (d.h. k de Komplextät st von der Form O(n ) für ene gewsse relle Konstante k), welche allgmen als gut angesehen werden. Mt dem glechem Auwand kann nsbesondere auch überprüfen, ob en Knoten v von überhaupt errechbar st, da nur n desem Fall d(v) enen endlchen Wert hat. Bespel: v Für den durch das nachstehende Dagramm gegebenen bewerteten gerchteten Graphen sollen alle Abstände zum Knoten a berechnet werden. v = a 6 b 6 c 7 5 d 8 4 e f g In nachfolgender Tabelle st de laufende Wertetabelle für de Abstandsfunkton d und de ewelgen Vorgänger (wr wählen m Fall von Glechhet mmer nur enen und lassen daher de Klammern {} weg) bem Durchlaufen der enzelnen Iteratonen angegeben.
. Graphen Iteraton d(a) / p(a) d(b) / p(b) d(c) / p(c) d(d) / p(d) d(e) / p(e) d(f ) / p(f ) d(g) / p(g) / 6 / a / a 6 / a 7 / d 4 / d / f 6 / f 6 / f 4 / f 6 / f 5 / f 6 / g 6 / c De ewels n () getroffene Wahl wurde n obger Tabelle besonders hervorgehoben. (De zugehörgen Knoten n der Indexspalte müssen dann n (5) aus U entfernt werden! ) De endgültge Belegung der Werte von d wrd dann durch de fettgedruckten Zahlen n obger Tabelle angegeben, also v a b c d e f g d(v) 6 6 4 6 De n der Tabelle ebenfalls erfassten unmttelbaren Vorgänger auf enem kürzesten Weg zum ewelgen Knoten kann nun dazu verwendet werden, um dese kürzesten Wege auf enfache Wese zu rekonstrueren. Lässt man nämlch m obgen Graphen alle Kanten uv weg, wo u (nach der letzten Iteraton) ncht Vorgänger von v st, so erhält man folgendes Gerüst für unseren Graphen, aus welchen man de kürzesten Wege vom Knoten a zu enem belebgen anderen Knoten unmttelbar ablesen kann: a b 5 c d e f g ) Algorthmen aus der Netzplantechnk En weterer wchtger Algorthmus, welcher von Ford stammt, befasst sch mt der Berechnung von längsten Wegen n Netzplänen. (Vgl. Bespel.) Unter enem Netzplan versteht man dabe enen azyklschen gerchteten Graphen G mt ener reellen Bewertungsfunkton w, wobe darüberhnaus gefordert wrd, dass en Knoten Q mt + d (Q) = (ene sog. Quelle) und en Knoten S mt d (S) = (ene sog. Senke) vorlegt, und dass er darüberhnaus schwach zusammenhängend st, d.h. ohne Berückschtgung der Orenterung der Kanten gbt es stets enen (dann ungerchteten) Weg zwschen zwe verschedenen Knoten des Graphen.
. Graphen In der sog. Netzplatztechnk geht es dann darum, für eden Knoten des Netzplans den längsten Weg (weder m Snne der Bewertung) enes eden Knotens sowohl zur Quelle als auch zur Senke zu bestmmen. In den Anwendungen snd dann de Knoten des Netzplans gewsse Eregnsse (we etwa be enem Bauvorhaben das Errechen von gewssen Staden der Fertgstellung), de Quelle st das Starteregns (z.b. Baubegnn) und de Senke das Zeleregns. Durch technologsche Vorgaben können gewsse Eregnsse oft erst nach anderen entreten, was sch m Graphen so ausdrückt, dass es von enem früheren Eregns E zu enem späteren Eregns F enen gerchteten Weg gbt, dessen Bögen alles Vorgänge snd, welche noch ablaufen müssen, bevor das Eregns F entreten kann, wenn E schon engetreten st. Wr denken uns de Knoten enes Netzplans so von bs n durchnummerert, dass für eden Bogen der Anfangsknoten stets ene nedere Nummer als der Endknoten hat, was stets möglch st. Ene solche Nummererung heßt auch monoton oder aufstegend und mndestens ene solche exstert genau dann, wenn der Graph azyklsch st Gewchtet man alle Kanten enes Netzplans mt (unabhängg von ener schon bestehenden Gewchtung), so heßt de größte Länge enes Wegs von der Quelle Q bs zu enem Knoten K der Rang von K, n Zechen: rg(k). Um dann ene monotone Nummererung der Knoten zu errechen, nummerert man de Knoten nach aufstegendem Rang durch, wobe es für Knoten mt glechem Rang de Rehenfolge bedeutungslos st. De Bestmmung der Ränge gescheht mt nachfolgendem Algorthmus. Algorthmus von Ford: Se G en Netzplan mt der Knotenmenge V, der Bögenmenge E und der Quelle Q. Für alle Knoten v V können dann de Ränge rg(v) folgendermaßen gefunden werden. () Man setze am Anfang rg(v)= für alle v V. () Für alle Knoten v V mt enem postvem Hngrad ersetzte man n ener festen Rehenfolge rg(v) durch max { rg(u) (u, v) E} +. Ändert sch dabe kene der vorläufgen Rangzahlen, so hat man damt de endgültgen Rangzahlen gefunden. Ansonsten wrd () solange wederholt, bs sch de Rangzahlen ncht mehr ändern. Wr dürfen also nach ener eventuellen Durchführung des Fordschen Algorthmus voraussetzen, dass de Knoten des Netzplans mt den Zahlen,,,..,n monoton duchnummerert snd. Wenn de Bewertung der gerchteten Kante von nach de Zetdauer darstellt, welche für den Vorgang, der durch den Bogen von nach dargestellt wrd, benötgt wrd, so snd dann für =,,,,n de Größen FT (=Frühestmöglcher Termn für das Entreten des Eregnsses ), ST (=Spätestmöglcher Termn für das Entreten des Eregnsses ) von großer Wchtgket. Graphentheoretsch st dabe FT nchts anderes als de Länge enes m Snne deser Bewertung längsten Weges von nach und ST de Dfferenz FT -(Länge enes längsten Wegs von nach n). Se können mt der sog. Crtcal Path Method (abg. CPM) folgendermaßen rekursv berechnet werden: d n
. Graphen Algorthmus (CPM): bzw. (mt dem dann bekannten FT n ) FT =, FT = max { FT + d (, ) E}, =,,,n STn = FTn, ST = mn { ST d (, ) E}, =n-,n-,,. Bespel: Durch das folgende Dagramm E/ F/4 4 6 Q/ 4 4 S/5 G/ 4 7 H/ werde en Netzplan mt Quelle Q und Senke S dargestellt und den angeschrebenen Bewertungen dargestellt. De Rangzahlen der Knoten ergeben sch dann aufgrund von we n der letzten Zele angegeben, d.h. es st etwa Q E F Q, E, H, G, F 4, S 5 ene monotone Nummererung. Indem man eden Knoten mt deser Nummer dentfzert, erhält man nach obgem Algorthmus de Tabelle FT ST / Q / / E / E / Q / G / H 4 / Q 7 / S G H / G 6 / E 6 / F S 4 4 4 / F / G / S 5/S 4 / F 4 / Her snd ähnlch we bem Dkstra-Algorthmus zu allen Enträgen auch glech de Vorgänger bzw. Nachfolger mtvermerkt worden, welchen zu den entsprechenden Maxma bzw. Mnma gemäß CPM-Algorthmus geführt hatten.
. Graphen In desem Bespel fallen FT und ST für alle Punkte mt Ausnahme von H zusammen, d.h. für dese sog. krtschen Eregnsse gbt es kenen Puffer (= zetlchen Spelraum), wll man de Mndestgesamtdauer des Proekts, nämlch FT 5 =4 (auch krt. Dauer genannt), ncht gefährden. Aus graphentheoretscher Scht müssen alle dese Knoten auf Wegen von maxmaler Länge von der Quelle bs zur Senke, auch krtsche Pfade (engl. crtcal paths) genannt, legen. In obgem Bespel gbt es nur enen krtschen Pfad, nämlch de Kantenfolge QEGFS, welche daher auch alle krtschen Eregnsse enthält. Zur Rekonstrukton müssen enfach nur de nvolverten Knoten, nämlch Q,E,G,F,S, welche den krtschen Erregnssen entsprechen, mt hren Vorgängerknoten (oder alternatv Nachfolgerknoten) verbunden werden, welche n der Tabelle egens für desen Zweck vermerkt wurden.