460 likes | 563 Views
Angewandte Algorithmik Theoretisch fundierte Lösungen für “Real-World” Probleme. Wissenschaftlicher Vortrag nach §6 Habilitationsordnung Universität des Saarlandes, 9. Juli 2007. Holger Bast Max-Planck-Institut für Informatik Saarbrücken. Aus der Habilitationsordnung ….
E N D
Angewandte AlgorithmikTheoretisch fundierte Lösungenfür “Real-World” Probleme Wissenschaftlicher Vortrag nach §6 Habilitationsordnung Universität des Saarlandes, 9. Juli 2007 Holger Bast Max-Planck-Institut für Informatik Saarbrücken
Aus der Habilitationsordnung … §6 Vortrag und Kolloquium (1) Ist der Nachweis der pädagogisch-didaktischen Eignung erbracht, so wird der Bewerberin oder dem Bewerber von der Dekanin oder dem Dekan zum wissenschaftlichen Vortrag und zum anschließenden Kolloquium geladen. Die Ladungsfrist beträgt eine Woche. (2) Wissenschaftlicher Vortrag und Kolloquium finden öffentlich in Gegenwart der Habilitationskomission statt. (3) Die Bewerberin oder der Bewerber trägt über das in §3 Abs. 3 Nr. 7 [das heißt: bei der Antragsstellung] genannte Thema vor. (4) Der Vortrag soll das Arbeitsgebiet und aktuelle Forschungsergebnisse der Bewerberin oder des Bewerbers darstellen. Der Vortrag wird nach wissenschaftlichen und didaktischen Kriterien beurteilt. (5) Das Kolloquium erstreckt sich über den Vortrag und das Arbeitsgebiet der Bewerberin oder des Bewerbers. (6) Vortrag und Kolloquium sollen eine Dauer von jeweils 45 Minuten nicht überschreiten.
Überblick • Methodik • Klassische Algorithmik • Angewandte Algorithmik • Ausgewählte Ergebnisse • Informationssysteme/Datenbanken (Suchmaschine) ≈ 20min • Maschinelles Lernen (Dimensionsreduktion) ≈ 10min • Kombinatorische Optimierung (Kürzeste Wege) ≈ 10min • Zusammenfassung • nach jedem Ergebnis
Klassische Algorithmik • Komponenten • feststehende und voll spezifizierte Probleme zum Beispiel:gegeben ein Graph, berechne ein maximales Matching • vollständige Theoreme zum Beispiel:für einen zufälligen Graphen, maximales Matching in erwarteter Zeit O (n log n) • eventuell Experimente zum Beispiel: implementiere den Algorithmus und messe die Laufzeit auf vielen zufälligen Graphen • Theorie als Selbstzweck • schult präzises Denken / Formulieren / Methodik • selten direkt relevant Hashing Sorting Scheduling Matching …
Angewandte Algorithmik • Komponenten • Ausgangspunkt ist eine reale Anwendung entscheidend diese in ihrer Ganzheit zu verstehen • Abstraktion kritischer Teile (theoretischem Denken zugänglich machen) oft der schwierigste und kreativste Teil • Algorithmen / Datenstrukturen entwerfen und mathem. analysieren wie in der klassischen Algorithmik, aber … • Experimente + Algorithm Engineering zur Ergänzung und Bestätigung der Theorie • Bau eines (Prototyp-) Systems ultimativer Realitätstest, wichtige Inspirationsquelle • Theorie als Mittel zum Zweck • direkt anwendbare + verlässliche Lösungen • Ganzheit geht vor mathematische Tiefe
Überblick • Methodik • Klassische Algorithmik • Angewandte Algorithmik • Ausgewählte Ergebnisse • Informationssysteme/Datenbanken (Suchmaschine) ≈ 20min • Maschinelles Lernen (Dimensionsreduktion) ≈ 10min • Kombinatorische Optimierung (Kürzeste Wege) ≈ 10min • Zusammenfassung • nach jedem Gebiet
Die CompleteSearch Suchmaschine • Hintergrund • Suchmaschinen sind extrem schnell • auch für sehr großen Datenmengen • aber sie können nur genau eine Sache: Stichwortsuche • Ziel • komplexere Suchfunktionen • aber genauso schnell • Lösung • kontext-sensitive Präfixsuche • einerseits: sehr mächtig • andererseits: effizient berechenbar
Mögliche Suchanfragen • Volltextsuche mit Autovervollständigung • traffic inter* • Strukturierte Daten als künstliche Worte • conference:sigmod • author:gerhard_weikum • year:2005 • Datenbankanfragen: select, join, … • conference:sigir author:* • conference:sigmod author:* und conference:sigir author:* und schneide die Menge der Vervollständigungen (nicht Dokumente) • Und mehr: • verwandte Worte, automatische Fehlerkorrektur, XML Suche, semantische Suche, … alles mit ein- und demselben Mechanismus
Formulierung des Kernproblems D74 J W Q D3 Q DA • Daten gegeben als • Dokumente mit Worten • Dokumente haben Ids (D1, D2, …) • Worte haben Ids (A, B, C, …) • Suchanfrage • sortierte Liste von Dok. Ids • Intervall von Wort Ids D17 B WU K A D43 D Q D1 A O E W H D92 P U D E M D53 J D E A D78 K L S D27 K L D F D9 E E R D4 K L K A B D88 P A E G Q D2 B F A D32 I L S D H D98 E B A S D13 A O E W H Treffer für “traffic” D13 D17 D88 … C D E F G H Worte die mit “inter” beginnen
Formulierung des Kernproblems D74 J W Q D3 Q DA • Daten gegeben als • Dokumente mit Worten • Dokumente haben Ids (D1, D2, …) • Worte haben Ids (A, B, C, …) • Suchanfrage • sortierte Liste von Dok. Ids • Intervall von Wort Ids • Antwort • alle passenden Wort-in-Dok. Paare • mit Scores D17 B WU K A D17 B WU K A D43 D Q D1 A O E W H D92 P U D E M D53 J D E A D78 K L S D27 K L D F D9 E E R D4 K L K A B D88 P A E G Q D88 P A E G Q D2 B F A D32 I L S D H D98 E B A S D13 A O E W H D13 A O E W H Treffer für “traffic” D13 D17 D88 … C D E F G H Worte die mit “inter” beginnen kontext-sensitive Präfixsuche (Nichtstandard Bereichssuche Problem)
Lösung via Invertierter Index • Zum Beispiel, traffic inter* gegeben die Dokumente: D13, D17, D88, … (Treffer für traffic) und der Wortbereich: C D E F G (Ids für inter*) • Iteriere über alle Worte aus dem gegebenen Bereich C (interaction) D8, D23, D291, ... D (interesting) D24, D36, D165, ... E (interface) D13, D24, D88, ... F (interior) D56, D129, D251, ... G (internet) D3, D15, D88, ... • Schneide jede Liste mit der gegebenen und vereinige alle Schnitte D13 D88 D88 …E E G … typischerweisesehr viele Listen! im worst casequadratische Komplexität Ziel: schneller ohne mehr Platz zu verbrauchen
Einschub • Der invertierte Index ist, trotz quadratischer worst-case Komplexität, in der Praxis schwer zu schlagen • sehr einfacher Code • Listen sehr gut komprimierbar • perfekte Zugriffslokalität • Anzahl der Operationen ist ein trügerisches Maß • 100 disk seeks benötigen ca. eine halbe Sekunde • in der Zeit können 200 MB Daten gelesen werden(falls komprimiert gespeichert) • Hauptspeicher: 100 nichtlokale Zugriffe 10 KB am Stück Daten
Neu: Halb-Invertierter Index • Listen von Dokument-Wort Paaren (sortiert nach Dok. Id) • flache Partitionierung Alternative: hierarchisch • z.B. eine Liste für A-D, eine Liste für E-H, etc. • Eigenschaften • einfach + perfekte Lokalität + sehr gut komprimierbar(!) • Suchanfragen • bei geeigneter Partitionierung, immer genau eine Liste • extrem schnell: Ø 0.1 Sekunde/ Anfrage für TREC Terabyte (426 GB Rohdaten, 25 Millionen Dokumente)
Halb-Invertierter Index: Komprimierung • Dok. Ids Differenzen und Wort Ids Häufigkeitsränge • Kodiere alle Zahlen universell: x log2 x Bits +0 0+1 10+2 110 1st (A) 0 2nd (C) 10 3rd (D) 111 4th (B) 110 • Was schließlich gespeichert wird
Ergebnis Platzverbrauch • Definition • empirische Entropie einer Datenstruktur = optimale Anzahl Bits die zur Kodierung benötigt werden • Theorem • empirische Entropie von HALB-INV mit Blockgröße ε∙n ist 1+ε mal die empirische Entropie von VOLL-INV • Experimente (mit konkretem Kodierungsverfahren) perfekte Übereinstimmung von Theorie und Praxis
Zusammenfassung: CompleteSearch • Output • Publikationen in verschiedenen Communities SIGIR (IR), CIDR (DB), SPIRE (Theory), GWEM (KI), … • zahlreiche öffentliche Installationen DBLP • Industriekontakte • Entscheidend waren • Identifizierung und Formulierung des Präfixsuchproblems • Wahl der Analyseparameter: Lokalität, Komprimierung, etc. (und zum Beispiel hier nicht: Anzahl der Operationen) • generell: Wissen in vielen relevanten Gebieten
Überblick • Methodik • Klassische Algorithmik • Angewandte Algorithmik • Ausgewählte Ergebnisse • Informationssysteme/Datenbanken (Suchmaschine) ≈ 20min • Maschinelles Lernen (Dimensionsreduktion) ≈ 10min • Kombinatorische Optimierung (Kürzeste Wege) ≈ 10min • Zusammenfassung • nach jedem Ergebnis
Spektrales Lernen • Daten als Objekt-Feature Matrix gegeben • Bilder, Formen, Text, … • z.B. Objekte = Dokumente, Features = Worte Problem: fehlende Einträge
Spektrales Lernen • Daten als Objekt-Feature Matrix gegeben • Bilder, Formen, Text, … • z.B. Objekte = Dokumente, Features = Worte Lösung: Rang-k Approximation Problem: fehlende Einträge (durch Eigenvektorzerlegung) die Approximation erhöht die Präzision
Wann und warum funktioniert das? • Vorgängerarbeiten: Wenn die Objekte durch Kombination von k Basisobjekten generiert und leicht perturbiert werden, dann funktioniert die Rang-k Approximation • Papadimitriou, Tamaki, Raghavan, Vempala PODS 1998 • Ding SIGIR 1999 • Thomas Hofmann Machine Learning 2000 • Azar, Fiat, Karlin, McSherry, Saia STOC 2001 • und viele andere mehr … • Mathematisch interessant (Perturbationstheorie) aber … • in der Regel gibt es keine k natürlichen Basisobjekte • Verbesserung durch Approximation ist extrem intransparent
Alternative Sicht • Betrachte die Feature-Feature Korrelations-Matrix(Objekt-Objekt Korrelations-Matrix ginge genauso gut) internet surfing beach web paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-2Approximation
Alternative Sicht • Betrachte die Feature-Feature Korrelations-Matrix(Objekt-Objekt Korrelations-Matrix ginge genauso gut) internet surfing beach web paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-3Approximation die approximierten Korrelationen hängen stark vom Rang ab!
logic / logics node / vertex logic / vertex 0 200 400 600 0 200 400 600 0 200 400 600 Rang der Approximation Rang der Approximation Rang der Approximation Zentrale Beobachtung • Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation 0 Korrelation kein einzelner Rang ist gut für alle Paare!
logic / logics node / vertex logic / vertex 0 200 400 600 0 200 400 600 0 200 400 600 Rang der Approximation Rang der Approximation Rang der Approximation Zentrale Beobachtung • Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation 0 Korrelation kein einzelner Rang ist gut für alle Paare! aber die Form der Kurve scheint ein guter Indikator zu sein
0 200 400 600 0 0 200 200 400 400 600 600 Rang der Approximation Rang der Approximation Rang der Approximation Modellierung: Verwandte Features • Für ein idealisiertes mathematisches Modell von perfekt verwandten Features haben wir: auf halbem Wegezu einer realen Matrix beweisbare Formim idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation 0 Korellation Form für verwandte Features: hoch und wieder runter
0 0 0 200 200 200 400 400 400 600 600 600 Rang der Approximation Rang der Approximation Rang der Approximation Modellierung: Unverwandte Features • Für ein idealisiertes mathematisches Modell von perfekt unverwandten Features haben wir: auf halbem Wegezu einer realen Matrix beweisbare Formim idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation 0 Korrelation Form für unverwandte Features: Oszillation um Null
Zusammenfassung: Spektrales Lernen • Ergebnisse • Einsicht: Spektrale Lernverfahren funktionieren, indem sie Paare von verwandten Features (Worte) identifizieren • Integration mit CompleteSearch • jetzt völlig transparent • mäßiger Nutzen mit sehr hohem Aufwand (Eigenvektorberechnung) • ‘‘magisches” Verfahren entzaubert durch Theorie + Applikation • From: Prabhakar Raghavan <pragh@yahoo-inc.com>Date: [after my SIGIR’05 talk] • Subject: Very clear talkThank you – it‘s too easy to make this stuff mystical and you did the opposite
Überblick • Methodik • Klassische Algorithmik • Angewandte Algorithmik • Ausgewählte Ergebnisse • Informationssysteme/Datenbanken (Suchmaschine) ≈ 20min • Maschinelles Lernen (Dimensionsreduktion) ≈ 10min • Kombinatorische Optimierung (Kürzeste Wege) ≈ 10min • Zusammenfassung • nach jedem Ergebnis
Problemstellung • Kürzeste (schnellste) Wege in Straßennetzwerken • von einem Start zu einem Ziel (point-to-point) • (un)gerichteter Graph, Kantenkosten = Reisezeiten
Stand der Kunst 24 Millionen Knoten 58 Millionen Kanten Dijkstra '59 • Dijkstra's Algorithmus ≈ 1 Sekunde pro Anfrage, USA Straßennetzwerk • Für wesentlich schnellere Zeiten … muss das Netzwerk vorverarbeitet werden spezielle Eigenschaften von Straßennetzwerken • Das bisher beste Verfahren ≈ 1 Millisekunde pro Anfrage, USA Netzwerk • Unsere Arbeit zuerst: theoretisch sehr schöner Algorithmus aber: konnten die 1 Millisekunde nicht schlagen dann radikal neuer Ansatz: Transitknoten ≈ 10 Mikrosekunden pro Anfrage, USA Straßennetzwerk Luby and Ragde '85 . . . Thorup and Zwick '01 Gutman '04 Goldberg et al '05/06 Sanders et al '04/05/06 Lauther et al '04 Möhring et al '05 Wagner et al '05/06 . . .
Zusammenfassung: Kürzeste Wege • Output • Publikationen: DIMACS’06, ALENEX’07, Science 07 • Großes Presseecho: c‘t, connect, Süddeutsche, Welt, … • Patent (Verfahren läuft) • Charakteristik • Standardproblem (eher klassisch) • praktische Relevanz noch unklar • theoretisch schöner Algorithmus nicht praktikabel • einfache Idee, enorme Verbesserung • beweisbar korrekte Lösung, aber kein Theorem über Effizienz
Transitknoten • Vorberechnung weniger Transitknoten • mit der Eigenschaft, dass jeder kürzeste Pfad über eine gewisse Mindestdistanz durch einen Transitknoten geht • Vorberechnung der nächsten Transitknotenfür jeden Knoten • mit der Eigenschaft, dass jeder kürzeste Pfad über eine gewisse Mindestdistanz von diesem Knoten aus durch eine dieser nächsten Transitknoten geht • Vorberechnung aller Distanzen • zwischen allen Paaren von Transitknoten undvon jedem Knoten zu seinen nächsten Transitknoten • Suchanfrage = wenige table lookups !
Neu: der halb-invertierte Index sortiert nach Dok. Id • Blöcke von Dokument-Wort Paaren • Aufteilung in Blöcke, Variante 1 (AutoTree) • ein Block pro möglicher Präfix • viel Redundanz baumförmige Anordnung • theoretisch schön, aber schlechte Lokalität • Aufteilung in Blöcke, Variante 2 (HYB) • flache Partitionierung in Blöcke der Größe B • kurzer Präfix -> merge, langer Präfix -> filter
Conclusions • Context-sensitive prefix search and completion • is a fundamental operation • supports autocompletion search, semantic search, faceted search, DB-style selects and joins, ontology search, … • efficient support via HYB index • very good compression properties • perfect locality of access • Some open issues • integrate top-k query processing • what else can we do with it? • very short prefixes
Anwendung • Integration in CompleteSearch DEMO • jetzt völlig transparent wie / ob es funktioniert • und man sieht, dass es nicht wirklich nützlich ist (unverhältnismäßig aufwändig) • E-Mail nach meinem Vortrag bei SIGIR‘07 From: Prabhakar Raghavan <pragh@yahoo-inc.com>Subject: Very clear talkThank you – it‘s too easy to make this stuff mystical and you did the opposite […]
User interfaces Detailansicht Bahnhof/HaltestelleDatumAnk.Abf.GleisProdukteBemerkungen Universität Campus, Saarbrücken 06.07.07 00:41 S+B 101 Bus SaarBahn+Bus Richtung: Saarcenter Johanneskirche, Saarbrücken 00:52 Johanneskirche, Saarbrücken Fußweg 2 Min. Rathaus, SaarbrückenRathaus, Saarbrücken 04:45 S+B 102 Bus SaarBahn+Bus Richtung: Dudweiler Dudoplatz Ilseplatz, Saarbrücken 04:52 Dauer: 4:11; fährt Mo - Fr, nicht 15. Aug, 3. Okt, 1. Nov Hinweis: Längerer Aufenthalt