Eine vorprozessierte Variante von Scatter/Gather

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Eine vorprozessierte Variante von Scatter/Gather"

Transkript

1 Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Ausarbeitung zum Blockseminar Invisible Web Eine vorprozessierte Variante von Scatter/Gather Zhihong Tang Betreuerin: Dipl.-Inform. Gudrun Fischer

2 Inhaltsverzeichnis 1. Einleitung Modifikation von Scatter/Gather Hypothese der Cluster-Verfeinerung Meta-Dokument Cluster-Hierarchie Definition Typen von hierarchischen Verfahren Scatter/Gather auf einer Hierarchie Implementierung Generierung einer Cluster-Hierarchie Das partitionierende Verfahren Aufwand des partitionierenden Verfahrens Meta-Profile Beschneidung Meta-Zusammenfassung Ein Beispiel zum modifizierten Algorithmus Erster Scatter-Schritt auf der gesamten Kollektion Zweiter Scatter-Schritt Dritter Scatter-Schritt Zusammenfassung Literatur...11

3 1. Einleitung Scatter/Gather ist ein Algorithmus für das Browsing von Dokumenten- Kollektionen. Die wesentliche Idee ist, dass Cluster nicht statisch sondern dynamisch während der interaktiven Suche bestimmt werden. Jeder Suchschritt besteht aus zwei Phasen, einer Scatter-Phase und einer Gather-Phase. In der Scatter-Phase fängt der Benutzer mit einer Menge von Objekten ( Focus Set ) an. Dieses Focus Set wird in k Cluster zerstreut und dem Benutzer präsentiert. In der Gather-Phase wählt der Benutzer eine für ihn interessante Teilmenge davon aus, welche wieder ein neues, kleineres und genaueres Focus Set generiert. Dieser Prozess wird dann iteriert. Wichtig für Scatter/Gather- Browsing sind schnelles Dokument-Clustering und eine effektive Cluster- Zusammenfassung. Mit Scatter/Gather kann man im Vergleich zu anderen Algorithmen schon den Aufwand von quadratisch auf linear reduzieren. Es ist schnell genug für eine mäßig große Dokumentenmenge. Allerdings ist dieser Algorithmus noch zu langsam, um interaktives Clustering von sehr großen Dokumentenmengen zu unterstützen. Wenn man Scatter/Gather zum Beispiel auf eine Dokumentenmenge von Dokumenten verwendet, und 3000 Dokumente pro Minute clustert, dann braucht man schon etwa 4 Stunden für das Scatter. Das ist für Interaktion nicht geeignet. Um die Interaktivität zu gewährleisten, muss es für jeden Scatter/Gather-Schritt eine kleine konstante Zeitgrenze geben. Um dies zu erreichen, müssen die Dokumente vorher vorprozessiert werden, da die Dokumentenmenge beliebig groß sein kann. Die Vorprozessierung selbst soll auch effizient genug sein. Zu diesem Zweck wollen wir den Algorithmus modifizieren. 2. Modifikation von Scatter/Gather 2.1 Hypothese der Cluster-Verfeinerung Angenommen, wir wollen Dokumente in 10 Cluster zusammenfassen. Es ist zu erwarten, dass sich sehr ähnliche Dokumente in demselben Cluster befinden. Wir können entweder die Dokumente direkt in 10 Cluster zusammenfassen, oder sie in mehreren Schritten bearbeiten. Zum Beispiel können wir die Dokumente zuerst in 500 Cluster, dann die 500 Cluster weiter in 10 Cluster zusammenfassen. Dann müssten alle Dokumente, die sich in einem dieser vergleichsweise feinen 500 Cluster befinden, auch in einem der gewünschten, gröberen 10 Cluster liegen. Allgemeiner gesagt, gehen wir davon aus, dass ähnliche Dokumente, die sich bei einem feinen Clustering in einem Cluster befinden, bei einem groben Clustering ebenfalls in einem Cluster zusammengefasst werden. Das ist die Hypothese der Cluster-Verfeinerung. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 1

4 2.2 Meta-Dokument Die 500 Cluster aus dem vorigen Beispiel werden als Meta-Dokumente bezeichnet. Diese Meta-Dokumente enthalten jeweils eigene Unterdokumente und bilden eine kondensierte Repräsentation der Kollektion. Anstatt die Dokumente zu clustern, brauchen wir jetzt nur noch die 500 Meta-Dokumente zu clustern. Mit der Hypothese der Cluster-Verfeinerung folgt, dass die beiden Clusterings (von 500 und von ) ähnliche Ergebnisse haben. Wenn wir eine kondensierte Kollektion (in unserem Beispiel die 500 Meta- Dokumente) schnell produzieren können, dann brauchen wir weniger Zeit für die Erstellung von Clustern als bei der ursprünglichen viel größeren Kollektion (in unserem Beispiel die Dokumente). Weiterhin können wir dann garantieren, dass die Laufzeit für das Clustering von 500 Meta-Dokumenten innerhalb der Zeit bleibt, die das Clustering für 500 Objekte benötigt, unabhängig von der Größe der Dokumenten-Kollektion. Die wesentliche Frage ist, wie man eine kondensierte Kollektion schnell und effizient aufbauen kann. Deswegen wollen wir eine Datenstruktur einführen und damit die Daten vorprozessieren. 2.3 Cluster-Hierarchie Die Datenstruktur, die wir hier brauchen, ist eine Cluster-Hierarchie Definition Eine Cluster-Hierarchie ist ein Baum mit folgenden Eigenschaften: die Wurzel repräsentiert die ganze Dokumenten-Kollektion die Blätter repräsentieren einzelne Dokumente ein innerer Knoten repräsentiert die Vereinigung aller Objekte, die im darunterliegenden Teilbaum repräsentiert werden. Der Baum wird rekursiv beschrieben, entweder als Blatt, das einem einzelnen Dokument entspricht, oder als Baum, dessen Unterbäume Cluster-Hierarchien sind. In einem so erzeugten Baum entspricht jeder innere Knoten der Agglomeration der Dokumente, die von den Kindern dieses Knotens dargestellt werden. Abbildung 1 ist ein Beispiel der Cluster-Hierarchie, als Dendrogramm dargestellt. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 2

5 Abbildung 1: Dendrogramm einer Cluster-Hierarchie Typen von hierarchischen Verfahren Zur Erstellung von Cluster-Hierarchien werden agglomerative und partitionierende Verfahren verwendet. Partitionierende Verfahren gehen topdown vor, d.h. sie beginnen an der Wurzel des Baumes mit dem Cluster, das alle Dokumente beinhaltet. Dieses Cluster wird rekursiv zerteilt. Im Gegensatz zu den partitionierenden Verfahren gehen agglomerative Verfahren bottom-up vor, d.h. ausgehend von den Blättern des Baums werden die ähnlichsten Dokumente zu einem Cluster zusammengefasst. Dann werden wiederholt die ähnlichsten Dokumente bzw. Cluster zusammengefasst, bis an der Wurzel des Baumes nur noch ein Cluster existiert. 2.4 Scatter/Gather auf einer Hierarchie Eine Cluster-Hierarchie kann verwendet werden, um die Scatter/Gather- Browing-Methode zu beschleunigen. Wenn eine Cluster-Hierarchie für eine Kollektion schon aufgebaut ist, dann braucht man nur konstante Zeit für jede einzelne Iteration des Scatter/Gather-Prozesses, unabhängig von der Anzahl der betroffenen Dokumente. Ein innerer Knoten in einer Cluster-Hierarchie entspricht einem Meta-Dokument. Wir können ein Meta-Dokument erweitern und es durch seine Kinder ersetzen. Da jedes seiner Kinder nur eine Teilmenge der Dokumente des ursprünglichen Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 3

6 Meta-Dokumentes darstellt, ergeben diese Kinder eine ausführlichere Darstellung der Dokumente als das ursprüngliche Meta-Dokument. Sei M die maximale Anzahl der Objekte, die innerhalb der gewünschten konstanten Zeitgrenze geclustert werden können, und k die gewünschte Anzahl der Cluster (M>>k). Für jede Iteration beginnen wir mit dem Focus Set F. Dieses Focus Set besteht aus Meta-Dokumenten. Für die erste Iteration ist das Focus Set das einzelne (Wurzel-)Meta-Dokument, welches die gesamte Kollektion darstellt. F wird zuerst mit dem folgenden Verfahren erweitert: Solange F weniger als M Meta-Dokumente enthält Suche das Meta-Dokument D in F mit den meisten Blättern Ersetze D durch seine Kinder in der Hierarchie Dieses erweiterte Focus Set enthält detailiertere Meta-Dokumente als das vorige. Mit der Hypothese der Cluster-Verfeinerung sollten die Ergebnisse des Clusterings eines erweiterten F und des Clusterings einzelner Dokumente in F ähnlich sein. Da die Größe von F M ist, wissen wir, dass F innerhalb der gewünschten konstanten Zeitgrenze geclustert werden kann. Die resultierenden Cluster werden wieder dem Benutzer präsentiert. Der Benutzer wählt dann eine Teilmenge aus. Diese gewählte Teilmenge ist tatsächlich eine Teilmenge der Meta-Dokumente von F und bildet das neue Focus Set, welches wieder mit dem obigen Algorithmus erweitert wird. Deswegen wird die Laufzeit für jede Iteration die konstante Zeitgrenze nicht überschreiten. 3. Implementierung 3.1 Generierung einer Cluster-Hierarchie Wie oben erwähnt, kann man eine Cluster-Hierarchie mittels des agglomerativen Verfahrens erzeugen. Jedoch ist die Laufzeit von diesem Verfahren quadratisch, weil an jedem Schritt die ähnlichsten Dokumentpaare zusammengefasst werden. Deswegen bevorzugen wir das partitionierende Verfahren. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 4

7 3.1.1 Das partitionierende Verfahren Sei k die gewünschte Anzahl der Cluster und n die Anzahl der gesamten Dokumente in einer Kollektion. Zuerst werden k Dokumente von der Dokumenten-Kollektion so bestimmt, dass sie hinreichend unterschiedlich sind. Diese bilden jeweils ein neues Cluster. Dann werden alle anderen Dokumente zu dem jeweils ähnlichsten Cluster hinzugefügt. Dieser Algorithmus wird rekursiv auf jedes Cluster in einer Partition angewendet und stoppt an den einzelnen Dokumenten. Damit wird jedes Cluster wieder in k Cluster unterteilt Aufwand des partitionierenden Verfahrens Auf jedem Niveau der Rekursion gibt es immer n Objekte, da jedes Objekt höchstens in einem Cluster enthalten ist. Deshalb sind die Gesamtkosten aller Clusterings auf jedem Niveau O(kn). Wenn jedes Clustering ausgeglichen ist, d.h. wenn jedes Cluster denselben Anteil der Gesamtmenge enthält, dann gibt es log n Niveaus und das gesamte Verfahren wird in O(knlog n) Zeit durchgeführt. 3.2 Meta-Profile Einzelne Dokumente können als Profile repräsentiert werden. Ein Profil ist ein Vektor, der angibt, welche Wörter in einem Dokument auftreten und wie häufig sie vorkommen. Die Ähnlichkeit zwischen Dokumenten kann als Kosinus zwischen Vektoren definiert werden. Wie oben erwähnt, ist jeder innere Knoten in einer Cluster-Hierarchie ein Meta- Dokument. Meta-Dokumente können auch durch Profile beschrieben werden, indem wir einfach die Profile ihrer Kinder summieren. Die Ähnlichkeit zwischen Meta-Dokumenten kann ebenfalls als Kosinus zwischen Vektoren berechnet werden. Generell kann man für jeden Knoten in der Hierarchie ein Profil speichern. Aber je höher sich ein Knoten im Baum befindet, desto größer ist sein Profil, weil dieses Profil alle Wortinhalte seines Unterbaumes enthält. Es enthält dann viele von Null verschiedene Einträge. Tatsächlich ist das Profil des Wurzelknotens ein voll besetzter Vektor, da jedes Wort, das in der Kollektion auftritt, auch in diesem Profil enthalten ist. Dies bedeutet hohe Anforderungen an den Speicherplatz und beeinflusst die Zeit für das Clustering. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 5

8 3.3 Beschneidung Die Ähnlichkeit zwischen einzelnen Dokumenten kann in konstanter Zeit berechnet werden, da ihre Profile von begrenzter Größe sind. Jedoch nimmt die Zeit für die Ähnlichkeitberechnung zu, wenn die Profile besonders groß werden. Das Clustering von Meta-Dokumenten mit großen Profilen braucht fast so viel Zeit wie das Clustering ihrer einzelnen Dokumente. Um dieses Problem zu lösen, beschneiden wir die Meta-Dokument-Profile, um nur die most topical (themenspezifisch häufigsten) Einträge einzuschließen. Alle Profile haben dann gleiche Länge und damit braucht die Ähnlichkeitsberechnung immer konstante Zeit. Dadurch wird garantiert, dass das Clustering von n Meta-Dokumenten immer die gleiche Zeit braucht, unabhängig von ihrer aktuellen Größe. Diese beschnittenen Profile können die Meta-Dokumente bereits effektiv beschreiben. Ein weiterer Vorteil der Beschneidung liegt darin, dass damit weniger Speicherplatz erforderlich ist. Der Speicherplatz, den wir für die Speicherung der Cluster-Hierarchie brauchen, ist linear zu der Größe der Kollektion, weil der Speicherplatzbedarf für jedes Meta-Dokument-Profil konstant ist. 3.4 Meta-Zusammenfassung Der ursprüngliche Scatter/Gather-Algorithmus benutzt das Cluster-Digest- Verfahren, um ein Cluster von individuellen Dokumenten zusammenzufassen. Das können wir auf Cluster von Meta-Dokumenten wie folgt erweitern. Der Cluster-Digest-Algorithmus liefert zwei komplementäre Listen: eine Liste von topical Wörtern, die am häufigsten im Cluster auftreten, und eine Liste von typischen Titeln, definiert als die Titel der Dokumente, die dem Cluster-Profil am ähnlichsten sind. Da die Berechnung von topical Wörtern nur von den Profilen der Objekte im Cluster abhängt, kann man sie einfach auf Cluster von Meta-Dokumenten erweitern. Die Erweiterung von typischen Titeln erfordert andererseits, einen Titel für Meta-Dokumente zu definieren. Jedem Knoten wird der Titel des Blattes (d.h. individuelles Dokument) in seinem Unterbaum, das dem Profil des Knotens am ähnlichsten ist, zugewiesen. Um eine schnelle Cluster-Zusammenfassung zu unterstützen, muss jeder Knoten in der Cluster- Hierarchie zusätzlich zu seinem beschnittenen Profil seinen Titel speichern. Die benötigte Zeit für die Berechnung von Profilen und zentralen Dokumenten (die Mittelpunkte) eines Clusters mit c Objekten ist O(c). Damit bleibt die benötigte Laufzeit für die Erstellung der gesamten Hierarchie immer noch O(knlog n), sogar mit diesen zusätzlichen Berechnungen. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 6

9 4. Ein Beispiel zum modifizierten Algorithmus Wir wollen nun ein Beispiel vorstellen, das in [2] durchgeführt wurde: Scatter/Gather über Tipster. Die DARPA Tipster Kollektion enthält über Dokumente und insgesamt 2.1 Gigabytes Texte. Es gibt über eine Million verschiedene Wörter in Tipster, von denen fast eine halbe Million Wörter in mehr als einem Dokument auftreten. Der Aufbau einer Cluster-Hierarchie für Tipster erforderte vierzig Stunden auf einer Sun SPARC Station 10. Etwa 210 Megabytes an Speicherkapazität waren notwendig, um die beschnittenen Profile der Hierarchie (10% der Gesamtgröße) zu speichern. Mit dieser Hierarchie braucht jeder Scatter/Gather Schritt nur ungefähr 20 Sekunden nach unseren Voraussetzungen. Nun wollte man mit den folgenden Fragen die Kollektion näher betrachten: Was ist der Unterschied zwischen the Wall Street Journal und the AP newswire? Was ist in Computer Select enthalten? Was ist ein DOE Abstract? Worüber wird in the Federal Registry gesprochen? Um diese Fragen zu beantworten, kann man einfach eine Stichprobe aus der Kollektion auswählen und lesen. Aber Scatter/Gather bietet eine vollständigere Methode. 4.1 Erster Scatter-Schritt auf der gesamten Kollektion Nach der Beschreibung enthält die Kollektion Artikel von AP Newswire und the Wall Street Journal, Abstracts von Department of Energy, die gesamte federal register issues und Texte von Ziff Davis computer Select disks. Damit hat man schon eine Vorstellung davon, was zu erwarten ist. Abbildung 2 zeigt das Scatter von der ganzen Kollektion. Die erste Zeile in jedem Cluster enthält die Cluster-Nummer, die Anzahl der Dokumente in dem Cluster und eine Liste von topical Wörtern. Die anderen drei Zeilen zeigen die drei zentralsten Meta-Dokumente in dem Cluster, mit jeweils dem typical Titel gefolgt von einer Liste von topical Wörtern in dem Meta-Dokument. Es wurden 5 Cluster erzeugt. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 7

10 Die Antwort zu einigen Fragen kann man daraus schon ablesen: the Federal Registry enthält Regierungsvorschriften (Cluster 0); the AP newswire konzentriert sich auf politische Ereignisse (Cluster 1), während sich the Wall Street Journal hauptsächlich auf geschäftliche Nachrichten konzentriert (Cluster 2); Die Ziff-Davis Kollektion enthält computerbezogene Produkte (Cluster 3); DOE Abstracts sind technische Forschungen über Energie (Cluster 4). 4.2 Zweiter Scatter-Schritt Anschließend wurden Cluster 1 und 2 gewählt, um the AP newswire näher zu betrachten. Die beiden Cluster wurden dann zusammengefasst und wieder zerstreut. Abbildung 3 zeigt das neue Ergebnis mit 10 Clustern: Cluster 0: human interest and leisure Cluster 1: legal affairs Cluster 2: police actions Cluster 3: markets Cluster 4: companies Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 8

11 Cluster 5: finance Cluster 6: foreign affairs Cluster 7: congress Cluster 8: presidential politics Cluster 9: regional news Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 9

12 4.3 Dritter Scatter-Schritt Um sich auf internationale Ereignisse zu konzentrieren, wurden diesmal die Cluster 2 und 6 gewählt, zusammengefasst und dann neu zerstreut. Abbildung 4 zeigt das Ergebnis mit 10 Clustern. Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 10

13 5. Zusammenfassung Hier wird eine Methode (Quelle: [2]) vorgestellt, die den Scatter/Gather- Algorithmus aus [1] auf beliebig große Korpora erweitert. Dies erfordert eine Vorprozessierung der Dokumente, bei der eine Cluster-Hierarchie mit einem Algorithmus in O(knlog n) Zeit konstruiert wird. Die Hierarchie ermöglicht den Aufbau einer kondensierten Repräsentation des Focus Set, d.h. der Menge der zu clusternden Dokumente. Diese Repräsentation, nämlich eine Gruppe von Meta-Dokumenten, ist aufgrund ihres Entwurfs von einer festgelegten Größe und kann in konstanter Zeit geclustert werden. Damit bekommt man Interaktion in konstanter Zeit für jeden Scatter/Gather-Schritt. 6. Literatur [1] Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections(1992). Douglass R. Cutting, J. Pedersen, David R. Karger, und John.W.Tukey. In: Proceedings of the Fifteenth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, New York. [2] Constant Interaction-Time Scatter/Gather Browsing of Very Large Document Collections(1993). D.R. Cutting, J. Pedersen, D.Karger. In SIGIR: 93 Zhihong Tang Eine vorprozessierte Variante von Scatter/Gather 11

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Studienprojekt Invisible Web (Dipl.-Inform. Gudrun Fischer - WS 2003/04) Blockseminar

Mehr

Dokumenten-Clustering. Norbert Fuhr

Dokumenten-Clustering. Norbert Fuhr Dokumenten-Clustering Norbert Fuhr Dokumenten-Clustering (Dokumenten-)Cluster: Menge von ähnlichen Dokumenten Ausgangspunkt Cluster-Hypothese : die Ähnlichkeit der relevanten Dokumente untereinander und

Mehr

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass:

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Text-Clustern 1 Clustern Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Beispiele innerhalb eines Clusters sich sehr ähnlich Beispiele in verschiedenen

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren 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

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

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

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

Mehr

2. Lernen von Entscheidungsbäumen

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

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests 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

Mehr

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

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

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. 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

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der 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

Mehr

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik Vorlesung Text und Data Mining S9 Text Clustering Hans Hermann Weber Univ. Erlangen, Informatik Document Clustering Überblick 1 Es gibt (sehr viele) verschiedene Verfahren für das Bilden von Gruppen Bei

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 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:

Mehr

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

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

Mehr

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Matrixzugriff Wir wollen nun unsere Einführung in die Arbeit mit Vektoren und Matrizen in MATLAB

Mehr

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

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

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine 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

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

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

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

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Jan Parthey, Christin Seifert. 22. Mai 2003

Jan Parthey, Christin Seifert. 22. Mai 2003 Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Produktentwicklung damit sollten Sie rechnen

Produktentwicklung damit sollten Sie rechnen Produktentwicklung damit sollten Sie rechnen 0. Zusammenfassung Wer Produktentwicklung betreiben will, muss in erster Linie sehr viel lesen: Dokumente aus unterschiedlichsten Quellen und in vielen Formaten.

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

Mehr

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

Mehr

Graphen: Datenstrukturen und Algorithmen

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

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

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

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. 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,

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen 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.

Mehr

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

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

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

AutoSPARQL. Let Users Query Your Knowledge Base

AutoSPARQL. Let Users Query Your Knowledge Base AutoSPARQL Let Users Query Your Knowledge Base Christian Olczak Seminar aus maschinellem Lernen WS 11/12 Fachgebiet Knowledge Engineering Dr. Heiko Paulheim / Frederik Janssen 07.02.2012 Fachbereich Informatik

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Datenstrukturen und Algorithmen

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

Mehr

Numerisches Programmieren

Numerisches 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,

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen 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

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir 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.

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Vektormodelle. Universität zu Köln HS: Systeme der maschinellen Sprachverarbeitung Prof. Dr. J. Rolshoven Referentin: Alena Geduldig

Vektormodelle. Universität zu Köln HS: Systeme der maschinellen Sprachverarbeitung Prof. Dr. J. Rolshoven Referentin: Alena Geduldig Vektormodelle Universität zu Köln HS: Systeme der maschinellen Sprachverarbeitung Prof. Dr. J. Rolshoven Referentin: Alena Geduldig Gliederung Vektormodelle Vector-Space-Model Suffix Tree Document Model

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 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

Mehr

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen 7. Clusteranalyse (= Häufungsanalyse; Clustering-Verfahren) wird der multivariaten Statistik zugeordnet Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut,

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Algorithmen & Datenstrukturen 1. Klausur

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

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & 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

Mehr

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

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

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Objektorientierte Programmierung

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

Mehr

Effiziente Erzeugung qualitativ hochwertiger Bilder anhand punktbasierter Geometriedaten

Effiziente Erzeugung qualitativ hochwertiger Bilder anhand punktbasierter Geometriedaten Effiziente Erzeugung qualitativ hochwertiger Bilder anhand punktbasierter Geometriedaten Referent: Arndt Ebert 1 2 Ziel des Vortrags Einordnung der point based representation (PBR) und Grundlagen Effiziente

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

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

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, 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)

Mehr

WS 2009/10. Diskrete Strukturen

WS 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

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: 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

Mehr

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27 DLP Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de Fachbereich Mathematik und Informatik ALZAGK SEMINAR Bremen, den 18. Januar 2011 1 / 27 Inhaltsverzeichnis 1 Der diskrete Logarithmus Definition

Mehr

13. Bäume: effektives Suchen und Sortieren

13. Bäume: effektives Suchen und Sortieren Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder

Mehr

Lenstras Algorithmus für Faktorisierung

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

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Kevin Caldwell. 18.April 2012

Kevin Caldwell. 18.April 2012 im Rahmen des Proseminars Numerische Lineare Algebra von Prof.Dr.Sven Beuchler 18.April 2012 Gliederung 1 2 3 Mathematische Beschreibung von naturwissenschaftlich-technischen Problemstellungen führt häufig

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

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

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

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. 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

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Cluster-Praktikum Sommersemester 2007 Transparent Replizierte Objekte in JavaParty Institut für Programmstrukturen und Datenorganisation

Mehr

Ohne Mathematik undenkbar!

Ohne Mathematik undenkbar! Die tägliche - Suche: Ohne Mathematik undenkbar! Dipl.-Wirt.Math. Jan Maruhn FB IV - Mathematik Universität Trier 29. März 2006 29. März 2006 Seite 1 Gliederung Einleitung und Motivation Das Internet als

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE 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

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 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

Mehr

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

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

Mehr

Kapitel 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 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:

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einfü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

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Fakultät Wirtschaftswissenschaft

Fakultät Wirtschaftswissenschaft Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr