Intelligente Suche in sehr großen Datenmengen Holger Bast Max-Planck-Institut für Informatik Saarbrücken Vortrag an der Universität Mainz 5. März 2008.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Perceptrons and the perceptron learning rule
Eine dynamische Menge, die diese Operationen unterstützt,
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Indizierung von Graphen durch häufige Subgraphen (2)
3. Kapitel: Komplexität und Komplexitätsklassen
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmen und Datenstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Halbzeit: Kurze Wiederholung
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Relevanz Ranking Bisher: Sind wir davon ausgegangen, dass das Ergebnis des Rankings des statistischen Verfahrens in den Index geschrieben wird und dem.
Relevanz Ranking Bisher:
Kürzeste Wege in Straßennetzwerken Problemstellung –von einem Start zu einem Ziel (point-to-point) –(un)gerichteter Graph, Kantenkosten = Reisezeiten.
Kurzvorstellung der AG Algorithmen und Komplexität MPI Informatik
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.
Über Routenplanung und Suchmaschinen
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
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
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Christian Scheideler Institut für Informatik Universität Paderborn
Erfindervon Fuzzy Logic
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Information Retrieval, Vektorraummodell
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Analyse der Laufzeit von Algorithmen
Angewandte Algorithmik Theoretisch fundierte Lösungen für “Real-World” Probleme Holger Bast Max-Planck-Institut für Informatik Saarbrücken Wissenschaftlicher.
Intelligente, schnelle Suche in Texten und Datenbanken Holger Bast Forschungspreis Technische Kommunikation der Alcatel-Lucent Stiftung für Kommunikationsforschung.
TexPoint fonts used in EMF.
TexPoint fonts used in EMF.
 Präsentation transkript:

Intelligente Suche in sehr großen Datenmengen Holger Bast Max-Planck-Institut für Informatik Saarbrücken Vortrag an der Universität Mainz 5. März 2008

Früher: Klassische theoretische Informatik 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 …

Jetzt: Angewandt auf der Basis guter Theorie 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 –Anwendung geht vor mathematische Tiefe

Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis

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 1/2 Volltextsuche mit Autovervollständigung –traffic inter* Strukturierte Daten als künstliche Worte –venue:esa –author:elmar_schömer –year:2007 Datenbankanfragen: select, join, … –venue:esa author:* –venue:esa author:* und venue:sigir author:* und schneide die Menge der Vervollständigungen (an Stelle der Menge der Dokumente) Elmar SchömerESA2007paper #23876 Michael HemmerESA2007paper #23876 Laurent DupontESA2007paper #23876 …………

Mögliche Suchanfragen 2/2 Facettensuche –automatische Statistik über vordefinierte Kategorien Verwandte Worte –Suche metal, finde aluminium Fehlertolerante Suche –Suche probabilistic, finde probalistic Semantische Suche –Suche politician, finde Angela Merkel und mehr … alles mit ein- und demselben Mechanismus

D98 E B A S D98 E B A S D78 K L S D78 K L S D53 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 D A D3 Q D A D17 B W U K A D17 B W U 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 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 D13 E … D88 E … … D98 E B A S D98 E B A S D78 K L S D78 K L S D53 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 D A D3 Q D A D17 B W U K A D17 B W U 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 W U K A D17 B W U K A D13 A O E W H D13 A O E W H D13 D17 D88 … C D E F G D88 G Formulierung des Kernproblems Kontext-sensitive Präfixsuche Treffer für “traffic” Worte die mit “inter” beginnen

Lösung via Invertierter Index (INV) 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 D88D88… E EG… typischerweise sehr viele Listen! Ziel: schneller ohne mehr Platz zu verbrauchen im worst case quadratische Komplexität

Grundlegende Idee Berechne invertierte Listen für Bereiche von Worten DACABACADAABCACA Beobachtungen –ein Präfix entspricht einem Bereich von Worten –idealerweise Liste für jeden Präfix vorberechnet –aber das kostet viel zu viel Platz –erhebliche Redundanz zwischen den Listen Liste für A-D

Lösung 2: AutoTree Baumartige Anordnung Theorem: –Verarbeitungszeit O(|D| + |output|) (ausgabesensitiv) –ohne mehr Platz zu verbrauchen als INV Aber –nicht IO-effizient (wegen Bitvektor Operationen) –suboptimale Kompression … … … aachen advance algol algorithm advance aachen art advance manner manning maximal maximum maple mazza middle

Lösung 2: AutoTree SPIRE’06 / JIR’07 Trick 1: Relative bit vectors –the i-th bit of the root node corresponds to the i-th doc –the i-th bit of any other node corresponds to the i-th set bit of its parent node aachen-zyskowski … maakeb-zyskowski … maakeb-stream … corresponds to doc 5 corresponds to doc 10

Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 2: Push up the words –For each node, by each set bit, store the leftmost word of that doc that is not already stored by a parent node … … … aachen advance algol algorithm advance aachen art advance manner manning maximal maximum maple mazza middle D= 5, 7, 10 W= max* D = 5, 10 ( → 2, 5) report: maximum D = 5 report: Ø → STOP

Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before

Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before

Solution 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before Theorem: –query processing time O(|D| + |output|) –uses no more space than an inverted index AutoTree Summary: + output-sensitive –not IO-efficient (heavy use of bit-rank operations) –compression not optimal

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 schlechte Lokalität Lokalität + Kompression entscheidend bei sehr großen Datenmengen

Lösung 3: Hybrider Index (HYB) Flache Aufteilung des Vokabulars in Blöcke DACABACADAABCACA Liste für A-D EFGJHIIEFGHJI Liste für E-J LNMNNKLMNMKLMKL Liste für K-N Gute Lokalität, aber was ist mit Kompression?

Lösung 3: Hybrider Index (HYB) Flache Aufteilung des Vokabulars in Blöcke Dok. Ids  Differenzen und Wort Ids  Häufigkeitsränge DACABACADAABCACA rd 1 st 2 nd 1 st 4 th 1 st 2 nd 1 st 3 rd 1 st 4 th 2 nd 1 st 2 nd 1 st Kodiere alle Zahlen universell: x  log 2 x Bits +0  0 +1   st (A)  0 2 nd (C)  10 3 rd (D)  th (B)  Was schließlich gespeichert wird

Definition: Empirische Entropie Empirische Entropie –… formalisiert die optimale Anzahl Bits die zur Kodierung einer Sequenz benötigt werden –… für eine Multi-Teilmenge der Größe m aus einem Universum der Größe n m ∙ log (1 + n / m) + n ∙ log (1 + m / n) –… für eine Folge von n Elementen aus einem Universum der Größe k, mit n i Vorkommen des i-ten Elements n 1 ∙ log (n / n 1 ) + ∙∙∙ + n k ∙ log (n / n k ) –usw …

Platzverbrauch: INV gegen HYB Theorem: Die empirische Entropie des INV Index ist Σ n i ∙ ( 1/ln 2 + log 2 (n/n i ) ) Theorem: Die empirische Entropie des HYB Index ist Σ n i ∙ ( (1+ε)/ln 2 + log 2 (n/n i ) ) n i = number of documents containing i-th word, n = number of documents, ε = 0.1 MEDBOOKS 44,015 Dok. 263,817 Worte mit 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öße452 MB 7.4 GB426 GB VOLL-INV 13 MB0.48 GB 4.6 GB HALB-INV 14 MB0.51 GB 4.9 GB perfekte Übereinstimmung von Theorie und Praxis … und HYB etwa 10 mal schneller als INV

Zusammenfassung: CompleteSearch Output –Publikationen in verschiedenen Communities SIGIR (IR), CIDR (DB), SPIRE (Theorie), GWEM (KI), … –zahlreiche Industriekontakte, Vortrag bei Google –zahlreiche Installationen, auch kommerzielle DBLP –DFG Projekt im SPP Algorithm Engineering –Dr. Meyer Struckmann Wissenschaftspreis 2007 ( €) Entscheidend waren –Identifizierung und Formulierung des Präfixsuchproblems –Wahl der Analyseparameter: Lokalität, Komprimierung, etc. (und zum Beispiel hier nicht: Anzahl der Operationen) –Experimente, Software Engineering, Prototyp –generell: Wissen in vielen relevanten Gebieten (z.B. Ontologien)

Ausblick: Suche Sehr viele theoretisch interessante + praktisch relevante Probleme im Rahmen von Suche –effiziente(re) Facettensuche, semantische Suche, etc. –fehlertolerante Suche –Indexkonstruktion –effiziente Erzeugung von „result snippets” –… Übertragung auf Nicht-Text Retrieval –3D shape retrieval –Suche in Bildern und Videos –…

Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis

Spektrales Lernen internet web surfing beach Daten als Objekt-Feature Matrix gegeben –Bilder, Formen, Text, … –z.B. Objekte = Dokumente, Features = Worte Problem: fehlende Einträge

Spektrales Lernen internet web surfing beach 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) paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-2 Approximation internet web surfing beach internet web surfing beach

die approximierten Korrelationen hängen stark vom Rang ab! internet web surfing beach internet web surfing beach Alternative Sicht paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-3 Approximation 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 Rang der Approximation logic / logics Rang der Approximation logic / vertex Rang der Approximation Korrelation 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 Rang der Approximation logic / logics Rang der Approximation logic / vertex Rang der Approximation Korrelation 0 kein einzelner Rang ist gut für alle Paare! aber die Form der Kurve scheint ein guter Indikator zu sein

Kurven für verwandte Terme ·····1100 ·····0011 ····· Wir nennen zwei Terme perfekt verwandt wenn sie mit exakt den gleichen Termen vorkommen Charakteristische Form: hoch und wieder runter Die Stelle des Abfalls ist für jedes Term-Paar anders! Term 1 Term 2 0 beweisbare Form im idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation auf halbem Wege zu einer realen Matrix Korrelation Rang der Approximation

Kurven für nicht-verwandte Terme Ko-Okkurrenz Graph: –Knoten = Terme –Kanten = zwei Terme kommen zusammen vor perfekt unverwandt = kein Pfad Rang der Approximation Rang der Approximation Rang der Approximation Korrelation 0 beweisbare Form im idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation auf halbem Wege zu einer realen Matrix Charakteristische Form: Oszillation um Null

Ein einfacher Algorithmus 1. Normalisiere die Term-Dokument Matrix, so dass der theoretische Abfallpunkt für alle Termpaare gleich ist 2. Für jedes Termpaar: falls die Kurve je negativ ist vor diesem Punkt, setze Korrelation auf 1, sonst auf einfache 0-1 Klassifikation, keine fraktionalen Einträge setze auf 1 setze auf 0 0 Korrelation Rang der Approximation

Zusammenfassung: Spektrales Lernen Ergebnisse –Einsicht: Spektrale Lernverfahren funktionieren, indem sie Paare von verwandten Features (Terme) identifizieren –Integration mit CompleteSearch (inspirierte weitere Forschung) –dadurch erstmalig transparent –„magisches” Verfahren entzaubert durch Theorie + Empirik From: Prabhakar Raghavan 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

Ausblick: Maschinelles Lernen Spektralzerlegung in diesem Fall nicht praktikabel –hoher Berechnungsaufwand (Spektralzerlegung) –relativ geringer Nutzen (findet verwandte Paare) Effizientes Maschinelles Lernen –Entitätenerkennung auf sehr großen Datenmengen –Fehlerkorrektur auf sehr großen Datenmengen –…

Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis

Kürzeste Wege in Straßennetzwerken Problemstellung –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 ' Millionen Knoten 58 Millionen Kanten...

Die Transitknoten Idee 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 !

Vorberechnung der Transitknoten Von Distanzen zu Pfaden 24 min 20 min 23 min StartZiel

Zusammenfassung: Kürzeste Wege Output –Publikationen: DIMACS’06, ALENEX’07, Science 07 –Großes Presseecho: Süddeutsche, Welt, c’t, Chip, … –Patent + zahlreiche Firmenkontakte + … –Heinz Billing Preis für wiss. Rechnen 2007 (mit S. Funke) –Scientific American 50 Award 2007 Charakteristik –Klassisches Problem, aber auf echten Daten –theoretisch schönerer Algorithmus war nicht praktikabel –einfache aber radikal neue Idee, enorme Verbesserung –Verständnis der Besonderheit der Daten entscheidend

Ausblick: Kürzeste Wege Theoretische Untermauerung –wir haben schon: beweisbar korrekt –aber für genau welche Graphen: beweisbar effizient? Erweiterungen –dynamische Änderungen (Staus) –tageszeitabhängige Kantenkosten (rush hour) –Periodische Abfahrts/Ankunftszeiten (Bahn, Bus, etc.) –…