Punktbeschriftung in Dynamischen Karten

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Punktbeschriftung in Dynamischen Karten"

Transkript

1 Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg

2 Übungen Nachtrag 1) Überlegen Sie sich, wie man den O(n log n)-algorithmus auf Label mit unterschiedlichen Höhen anpassen kann. Ändert sich dadurch die Laufzeit? while H right, H int oder H V nicht leer do v find-min(h V ) while v links von F do delete-min(h V ); v find-min(h V ) l i linkestes Label aus H right, H int und H V füge l i zur Beschriftung hinzu f new rechte Kante von l i update F und T V mit f new suche mit der Region links von f new in P left und P right und update H right, P left, H int, T i s und P right wie beschrieben entferne alle Verweise auf p i aus den Datenstrukturen 2

3 Übungen Nachtrag 1) Überlegen Sie sich, wie man den O(n log n)-algorithmus auf Label mit unterschiedlichen Höhen anpassen kann. Ändert sich dadurch die Laufzeit? while H right, H int oder H V nicht leer do v find-min(h V ) while v links von F do delete-min(h V ); v find-min(h V ) 2 l i linkestes Label aus H right, H int und H V while l i nicht zulässig do l i linkestes Label aus H right, H int und H V füge l i zur Beschriftung hinzu f new rechte Kante von l i update F und T V mit f new suche mit der Region links von f new in P left und P right und update H right, P left, H int, T i s und P right wie beschrieben entferne alle Verweise auf p i aus den Datenstrukturen

4 Was ist eine Landkarte? r e d o 3 Dr. Martin No llenburg Vorlesung Algorithmische Kartografie

5 Die Ära der dynamischen Karten Die meisten Karten sind heute nicht mehr statisch und allgemein, sondern dynamisch und individuell. 4

6 Die Ära der dynamischen Karten Die meisten Karten sind heute nicht mehr statisch und allgemein, sondern dynamisch und individuell. Welche Eigenschaften haben dynamische Karten, wie wirkt sich das auf die Beschriftung aus? 4

7 Die Ära der dynamischen Karten Die meisten Karten sind heute nicht mehr statisch und allgemein, sondern dynamisch und individuell. Kartenansicht bewegt sich kontinuierlich wenn der Nutzer zoomt verschiebt rotiert neigt Layout und Beschriftung müssen sich an die dynamische Kartenbewegung anpassen! kontinuierliche Generalisierung! kontinuierliche Kartenbeschriftung 4

8 Lassen sich statische Verfahren nutzen? Die meisten heuristischen statischen Ansätze nutzen Konfliktgraph als Modell für Überlappungen und suchen große unabhängige Labelmenge. 5

9 Lassen sich statische Verfahren nutzen? Die meisten heuristischen statischen Ansätze nutzen Konfliktgraph als Modell für Überlappungen und suchen große unabhängige Labelmenge. Übertragung auf dynamische Karten: schnelle Algorithmen um jeden Frame einer Animation in Echtzeit zu beschriften. 5

10 Lassen sich statische Verfahren nutzen? Die meisten heuristischen statischen Ansätze nutzen Konfliktgraph als Modell für Überlappungen und suchen große unabhängige Labelmenge. Übertragung auf dynamische Karten: schnelle Algorithmen um jeden Frame einer Animation in Echtzeit zu beschriften. Ansatz 1: Vorberechnung & Abfragen [Petzold, Gröger, Plümer 03] konstruiere reaktiven Konfliktgraph, Abfrage während Interaktion, verwende greedy Verfahren für statische Labelauswahl 5

11 Lassen sich statische Verfahren nutzen? Die meisten heuristischen statischen Ansätze nutzen Konfliktgraph als Modell für Überlappungen und suchen große unabhängige Labelmenge. Übertragung auf dynamische Karten: schnelle Algorithmen um jeden Frame einer Animation in Echtzeit zu beschriften. Ansatz 1: Vorberechnung & Abfragen [Petzold, Gröger, Plümer 03] konstruiere reaktiven Konfliktgraph, Abfrage während Interaktion, verwende greedy Verfahren für statische Labelauswahl Ansatz 2: schnelle on-the-fly Berechnung berechne lokalen Konfliktgraph, schätze Positionskosten, suche greedy günstigste Position [Mote 07] partikelbasierte Konflikterkennung, sequentielle Platzierung nach absteigender Positionspräferenz [Luboschik, Schumann, Cords 08] 5

12 Lassen sich statische Verfahren nutzen? Die meisten heuristischen statischen Ansätze nutzen Konfliktgraph als Modell für Überlappungen und suchen große unabhängige Labelmenge. Übertragung auf dynamische Karten: schnelle Algorithmen um jeden Frame einer Animation in Echtzeit zu beschriften. Ansatz 1: Vorberechnung & Abfragen [Petzold, Gröger, Plümer 03] konstruiere reaktiven Konfliktgraph, Abfrage während Interaktion, verwende greedy Verfahren für statische Labelauswahl Ist das Problem damit gelöst? Ansatz 2: schnelle on-the-fly Berechnung berechne lokalen Konfliktgraph, schätze Positionskosten, suche greedy günstigste Position [Mote 07] partikelbasierte Konflikterkennung, sequentielle Platzierung nach absteigender Positionspräferenz [Luboschik, Schumann, Cords 08] 5

13 Neue Verfahren sind notwendig Die bisherigen Ansätze sind zwar schnell genug, aber die resultierenden Kartenanimationen sind oft unbefriedigend. jeder Frame wird unabhängig von Nachbarframes beschriftet Label neigen zu Flackern und Sprüngen zeitliche Kohärenz oder Konsistenz wird nicht betrachtet 6

14 Neue Verfahren sind notwendig Die bisherigen Ansa tze sind zwar schnell genug, aber die resultierenden Kartenanimationen sind oft unbefriedigend. jeder Frame wird unabha ngig von Nachbarframes beschriftet Label neigen zu Flackern und Spru ngen zeitliche Koha renz oder Konsistenz wird nicht betrachtet Aktuelle reale Beispiele zeigen noch immer negative E ekte! 6 Dr. Martin No llenburg Vorlesung Algorithmische Kartografie

15 Neue Verfahren sind notwendig Die bisherigen Ansa tze sind zwar schnell genug, aber die resultierenden Kartenanimationen sind oft unbefriedigend. jeder Frame wird unabha ngig von Nachbarframes beschriftet Label neigen zu Flackern und Spru ngen zeitliche Koha renz oder Konsistenz wird nicht betrachtet Aktuelle reale Beispiele zeigen noch immer negative E ekte! Konsistenzkriterien [Been, Daiches, Yap 06] Label sollen beim Vergro ßern nicht verschwinden und beim Verkleinern nicht auftauchen (Monotonita t) sichtbare Label sollen Position und Gro ße kontinuierlich a ndern Platzierung und Auswahl der Label soll eine Funktion des Kartenzustands sein und nicht von der Historie abha ngen feste Labelgro ße auf dem Bildschirm 6 Dr. Martin No llenburg Vorlesung Algorithmische Kartografie

16 1) Beschriftung für dynamisches Zoomen [Been et al. 2010] 7

17 Label in Karten mit Zoomfunktion großer Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 8

18 Label in Karten mit Zoomfunktion großer Maßstab kleiner Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 8

19 Label in Karten mit Zoomfunktion großer Maßstab kleiner Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 Label 5 Label 2 Label 4 Label 3 Label 1 grafisches Zoomen erzeugt kleine Label 8

20 Label in Karten mit Zoomfunktion großer Maßstab kleiner Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 Label 5 Label 4 Label 2 Label 3 Label 1 identische Labelgröße erzeugt neue Konflikte 8

21 Label in Karten mit Zoomfunktion großer Maßstab kleiner Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 Label 6 Label 7 Label 5 Label 4 Label 2 Label 3 Label 1 Label 8 Label 9 neue Punkte kommen hinzu 8

22 Label in Karten mit Zoomfunktion großer Maßstab kleiner Maßstab Label 5 Label 2 Label 4 Label 3 Label 1 Label 6 Label 5 Label 2 Label 8 Label 7 Label 1 Label 9 ) beim Herauszoomen wachsen Label relativ zur Karte und neue Konflikte müssen aufgelöst werden, ohne dass Label springen oder flackern 8

23 3D Modell für dynamisches Beschriften Dynamisches Beschriftungsmodell [Been, Daiches, Yap 06] (inverser) Maßstab auf z-achse horizontaler Schnitt bei z = z 0 liefert Karte in Maßstab 1/z 0 jedes Label an festem Punkt verankert ) kein Springen 9

24 3D Modell für dynamisches Beschriften Dynamisches Beschriftungsmodell [Been, Daiches, Yap 06] z (inverser) Maßstab auf z-achse horizontaler Schnitt bei z = z 0 liefert Karte in Maßstab 1/z 0 jedes Label an festem Punkt verankert ) kein Springen verfügbares Maßstabsintervall S L für jedes L 9

25 3D Modell für dynamisches Beschriften Dynamisches Beschriftungsmodell [Been, Daiches, Yap 06] z (inverser) Maßstab auf z-achse horizontaler Schnitt bei z = z 0 liefert Karte in Maßstab 1/z 0 jedes Label an festem Punkt verankert ) kein Springen verfügbares Maßstabsintervall S L für jedes L 9

26 3D Modell für dynamisches Beschriften Dynamisches Beschriftungsmodell [Been, Daiches, Yap 06] (inverser) Maßstab auf z-achse horizontaler Schnitt bei z = z 0 liefert Karte in Maßstab 1/z 0 jedes Label an festem Punkt verankert ) kein Springen verfügbares Maßstabsintervall S L für jedes L berechne ein aktives Intervall A L S L ) kein Flackern aktive Intervalle müssen disjunkte Pyramidenstümpfe (bzw. allg. Labelkörper) induzieren ) gültige Beschriftung Ziel: maimiere aktive Gesamthöhe P L A L z 9

27 Kompleität Satz 1: Es ist NP-schwer P L A L zu maimieren, bzw. für geg. K>0 ist es NP-vollständig zu entscheiden ob es eine Beschriftung mit P L A L K gibt.?? selbst wenn S L =[0,z ma ] für alle Label L! 10

28 Kompleität Satz 1: Es ist NP-schwer P L A L zu maimieren, bzw. für geg. K>0 ist es NP-vollständig zu entscheiden ob es eine Beschriftung mit P L A L K gibt.?? selbst wenn S L =[0,z ma ] für alle Label L! Beweisskizze: Reduktion von PLANAREM 3-SAT: (NP-schwer: [Lichtenstein 82]) planare 3-Sat Formel ' 1 _ 2 _ 3 1 _ 3 _ Menge von Punkten & Labeln, K>0: ' erfüllbar, ma P L A L K 1 _ 2 _ 4 2 _ 3 _ 4 10

29 Kompleität Satz 1: Es ist NP-schwer P L A L zu maimieren, bzw. für geg. K>0 ist es NP-vollständig zu entscheiden ob es eine Beschriftung mit P L A L K gibt.?? selbst wenn S L =[0,z ma ] für alle Label L! Beweisskizze: Reduktion von PLANAREM 3-SAT: (NP-schwer: [Lichtenstein 82]) planare 3-Sat Formel ' Variablengadget 1 _ 2 _ 3 1 _ 3 _ Menge von Punkten & Labeln, K>0: ' erfüllbar, ma P L A L K 1 _ 2 _ 4 2 _ 3 _ 4 Klauselgadget 10

30 Variablengadget 11 Pyramiden berühren sich bei Höhe z ma /2

31 Variablengadget Variable ist wahr 11

32 Variablengadget Variable ist falsch 11

33 Klauselgadget 12 Pyramiden berühren sich bei Höhe z ma /2

34 Klauselgadget 3 Literale sind wahr! Klausel-Beitrag:? 12

35 Klauselgadget 3 Literale sind wahr! Klausel-Beitrag: 2 z ma 12

36 Klauselgadget 2 Literale sind wahr! Klausel-Beitrag: 2 z ma 12

37 Klauselgadget 1 Literal ist wahr! Klausel-Beitrag: 2 z ma 12

38 Klauselgadget 0 Literale sind wahr! Klausel-Beitrag:? 12

39 Klauselgadget 0 Literale sind wahr! Klausel-Beitrag: 1.5 z ma 12

40 Approimationsalgorithmen 13

41 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q s EE 0: größter z-wert, so dass E \ E 0 \ (s EE 0)=; s EE 0 E 0 E (s EE 0) 14

42 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

43 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

44 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

45 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

46 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

47 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

48 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

49 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

50 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

51 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

52 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

53 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

54 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

55 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

56 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q 14

57 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q Lösung Algorithmus 14

58 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo s if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q optimale Lösung 14

59 Greedy Top-Down Sweep Algorithmus Algorithmus 1 Input: Menge E von (o enen) Labelpyramiden, verfügbare Intervalle (s E,S E ) für alle E 2E Output: aktive Intervalle (a E,A E ) für alle E 2E foreach E 2E do (a E,A E ) (s E,S E ) Q Priority Queue für E leikogr. absteigend sortiert nach (A E,S E ) while Q6= ; do E Q.etractMa foreach E 0 2Qdo if E 0 \ E 6= ; then A E 0 min{a E 0,s EE 0} if A E 0 = a E 0 then lösche E 0 aus Q Lemma 1: Algorithmus 1 berechnet eine gültige Beschriftung und lässt sich naiv in O(n 2 ) Zeit und O(n) Platz implementieren. 14

60 Blockade-Lemma Lemma 2: Sei E eine Menge von Labelkörpern. Falls gilt, dass jedes E 2E für jeden z-wert s nicht mehr als c paarweise unabhängige Labelkörper blockiert, dann liefert Algorithmus 1 eine (1/c)-Approimation. 15

61 Blockade-Lemma Lemma 2: Sei E eine Menge von Labelkörpern. Falls gilt, dass jedes E 2E für jeden z-wert s nicht mehr als c paarweise unabhängige Labelkörper blockiert, dann liefert Algorithmus 1 eine (1/c)-Approimation. Begri e: E 2E blockiert E 0 2E am Wert s in einer Lösung A, falls a E apple s apple A E und tr s (E) \ tr s (E 0 ) 6= ; die Spur tr s (E) eines Labelkörpers E 2E zum Wert s ist der Schnitt von E mit der Ebene (s) :z = s E,E 0 2E sind unabhängig am Wert s, fallstr s (E) \ tr s (E 0 )=; 15

62 Blockade-Lemma Lemma 2: Sei E eine Menge von Labelkörpern. Falls gilt, dass jedes E 2E für jeden z-wert s nicht mehr als c paarweise unabhängige Labelkörper blockiert, dann liefert Algorithmus 1 eine (1/c)-Approimation. Begri e: E 2E blockiert E 0 2E am Wert s in einer Lösung A, falls a E apple s apple A E und tr s (E) \ tr s (E 0 ) 6= ; die Spur tr s (E) eines Labelkörpers E 2E zum Wert s ist der Schnitt von E mit der Ebene (s) :z = s E,E 0 2E sind unabhängig am Wert s, fallstr s (E) \ tr s (E 0 )=; Was ist c für den Fall von quadratischen Einheitslabeln? Was ist c für den Fall einheitlich großer Rechtecke? 15

Beschriftung in Dynamischen Karten

Beschriftung in Dynamischen Karten Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 04.06.2013 Was ist eine Landkarte? r e d o Dr. Martin No

Mehr

Beschriftung in Dynamischen Karten

Beschriftung in Dynamischen Karten Vorlesung Algorithmische Kartografie Teil 2 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 11.06.2013 Die Ära der dynamischen Karten Die meisten

Mehr

Dynamic Label Placement in Practice

Dynamic Label Placement in Practice Disputation Dynamic Label Placement in Practice Beschriftungsplatzierung in interaktiven Karten in der Praxis Nadine Schwartges Lehrstuhl für Informatik I, Universität Würzburg 17.04.2015 Interaktive Karten

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Punktbeschriftung in Landkarten

Punktbeschriftung in Landkarten Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 21./26.05.2015 1 Wo sind wir gerade? Ebene Block Termine Themen Einführung

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

Lineare Programmierung

Lineare Programmierung Übung Algorithmische Geometrie Lineare Programmierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 14.05.2014 Übersicht Übungsblatt 4 Lineares

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Modellbasierte Diagnosesysteme

Modellbasierte Diagnosesysteme Modellbasierte Diagnosesysteme Diagnose: Identifikation eines vorliegenden Fehlers (Krankheit) auf der Basis von Beobachtungen (Symptomen) und Hintergrundwissen über das System 2 Arten von Diagnosesystemen:

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?

Mehr

Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff

Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung

Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung Vorlesung Geometrische Algorithmen Bewegungsplanung fur Roboter (Robot Motion Planning) Sven Schuierer Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Sortieren. Eine Testmenge erstellen

Sortieren. Eine Testmenge erstellen Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.07.2011 Bewegungslanung für Roboter Ideen?? Problem: Gegeben

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

Mehr

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 21.06.2011 Motivation: Meshing von Platinenlayouts Zur Simulation

Mehr

Konvexe Hülle im R 3 + WSPD

Konvexe Hülle im R 3 + WSPD Übung Algorithmische Geometrie Konvexe Hülle im R 3 + WSPD LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 12.07.2012 Ablauf Konvexe Hülle im R 3

Mehr

Zusammenfassung. Benjamin Niedermann Vorlesung Algorithmische Kartografie

Zusammenfassung. Benjamin Niedermann Vorlesung Algorithmische Kartografie Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 02.07.2015 1 Wiederholung Themen der

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Leistungsgesteuerte Terminplanung

Leistungsgesteuerte Terminplanung Leistungsgesteuerte Terminplanung Leistungssteuerung und Ressourcenarten Leistungsgesteuerte Terminplanung Die leistungsgesteuerte Berechnung gilt erst, nachdem die erste Ressource dem Vorgang zugeordnet

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme

2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme 2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften 2.7.4 Schnittprobleme 1 2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften

Mehr

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA) Liniensegmentschnitt Motivation, Überlagerung von Karten, Problemformulierung Ein einfaches Problem und dessen Lösung mit Hilfe des Sweep-Line Prinzips Output-sensitiver Liniensegmentschnittalgorithmus

Mehr

Kürzeste und Schnellste Wege

Kürzeste und Schnellste Wege Kürzeste und Schnellste Wege Wie funktionieren Navis? André Nusser (Folien inspiriert von Kurt Mehlhorn) Struktur Straßennetzwerke Naiver Algorithmus Dijkstras Algorithmus Transitknoten Nachbemerkungen

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

Mehr

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Berechnung minimaler Spannbäume. Beispiel

Berechnung minimaler Spannbäume. Beispiel Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Logo-Aufgaben mit Verbindung zur Mathematik

Logo-Aufgaben mit Verbindung zur Mathematik Logo-Aufgaben mit Verbindung zur Mathematik Student: Dozent: Prof. Juraj Hromkovic Datum: 13.06.007 Logo-Kenntnisse Für die Lösung der Aufgaben werden folge Logo-Befehle benötigt: Arithmetik: +, -, *,

Mehr

Punkt-in-Polygon-Suche Übersicht

Punkt-in-Polygon-Suche Übersicht Folie 1 von 43 Punkt-in-Polygon-Suche Übersicht! Praxisbeispiel/Problemstellung! Zählen von Schnittpunkten " Schnitt einer Halbgerade mit der Masche " Aufwandsbetrachtung! Streifenkarte " Vorgehen und

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

Mehr

Abb. 1. Abb. 2. www.accessuebungen.de

Abb. 1. Abb. 2. www.accessuebungen.de Bericht 2010 Niko Becker Wenn Sie in ACCESS Informationen präsentieren, übersichtlich gruppieren oder ausdrucken wollen, kann das mit Hilfe eines Berichts erfolgen. Als Datensatzquelle dient dabei eine

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr