Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme
|
|
- Laura Buchholz
- vor 6 Jahren
- Abrufe
Transkript
1 Folie 1 von 32 Geometrische Algorithmen Voronoi-Diagramme
2 Folie 2 von 32 Voronoi-Diagramme Übersicht Problemstellung Animation zur Konstruktion eines Voronoi-Diagramms Definition, Eigenschaften eines Voronoi-Diagramms Konstruktion des Voronoi-Diagramms Divide and Conquer Aufwand Konstruktion des Trennenden Kantenzugs Eigenschaften Animation Datenstruktur Worst Case Pseudocode: "Divide and Conquer", "Merge", "Tangente"
3 Folie 3 von 32 Problemstellung Welche Blume schnappt den Falter? 1x
4 Folie 4 von 32 Problemstellung Anwendungen Kollisionsproblem: Welche 2 Punkte haben den kleinsten Abstand (Roboter, Flugzeuge,...) Standortsuche: Wo wird die neue Filiale platziert... Filialenschließungsproblem: welches Paar von Filialen macht sich gegenseitig die größte Konkurrenz... Postamts-Problem: wo liegt das nächste Postamt (Krankenhaus,...) Einzugs- und Einflussgebiete von Versorgungsstationen (und ihre Größe) Bewertung von Standorten Modellierung von Nähe Delaunay-Triangulation Konvexe Hülle
5 Folie 5 von 32 Lösung Konstruktion eines Voronoi-Diagramms Interaktive Animation zum Voronoi-Diagramm Quelle: FernUniversität Hagen
6 Folie 6 von 32 Lösung Definition des Voronoi-Diagramms Gegeben ist eine Menge M von n Punkten in der Ebene. Das Voronoi-Diagramm der Punktmenge zerlegt die Ebene in n disjunkte Gebiete (Voronoi-Regionen). Die Voronoi-Region eines Punktes p enthält genau einen der Punkte aus M sowie alle Punkte q, die näher an p als an jedem anderen Punkt p liegen ("Gebiete gleicher nächster Nachbarn").
7 Folie 7 von 32 Lösung Bezeichnungen im Voronoi-Diagramm 3x
8 Folie 8 von 32 Lösung Konvexe Menge, Konvexe Hülle Konvexe Menge Eine Menge P von Punkten ist konvex, wenn zu jedem Punktepaar p und q auch die verbindende Strecke pq ganz in P enthalten ist. Konvexe Hülle Die konvexe Hülle CH(P) einer Punktemenge P ist die kleinste konvexe Menge, die alle Punkte aus P enthält.
9 Folie 9 von 32 Lösung Eigenschaften von Voronoi-Diagrammen Vereinfachende Annahme: Aus der gegebenen Punktmenge M liegen keine 4 Elemente auf einem gemeinsamen Kreis. In jedem Voronoi-Knoten treffen sich genau drei Kanten. Das Voronoi-Diagramm von n Punkten hat höchstens 2n 5 Knoten und 3n 6 Kanten (linear!). Die Knoten mit unbeschränkten Regionen bilden die konvexe Hülle. Der Duale Graph, bei dem benachbarte Punkte miteinander verbunden werden, bildet eine >>Delaunay-Triangulation.
10 Folie 10 von 32 Exkurs Delaunay-Triangulation Für Punktmengen gibt es verschiedene Triangulationen, die alle dieselbe Anzahl von Dreiecken enthalten. Die Delaunay-Triangulation ist die Triangulation, bei der in jedem Dreieck der kleinste Winkel maximal wird. Falls z.b. kleine Winkel unerwünscht sind (Numerik!), ist die Delaunay- Triangulation optimal. Anwendungsbeispiel: Ausgangssituation für die Interpolation von Isolinien
11 Folie 11 von 32 Vorgehen Konstruktion des Voronoi-Diagramms
12 Folie 12 von 32 Konstruktion Divide and Conquer 5x
13 Folie 13 von 32 Konstruktion Betrachtung der Teilschritte Input Sortiere aufsteigend nach x-koordinate Split Bestimme den Median Zerlege in annähernd gleich große Teilmengen links und rechts des Medians Merge Konstruktion des trennenden Kantenzuges Abschneiden überflüssiger Kanten Bildung der Voronoi-Regionen (wie bei Overlay-Algorithmus) Einfachster Fall von Merge: Die Teilmengen enthalten je einen Punkt. Der trennende Kantenzug ist die Mittelsenkrechte dieser Punkte
14 Folie 14 von 32 Konstruktion Aufwand Der Zyklus ist log n - mal zu durchlaufen Die gewünschte Laufzeit O(n * log n) wird erreicht, wenn Split and Merge nicht mehr als O(n) Schritte benötigen. Was ist das schwierigste Teilproblem?
15 Folie 15 von 32 Konstruktion Schwierigstes Teilproblem Einfach: Input Sortiere aufsteigend nach x-koordinate Einfach: Split Bestimme den Median Zerlege in annähernd gleich große Teilmengen links und rechts des Medians Schwierig: Merge Konstruktion des trennenden Kantenzuges Abschneiden überflüssiger Kanten Bildung der Voronoi-Regionen (wie bei Overlay-Algorithmus) Einfachster Fall von Merge: Die Teilmengen enthalten je einen Punkt. Der trennende Kantenzug ist die Mittelsenkrechte dieser Punkte
16 Folie 16 von 32 Vorgehen Konstruktion des trennenden Kantezugs
17 Folie 17 von 32 Trennender Kantenzug Eigenschaften monoton in Nord-Süd-Richtung jede Kante ist Grenze zwischen einer blauen und einer gelben Region (Mittelsenkrechte) die nördlichsten und südlichsten Teilstücke sind unbeschränkt, also Halbgeraden die zugehörigen Punkte bilden dort unbeschränkte Voronoi-Regionen die Punkte liegen also jeweils auf der blauen bzw. gelben konvexen Hülle Problem: Wie werden diese Punkte gefunden?
18 Folie 18 von 32 Trennender Kantenzug Gemeinsame Tangente die gesuchten Punkte werden über die gemeinsame Tangente an die konvexen Hüllen CH(P1) und CH(P2) identifiziert (Bestimmung der Tangente folgt später) konvexe Hülle der gesamten Punktmenge ergibt sich aus den Teilstrukturen durch Einfügen zweier zusätzlicher Kanten konvexe Hülle ist Abfallprodukt der Erzeugung des Voronoi-Diagramms synchrone Herleitung beider Strukturen
19 Folie 19 von 32 Trennender Kantezug Animation 75x
20 Folie 20 von 32 Voronoi-Diagramm Datenstruktur Doppelt verkettete Kantenliste (wie bei Polygon-Overlay) Vorteile: Direkter Zugriff auf die benachbarten Maschen Durchlaufen des Kantenumrings in linearer Zeit
21 Folie 21 von 32 Trennender Kantenzug Aufwand Wie lange dauert die Konstruktion des trennenden Kantenzuges? - Ziel war O(n) Aufwand ist abhängig von: Zahl der Teilkanten / Knoten des Kantenzuges Zahl Berechnungen von Schnittpunkten mit den benachbarten Voronoi-Regionen
22 Folie 22 von 32 Trennender Kantenzug Länge im Worst Case Länge des Kantenzuges: O(n)
23 Folie 23 von 32 Trennender Kantenzug Worst Case des Umrings Größenordnung des Umrings: O(n)
24 Folie 24 von 32 Trennender Kantenzug Worste Case gesamt O(n) * O(n) = O(n²)? War jetzt alles umsonst? Nutzung der Eigenschaften: 1. Voronoi-Regionen sind konvex 2. Der trennende Kantenzug ist monoton. Lösung: Keine Kante öfter als zweimal anfassen.
25 Folie 25 von 32 Trennender Kantenzug Vermeidung des Worst Case Ziel: Keine Kante mehr als zwei mal "anfassen" Es gibt insgesamt höchstens 3* n 6 Kanten: O(n) Konvexität der Voronoi-Regionen: höchstens zwei Schnittpunkte mit der aktiven Halbgeraden Es genügt, die linken Kantenumringe im Uhrzeigersinn und die rechten Kantenumringe gegen den Uhrzeigersinn zu durchlaufen und den zuletzt gefundenen und verworfenen Schnittpunkt als Haltepunkt zu merken!
26 Folie 26 von 32 Merge Zusammenfassung der Schritte Die Voronoi-Diagramme VD(P1) und VD(P2) sind bereits berechnet. Die konvexen Hüllen CH(P1) und CH(P2) seien ebenfalls an dieser Stelle bekannt. 1. Bestimme die obere und untere Tangente von CH(P1) U CH(P2) 2. Konstruiere CH(P1 U P2) 3. Bilde die Mittelsenkrechten zu den beiden neu eingeführten Kanten 4. Konstruiere den trennenden Kantenzug als Verbindung der beiden Mittelsenkrechten 5. Entferne die überstehenden Kanten 6. Bilde die neu entstandenen Voronoi-Regionen (Maschen)
27 Folie 27 von 32 Merge Bestimmen der oberen Tangente 10x
28 Folie 28 von 32 Pseudocode Divide and Conquer Input: Liste P mit mindestens 1 Punkt Output: Voronoi-Diagramm der Punktmenge P VoronoiDiagramm BaueVoro(Punktliste P) if Anzahl der Punkte in P größer als 1 Divide: Zerlege P in zwei etwa gleich große Teillisten P1 und P2; //Berechne rekursiv Voronoi-Diagramme von P1 und P2 VoronoiDiagramm VD1 = BaueVoro(P1); VoronoiDiagramm VD2 = BaueVoro(P2); Ergebnis = Merge(VD1, VD2); return Ergebnis; else return (Voronoi-Diagramm des Punktes in P, ganze Ebene);
29 Folie 29 von 32 Pseudocode Merge I Input: Zwei Voronoi-Diagramme VD1 und VD2 für zwei Punktmengen P1 und P2; die x- Koordinaten der Punkte in VD1 sind kleiner als die in VD2. Output: Das Voronoi-Diagramm von P1 U P2.
30 Folie 30 von 32 Pseudocode Merge II VoronoiDiagramm Merge(VD1, VD2) Konstruiere die konvexen Hüllen von VD1 und VD2; (p,q) = findeoberetangente(ch(p1),ch(p2)); (r,s) = findeunteretangente(ch(p1),ch(p2)); while (untere Mittelsenkrechte g(r,s) ist noch nicht erreicht) Bestimme für die aktuelle Mittelsenkrechte g(p,q) den Schnittpunkt P mit der Voronoi-Region p, an dem nicht im letzten Schritt die Mittelsenkrechte abgeschnitten wurde; den Schnittpunkt Q mit der Voronoi-Region q, an dem nicht im letzten Schritt die Mittelsenkrechte abgeschnitten wurde; die zugehörigen Nachbarn p' (q' ), die mit p (q) die Kante gemeinsam haben, auf der P (Q) liegt; if Q ist höher als P ersetze q durch q' und schneide g(p,q) an der Stelle Q ab; if P ist höher als Q ersetze p durch p'und schneide g(p,q) an der Stelle P ab; bestimme die neue aktuelle Mittelsenkrechte g(p,q); return Ergebnis;
31 Folie 31 von 32 Pseudocode Tangente Input: Zwei konvexe Hüllen CH(P1) und CH(P2) ; die größte x-koordinate von CH(P1) ist kleiner als die kleinste x-koordinate von CH(P2). Output: Ein Paar (u,w) von Punkten, das die obere Tangente zu CH(P1) und CH(P2) festlegt. Punktepaar findeoberetangente(ch(p1),ch(p2)) u = Punkt in CH(P1) mit der größten x-koordinate; w = Punkt in CH(P2) mit der kleinsten x-koordinate; do L(u,w) = Gerade durch u und w; u' = Knoten, der in CH(P1) auf u gegen Uhrzeigersinn folgt; w' = Knoten, der in CH(P2) auf w im Uhrzeigersinn folgt; while(u' liegt über L(u,w)) u <- u'; while(w' liegt über L(u,w)) w <- w'; while(u oder w haben sich geändert) return (u,w);
32 Folie 32 von 32 Voronoi-Diagramme Literatur Klein, Rolf: Algorithmische Geometrie. Addison-Wesley Longman, Bonn, 1997 Okabe, Atsuyuki et al.: Spatial Tesselations: Concepts and Applications of Voronoi- Diagramms. John Wiley & Sons, 2000 Ottman, Thomas, Widmayer, Peter: Algorithmen und Datenstrukturen. 3. Auflage - Spektrum Akademischer Verlag, Heidelberg, Berlin, Oxford, 1996 Preparata, F. P., Shamos, M. I.: Computational Geometry: An Introduction. Springer- Verlag, New York, 1985
SS 2005 FAU Erlangen 20.6.2005. Eine Wegeplanungs-Strategie. Jeremy Constantin, Michael Horn, Björn Gmeiner
SS 2005 FAU Erlangen 20.6.2005 Voronoi Diagramm Eine Wegeplanungs-Strategie Jeremy Constantin, Michael Horn, Björn Gmeiner Grundseminar: Umgebungsexploration und Wegefindung mit Robotern am Beispiel "Katz
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
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
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:
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
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
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,
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 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
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
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
MehrDas Falten-und-Schneiden Problem
Das Falten-und-Schneiden Problem Kristian Bredies Uttendorf, 14. Februar 2005 Inhalt Einleitung Origami Das Falten-und-Schneiden Problem Mathematische Analyse Flaches Origami Lokale Eigenschaften Faltbarkeit
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
MehrKap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
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
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);
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
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
MehrVorlesung 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?
MehrGraphen: 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.
MehrTeil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
MehrAlgorithmen & 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
MehrGIS und raumbezogene Datenbanken
GIS und raumbezogene Datenbanken Eine raumbezogene Datenbank (spatial database) dient der effizienten Speicherung, Verwaltung und Anfrage von raumbezogenen Daten. datenbankorientiert Ein geographisches
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
MehrAlgorithmik - Kompaktkurs
Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */)
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrHäufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori
Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,
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
MehrÜ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Über Kommentare und Ergänzungen zu diesen Lösungsbeispielen freuen wir uns!
Aufgaben und Lösungen. Runde 04 Über Kommentare und Ergänzungen zu diesen n freuen wir uns!» KORREKTURKOMMISSION KARL FEGERT» BUNDESWETTBEWERB MATHEMATIK Kortrijker Straße, 577 Bonn Postfach 0 0 0, 5 Bonn
MehrGraphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007
Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80
MehrFerienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher stefan@buettcher.org
Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme Faktorisierung Stefan Büttcher stefan@buettcher.org 1 Definition. (RSA-Problem) Gegeben: Ò ÔÕ, ein RSA-Modul mit unbekannten Primfaktoren
MehrKap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
MehrComputer Graphik I Polygon Scan Conversion
11/23/09 lausthal omputer raphik I Polygon Scan onversion. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Klassifikation der Polygone Konvex Für jedes Punktepaar in einem konvexen Polygon
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrAlgorithmische Geometrie
Algorithmische Geometrie 1-1 Inhaltsverzeichnis 1. Einführung 2. Basiskonzepte 3. Punktsuche 4. Voronoidiagramme und Delaunaytriangulierung 5. Allgemeine Suchstrukturen 1-2 1.1. Was ist? (Computational
MehrSortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block
Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in
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),
Mehr9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen
9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel
Mehr22. 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
MehrMaximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
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
MehrIdeen 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?
MehrGrundlegende Geometrie - Vorlesung mit integriertem Praxiskurs. 09.02. Klausur (08-10 Uhr Audimax, HS 1)
Vorlesungsübersicht Wintersemester 2015/16 Di 08-10 Audimax Grundlegende Geometrie - Vorlesung mit integriertem Praxiskurs Benötigte Materialien: Geometrieheft DIN-A-4 blanco weiß, quadratisches Faltpapier
MehrExpander Graphen und Ihre Anwendungen
Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006
MehrLösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrTeil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrAnwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht
Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht Standortplanung Kunden Speyer, Juni 2004 - Beispiele mathematischer Medellierung Seite 1 Prof Dr Horst W Hamacher Standortplanung
Mehr12. Modelle für 3D-Objekte und -Szenen
12. Modelle für 3D-Objekte und -Szenen Modell: Abbild der Realität, welches bestimmte Aspekte der Realität repräsentiert (und andere ausblendet) mathematische Modelle symbolische Modelle Datenmodelle Experimentalmodelle
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrGliederung. 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
MehrNachklausur zur Einführung in die Geometrie im SS 2002 Lösung Aufgabe 1 1.Weg (kurz und einfach):
Nachklausur zur Einführung in die Geometrie im SS 2002 Lösung ufgabe 1 1.Weg (kurz und einfach): C! **C* Umlaufsinn erhalten Verschiebung oder Drehung Verbindungsgeraden *, *, CC* nicht parallel Drehung
Mehr4.1 Einführung. 4.2 Z-Ordnung. 4.3 R-Bäume. 4.4 Quadtrees. Kapitel 3: Räumliche Indexstrukturen. 4. Räumliche Indexstrukturen
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 3: Räumliche Indexstrukturen Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2011/12 Ludwig-Maximilians-Universität
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrZeichnen von Graphen. graph drawing
Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =
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
MehrSortierte 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:
MehrAlgorithms for Regression and Classification
Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
MehrAbiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1
Abiturprüfung Mathematik (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe Für jedes t f t () + t R ist die Funktion f t gegeben durch = mit R. Das Schaubild von f t heißt K t.. (6 Punkte)
MehrBerechnung und Visualisierung von Voronoi-Diagrammen in 3D
Rheinische Friedrich-Wilhelms-Universität Bonn Berechnung und Visualisierung von Voronoi-Diagrammen in 3D Vorgelegt von Christoph Baudson Edgar Klein Erstgutachter: Prof. Dr. R. Klein Zweitgutachterin:
MehrSortierverfahren. Sortierverfahren für eindimensionale Arrays
Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrPROSEMINAR ONLINE ALGORITHMEN
PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines
MehrEinführung Point Cloud Library
Fakultät Umweltwissenschaften / Professur für Photogrammetrie Professur für Geoinformationssysteme Einführung Point Cloud Library Inhalt 1. Was ist PCL? 2. Was kann PCL? 3. Wie funktioniert PCL? 4. Module
MehrVorlesung 3 MINIMALE SPANNBÄUME
Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei
MehrLaufzeit und Komplexität
Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrTeil II. Nichtlineare Optimierung
Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene
MehrHandout 6. Entwicklung von Makros
Handout 6 Entwicklung von Makros Cinderella kann eine Sequenz von Konstruktionsbefehlen aufzeichnen und sie als neues Werkzeug speichern. Dies bezeichnet man als Makro-Konstruktion. Mit diesen Aufgaben
MehrSuchen und Sortieren (Die klassischen Algorithmen)
Suchen und Sortieren (Die klassischen Algorithmen) Lineare Suche und Binäre Suche (Vorbedingung und Komplexität) Sortieralgorithmen (allgemein) Direkte Sortierverfahren (einfach aber langsam) Schnelle
Mehr27. August 2013 Einleitung. Algorithmen und Datenstrukturen
Algorithms and Data Structures Introduction Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 27. August 201 ODE/FHTBM Algorithms and Data Structures Introduction
MehrCodierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau
Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrBinäre lineare Optimierung mit K*BMDs p.1/42
Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre
MehrVerwendung einer Polaris als Kegelsonnenuhr zur Anzeige babylonischer und italienischer Stunden
Verwendung einer Polaris als Kegelsonnenuhr zur Anzeige babylonischer und italienischer Stunden 1. Einleitung In dem Beitrag wird gezeigt, dass die Polaris, eine äquatoriale Sonnenuhr der Firma Helios
MehrTutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
MehrBei Konstruktionen dürfen nur die folgenden Schritte durchgeführt werden : Beliebigen Punkt auf einer Geraden, Strecke oder Kreislinie zeichnen.
Geometrie I. Zeichnen und Konstruieren ================================================================== 1.1 Der Unterschied zwischen Zeichnen und Konstruieren Bei der Konstruktion einer geometrischen
MehrTutorium 5 - Programmieren
Tutorium 5 - Programmieren Grischa Liebel Uni Karlsruhe (TH) Tutorium 11 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008
MehrWir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:
1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej
MehrFormelsammlung zur Kreisgleichung
zur Kreisgleichung Julia Wolters 6. Oktober 2008 Inhaltsverzeichnis 1 Allgemeine Kreisgleichung 2 1.1 Berechnung des Mittelpunktes und Radius am Beispiel..... 3 2 Kreis und Gerade 4 2.1 Sekanten, Tangenten,
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00
MehrBranch-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.
MehrGrundlagen der 3D-Modellierung
April 28, 2009 Inhaltsverzeichnis 1 Einführung 2 Direkte Darstellungsschemata 3 Indirekte Darstellungsschemata 4 Parametrische Kurven und Freiformflächen 5 Abschluss Motivation Vom physikalischen Körper
MehrBabeș-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
MehrProgrammierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrFolge 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
MehrGeometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie
Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie Skript Beispiele Musteraufgaben Seite 1 Impressum Mathefritz Verlag Jörg Christmann Pfaffenkopfstr. 21E 66125 Saarbrücken verlag@mathefritz.de
Mehr