europe seen by the germans - wuecampus2.uni-wuerzburg.de · beschriftung von punkten allgemeiner...

Post on 24-Oct-2019

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Schriftplazierung

http://bigthink.com/blogs/strange-maps

Europe seen by the Germans

Schriftplazierung

http://bigthink.com/blogs/strange-maps

Europe seen by the French

http://www.worldofmaps.net/

http://www.worldofmaps.net/

Beschriftung (Namen) für • Flächen • Linien • Punkte

abhängig vom Maßstab! (Berlin: Fläche oder Punkt)

nach Imhof (1975)

Kriterien für gute Beschriftung 1. Lesbarkeit

nach Imhof (1975)

Kriterien für gute Beschriftung 1. Lesbarkeit 2. klare Zuordnung von Namen zu Objekten

nach Imhof (1975)

Kriterien für gute Beschriftung 1. Lesbarkeit 2. klare Zuordnung von Namen zu Objekten 3. Namen sollen anderen Karteninhalt wenig stören (keine

Verdeckung von Objekten)

nach Imhof (1975)

Kriterien für gute Beschriftung 1. Lesbarkeit 2. klare Zuordnung von Namen zu Objekten 3. Namen sollen anderen Karteninhalt wenig stören (keine

Verdeckung von Objekten) 4. Namen sollen Verständnis von Kartenobjekten erleichtern. 5. Schrifttyp und -größe sollen Klassen und Hierarchien wiedergeben.

nach Imhof (1975)

Kriterien für gute Beschriftung 1. Lesbarkeit 2. klare Zuordnung von Namen zu Objekten 3. Namen sollen anderen Karteninhalt wenig stören (keine

Verdeckung von Objekten) 4. Namen sollen Verständnis von Kartenobjekten erleichtern. 5. Schrifttyp und -größe sollen Klassen und Hierarchien wiedergeben. 6. Dichte der Namen soll angemessen variieren.

nach Imhof (1975)

Dichte der Namen soll mit Siedlungsdichte variieren, in Ballungszentren aber nicht zu hoch sein.

maps.google.com

Kriterien für gute Beschriftung 1. Lesbarkeit 2. klare Zuordnung von Namen zu Objekten 3. Namen sollen anderen Karteninhalt wenig stören (keine

Verdeckung von Objekten) 4. Namen sollen Verständnis von Kartenobjekten erleichtern. 5. Schrifttyp und -größe sollen Klassen und Hierarchien wiedergeben. 6. Dichte der Namen soll angemessen variieren.

nach Imhof (1975)

Textplazierung: 1. Auswahl von Namen 2. Anordnung der Schrift

maps.google.com

Beschriftung von Punkten

four-position model

Beschriftung von Punkten

four-position model

Würzburg

Beschriftung von Punkten

four-position model

Würzburg

Beschriftung von Punkten

four-position model

Würzburg

Beschriftung von Punkten

four-position model

Würzburg

Beschriftung von Punkten

four-position model

two-position model

one-position model

Beschriftung von Punkten

four-position model

two-position model

one-position model

four-slider model

two-slider model

one-slider model

Würzburg Würzburg

fixed-position model slider model

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst alle Punkte, so dass sich Label nicht schneiden

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst alle Punkte, so dass sich Label nicht schneiden

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst alle Punkte, so dass sich Label nicht schneiden

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst alle Punkte, so dass sich Label nicht schneiden

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst alle Punkte, so dass sich Label nicht schneiden

Bei fünf Punkten gibt es im four-position model möglicherweise keine Lösung, in der alle Punkte beschriftet werden!

Beschriftung von Punkten

typisches Problem: • Punktmenge gegeben • Modell gewählt • beschrifte möglichst viele Punkte, so dass sich Label nicht schneiden

Bei fünf Punkten gibt es im four-position model möglicherweise keine Lösung, in der alle Punkte beschriftet werden!

Beschriftung von Punkten Allgemeiner Ansatz für fixed-position models: Agarwal et al. (1998): Label placement by maximum independent set in rectangles

• Für Punkt 𝑝𝑖 mit 𝑖 = 1,… ,𝑚 gibt es eine diskrete Menge von Labelpositionen, d.h., eine Menge 𝑅𝑖 von achsparallelen Rechtecken,

wobei 𝑝𝑖 ∈ 𝑟 für jedes 𝑟 ∈ 𝑅𝑖.

Beschriftung von Punkten Allgemeiner Ansatz für fixed-position models:

• gegeben Menge 𝑅 = 𝑅1 ∪⋯∪ 𝑅𝑚 • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

• Für Punkt 𝑝𝑖 mit 𝑖 = 1,… ,𝑚 gibt es eine diskrete Menge von Labelpositionen, d.h., eine Menge 𝑅𝑖 von achsparallelen Rechtecken,

wobei 𝑝𝑖 ∈ 𝑟 für jedes 𝑟 ∈ 𝑅𝑖.

Agarwal et al. (1998): Label placement by maximum independent set in rectangles

Beschriftung von Punkten Allgemeiner Ansatz für fixed-position models:

• gegeben Menge 𝑅 = 𝑅1 ∪⋯∪ 𝑅𝑚 • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

• Für Punkt 𝑝𝑖 mit 𝑖 = 1,… ,𝑚 gibt es eine diskrete Menge von Labelpositionen, d.h., eine Menge 𝑅𝑖 von achsparallelen Rechtecken,

wobei 𝑝𝑖 ∈ 𝑟 für jedes 𝑟 ∈ 𝑅𝑖.

(Es werden nie zwei Rechtecke 𝑟1, 𝑟2 für denselben Punkt 𝑝 gewählt, da 𝑝 in 𝑟1 und 𝑟2 liegt; 𝑟1 und 𝑟2 schneiden sich also.)

Agarwal et al. (1998): Label placement by maximum independent set in rectangles

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Lösung: • Finde größte unabhängige Menge in 𝐺

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Lösung: • Finde größte unabhängige Menge in 𝐺

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Lösung: • Finde größte unabhängige Menge in 𝐺

für allgemeine Graphen NP-schwer!

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Lösung: • Finde größte unabhängige Menge in 𝐺

für Schnittgraphen von gleich großen Quadraten NP-schwer! (Imai & Asano, 1983)

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definition: Der Schnittgraph 𝐺 = (𝑅, 𝐸) • enthält einen Knoten für jedes Rechteck und • eine Kante 𝑢, 𝑣 wenn sich die Rechtecke 𝑢 und 𝑣 schneiden.

𝐺

𝑟1

𝑟2

𝑟6

𝑟3 𝑟4

𝑟5

Ziel: Approximationsalgorithmus

Ansatz: Verwende Algorithmus für einfachen Spezialfall

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus:

Greedy!

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus: sortiere Rechtecke nach 𝑥-Koordinate ihres rechten Randes in Liste 𝐿 S = ∅, 𝑟 = 𝐿.ℎ𝑒𝑎𝑑 while 𝑟 ≠ 𝑛𝑖𝑙 do 𝑆 = 𝑆 ∪ 𝑟 𝑟′ = 𝑟.𝑛𝑒𝑥𝑡 while 𝑟′ ≠ 𝑛𝑖𝑙 and 𝑟′.𝑥𝑀𝑖𝑛 ≤ 𝑟.𝑥𝑀𝑎𝑥 do 𝑟′ = 𝑟′.𝑛𝑒𝑥𝑡 𝑟 = 𝑟′ return 𝑆

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Spezialfall: • Es gibt eine horizontale Gerade, die alle Rechtecke in 𝑅 schneidet.

Algorithmus:

Greedy! Laufzeit: • 𝑂 𝑛 log 𝑛 • bzw. 𝑂 𝑛 , wenn Eingabe bereits geordnet

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 𝑟7

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definitionen: • Sei 𝑥med der Median von 𝑟.𝑥𝑀𝑖𝑛, 𝑟.𝑥𝑀𝑎𝑥 𝑟 ∈ 𝑅 .

𝑥med

𝑟7

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definitionen: • Sei 𝑥med der Median von 𝑟.𝑥𝑀𝑖𝑛, 𝑟.𝑥𝑀𝑎𝑥 𝑟 ∈ 𝑅 . • Sei 𝑅12 ⊆ 𝑅 die Menge der Rechtecke auf der Vertikalen durch 𝑥med.

𝑟7

𝑥med

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definitionen: • Sei 𝑥med der Median von 𝑟.𝑥𝑀𝑖𝑛, 𝑟.𝑥𝑀𝑎𝑥 𝑟 ∈ 𝑅 . • Sei 𝑅12 ⊆ 𝑅 die Menge der Rechtecke auf der Vertikalen durch 𝑥med. • Sei 𝑅1 ⊆ 𝑅 die Menge der Rechtecke links der Vertikalen durch 𝑥med.

𝑟7

𝑥med

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Definitionen: • Sei 𝑥med der Median von 𝑟.𝑥𝑀𝑖𝑛, 𝑟.𝑥𝑀𝑎𝑥 𝑟 ∈ 𝑅 . • Sei 𝑅12 ⊆ 𝑅 die Menge der Rechtecke auf der Vertikalen durch 𝑥med. • Sei 𝑅1 ⊆ 𝑅 die Menge der Rechtecke links der Vertikalen durch 𝑥med. • Sei 𝑅2 ⊆ 𝑅 die Menge der Rechtecke rechts der Vertikalen durch 𝑥med.

𝑟7

𝑥med

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Algorithmus (für 𝑛 ≤ 2): if 𝑛 = 0 then return ∅ if 𝑛 = 1 or 𝑟1 ∩ 𝑟2 ≠ ∅ then return 𝑟1 return 𝑟1, 𝑟2

𝑥med

𝑟7

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Algorithmus (für 𝑛 > 2): Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

𝑥med

𝑟7

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Algorithmus (für 𝑛 > 2): Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

𝑥med

𝑟7

𝑰𝟏𝟐

Beschriftung von Punkten Problem:

• gegeben Menge 𝑅 von 𝑛 achsparallelen Rechtecken • wähle möglichst viele Rechtecke aus 𝑅, die sich nicht schneiden

Allgemeinfall:

𝑟1

𝑟2 𝑟3

𝑟4

𝑟5 𝑟6 Algorithmus (für 𝑛 > 2): Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

𝑥med

𝑟7 𝑰𝟏 ∪ 𝑰𝟐

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Behauptung: Der Algorithmus liefert eine Lösung 𝐼 mit 𝐼 ≥ 𝐼∗ log 𝑅 , wobei 𝐼∗ eine optimale Lösung ist.

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Behauptung: Der Algorithmus liefert eine Lösung 𝐼 mit 𝐼 ≥ 𝐼∗ log 𝑅 , wobei 𝐼∗ eine optimale Lösung ist.

Beweis durch Induktion: Behauptung stimmt für 𝑅 ≤ 2 Zu zeigen: Wenn Behauptung für 𝑅 < 𝑛 stimmt, dann auch für 𝑅 = 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼1

∗ log 𝑛 2 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 wegen 𝑅1 ≤ 𝑛 2 und Induktionsannahme

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 , 𝐼2 ≥ 𝐼∗ ∩ 𝑅2 log 𝑛 − 1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 , 𝐼2 ≥ 𝐼∗ ∩ 𝑅2 log 𝑛 − 1

𝐼 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗∩𝑅1 + 𝐼∗∩𝑅2

log 𝑛−1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 , 𝐼2 ≥ 𝐼∗ ∩ 𝑅2 log 𝑛 − 1

𝐼 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗∩𝑅1 + 𝐼∗∩𝑅2

log 𝑛−1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 , 𝐼2 ≥ 𝐼∗ ∩ 𝑅2 log 𝑛 − 1

𝐼 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗∩𝑅1 + 𝐼∗∩𝑅2

log 𝑛−1

𝐼∗ − 𝐼∗ ∩ 𝑅12

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2 𝐼12

∗ = 𝐼12 ≥ 𝐼∗ ∩ 𝑅12 𝐼1 ≥ 𝐼∗ ∩ 𝑅1 log 𝑛 − 1 , 𝐼2 ≥ 𝐼∗ ∩ 𝑅2 log 𝑛 − 1

𝐼 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗ − 𝐼∗∩𝑅12 log 𝑛−1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

𝐼 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗ − 𝐼∗ ∩ 𝑅12

log 𝑛 − 1

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

𝑰 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝑰∗ ∩ 𝑹𝟏𝟐 ,𝐼∗ − 𝐼∗ ∩ 𝑅12

log 𝑛 − 1

Fall 𝑰∗ ∩ 𝑹𝟏𝟐 ≥ 𝑰∗ 𝐥𝐨𝐠𝒏 :

𝐼 ≥ 𝐼∗ log 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

𝑰 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝑰∗ − 𝑰∗ ∩ 𝑹𝟏𝟐

𝐥𝐨𝐠𝒏 − 𝟏

Fall 𝑰∗ ∩ 𝑹𝟏𝟐 < 𝑰∗ 𝐥𝐨𝐠𝒏 :

𝐼 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗ − 𝐼∗ log 𝑛

log 𝑛 − 1= max 𝐼∗ ∩ 𝑅12 ,

𝐼∗

log 𝑛 ≥

𝐼∗

log 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

𝑰 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝑰∗ − 𝑰∗ ∩ 𝑹𝟏𝟐

𝐥𝐨𝐠𝒏 − 𝟏

Fall 𝑰∗ ∩ 𝑹𝟏𝟐 < 𝑰∗ 𝐥𝐨𝐠𝒏 :

𝐼 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗ − 𝐼∗ log 𝑛

log 𝑛 − 1= max 𝐼∗ ∩ 𝑅12 ,

𝐼∗

log 𝑛 ≥

𝐼∗

log 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

𝑰 = max 𝐼12 , 𝐼1 + 𝐼2 ≥ max 𝐼∗ ∩ 𝑅12 ,𝑰∗ − 𝑰∗ ∩ 𝑹𝟏𝟐

𝐥𝐨𝐠𝒏 − 𝟏

Fall 𝑰∗ ∩ 𝑹𝟏𝟐 < 𝑰∗ 𝐥𝐨𝐠𝒏 :

𝐼 ≥ max 𝐼∗ ∩ 𝑅12 ,𝐼∗ − 𝐼∗ log 𝑛

log 𝑛 − 1= max 𝐼∗ ∩ 𝑅12 ,

𝐼∗

log 𝑛 ≥

𝐼∗

log 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Beweis durch Induktion: 𝐼12

∗ , 𝐼1∗, 𝐼2

∗ seien optimale Lösungen für 𝑅12, 𝑅1, 𝑅2

Also 𝐼 ≥𝐼∗

log 𝑛

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Laufzeit: 𝑇 𝑛 = 2𝑇 𝑛 2 + 𝑂 𝑛

Rekursionen

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Laufzeit: 𝑇 𝑛 = 2𝑇 𝑛 2 + 𝑂 𝑛

Berechnung von 𝑅12, 𝑅1, 𝑅2 Greedy-Algorithmus (Sortierung nur am Anfang erforderlich)

Beschriftung von Punkten Algorithmus (für 𝑛 > 2):

Berechne 𝑅12, 𝑅1, 𝑅2 Löse Problem für 𝑅12 optimal mit Greedy-Algorithmus → 𝐼12 Löse Problem für 𝑅1 durch rekursiven Aufruf des Algorithmus → 𝐼1 Löse Problem für 𝑅2 durch rekursiven Aufruf des Algorithmus → 𝐼2 if 𝐼12 ≥ 𝐼1 + 𝐼2 then return 𝐼12 else return 𝐼1 ∪ 𝐼2

Laufzeit: 𝑇 𝑛 = 𝑂 𝑛 log 𝑛

top related