Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3
|
|
- Magdalena Falk
- vor 7 Jahren
- Abrufe
Transkript
1 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
2 Prüfung! Termine: 20. Juli 27. September Ansprechpartner: Lilian Beckert Raum 321 Alle Infos auch auf der Homepage
3 Ablauf Smallest Enclosing Disk Konvexe Hülle im R 3
4 Problem Frage: Wie findet man eine gute Position für den Roboter? Smallest Enclosing Disc
5 Smallest Enclosing Disk (SED) Def.: Sei P eine n-elementige Menge von Punkten im R 2. Die smallest enclosing disc ist für P ist der Kreis der alle Punkte aus P enthält und minimalen Radius hat. Lösung: Ähnlicher Ansatz wie bei linearer Programmierung. randomisiert inkrementell Idee: Erzeuge zufällige Permutation von P {p 1,..., p n }. Im i-ten Schritt: Füge zur Menge P i := {p 1,..., p i } den Punkt p i+1 hinzu. Finde neue smallest enclosing disk D i.
6 Smallest Enclosing Disk Lm: Sei 2 < i < n, und sei P i und D i wie gerade dann gilt: (i) Wenn p i D i 1, dann gilt D i = D i 1 (ii) Wenn p i / D i 1, dann liegt p i auf dem Rand von D i p i p i D i 1 D i 1 = D i D i
7 Smallest Enclosing Disk SED MiniDisc(P R 2 ) P = RandomPermutation(P ) Sei D 2 die smallest enclosing disc von {p 1, p 2 } for i 3 bis n do if p i D i 1 then D i = D i 1 else D i = MiniDiscWithPoint({p 1,..., p i 1 }, p i ) return D i p i D i 1 D i
8 Smallest Enclosing Disk SED MiniDiscWithPoint({p 1,..., p i 1 }, q) P = RandomPermutation({p 1,..., p i 1 }) Sei D 1 die smallest disc die p 1 und q auf dem Rand hat for j 2 bis i 1 do if p j D j 1 then D j = D j 1 else D j = MiniDiscWith2Points({p 1,..., p j 1 }, p j, q) return D j p i = q D 1 p j p 1
9 Smallest Enclosing Disk SED MiniDiscWith2Points({p 1,..., p j 1 }, q 1, q 2 ) Sei D 0 die smallest disc bei der q 1 und q 2 auf dem Rand liegen for k 1 to j 1 do if p k D k 1 then D k = D k 1 else D k = disc bei der q 1, q 2 und p k auf dem Rand liegen return D j D 0 q = q 1 p j = q 2
10 Smallest Enclosing Disk SED MiniDiscWith2Points({p 1,..., p j 1 }, q 1, q 2 ) Sei D 0 die smallest disc bei der q 1 und q 2 auf dem Rand liegen for k 1 to j 1 do if p k D k 1 then D k = D k 1 else D k = disc bei der q 1, q 2 und p k auf dem Rand liegen return D j D 0 q = q 1 p j = q 2
11 Smallest Enclosing Disk SED MiniDiscWith2Points({p 1,..., p j 1 }, q 1, q 2 ) Sei D 0 die smallest disc bei der q 1 und q 2 auf dem Rand liegen for k 1 to j 1 do if p k D k 1 then D k = D k 1 else D k = disc bei der q 1, q 2 und p k auf dem Rand liegen return D j D 0 q = q 1 p l p j = q 2
12 Analyse Theorem: Die smallest enclosing disc für n Punkte in der Ebene kann in erwartet O(n) berechnet werden. MiniDisc MiniDiscWithPoint MiniDiscWith2Points MiniDisc(P R 2 ) O(n) P = RandomPermutation(P ) Sei D 2 die smallest enclosing disc von {p 1, p 2 } for i 3 bis n do if p i D i 1 then D i = D i 1 else D i = MiniDiscWithPoint({p 1,..., p i 1 }, p i ) return D i
13 Analyse Theorem: Die smallest enclosing disc für n Punkte in der Ebene kann in erwartet O(n) berechnet werden. MiniDisc MiniDiscWithPoint MiniDiscWith2Points MiniDiscWithPoint({p 1,..., p i 1 }, q) O(i) P = RandomPermutation({p 1,..., p i 1 }) Sei D 1 die smallest disc die p 1 und q auf dem Rand hat for j 2 bis i 1 do if p j D j 1 then D j = D j 1 else D j = MiniDiscWith2Points({p 1,..., p j 1 }, p j, q) return D j
14 Analyse Theorem: Die smallest enclosing disc für n Punkte in der Ebene kann in erwartet O(n) berechnet werden. MiniDisc MiniDiscWithPoint MiniDiscWith2Points MiniDiscWith2Points({p 1,..., p j 1 }, q 1, q 2 ) Sei D 0 die smallest disc bei der q 1 und q 2 auf dem Rand liegen for k 1 to j 1 do if p k D k 1 then D k = D k 1 else D k = disc bei der q 1, q 2 und p k auf dem Rand liegen return D j O(j)
15 Analyse Theorem: Die smallest enclosing disc für n Punkte in der Ebene kann in erwartet O(n) berechnet werden. MiniDisc MiniDiscWithPoint MiniDiscWith2Points Erkenntnis: Linearer Aufwand für jede Funktion. Frage: Wie wahrscheinlich ist es, dass MiniDiscWithPoint MiniDiscWith2Points aufruft?
16 Analyse (i) Frage: Wie wahrscheinlich ist es, dass MiniDiscWithPoint MiniDiscWith2Points aufruft? MiniDiscWithPoint({p 1,..., p i 1 }, q)... for j 2 bis i 1 do if p j D j 1 then D j = D j 1 else D j = MiniDiscWith2Points({p 1,..., p j 1 }, p j, q) return D j Idee: Rückwärtsanalyse Fixiere P i := {p 1,..., p i }. Sei D i die smallest enclosing disc für P i. Außerdem liege q auf dem Rand von D i. Entferne nun ein p j P i. Wann ändert sich die smallest enclosing disc?
17 Analyse (ii) Idee: Rückwärtsanalyse Fixiere P i := {p 1,..., p i }. Sei D i die smallest enclosing disc für P i. Außerdem liege q auf dem Rand von D i. Entferne nun ein p j P i. Wann ändert sich die smallest enclosing disc? Erkenntnis: Höchstens 2 der i Knoten dafür verantwortlich. O(i) + n ( ) O(j) 2 j = O(i) j=2 Erwarteter Aufwand fürminidiscwithpoint: O(i)
18 Analyse (iii) Frage: Wie wahrscheinlich ist es, dass MiniDisc MiniDiscWithPoint aufruft? Gleiche Idee liefert gleiches Ergebnis MiniDisc MiniDiscWithPoint MiniDiscWith2Points Erwartet: Erwartet: O(n) O(j) O(i) Thm: Die SED für n Punkte in der Ebene kann in erwartet O(n) Zeit berechnet werden.
19 Ablauf Smallest Enclosing Disk Konvexe Hülle im R 3
20 Die konvexe Hülle R 3 Def: Eine Menge S heißt konvex, wenn für je zwei Punkte p, q S auch gilt pq S. Die konvexe Hülle CH(S) von S ist die kleinste konvexe Menge, die S enthält. 2D Vergleich 3D Def. (fast) identisch Art Polygon Polytop Kompl. O(n) Kanten? z x y
21 Komplexität konvexer Hüllen Dimension Komplexität O(1) O(n)? 2D 1D Thm: Sei P ein konvexes Polytop mit n Knoten. Dann ist #Kanten in P höchsten 3n 6 und #Facetten höchstens 2n 4. 3D
22 Komplexität konvexer Hüllen in 3D Thm: Sei P ein konvexes Polytop mit n Knoten. Dann ist #Kanten in P höchsten 3n 6 und #Facetten höchstens 2n 4. Beweis: s. Tafel
23 Komplexität konvexer Hüllen Dimension Komplexität 1 O(1) 2 O(n) 3 O(n) d Θ(n d/2 ) 1D 2D Upper Bound Theorem 3D
24 Erster Schritt Angenommen: Konvexe Hülle von r 1 Knoten gegeben. Wie erweitern zu einer konvexen Hülle für r Knoten? r
25 Erster Schritt Angenommen: Konvexe Hülle von r 1 Knoten gegeben. Wie erweitern zu einer konvexen Hülle für r Knoten? p h f f q r Facette f sichtbar von p aber nicht von q aus
26 Erster Schritt Angenommen: Konvexe Hülle von r 1 Knoten gegeben. Wie erweitern zu einer konvexen Hülle für r Knoten? Horizont Konfliktgraph G Konflikte Knoten Facetten f r r P conflict (f) f F conflict (r)
27 Erster Schritt Angenommen: Konvexe Hülle von r 1 Knoten gegeben. Wie erweitern zu einer konvexen Hülle für r Knoten? Horizont Konfliktgraph G Konflikte Knoten Facetten f r r f r + 1 P conflict (f) F conflict (r) Wie bestimmt man neue Konflikte?
28 3dConvexHull(P R 3 ) wähle P P (4 nicht koplan. Punkte) C CH(P ); P P \ P P = RandomPermutation(P) initializiere Konfliktgraph G while P do p P.remove first() if F conflict (p) then // p liegt außerhalb von C Lösche alle Facetten F conflict (p) aus C L Horizont-Kanten die von p aus sichtbar sind foreach e L do f erzg. Facette C (e, p); erzg. Knoten für f in G (f 1, f 2 ) vorher inzident C (e) P (e) P conflict (f 1 ) P conflict (f 2 ) foreach p P (e) do if f sichtbar von p then add edge(p, f) zu G p 3 lösche Knoten {p} F conflict (p) von G
29 Analyse Begrenze #Facetten, die der Algorithmus erzeugt. Lemma: Idee: Die erwartete Anzahl an erzeugen Facetten ist höchstens 6n 20. Rückwärtsanalyse Fixiere P i := {p 1,..., p i }. Entferne nun ein p j P i. Wie viele Facetten werden entfernt? Erinnerung: Thm: Sei P ein konvexes Polytop mit n Knoten. Dann ist #Kanten in P höchsten 3n 6 und #Facetten höchstens 2n 4.
30 Analyse Begrenze #Facetten durch den Grad deg(p r ) eines Knotens p r. In Schritt r: Nach Thm insgesamt 3r 6 Kanten r deg(p i ) 6r 12 i durchschnittl. deg(p i ) 6 12/r Erwartungswert deg(p i ) 6 12/r? Die ersten 4 Punkte werden nicht zufällig gewählt. Erinnerung: Thm: Sei P ein konvexes Polytop mit n Knoten. Dann ist #Kanten in P höchsten 3n 6 und #Facetten höchstens 2n 4.
31 Analyse Begrenze #Facetten durch den Grad deg(p r ) eines Knotens p r. E[deg(p r, CH(P r ))] = 1 r 4 Lemma: 4 + n r=5 1 r 4 r i=5 ( r i=1 = 6r r 4 = 6 deg(p i, CH(P i )) ) [deg(p i, CH(P i ))] 12 Die ersten 4 Knoten haben mind. Grad 12 Die erwartete Anzahl an erzeugen Facetten ist höchstens 6n 20. E[deg(p r, CH(P r ))] 4 + (n 4) 6 = 6n 20
32 Laufzeit? Thm: Die konvexe Hülle für eine Menge von n Punkten im R 3 kann in erwartet O(n log n) Zeit berechnet werden. Lemma: Die erwartete Anzahl an erzeugen Facetten ist höchstens 6n 20.
33 3dConvexHull(P R 3 ) wähle P P (4 nicht koplan. Punkte) C CH(P ); P P \ P P = RandomPermutation(P) initializiere Konfliktgraph G while P do p P.remove first() if F conflict (p) then Lösche alle Facetten F conflict (p) aus C L Horizont-Kanten die von p aus sichtbar sind foreach e L do f erzg. Facette C (e, p); erzg. Knoten für f in G (f 1, f 2 ) vorher inzident C (e) P (e) P conflict (f 1 ) P conflict (f 2 ) foreach p P (e) do if f sichtbar von p then add edge(p, f) zu G lösche Knoten {p} F conflict (p) von G
34 Laufzeit Thm: Die konvexe Hülle für eine Menge von n Punkten im R 3 kann in erwartet O(n log n) Zeit berechnet werden. O(n) p r : O( F c (p r ) ) Gesamt: E[ n F c (p r ) = O(n) r=5 Kapitel 9, 11 in [BCKO08] O(n) O(n log n) O(n)
35 Diskussion Optimale Laufzeit? Divide-and-Conquer Algorithmus mit Laufzeit O(n log n) Was ist mit Dimensionen > 3? Durch das Upper Bound Theorem ist bekannt, dass die Komplexität der konvexen Hülle einer Punktmenge bestehend aus n Punkten im d-dimensionalen Raum in Θ(n d/2 ) ist. Der hier vorgestellte Algorithmus kann für höhere Dimensionen angepasst werden. Der beste Ausgabe-Sensitive Algorithmus für die Berechnung konvexer Hüllen im R d hat eine Laufzeit von: O(n log k + (nk) 1 1/( d/2 +1) log O(1) n) Danke!
Lineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
MehrUberblick 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
MehrPolygontriangulierung
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
MehrAlgorithmen 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Übung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
MehrKapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle
Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität
MehrEffiziente 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
Mehr7. Triangulation von einfachen Polygonen
1 7. Triangulation von einfachen Polygonen 2 Ziel Bessere Laufzeit als O(n log n) durch schnelleres Berechnen der Trapezzerlegung des Polygons. 3 Idee Finde Methode, den Anfangspunkt einer Strecke in der
MehrKombinatorische 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 Vorlesung 4 Programm des
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrGeometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
MehrVorlesung 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
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrFelix 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,
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrEinführung in Approximative Algorithmen und Parametrisierte Komplexität
Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition
MehrPunktbeschriftung in Dynamischen Karten
Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 28.05.2015 1 Übungen Nachtrag 1) Überlegen Sie sich, wie man den
MehrGeometrische Algorithmen
Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5
Mehr4 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
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrDas Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung
Das Voronoi Diagramm 1. Definition 2. Eigenschaften 3. Größe und Speicherung 4. Konstruktion 5. Verwendung Das Voronoi- Diagramm Voronoi Regionen Euklidische Distanz: d(p,q) = (px-qx)^2+(py-qy)^2 Das Voronoi-Diagramm
MehrWas bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone
Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer
MehrS=[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
Mehr2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
MehrEntscheidungsbä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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung
MehrKostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr3.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
Mehr4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrVorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
Mehrdamit hätten wir nach Ende der Schleife: "a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge".
Korrektheit Invariante: a[0 k-1] enthält nur Elemente aus a[0 k-1], aber in sortierter Reihenfolge Terminierung: Die Schleife endet mit k=n def insertionsort(a): for k in range( 1, len(a) ): while i >
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrAlgorithmen 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
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrInformatik 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:
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrLokalisierung von inneren und äußeren Grenzen in Sensornetzwerken
Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken Seminararbeit: Algorithmen für Sensornetzwerke Thomas Gramer 1 Thomas Gramer: KIT Universität des Landes Baden-Württemberg und nationales
MehrÜberblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
MehrStefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
MehrModelle und Statistiken
Kapitel 4 Modelle und Statistiken In letzter Zeit werden vermehrt Parameter (Gradfolgen, Kernzahlfolgen, etc.) empirischer Graphen (Internet, WWW, Proteine, etc.) berechnet und diskutiert. Insbesondere
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrKombinatorische 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
MehrEin Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei
7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrTermine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown
Kap. Sortieren..5 HeapSort ff..6 Priority Queues Professor Dr. Vorlesung am Do 7.5. entfällt wegen FVV um Uhr Lehrstuhl für Algorithm Engineering, LS Fakultät für nformatik, TU Dortmund 7. VO DAP SS 009
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Beweise)
WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
MehrEinführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.
Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen
MehrKapitel 12: Übersetzung objektorienter Konzepte
Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt
MehrTheoretische 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
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013
MehrKomplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
MehrZusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus
Zusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus Elmar Langetepe University of Bonn Algorithmische Geometrie VD Segmente/Pledge 29.06.11 c Elmar Langetepe SS 11 1 Voronoi Diagramm von
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrÜ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
MehrAufgabensammlung zur algorithmischen Geometrie
1 Aufgabensammlung zur algorithmischen Geometrie 2012WS Andreas Kriegl 1. Konvexe Hülle als Durchschnitt. Zeige, daß der Durchschnitt konvexer Mengen wieder konvex ist und somit die konvexe Hülle einer
MehrHallo Welt für Fortgeschrittene. Geometrie I. Lukas Batz. Informatik 2 Programmiersysteme Martensstraße Erlangen
Hallo Welt für Fortgeschrittene Geometrie I Lukas Batz Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen Vektoren Geradengleichungen Skalar- und Kreuzprodukt Abstand
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrMinimal spannender Baum
Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen
MehrAlgorithmentheorie. 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
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger
MehrLösungsvorschläge Blatt 4
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit
MehrTaylorentwicklung der k ten Dimension
Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5
MehrAlgorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4
Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS 2015 http://www.fmi.informatik.uni-stuttgart.de/alg Institut für Formale Methoden der Informatik Universität Stuttgart Übungsblatt 4 Punkte: 50 Problem
Mehr6. Algorithmen der Computer-Geometrie
6. Algorithmen der Computer-Geometrie 1. Einführung 2. Schnitt von zwei Strecken 3. Punkt-in-Polygon-Test 4. Schnitt orthogonaler Strecken 5. Punkteinschlussproblem Geo-Informationssysteme 146 6.1 Computer-Geometrie
MehrTheoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
MehrRHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I
RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I Shanni Cai Verbindende gefärbte Punktmengen 31. Oktober 2006 Seminararbeit im WS 2006/2007 Betreuer: Martin Köhler Sanaz Kamali
MehrErinnerung VL
Erinnerung VL 30.05.2016 Radix-Sort, Abschluss Sortieren Prioritätslisten: Warteschlange mit Prioritäten deletemin: kleinstes Element rausnehmen insert: Element einfügen Binäre Heaps als Implementierung
Mehr4. 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.
MehrSortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2
Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
MehrDatenstrukturen 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