Inhalt Einführung Problemstellung / Ziele Definitionen

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Matrixmultiplikation
Partitionierungstechniken in Datenbanksystemen
Christian Scheideler SS 2009
Knapsack & Bin Packing Sebastian Stober
Themen Grundlagen Bedingungen für Koalitionsstrukturen
Informatik II – Kapitel 11
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenbanken Einführung.
The Dynamic Single File Allocation Problem
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Effizienz: Indexstrukturen
Algorithmentheorie 6 – Greedy-Verfahren
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Algorithmentheorie 7 – Bin Packing
Optimale Kombination mehrerer Datenquellen durch Kriging
Computerkurs: Quantitative Auswertung biochemischer Experimente Tag 8 Einführung in die numerische Integration Aufgabe 18: Simulation einer Assoziationskinetik.
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Algorithmische Geometrie
Was sind Histogramme? (1)
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Die Simulation von Planetenbewegungen
Approximationsalgorithmen Facility Location K-Median Cheng, Wei 12. Juli.
Relationale Datenbankmodelle
Grundkurs Informatik Jahrgang 10 Der Grundkurs der Jahrgangsstufe 10 bereitet den an den Vorgaben für das Zentralabitur ausgerichteten Unterricht in der.
AGENDA Einordnung des Activity – Based Costing in die KER – Systeme
Rechnen mit ungenauen Daten
Einführung in die Lehrveranstaltungen Numerische Mathematik A und Numerische Mathematik B von Univ.-Doz. Dr. Othmar Koch.
Abschlussvortrag zur Studienarbeit
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Seminar: Datenerhebung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwurf superstabiler Regelkreise
Überblick über die Datenbankproblematik
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
Integration oberflächenbestimmender Objekte ins DGM Seminar GIS IV SS
Klassifikation und Regression mittels neuronaler Netze
Das Traveling Salesman Problem (TSP)
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Datenbanken Verwalten
PLANT DATA MANAGEMENT SYSTEM ist ein computergestütztes Dokumentationsverfahren, das die Vorteile einer objektorientierten Datenbank mit den Vorteilen.
Christian Scheideler WS 2008
IntelliVideo1 / 25 IntelliVideo Der intelligente Videorekorder.
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Geoinformationssysteme
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
BeerBot Projekt im MINTgrün Robotiklabor. Was soll der BeerBot können? Kalte Bierflaschen im Raum finden und öffnen.
Algorithmen und Datenstrukturen
Tutorium Programmieren I.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

Daniel Aigner aigner@mathematik.uni-marburg.de Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de

Inhalt Einführung Problemstellung / Ziele Definitionen Bisherige Lösungen Optimale Algorithmen Optimaler Algorithmus Verbesserungen Approximationsalgorithmus Vergleich Error-Bounded Histogram Qualitätsgarantien Arbeitslast Resümee

1. Was sind Histogramme? Daten von 1500 Befragten in 6 Balken. Großen Datensatz zusammenfassen. Dabei entstehen Ungenauigkeiten/Fehler.

1. Wofür braucht man Histogramme? In der Informatik hauptsächlich im Bereich der Datenbanken bzw. Anfragenverarbeitung. Abschätzen der Selektivität von Anfragen #Matches / #Datenbestände Bsp.: “Gebe diejenigen Produkte aus, die mehr als 10€ kosten“ Weniger als 10%: Zugriff über Indexstruktur Mehr als 10%: Zugriff direkt auf die Datenbank 011010110

2. Problemstellung Histogramm ist Approximation von Daten. Aufteilung der Daten in wenige Container. Dabei entstehen Fehler. Aufteilung so wählen, dass Fehler minimal. => Histogramm optimal.

2. Weitere Ziele Gute Fehlerschranke angeben. Qualitäts-Garantien die für das gesamte Histogramm. Das Histogramm auf Einsatzzweck hin optimieren. (V-Optimale Histogramme für Datenbanksysteme) Informationen über die Arbeitslast einfließen lassen.

3. Definierung des Problems Beispiel: Produktliste eines Geschäftes Vektor V = {0.39, 0.59, 0.99, 1.59, 1.99, 2.99, 5.99, 9.99, 15.99, 19.99} Frequenzvektor F = {7, 5, 5, 3, 6, 3, 4, 2, 1, 1} |F| = N = 10 verschiedene Werte Ziel: Reduktion von N = 10 auf B = 4 Container B << N

3. Definierung des Problems Vektor V = {0.39, 0.59, 0.99, 1.59, 1.99, 2.99, 5.99, 9.99, 15.99, 19.99} Frequenzvektor F = {7, 5, 5, 3, 6, 3, 4, 2, 1, 1} Partitionierung des Frequenzvektors in B disjunkte Intervalle. Histogramm H = {(7, 5), (5, 3), (6, 3, 4), (2, 1, 1)} Wert eines Intervalls ist Durchschnitt der enthaltenen Werte: h1 = AVG(7, 5) = 6 h2 = 4, h3 = 4,333, h4 = 1,333

3. Fehlerberechnung Der Fehler wird berechnet über eine Fehlermetrik. Hier: SSE = Sum Squared Error summierter quadratischer SSE kommt auch bei V-Optimalen Histogrammen zum Einsatz. Für ein Intervall [a, b] wird der SSE wie folgt berechnet:

4. Bisherige Lösungen MHIST: Greedy Heuristik, immer den Container mit dem größten Fehler aufteilen. MaxDiff: Grenzen immer zwischen die zwei Werte setzen, die die größte Differenz aufweisen. EquiDepth: So aufteilen, dass die summierten Werte innerhalb eines Containers für jeden Container möglichst gleich sind. EquiWidth: Triviale Methode, alle Container gleich viele Elemente.

5. Optimale Algorithmen Grundsätzlich zwei verschiedene Herangehensweisen, um ein optimales Histogramm zu berechnen: Space Bounded Histogram Bei einer festen Größe (Anzahl der Container) den Fehler minimieren: Error Bounded Histogram Bei gegebener Fehlerschranke die Anzahl der Container minimieren: Der zweite Ansatz wird auch als Duales Problem bezeichnet.

5. Lösungsmethode: dynamische Programmierung Dynamische Programmierung ist das Lösen eines Problems durch herunterbrechen auf und lösen von Teilproblemen. Insbesondere ohne die kostenintensive Rekursion. Es wird Iterativ vorgegangen. Lösungen der Teilprobleme für die spätere Berechnung zwischenspeichern. Beispiel: Fibonacci-Zahlen rekursiv fib(0) = 0 fib(1) = 1 fib(n) = fib(n-1) + fib(n-2)

5. Lösungsmethode: dynamische Programmierung Fibonacci-Zahlen iterativ via dynamischer Programmierung: f_vorletzte = 0 f_letzte = 1 for i = 2 to n do f_aktuell = f_letzte + f_vorletzte f_vorletzte = f_letzte f_letzte = f_aktuelle end for return f_aktuell f_letzte und f_vorletzte müssen als Zwischenergebnisse gespeichert werden. Diese Lösung ist wesentlich effizienter.

5.a Grundalgorithmus Ziel: Frequenz-Vektor F = F[1, N] in B Intervalle aufteilen, so dass Fehler des Histogramms minimal. Rekursiver Ansatz, dann via dynamischer Programmierung die Rekursion auflösen. SSE([a, b]) berechnet Fehler für Intervall [a, b] Definiere SSE*(i, k) als den minimalen Fehler für den Präfix-Vektor F[1, i] bei k Containern.

5.a Grundalgorithmus Beispiel: Berechnung des SSE*(20, 5) Also das Minimum des Präfix-Vektors F[1, 20], aufgeteilt in 5 Container. 16 verschiedene Möglichkeiten die Grenze (j) zwischen den letzten zwei Containern zu setzen. Der linke Bereich SSE*(j, k-1) berechnet sich rekursiv.

5.a Auflösen der Rekursion Den SSE*(i, k) iterativ berechnen über 1≤k<B und für jedes feste k über 1≤i<N. Mit SSE*(N, B) hat man den minimalen Fehler des gesamten Histograms (und damit auch die optimale Unterteilung in B Container) berechnet. Aufwand: Zwei Schleifen über k und j: O(B·N) SSE*(i, k) für jedes feste i und k: O(B) Insgesamt: O(B2·N) Beispiel

5.b Verbesserung des Grundalgorithmus Beobachtung: SSE([j, i]) fällt monoton über j. Damit ist es nicht nötig, die Schleife über j komplett zu durchlaufen: j von oben nach unten durchlaufen. Das bisher gefundene Minimum S0 von SSE*(j, k-1) + SSE([j+1, i]) wird gespeichert. Wird ein Wert von SSE([j+1, i]) > S0 berechnet kann abgebrochen werden.

5.b Verbesserung des Grundalgorithmus Weitere Beobachtung: SSE*(j, k) wächst monoton über j. Finden einer untere Grenze für j über binäre Suche. Näheres siehe Skript. Aufwand des verbesserten Algorithmus: Im Worst-Case auch O(B2·N). Im allgemeinen Fall ist die Laufzeit deutlich besser.

5.c Approximationsverfahren Vorheriges Aufteilen des Frequenzvektors F in L gleich große Bereiche. Berechnung des optimalen Histogramms mit B/L Containern für jeden Bereich. Insgesamt wieder B Container. Laufzeit: O((N2·B)/L2) Beispiel F F aufgeteilt H H zusammen

6. Vergleichsdaten Vergleichsdaten sind Zipf-verteilt. B = 100 Container. Bei Approximationsverfahren L=20 Bereiche. Bsp. für Zipf-Verteilung

6. Vergleich der Laufzeiten Laufzeiten der verschiedenen Algorithmen * weniger als 0,01 Sekunden

6. Vergleich der Laufzeiten Laufzeiten der neuen Algorithmen

6. Vergleichsdaten Datensatz D1 Datensatz D2 Eine Funktion über das dritte Attribut des „SGI adult data set“ mit 732 unterschiedlichen Werten. Das Gehalt von Mitarbeitern von Census mit insgesamt 302000 unterschiedlichen Werten.

Auswirkung der Containergröße auf den Fehler 6. Vergleich des Fehlers Datensatz D1 Datensatz D2 Auswirkung der Containergröße auf den Fehler

Auswirkung der Datengröße auf den Fehler 6. Vergleich des Fehlers Datensatz D1 Auswirkung der Datengröße auf den Fehler

7. Error-Bounded Histogram Zu einer gegebenen Fehlerschranke den Platzbedarf (Anzahl der Container) minimieren. Der Primäre Ansatz Iterativ über die Anzahl der Container das optimale Histogramm berechnen. Abbrechen sobald man ein Histogramm berechnet hat, das die Fehlerschranke erfüllt. Approximationsverfahren Siehe Skript.

8. Qualitätsgarantien Generelle Fehlerschranke für das gesamte Histogramm ist ungenau. Besser: Fehlerschranke eines jeden Containers einzeln zu dem Container abspeichern. Nachteil: Speicherbedarf. Evtl. auch nur Speichern eines binären Bitwertes „gut“ oder „schlecht“ zu jedem Container.

9. Arbeitslast-Informationen Informationen über den Einsatzzweck des Histogramms nutzen. Den Fehler im praktischen Einsatz weiter verbessern. Beispiel: Daten: Umsätze eines Geschäfts mit Zeitangabe. Anfragen beziehen sich häufig auf ganze Monate. Fehlermetrik so wählen, dass sie einen großen Fehler erzeugt, wenn Daten aus verschiedenen Monaten in einem Container liegen. Beispiel für den Einfluss von Arbeitslast-Informationen

10. Resümee Effektive Berechnung eines optimalen Histogramms durch dynamische Programmierung. Aufwand durch Verbesserungen weiter reduziert. Approximationsverfahren verbessert Laufzeit weiter um zwei Größenordnungen. Trotzdem wesentlich bessere Genauigkeit als bisher bekannte Methoden. Mit zusätzlichen Speicherbedarf gute Fehlerabschätzungen

10. Resümee Arbeitslast-Informationen können in die Berechnung des Histogramms einfließen. Dadurch gute Anpassung an den praktischen Einsatz.

Quellen H. V. Jagadish, Nick Koudas, S. Muthukrishnan, Viswanath Poosala, Ken Sevcik, Torsten Suel, Optimal Histograms with Quality Gurantees, 1998. Grafik zur Sonntagsfrage, www.tagesschau.de Grafik zu Zipf, www.ucl.ac.uk/~ucbplrd/language_middle.htm