Angewandte AlgorithmikTheoretisch fundierte Lösungen
für “Real-World” Probleme
Holger BastMax-Planck-Institut für Informatik
Saarbrücken
Wissenschaftlicher Vortrag nach §6 Habilitationsordnung
Universität des Saarlandes, 9. Juli 2007
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 undmesse die Laufzeit auf vielen zufälligen Graphen
Theorie als Selbstzweck– schult präzises Denken / Formulieren / Methodik
– selten direkt relevant
HashingSortingSchedulingMatching…
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, …
Gerhard Weikum SIGMOD 2005 paper #23876Surajit Chaudhuri SIGMOD 2005 paper #23876Gerhard Weikum SIGIR 2006 paper #31457… … … …
alles mit ein- und demselben Mechanismus
D98
E B A S
D98
E B A S
D78
K L S
D78
K L SD53
J D E A
D53
J D E A
Formulierung des Kernproblems
D2
B F A
D2
B F A
D4
K L K A B
D4
K L K A B
D9
E E R
D9
E E R
D27
K L D F
D27
K L D F
D92
P U D E M
D92
P U D E M
D43
D Q
D43
D Q
D32
I L S D H
D32
I L S D H
D1
A O E W H
D1
A O E W H
D88
P A E G Q
D88
P A E G Q
D3
Q DA
D3
Q DA
D17
B WU K A
D17
B WU K A
D74
J W Q
D74
J W Q
D13
A O E W H
D13
A O E W H
D13 D17 D88 …
C D E F G H
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
Treffer für “traffic”
Worte die mit “inter” beginnen
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
D13E0.5 0.2 0.7
…
D88E
…
…
D98
E B A S
D98
E B A S
D78
K L S
D78
K L SD53
J D E A
D53
J D E A
D2
B F A
D2
B F A
D4
K L K A B
D4
K L K A B
D9
E E R
D9
E E R
D27
K L D F
D27
K L D F
D92
P U D E M
D92
P U D E M
D43
D Q
D43
D Q
D32
I L S D H
D32
I L S D H
D1
A O E W H
D1
A O E W H
D88
P A E G Q
D88
P A E G Q
D3
Q DA
D3
Q DA
D17
B WU K A
D17
B WU K A
D74
J W Q
D74
J W Q
D13
A O E W H
D13
A O E W H
D88
P A E G Q
D88
P A E G Q
D17
B WU K A
D17
B WU K A
D13
A O E W H
D13
A O E W H
D13 D17 D88 …
C D E F G H
D88G
Formulierung des Kernproblems
kontext-sensitive Präfixsuche(Nichtstandard Bereichssuche Problem)
Treffer für “traffic”
Worte die mit “inter” beginnen
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!
Ziel: schneller ohne mehr Platz zu verbrauchen
im worst casequadratische Komplexität
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)
A-D:1 3 3 5 5 6 7 8 8 9 11 11 11 12 13 15
D A C A B A C A D A A B C A C A
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
1 3 3 5 5 6 7 8 8 9 11 11 11 12 13 15D A C A B A C A D A A B C A C A
+1 +2 +0 +2 +0 +1 +1 +1 +0 +1 +2 +0 +0 +1 +1 +23rd 1st 2nd 1st 4th 1st 2nd 1st 3rd 1st 1st 4th 2nd 1st 2nd 1st
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
10 110 0 110 0 10 10 10 0 10 110 0 0 10 10 110111 0 10 0 110 0 10 0 111 0 0 110 10 0 10 0
Was schließlich gespeichert wird
Ergebnis Platzverbrauch
HOMEOPATHY44,015 Dok.
263,817 Wortemit Positionen
WIKIPEDIA 2,866,503 Dok.
6,700,119 Worte mit Positionen
TREC .GOV 25,204,013 Dok.
25,263,176 Worte ohne Positionen
Orig.größe 452 MB 7.4 GB 426 GB
VOLL-INV 13 MB 0.48 GB 4.6 GB
HALB-INV 14 MB 0.51 GB 4.9 GB
perfekte Übereinstimmung von Theorie und Praxis
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)
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
1 0 1 0 01 1 0 0 01 1 1 1 00 0 0 1 1
internetwebsurfingbeach
Daten als Objekt-Feature Matrix gegeben
– Bilder, Formen, Text, …
– z.B. Objekte = Dokumente, Features = Worte
Problem:fehlende Einträge
Spektrales Lernen
1 0 1 0 01 1 0 0 01 1 1 1 00 0 0 1 1
internetwebsurfingbeach
0.8 0.6 0.6 0.1 -0.20.8 0.6 0.6 0.1 -0.21.2 0.9 0.9 0.8 0.3-0.1 0.0 0.0 1.1 0.9
Lösung: Rang-k Approximation
die Approximation erhöht die Präzision
(durch Eigenvektorzerlegung)
Daten als Objekt-Feature Matrix gegeben
– Bilder, Formen, Text, …
– z.B. Objekte = Dokumente, Features = Worte
Problem:fehlende Einträge
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)
0.8 0.1 0.6 0.1
0.1 1.1 0.9 0.1
0.6 0.9 1.1 0.7
0.1 0.1 0.7 2.0
paarweise Skalarprodukteder norm. Zeilen-Vektoren
beste Rang-2Approximation
inte
rnet
web
surfi
ng
beac
h
internetwebsurfingbeach
0.3 0.4 0.3 -0.1
0.4 0.4 0.3 -0.2
0.3 0.3 0.4 0.3
-0.1 -0.2 0.3 0.8
0.8 0.1 0.6 0.1
0.1 1.1 0.9 0.1
0.6 0.9 1.1 0.7
0.1 0.1 0.7 2.0
die approximierten Korrelationen hängen stark vom Rang ab!
inte
rnet
web
surfi
ng
beac
h
internetwebsurfingbeach
0.9 -0.1 0.2 -0.1
-0.1 0.8 0.3 -0.2
0.2 0.3 0.4 0.3
-0.1 -0.2 0.3 0.8
Alternative Sicht
paarweise Skalarprodukteder norm. Zeilen-Vektoren
beste Rang-3Approximation
Betrachte die Feature-Feature Korrelations-Matrix(Objekt-Objekt Korrelations-Matrix ginge genauso gut)
Zentrale Beobachtung
Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation
node / vertex
200 400 6000Rang der Approximation
logic / logics
200 400 6000Rang der Approximation
logic / vertex
200 400 6000Rang der Approximation
Korr
ela
tion
0
kein einzelner Rang ist gut für alle Paare!
Zentrale Beobachtung
Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation
node / vertex
200 400 6000Rang der Approximation
logic / logics
200 400 6000Rang der Approximation
logic / vertex
200 400 6000Rang der Approximation
Korr
ela
tion
0
kein einzelner Rang ist gut für alle Paare!
aber die Form der Kurve scheint ein guter Indikator zu sein
Modellierung: Verwandte Features
200
400
600
0Rang der Approximation
200
400
600
0Rang der Approximation
200
400
600
0Rang der Approximation
Kore
llati
on
beweisbare Formim idealisierten Fall
beweisbar kleine Änderung nach kleiner
Perturbation
auf halbem Wegezu einer realen Matrix
0
Für ein idealisiertes mathematisches Modell von perfekt verwandten Features haben wir:
Form für verwandte Features: hoch und wieder runter
Form für unverwandte Features: Oszillation um Null
200
400
600
0Rang der Approximation
200
400
600
0Rang der Approximation
200
400
600
0Rang der Approximation
Korr
ela
tion
0
Für ein idealisiertes mathematisches Modell von perfekt unverwandten Features haben wir:
Modellierung: Unverwandte Features
beweisbare Formim idealisierten Fall
beweisbar kleine Änderung nach kleiner
Perturbation
auf halbem Wegezu einer realen Matrix
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 <[email protected]>Date: [after my SIGIR’05 talk]Subject: Very clear talk
Thank 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
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
Sanders et al '04/05/06
Dijkstra '59
Luby and Ragde '85
Gutman '04
Goldberg et al '05/06
Möhring et al '05
Lauther et al '04
Wagner et al '05/06
Thorup and Zwick '01
...
24 Millionen Knoten58 Millionen Kanten
...
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
1. Vorberechnung weniger Transitknoten mit der Eigenschaft, dass jeder kürzeste Pfad über eine
gewisse Mindestdistanz durch einen Transitknoten geht
2. Vorberechnung der nächsten Transitknoten fü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
3. Vorberechnung aller Distanzen zwischen allen Paaren von Transitknoten und
von jedem Knoten zu seinen nächsten Transitknoten
Suchanfrage = wenige table lookups !
Neu: der halb-invertierte Index
Blöcke von Dokument-Wort Paaren
1 3 3 5 5 6 7 8 8 9 11 11 11 12 13 15D A C A B A C A D A A B C A C A
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
sortiert nach Dok. Id
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 <[email protected]>Subject: Very clear talk
Thank 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ücken Rathaus, 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