Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn))
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn))
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn))
T aus T∗, T 0 und T00 O(mn λ6(mn) log(mn))
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn))
T aus T∗, T 0 und T00 O(mn λ6(mn) log(mn))
T enth¨alt alles was wir brauchen!
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn))
T aus T∗, T 0 und T00 O(mn λ6(mn) log(mn))
T enth¨alt alles was wir brauchen!
Alle sortiert!!
Was bisher geschah!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn))
T aus T∗, T 0 und T00 O(mn λ6(mn) log(mn))
T enth¨alt alles was wir brauchen!
Alle sortiert!!
Danach: Mit T den notwendigen Kantengraph aufbauen!!
Freie Orient. T Alg. 2.11
Freie Orient. T Alg. 2.11
• Idee:
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output:
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
• Datenstruktur:
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
• Datenstruktur: F¨ur jedes Kontaktpaar O unterhalte nach θ sort.
Liste LO(θ): Kontakte O0 die zusammen mit O Knoten in Cfreiθ erzeugen.
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
• Datenstruktur: F¨ur jedes Kontaktpaar O unterhalte nach θ sort.
Liste LO(θ): Kontakte O0 die zusammen mit O Knoten in Cfreiθ erzeugen.
• Initialisierung:
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
• Datenstruktur: F¨ur jedes Kontaktpaar O unterhalte nach θ sort.
Liste LO(θ): Kontakte O0 die zusammen mit O Knoten in Cfreiθ erzeugen.
• Initialisierung: Ber. Cfreiθ0 f¨ur Startorientierung θ0, init. Listen LO(θ0) mit Kontaktpaaren O, O0, die in Cfreiθ0 Knoten erzeugen.
Freie Orient. T Alg. 2.11
• Idee: Aus T∗ die g¨ultigen Orient. mit T0 und T00 und Listen
• Output: T: Menge aller g¨ultigen kritischen Orientierungen
• Datenstruktur: F¨ur jedes Kontaktpaar O unterhalte nach θ sort.
Liste LO(θ): Kontakte O0 die zusammen mit O Knoten in Cfreiθ erzeugen.
• Initialisierung: Ber. Cfreiθ0 f¨ur Startorientierung θ0, init. Listen LO(θ0) mit Kontaktpaaren O, O0, die in Cfreiθ0 Knoten erzeugen.
• Listen werden f¨ur drei Kontakte verwendet!!
Freie Orient. T Alg. 2.11
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
– O, O0, O00 die zugeh. Kontaktpaare.
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
– O, O0, O00 die zugeh. Kontaktpaare. Suche nach O oder O0 in LO00(θi), nach O oder O00 in LO0(θi), nach O0 oder O00 in
LO(θi).
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
– O, O0, O00 die zugeh. Kontaktpaare. Suche nach O oder O0 in LO00(θi), nach O oder O00 in LO0(θi), nach O0 oder O00 in
LO(θi).
– Falls z.B. O0 in LO(θi) (oder O in LO0(θi)) (θi ist frei):
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
– O, O0, O00 die zugeh. Kontaktpaare. Suche nach O oder O0 in LO00(θi), nach O oder O00 in LO0(θi), nach O0 oder O00 in
LO(θi).
Freie Orient. T Alg. 2.11
Bearbeite nach steigendem Winkel alle krit. Orient. θi ∈ T∗:
• Teste, ob bei θi evtl. neue Komponente entsteht.
• Falls ja:
– Falls θi ∈/ T00: ignoriere θi.
– Ansonsten aktualisiere die Listen LO(θi).
• Falls nein:
– O, O0, O00 die zugeh. Kontaktpaare. Suche nach O oder O0 in LO00(θi), nach O oder O00 in LO0(θi), nach O0 oder O00 in
LO(θi).
– Falls z.B. O0 in LO(θi) (oder O in LO0(θi)) (θi ist frei): ber.
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare),
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0.
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0. Falls ja:
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0. Falls ja: Es entsteht konvexe Ecke von Cverbθ , aber keine neue Komponente, θi ist g¨ultig.
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0. Falls ja: Es entsteht konvexe Ecke von Cverbθ , aber keine neue Komponente, θi ist g¨ultig. Falls nein:
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0. Falls ja: Es entsteht konvexe Ecke von Cverbθ , aber keine neue Komponente, θi ist g¨ultig. Falls nein: ignoriere θi.
– Falls Suche erfolglos (z.B. nur zwei Kontaktpaare), teste θi ∈ T0. Falls ja: Es entsteht konvexe Ecke von Cverbθ , aber keine neue Komponente, θi ist g¨ultig. Falls nein: ignoriere θi.
• T besteht aus allen nicht ignorierten Orientierungen aus T∗.
Veranschaulichung!!
Insgesamt!!
Kritische Orientierungen T∗ O(mn λ6(mn) log(mn)) Orientierungen T0 (konv. Eck. von Cverbθ ) O(m2n2 log(mn))
Orientierungen T00 (wicht. Komp.) O(mn λ6(mn) log(mn)) T aus T∗, T 0 und T00 O(mn λ6(mn) log(mn)) T enth¨alt alles was wir brauchen!
Damit l¨aßt sich sukzessive V θ bestimmen, sukzessive der Kantengraph aufbauen
Zeit O(mn λ6(mn) log(mn))
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ!
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ! Zeit: O(nmλ6(mn) log mn),
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ! Zeit: O(nmλ6(mn) log mn),
|T| = O(nmλ6(mn))
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ! Zeit: O(nmλ6(mn) log mn),
|T| = O(nmλ6(mn))
• W¨ahle θ0 ∈/ T und berechne V θ0.
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ! Zeit: O(nmλ6(mn) log mn),
|T| = O(nmλ6(mn))
• W¨ahle θ0 ∈/ T und berechne V θ0.
• Initialisiere E mit den Kanten und Knoten aus V θ0, dabei bleiben die Lebensdauerintervalle L(u) zun¨achst undefiniert.
Aufbau des Kantengraphen: Alg. 2.12
• Berechne Menge T aller kritischen Orientierungen, sortiert nach aufsteigendem θ! Zeit: O(nmλ6(mn) log mn),
|T| = O(nmλ6(mn))
• W¨ahle θ0 ∈/ T und berechne V θ0.
• Initialisiere E mit den Kanten und Knoten aus V θ0, dabei bleiben die Lebensdauerintervalle L(u) zun¨achst undefiniert. (Wir sind mitten in einem Intervall!!)
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
• Sukzessive:
Aufbau des Kantengraphen: Alg. 2.12
• Sukzessive: F¨ur Orientierung θi in T:
Aufbau des Kantengraphen: Alg. 2.12
• Sukzessive: F¨ur Orientierung θi in T:
– Bestimme die ¨Anderungen in V θ: ¨Ubergang von θ = θi − ε nach θ = θi + ε
Aufbau des Kantengraphen: Alg. 2.12
• Sukzessive: F¨ur Orientierung θi in T:
– Bestimme die ¨Anderungen in V θ: ¨Ubergang von θ = θi − ε nach θ = θi + ε
– Entferne alle verschwindenden Knoten und Kanten v1, . . . , vr, e1, . . . , es aus V θ,
Aufbau des Kantengraphen: Alg. 2.12
• Sukzessive: F¨ur Orientierung θi in T:
– Bestimme die ¨Anderungen in V θ: ¨Ubergang von θ = θi − ε nach θ = θi + ε
– Entferne alle verschwindenden Knoten und Kanten v1, . . . , vr, e1, . . . , es aus V θ, setze θi als obere Grenze der Lebensdauer von L(vj) bzw. L(ek) ein
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
• Nach 2π Durchlauf bei θ0: Trage noch fehlenden Lebensdauern
Aufbau des Kantengraphen: Alg. 2.12
• Nach 2π Durchlauf bei θ0: Trage noch fehlenden Lebensdauern nach, genauer: fasse zwei Knoten der Art (u,(θ1, undef.)) und (u, (undef., θ )) zu Knoten (u, (θ , θ )) zusammen
Aufbau des Kantengraphen: Alg. 2.12
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn),
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn), bereits gezeigt
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn), bereits gezeigt Kantengraph hat Komplexit¨at O(mnλ6(mn))
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn), bereits gezeigt Kantengraph hat Komplexit¨at O(mnλ6(mn))
Anfangs: O(mn),
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn), bereits gezeigt Kantengraph hat Komplexit¨at O(mnλ6(mn))
Anfangs: O(mn), dann kommen noch O(mnλ6(mn)) Anderungen¨ dazu
Aufbau des Kantengraphen: Alg. 2.12
Analyse:
Alle ¨Anderungen in O(mnλ6(mn) log mn), bereits gezeigt Kantengraph hat Komplexit¨at O(mnλ6(mn))
Anfangs: O(mn), dann kommen noch O(mnλ6(mn)) Anderungen¨ dazu
Aufbau: O(mnλ6(mn) log mn)!