Kurzvorstellung der AG Algorithmen und Komplexität MPI Informatik

Slides:



Advertisements
Ähnliche Präsentationen
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Advertisements

Informatik II: Algorithmen und Datenstrukturen SS 2013
Objektorientierte Programmierung
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Indizierung von Graphen durch häufige Subgraphen (2)
Statistische Suche nach melodischen Prototypen
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Berg-Schlosser : VL : Vergleichende Politikwissenschaft Vergleichende Methoden Ausgangsbasis : Fälle: begrenzte Auswahl auf der Makro-Ebene, abhängig.
Suche in Texten (Stringsuche )
3. Kapitel: Komplexität und Komplexitätsklassen
5. Sortier-Algorithmen Vorbemerkungen:
Auswertung der Interviews
Einführung in Berechenbarkeit und Formale Sprachen
Java: Dynamische Datentypen
Indirekte Adressierung
Effizienz: Indexstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Computerkurs: Quantitative Auswertung biochemischer Experimente Guten Morgen.
Demoprogramm: Clustering Eine graphische Demonstration verschiedener Clusteringalgorithmen anhand des Clusterings von Punkten im zweidimensionalen Raum.
Oberseminar Datenbanken Multimediale Datenbanken Christian Völschow.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Algorithmische Geometrie
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Reverse Engineering K2 1 Ziele Heute Nachlese Volltextsuche Dokumentation in Quelltext einbetten JavaDoc Vorbereitung für Compileransatz.
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.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Einstiegsunterricht - Informatik -. Möglichkeiten des Einstiegsunterricht Benutzung und Analyse eines dokumentierten Systems Einführung in die Programmierung.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Vortrag zum Thema Brute - Force Algorithmus Vortragende
Beschreibungselemente strukturierter Programmentwicklung
Einführung in die Programmierung
Pagoda Systems Software Solutions
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Best Fit Matching von Punktewolken
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
? Was ist Informatik? Was ist Informatik? Alexander Lange
Ansprechpartner: Excel für SEOs =Wenn(A1=zuhören;gute Ideen;Feierabend) Samstag
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Einführung in die Programmierung
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
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 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Hardware / Software Codesign Hardware versus Software.
Algorithm Engineering „GPU Algorithmen“
Inhalt Definition des Integrals Infinitive Flächen (offenes Intervall)
Gruppe: 31 Grundlagen wissenschaftlichen Arbeitens Algorithmen und Datenstrukturen Iris Studeny.
Institut für C omputer G raphik, TU Braunschweig BioBrowser Interaktive Molekülmodelle als zentrales Zugangs- und Dokumentationswerkzeug für biologische.
Lehrstuhl für Algorithm Engineering LS11
Lernen durch Vergleiche
Software Engineering Grundlagen
Agenten und Multi-Agenten-System
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Christian Scheideler WS 2008
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.
 Präsentation transkript:

Kurzvorstellung der AG Algorithmen und Komplexität MPI Informatik zur SFB-Initiative Intelligente Organisation und Suche von Informationen Holger Bast

Überblick Themen Methoden Ideen String Matching Externer Speicher Geometrische Suche Methoden Ideen 10 Minuten sind kurz, deshalb lass ich die Vorrede weg …

String Matching adeabbcdeefgabegffabedefgceabadcabcegef 3 Teilstrings mit Editierdistanz 1 zu abcde Ergebnisse (J. Kärkkäinen, S. Burkhardt) Schnelle Suche durch Indexdatenstruktur und Filterverfahren Geplant generische Bibliothek von String-Matching-Algorithmen (es existiert nichts in der Art bisher!) SFB-Relevanz grundlegendes Problem bei Textsuche SFB-interne Anwendung

langsamer, blockweiser Zugriff Externer Speicher CPU schnell, aber begrenzt langsamer, blockweiser Zugriff Ergebnisse (U. Meyer, A. Crauser) Externspeicher-effiziente Graphensuche Bibliothek LEDA-SM, u.a. ES-effiziente Suffixarrays Geplant (P. Sanders, R. Dementiev) ES-effiziente Varianten der STL Datentypen & Algorithmen SFB-Relevanz grundlegendes Problem bei großen Datenmengen

Geometrische Suche Ergebnisse (M. Hagedoorn) praktisch & asymptotisch effiziente Datenstruktur Geplant Implementierung & Tests in IR-Umgebung SFB-Relevanz Ähnlichkeitssuche in “feature spaces” = geometrische Suche

Methoden vom Algorithmus zum Programm exakte Analyse (konstante Faktoren) experimentelle Analyse genauere Modelle, z.B. Cache-Effekte Bibliotheken LEDA, LEPs, CGAL, AGD, BALL, … wiederverwendbar flexibel, trotzdem effizient und leicht zu verwenden (generische Programmierung)

Hierarchische Volltext-Suche Suche in medizinischer Datenbank stechender Schmerz in der Nabelgegend? Typischer Query Schmerz stechend Nabelgegend findet z.B. nicht “es tut weh in der Nähe des Nabels” trotzdem 53 Treffer  “fallacy of abundance” Verzeichnis Beschwerden  Schmerzen  Nabelgegend  stechend Kategorien a priori notorisch veraltet

Hierarchische Volltext-Suche Welche Formulierungen kommen vor? flache Suche skaliert nicht: Schmerz hat 87.432 Treffer Idee: Hierarchie der tatsächlich vorkommenden Phrasen  … Weltschmerz … 7.437 docs … Schmerztabletten … 2.217 docs … Halsschmerzen … 310 docs … Schmerzen am Nabel … 117 docs   … Schmerz, am Nabel der Welt … 34 docs … dumpfer Schmerz am Nabel … 17 docs … bohrender Schmerz am Nabel … 14 docs

Hierarchische Volltext-Suche Vorarbeiten (Nevill-Manning, Witten, Moffat, …) Hierarchie mehrfach vorkommender Phrasen in Linearzeit Offene Fragen Suchtiefe logarithmisch? Externspeicher-Effizienz? Semantische Zusatzinformation? Synthese verschiedenartiger Hierarchien? SFB-Relevanz viele Möglichkeiten, die symbolische Ebene mit der Verständnisebene zu kombinieren

Ende!

Softwarebibliotheken viel Erfahrung LEDA (fundamentale Alg. und Dat.) LEPs (externer Speicher, …) CGAL (geometrische Alg. und Dat.) AGD (Graphzeichnen) EXACUS (Geometrie mit Kurven) …

Methodik Algorithmus Analyse Programm Experimente

String Matching mit Fehlern adeabbcfeefgabegffacedefgceaadcabbdfgef Vorkommen von abcde mit 2 Fehlern Ergebnisse (J. Kärkkäinen, S. Burkhardt) erst exaktes Matching von Teilmustern, z.B. ab?d, bc?e approx. Matching nur wo viele Treffer x

String Matching mit Fehlern Geplant generische Bibliothek von String-Matching-Algorithmen (es existiert nichts in der Art bisher!) SFB-Relevanz grundlegendes Problem konkrete Anwendung in anderen Teilprojekten!

viel langsamer, blockweiser Zugriff Externer Speicher CPU schnell, aber begrenzte Kapazität viel langsamer, blockweiser Zugriff Ziel: minimale Anzahl I/O-Operationen (Blockzugriffe) Ergebnisse (U. Meyer, A. Crauser) I/O-effiziente Graphensuche LEDA-SM, u.a. I/O-effiziente Suffixarrays

Externer Speicher Geplant (P. Sanders, R. Dementiev) I/O-effiziente Varianten der STL Datentypen & Algorithmen SFB-Relevanz grundlegendes Problem bei riesigen Datenmengen SFB-interne Anwendung!

langsamer, blockweiser Zugriff Externer Speicher CPU schnell, aber begrenzte Kapazität langsamer, blockweiser Zugriff Ziel: minimale Anzahl I/O-Operationen (= Blockzugriffe) Ergebnisse (U. Meyer, A. Crauser) I/O-effiziente Graphensuche, LEDA-SM Bibliothek Geplant (P. Sanders, R. Dementiev) I/O-effiziente Varianten der STL Datentypen & Algorithmen SFB-Relevanz grundlegendes Problem bei großen Datenmengen

Methodik vom Algorithmus zum Programm exakte Analyse genauere Modelle, z.B. Cacheeffekte Bibliotheken: LEDA, LEPs, CGAL, AGD, BALL, … generische Programmierung flexibel, trotzdem effizient und leicht zu verwenden z.B. match(string, pattern, myKernel) myKernel implementiert Iterator und Vergleich