Parallele Algorithmen in der Bildverarbeitung
|
|
- Victoria Kaufman
- vor 6 Jahren
- Abrufe
Transkript
1 Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren immer mehr parallele Hardware- Architekturen, die mittlerweile auch den Heimbereich erreicht haben. Durch die parallele Ausführung von Algorithmen kann ein Prozess stark beschleunigt werden. Im Folgenden werden verschiedene Algorithmen der Bildverarbeitung betrachtet. In der Computergrafik sowie in der Bildverarbeitung ist die Geschwindigkeit ein zentrales Thema. Die Vertex- /und Fragmentshader einer Grafikkarte stellen für die parallelen Algorithmen ein mögliche Plattform zur Verfügung. 1.2 Grundlagen und Definitionen Die natürlichste Darstellung eines Bilds ist für den Menschen ein 2-dimensionales Array aus Pixeln. Es wird diese Repräsentation im Folgenden verwendet, auch wenn für spezielle Probleme andere Darstellungen besser geeignet sind. Das Bild hat die Größe von n n Pixeln und wird als binär angenommen. Die Pixel können die Werte 0 oder 1 enthalten. Die folgenden Algorithmen arbeiten auf einem 2-dimensionalen Prozessor-Array der Größe n n. Die Prozessoren sind untereinander horizontal, vertikal und diagonal verbunden. Jeder Prozessor kann durch die Spalten- und Zeilenzahl (i, j) identifiziert werden. Der (i, j)-prozessor speichert den Pixel (i, j) des Bildes. Die Nachbarschaft zweier Pixel definiert sich durch die Nachbarschaft der Prozessoren. Zwei Pixel sind also benachbart, wenn sie horizontal, vertikal oder diagonal benachbart sind. Zwei 1-Pixel sind verbunden, wenn es einen Weg von benachbarten 1-Pixel zwischen diesen Pixeln existiert. Die Abarbeitung eines Algorithmus erfolgt synchron. In jedem Schritt t führt jeder einzelne Prozessor die spezifizierte Tätigkeit aus, bevor der nächste Schritt t + 1 beginnt. Die Laufzeit eines Algorithmus ist über die benötigte Anzahl der Schritt definiert. 2 Component Labeling 2.1 Component Labeling Problem Eine Komponente besteht aus allen 1-Pixel, sodass jeder Pixel der Komponente mit den anderen Pixeln der Komponente verbunden ist. Das Component Labeling Problem besteht nun darin, dass jedem 1-Pixel einer Komponente das gleiche Label zugewiesen wird. 1
2 A A B B B A B B B A A C C C C C D E C D D E E Figure 1: Erwartetes Ergebnis eines Component Label Algorithmus 2.2 Simpler Algorithmus Zu Beginn wird eine einfacher Algorithmus vorgestellt. Es existiert eine Initialisierungs- und eine Update- Phase. Phase 1 Jeder Pixel generiert sich ein eigenes Label aus der Adresse im Array Phase 2 Jeder Pixel aktualisiert das eigene Label mit dem kleinsten Label der Nachbarn, falls dieses Label kleiner als das eigene Label ist. Wiederhole solange bis alle Nachbar-Pixel den gleichen Wert haben. Es wird der innere Durchmesser einer Komponente als der kleinste Wert d definiert, sodass jedes Paar u, v aus 1-Pixeln einer Komponente mit einem Weg der Länge d verbunden werden kann. In jedem Schritt der Update-Phase wird das kleinste Label der Komponente an die benachbarten Pixel weitergegeben. Die Laufzeit des Algorithmus sich mit dem größten Durchmesser aller Komponenten abschätzen. Im Worst case beträgt die Laufzeit Θ(n). 2.3 Levialdi Algorithmus Der Levialdi Algorithmus besteht aus einer Schrumpfungsphase, in der jede Komponente auf eine Größe von einem Pixel verringert wird und anschließend eliminiert wird. Dieser Pixel erhält ein Label. In der anschließenden Expansionsphase wird die Schrumpfoperation rückgängig gemacht. Die verteilten Label werden dabei zurückpropagiert. Dazu muss jeder Prozessor die Werte während der Schrumpfungsphase speichern. Wechselt bei der Expansionsphase der Wert von 0 auf 1, dann wird das Label des rechten, unteren oder rechten unteren Pixels zugewiesen. Ausgenommen der erste Pixel der Expansionsphase, dem während der Schrumpfungsphase das Label zugewiesen wurde. Die Schrumpfoperation ist als Levialdi Transformation bekannt. Die Transformation folgt den zwei folgenden Regeln. Ein 1-Pixel wird zu einen 0-Pixel, falls der obere, linke und obere linke Pixel den Wert 0 hat. Ein 0-Pixel wird zu einem 1-Pixel, falls der obere und der linke Pixel den Wert 1 besitzt. Im Abbildung 2.3 ist die Levialdi Transformation anschaulich dargestellt. Die Korrektheit des Algorithmus basiert auf den Eigenschaften der Transformation, dass Komponenten nicht vermischt werden und nicht zerfallen. Die Laufzeit für die Schrumpfungsphase beträgt höchstens 2 n 1 Schritte. Dies kann über die Invariante gezeigt werden, die besagt, dass nach Schritt t alle Pixel (i, j) den Wert 0 haben, fall i+j < t+1 gilt. Insgesamt entsteht eine Laufzeit von 4 n 2. Der Nachteil dieses Algorithmus stellt der Speicherverbrauch von 2 n pro Prozessor dar. 2
3 * * * 0 * * * 1 Figure 2: Levialdi Transformation: Der grau markierte Pixel ist aktiv. Auf Grund der Belegung der Nachbarpixel wird entschieden, ob der aktive Pixel geändert wird. 3 Hough Transformation 3.1 Erläuterung Es wird in diesem Abschnitt die Hough Transformation eines Bildes vorgestellt. Die Transformation ist analog zum Anfertigen einer Computer-Tomografie Aufnahme eines 3D-Objekts, bei der jeweils das Objeket schichtweise und mit verschiedenen Winkeln durchleuchtet wird. Gegegeben sei ein n n großes binäres Bild, sowie ein Projektionswinkel Θ( π 2 < Θ π 2 ). Das Bild wird in parallele Streifen der Höhe 1 mit einem Winkel Θ bezüglich der x-achse partitioniert. Die Transformation summiert alle 1-Pixel eines Streifens. Anhand des Pixelzentrum wird entschieden, in welchem Band ein Pixel gezählt wird. Mit Hilfe der resultierenden Ergebnisse für jeden Streifen, kann die Hough Transformation dazu eingesetzt werden, bestimmte Formen in einem Bild zu erkennen. Ist die Transformation z.b. unter verschiedenen Winkeln invariant, kann geschloßen werden, dass das Bild eine Kreisscheibe enthält. 3.2 Algorithmus Der Projektionswinkel Θ wird auf den Wert 0 Θ π 4 beschränkt. Es werden Variablen b i eingeführt, die entlang eines Streifens durch das Array geschickt werden und alle vorkommenden 1-Pixel zählen. Initial sind diese Variablen mit dem Wert 0 belegt und werden an der linken und unteren Grenze des Array eingegeben. Die Variablen b i tragen weiterhin die Information, in welchem Winkel Θ sie durch das Array geschickt werden. Durch die Beschränkung des Winkel Θ ist der nächste Prozessor entweder rechts, oben oder rechts oben zu suchen. Anhand der Winkelinformation kann ein Prozessor dies lokal entscheiden. Als Erweiterung soll ein Prozessor zusätzlich zum eigenen Pixel ebenfalls den Pixel des oberen Nachbarn speichern. Dies kann durch einen zusätzlichen Berechnungsschritt in der Initialisierung realisiert werden. Durch die Erweiterung muss eine Variable nur einen Prozessor in jeder Spalte besuchen. In Abbildung 3.2 ist der Weg der Variablen für einen Winkel von Θ = π/6 gezeigt. Die Laufzeit eines Durchlaufs benötigt 2 n Zeit, wenn die linken und die unteren Variablen nacheinander durch das Array geschickt werden, um Kollisionen an Prozessoren zu vermeiden. Für M verschiedene Winkel benötigt der Algorithmus mit Pipelining O( n + M) Zeit. 3
4 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 Figure 3: Algorithmus zur Berechnung der Hough Transformation. Die Variablen werden an der linken und unteren Seite des Arrays eingegeben und wandern den eingezeichneten Weg durch das Array. 4 Konvexe Hülle Gegeben sei zunächst eine Menge P aus Punkten p 1,..., p n in der Ebene. Die konvexe Hülle ist definiert als kleinstes konvexes Polygon, dass alle Punkte p i umschließt. Es sollen die Eckpunkte, sowie die Punkte, die auf dem Rand der konvexen Hülle liegen, berechnet werden. 4.1 Hüllpunkte Lemma: Gegeben eine Menge von Punkten p 1,..., p n sortiert nach x-koordinate. Es wird Θ i,j als Winkel zwischen der Strecke p i p j und der negativen y-achse definiert. Weiterhin sei r(i ) das kleinste j > i, für das Θ i,j maximal ist. Punkt p i ist Punkt der oberen konvexen Hülle gdw. x 1 < x i < x n und für alle i < i r(i ) i gilt. Bew.: Es wird eine Menge aller Strecken konstruiert, die zwei verschiedene Punkte aus P verbinden. Nach Definition liegen alle Strecken innerhalb der oberen konvexen Hülle. Ein Punkt p i liegt auf dem Rand der konvexen Hülle, wenn er nicht unterhalb einer Strecke liegt und x 1 < x i < x n gilt. Ein Punkt liegt unterhalb einer Strecke p i p j (j > i ), wenn ein Schnittpunkt zwischen der Strecke und dem Strahl von (x i, y i ) nach (x i, ) existiert. Dies ist der Fall, wenn Θ i,j > Θ i,i und i i j gilt. Dies ist die Bedingung, dass der Anfangspunkt des Strahls p i unterhalb der Strecke liegt. Nach Definition ist r(i ) das kleinste j > i, für das Θ i,j maximal ist. Für jede Strecke zwischen i tem und j = r(i )ten Punkt ist bekannt, dass alle Punkte im Intervall von x i bis x j unterhalb dieser Strecke liegen müssen. Falls für alle i < i r(i ) i erfüllt ist, existiert keine Strecke von i nach k > i. Damit liegt p i nicht unter einer Strecke und ist damit Punkt der oberen konvexen Hülle. 4
5 4.2 Algorithmus Der Algorithmus arbeitet auf einem linearen Array von Prozessoren. Jeder Prozessor speichert einen der Punkte p i. 1. Sortiere Punkte nach x-koordinate 2. Weise sortierten Punkten Label p i zu. 3. Berechne r(i) für alle i, indem Punkte von rechts nach links gesendet werden. Dabei kann Θ i,j für alle j > i berechnet werden. Der Prozessor speichert das Maximum. Damit ist dem iten Prozessor j = r(i) mit maximalem Θ i,j bekannt. 4. Führe ein Prefix von links nach rechts mit Maximums-Operation aus. Es ist danach ma i ir(i ) bekannt. Der ite Prozessor kann nun durch Vergleich mit seiner Identität prüfen, ob p i ein Hüllpunkt ist. 5
Ü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
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
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
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
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
MehrMorphologie auf Binärbildern
Morphologie auf Binärbildern WS07 5.1 Konen, Zielke WS07 5.2 Konen, Zielke Motivation Aufgabe: Objekte zählen Probleme: "Salt-&-Pepper"-Rauschen erzeugt falsche Objekte Verschmelzen richtiger Objekte durch
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
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
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 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
MehrSeminararbeit für das SE Reine Mathematik- Graphentheorie
Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
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
MehrBinärbildverarbeitung
Prof. Dr.-Ing. Thomas Zielke " Binärbildverarbeitung SS 2013 3.1 Anwendungen von Binärbildern" Ein Bild mit nur zwei Grau/Farb-Stufen nennt man Binärbild. In der Regel werden Bildpunkte mit dem Wert Null
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,
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 =
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 ZPL Prof. Dr. Walter F. Tichy Dr. Victor Pankratius Ali Jannesari Agenda 1. ZPL Überblick 2. Konzepte von ZPL Regionen, Region Specifiers
MehrOPERATIONS-RESEARCH (OR)
OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:
MehrGrundregeln der Perspektive und ihre elementargeometrische Herleitung
Vortrag zu Mathematik, Geometrie und Perspektive von Prof. Dr. Bodo Pareigis am 15.10.2007 im Vorlesungszyklus Naturwissenschaften und Mathematische Wissenschaften im Rahmen des Seniorenstudiums der LMU.
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
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
MehrOptimalitätskriterien
Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen
MehrKomplexitätstheorie Einführung und Überblick (Wiederholung)
Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität
Mehr2 Lösungen "Peptide de novo Sequencing"
Lösungen "Peptide de novo Sequencing". Algorithm : PeptideSequencingOnlySux Input: a spectrum M with array of masses M = {m, m,, m n }, Σ, µ : Σ R >0 Output: the peptide string of the spectrum begin peptide
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),
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
MehrApproximationsalgorithmen
Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert
MehrSortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1
Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal
MehrRegionen in Binärbildern
Regionen in Binärbildern Industrielle Bildverarbeitung, Vorlesung No. 9 1 M. O. Franz 05.12.2007 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Burger & Burge, 2005. Übersicht 1 Auffinden
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
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.
MehrEntscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen
Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,
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.
MehrTEILWEISE ASYNCHRONE ALGORITHMEN
TEILWEISE ASYNCHRONE ALGORITHMEN FRANK LANGBEIN Literatur: D. Berseas, J. Tsitsilis: Parallel and distributed computatoin, pp. 48 489 URI: http://www.langbein.org/research/parallel/ Modell teilweiser asynchroner
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
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
MehrAufgaben des MSG-Zirkels 10b Schuljahr 2007/2008
Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)
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
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
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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
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
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrTexture Based Direct Volume Rendering
Texture Based Direct Volume Rendering Vorlesung: "Advanced Topics in Computer Graphics" cbrak@upb.de 1 Agenda 1. Einleitung Volume Rendering 1.1. Volumendatensatz 1.2. Volumenintegral 1.3. Image order
MehrHOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.
HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis
MehrMicrosoft Access 2010 Gruppierte Daten in Berichten
Microsoft Access 2010 Gruppierte Daten in Berichten Berichte... zeigen Daten zum Lesen an. können Daten gruppieren und berechnen. beziehen die Daten aus einer Tabelle oder Abfrage / SQL- Anweisung. bereiten
MehrÜbungen zur Vorlesung Verteilte Algorithmen II, Heiko Krumm, Universität Dortmund, FB Informatik
Übung 4: Gegenseitiger Ausschluss (Ricart-Agrawala 1981) Konstanten: n >1 Anzahl der Prozesse; r Adresse des Prozesses, der initial das Token besitzt. Prozessparameter i sei die Adresse der aktuellen Prozessinstanz,
MehrKapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete
Kapitel 0 Einführung 0.1 Was ist Computergrafik? Software, die einen Computer dazu bringt, eine grafische Ausgabe (oder kurz gesagt: Bilder) zu produzieren. Bilder können sein: Fotos, Schaltpläne, Veranschaulichung
MehrMicrosoft Visio 2007-Programmierung
René Martin Microsoft Visio 2007-Programmierung ISBN-10: 3-446-41084-8 ISBN-13: 978-3-446-41084-8 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41084-8 sowie im
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
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
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrKompakte Graphmodelle handgezeichneter Bilder
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Authentizierung und Bilderkennung Inhaltsverzeichnis Seminar Mustererkennung WS 006/07 Autor: Stefan Lohs 1 Einleitung 1 Das graphische Modell.1
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
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
MehrMethoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen
Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle
MehrBildverarbeitung Herbstsemester. Binärbildanalyse
Bildverarbeitung Herbstsemester Herbstsemester 2010 2012 Binärbildanalyse 1 Inhalt Einführung Partikelfilterung und -analyse Auffinden von Regionen und Konturen Gruppenarbeit Erkennung von geometrischen
MehrErstellen und Bearbeiten von stereoskopischen 3D-Fotos
Erstellen und Bearbeiten von stereoskopischen 3D-Fotos Herzlich Willkommen! In diesem Tutorial werden die wesentlichen Funktionen von STEREOPHOTOMAKER zum Erstellen und Bearbeiten von stereoskopischen
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
Mehr32. Algorithmus der Woche Kreise zeichnen mit Turbo Programmoptimierung: Wie kann man die Zahl der Rechenoperationen minimieren?
32. Algorithmus der Woche Kreise zeichnen mit Turbo Programmoptimierung: Wie kann man die Zahl der Rechenoperationen minimieren? Autor Leif Kobbelt, RWTH Aachen Dominik Sibbing, RWTH Aachen Hast Du schon
Mehr3. Grundlagen der Linearen Programmierung
3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
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
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrGrundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:
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:
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
MehrZuschauer beim Berlin-Marathon
Zuschauer beim Berlin-Marathon Stefan Hougardy, Stefan Kirchner und Mariano Zelke Jedes Computerprogramm, sei es ein Betriebssystem, eine Textverarbeitung oder ein Computerspiel, ist aus einer Vielzahl
Mehr:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese
Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines
MehrRepetitionsaufgaben: Lineare Funktionen
Kantonale Fachschaft Mathematik Repetitionsaufgaben: Lineare Funktionen Zusammengestellt von Irina Bayer-Krakvina, KSR Lernziele: - Wissen, was ein Steigungsdreieck einer Geraden ist und wie die Steigungszahl
MehrLenstras 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
MehrProgrammiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
MehrIn vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.
Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrBestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
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
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:
MehrGrundlagen der Computer-Tomographie
Grundlagen der Computer-Tomographie Quellenangabe Die folgenden Folien sind zum Teil dem Übersichtsvortrag: imbie.meb.uni-bonn.de/epileptologie/staff/lehnertz/ct1.pdf entnommen. Als Quelle für die mathematischen
MehrWortproblem für kontextfreie Grammatiken
Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?
MehrKompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.
MehrExtremwertaufgaben. 3. Beziehung zwischen den Variablen in Form einer Gleichung aufstellen (Nebenbedingung),
Extremwertaufgaben x. Ein Landwirt will an einer Mauer einen rechteckigen Hühnerhof mit Maschendraht abgrenzen. 0 Meter Maschendraht stehen zur Verfügung. Wie groß müssen die Rechteckseiten gewählt werden,
MehrIntegration von Schülerinnen und Schülern mit einer Sehschädigung an Regelschulen
Integration von Schülerinnen und Schülern mit einer Sehschädigung an Regelschulen Didaktikpool Falttechniken zum Einsatz im Mathematikunterricht mit sehgeschädigten Kindern Emmy Csocsán / Christina Blackert
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrLeica 3D Disto CAD-Werkzeuge
Leica 3D Disto CAD-Werkzeuge Wann werden sie benötigt? um Fenster, Türen und andere Wanddetails zu messen um verdeckte Punkte zu messen 90 um Ecken von genau 90.000 zu erzeugen 45 um Sollmaße zu erzeugen
MehrComputer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg,
Nikos Canterakis Lehrstuhl für Mustererkennung, Universität Freiburg, Literatur Richard Hartle and Andrew Zisserman. Multiple View Geometr in computer vision, Cambridge Universit Press, 2 nd Ed., 23. O.D.
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
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrNumerisches Programmieren
Technische Universität München WS /3 Institut für Informatik Prof Dr Hans-Joachim Bungartz Dipl-Inf Christoph Riesinger Dipl-Inf Dipl-Math Jürgen Bräckle Numerisches Programmieren Programmieraufgabe: Polnominterpolation,
MehrDAS SNELLIUSSCHE BRECHUNGSGESETZ UND LINSEN MIT EXAKT PUNKTFÖRMIGEM FOKUS. Eugen Grycko, Werner Kirsch, Tobias Mühlenbruch
DAS SNELLIUSSCHE BRECHUNGSGESETZ UND LINSEN MIT EXAKT PUNKTFÖRMIGEM FOKUS Eugen Grycko, Werner Kirsch, Tobias Mühlenbruch Fakultät für Mathematik und Informatik FernUniversität Universitätsstraße 1 Hagen
MehrWirtschaftsinformatik 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
MehrComputer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17
Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),
MehrSeminar Komplexe Objekte in Datenbanken
Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de
MehrÜbungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8
Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung
MehrComputergraphik I. Scan Conversion: Lines & Co. Einordnung in die Pipeline. G. Zachmann Clausthal University, Germany zach@tu-clausthal.
11/4/10 lausthal omputergraphik I Scan onversion of Lines. Zachmann lausthal University, ermany zach@tu-clausthal.de Einordnung in die Pipeline Rasterisierung der Objekte in Pixel Ecken-Werte interpolieren
MehrAllerdings ist die Bearbeitung von Standardobjekten vorerst eingeschränkt. Wir wollen uns dies im folgenden Beispiel genauer betrachten.
7. KURVEN UND KNOTEN INFORMATION: Sämtliche Objekte bestehen in CorelDRAW aus Linien oder Kurven. So ist ein Rechteck ein Gebilde aus einem Linienzug, ein Kreis hingegen besteht aus einer Kurve. Zum Bearbeiten
MehrGrundlagen der digitalen Bildverarbeitung / Fortsetzung
Grundlagen der digitalen Bildverarbeitung / Fortsetzung Wir haben bereits zwei Beispiele digitaler Bildfilter gesehen. Es gibt eine große Menge von Filtern mit ganz unterschiedlicher Auswirkung auf das
MehrIn ein quadratisches Blech werden Löcher gestanzt. Insgesamt sind es 85 Löcher. Wie viele Löcher sind in der untersten Reihe?
Aufgabe 1: Das Stanzblech: Löcher In ein quadratisches Blech werden Löcher gestanzt. Insgesamt sind es 85 Löcher. Wie viele Löcher sind in der untersten Reihe? Bei dieser Aufgabe kann rückwärts gearbeitet
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
Mehrwww.mathe-aufgaben.com
Abiturprüfung Mathematik Baden-Württemberg (ohne CAS) Pflichtteil Aufgaben Aufgabe : ( VP) Bilden Sie die erste Ableitung der Funktion f mit sin() f() =. Aufgabe : ( VP) Berechnen Sie das Integral ( )
Mehr