Informationsintegration

Größe: px
Ab Seite anzeigen:

Download "Informationsintegration"

Transkript

1 Informationsintegration Duplikaterkennung Ulf Leser Wissensmanagement in der Bioinformatik

2 Inhalt dieser Vorlesung Data Cleansing Duplikaterkennung Ähnlichkeitsmaße Sorted-Neighborhood Algorithmus Duplikaterkennung auf Bäumen und Graphen Ulf Leser: Informationsintegration, Wintersemester 2006/2007 2

3 Anfragebearbeitung in MBIS Globales Schema Korrespondenzen Exportschema Aufgabe der Anfragebearbeitung Gegeben eine Anfrage q gegen das globale Schema Gegeben eine Menge von Korrespondenzen zwischen globalem und lokalen Schemata Finde alle Antworten auf q Ulf Leser: Informationsintegration, Wintersemester 2006/2007 3

4 Ergebnisintegration Schritt 1: Anfrageplanung Schritt 2: Anfrageübersetzung Schritt 3: Anfrageoptimierung Schritt 4: Anfrageausführung Schritt 5: Ergebnisintegration Ergebnisintegration Eingabe: Pro Ausführungsplan eine Menge von Ergebnistupeln Aufgabe: Die Ergebnisse der einzelnen Ausführungspläne sind oftmals redundant oder uneinheitlich. Während der Ergebnisintegration werden die einzelnen Ergebnisse zu einem Gesamtergebnis integriert, was insbesondere Duplikaterkennung und Auflösen von Widersprüchen in den Daten erfordert. Ergebnis: Das Ergebnis der Benutzeranfrage Ulf Leser: Informationsintegration, Wintersemester 2006/2007 4

5 Datenreinigung Jeder Plan erzeugt Ergebnistupel Ziel: Einheitliche, nicht redundante Darstellung der integrierten Informationen Probleme allgemein Datenfehler Duplikate Unvollständige Daten Allgemein: Geringe Qualität der Daten Data Cleansing (Datenreinigung) Deduplizierung, Duplikaterkennung Datenfusion [Datenauswahl] Ulf Leser: Informationsintegration, Wintersemester 2006/2007 5

6 Data Cleansing in integrierten Systemen Wo und wann? Föderierte Systeme Online Cleansing (schwierig da teuer) Im Mediator Auf den Ergebnissen einer Anfrage Zugriff meist nur auf die aktuellen Ergebnisse Data Warehouses Offline (Loading) Eventuell auch bei den Quellen selbst (z.b. Dateneingabe) Immer bei Datenaktualisierungen Zugriff auf gesamten Datenbestand möglich Ulf Leser: Informationsintegration, Wintersemester 2006/2007 6

7 Data Cleansing bei virtueller Integration Web Service A Web Service B <pub> <Title> MAC: Merging Autonomous Content </Titel> <First> Felix </First> <Last> Naumann </Last> <Year> 2002 </Year> </pub> <pub> <Title> Merging Autonomus Content </Titel> <First> Dr. Felix</First> <Last> Naumann </Last> <Year> 2001 </Year> </pub> Title First Last Year MAC: Merging Autonomous Content Felix Naumann 2002 Merging Autonomus Content Dr. Felix Naumann 2001 Ulf Leser: Informationsintegration, Wintersemester 2006/2007 7

8 Nachvollziehbarkeit Daten müssen erklärbar sein Anwender eines DWH: Da fehlt ein Produkt im Report Analysewerkzeug fehlerhaft? Report falsch? Data Mart Definition falsch? Basisdatenbank unvollständig? ETL Prozeduren fehlerhaft? DC Aktionen müssen nachvollziehbar sein Protokollieren der Aktionen durch alle Prozessschritte Wiederholbarkeit aller Aktionen bei neuen Daten / Anfragen Schwierig: Unsystematische ad-hoc Aktionen DC programmieren, keine manuellen Änderungen Mühsam, aber notwendig zur Unterstützung kontinuierlicher Prozesse Ulf Leser: Informationsintegration, Wintersemester 2006/2007 8

9 Duplikate und Fusion Viele Fehler findet man erst durch Vergleich Quelle 1: Hans Meyer, Frankfurter Allee 200 Quelle 2: Hans Meier, Frankfurter Alee 202 Vergleich erfordert Identifikation verschiedener Repräsentationen desselben Objekts Was soll man sonst vergleichen? Man vergleicht also Duplikate miteinander Fusion verschmilzt Duplikate zu einem Objekt Nicht-redundante Darstellung: Jedes Objekt ist nur einmal im Ergebnis repräsentiert Homogene Darstellung: Jedes (einwertige) Attribut dieses Objekts hat nur einen Wert Datenfusion: Bestimmte diese Werte aus den Attributwerten der Duplikate Ulf Leser: Informationsintegration, Wintersemester 2006/2007 9

10 Inhalt dieser Vorlesung Data Cleansing Duplikaterkennung Ähnlichkeitsmaße Sorted-Neighborhood Algorithmus Duplikaterkennung auf Bäumen und Graphen Ulf Leser: Informationsintegration, Wintersemester 2006/

11 Fehlerquote auf No-Fly Listen Nach dem hat die Transportation Security Administration (TSA), die nach der Gründung des Heimatschutzministeriums ein Teil dessen wurde, begonnen, eine No-Fly-Liste und eine "Selectee"-Liste über Menschen anzulegen, die eine Bedrohung darstellen können. Im Oktober 2002 wurde nach einem Antrag nach Einsicht gemäß dem Informationsfreiheitsgesetz erstmals belegt, dass solche, bislang heimlich geführten Listen existieren, nach denen Personen am Fliegen gehindert oder einer strengeren Kontrolle unterzogen werden. Zehntausende von Namen, vermutlich über , soll die No-Fly-Liste mittlerweile enthalten, in der Terrorist Identities Datamart Environment-Datenbank (TIDE), der Stammliste, aus der die andere Listen abgeleitet werden, sind über Personen gespeichert ( Die Mutter aller Terror- Datenbanken quillt über). Das Problem der nach geheim gehaltenen Kriterien gesammelten Einträge auf den Listen ist neben einer gewissen Willkürlichkeit vor allem die hohe Fehlerquote. Sie soll bis zu 50 Prozent betragen, wie aus einem Bericht des Government Accountability Office hervorging. Fehler treten vorwiegend beim Vergleich der Namen auf. Ähnlichkeiten der Namen von Reisenden mit denen auf den Terrorlisten führen zu Verwechslungen, die unangenehme Folgen haben können, zumal es äußerst schwierig ist, einen Namen wieder von der Liste streichen zu lassen, und es undurchsichtig ist, warum ein Name oder eine Person auf diese geraten ist. Man darf gespannt sein, welche Folgen etwa die Antiterrorliste in Deutschland haben wird. Ein entscheidendes Problem in den USA stellt das Programm zum Abgleich der Namen dar. Mit dem Soundex-Programm werden die Namen von Reisenden mit denen der No-Fly-Liste verglichen. Die auf der englischen Sprache basierende Suche stößt natürlich in den Reservierungsdatenbanken auf Probleme, wenn dort etwa arabische Namen in das römische Alphabet übersetzt werden, was bekanntlich in zahlreichen Versionen gemacht werden kann. Soundex ist überdies ein altes, eigentlich bereits 1880 eingeführtes Programm, das vorsichtig gesagt - einige grundsätzliche Schwächen hat, die dazu führen, dass auch bei englischen Namen zu viele Ähnlichkeiten ausgegeben werden. Dabei werden die Vokale entfernt und die Konsonanten durch drei Zahlen zwischen 1 und 6 ergänzt, um darzustellen, wie der Name ausgesprochen wird. H, W und Y werden nicht beachtet, was auch bei allen Konsonanten nach der dritten Stelle der Fall ist, weil nach dem ersten Buchstaben nur drei Zahlen kommen dürfen. Beispielsweise werden Black and Block jeweils als B-422 dargestellt. So können zahlreiche, unterschiedlich geschriebene Namen auf dieselbe Weise dargestellt werden und zu entsprechend vielen Warnhinweisen führen. Wie ungenau das Programm ist, haben Mitarbeiter der Firma S3 nicht uneigennützig demonstriert, weil sie behaupten, eine bessere Lösung zu haben. S3 bietet ein Tool an, mit dem sich sehen lässt, ob man auch einen "Treffer" landet. Angeblich hat die Firma Zugang zu den Listen gehabt. An sich hatte sich bereits ein anderes Programm in den Startlöchern befunden, um Verdächtige auszusortieren, nämlich CAPPS II (Computer Assisted Passenger Prescreening System II). Hier wären neben den Namen noch weitere persönliche Daten wie Adresse, Telefonnummer und Geburtstag zur Identifizierung eingeflossen. Die Informationen wären dann mit weiteren persönlichen Daten wie Kreditkarteninformationen, Finanztransaktionen und vielen anderen, von privaten Datenunternehmen gesammelten Daten abgeglichen und ergänzt worden, um eine Risikobewertung durchzuführen. Obgleich vom Kongress die Gelder für CAPPS II 2004 aus Datenschutzgründen gesperrt wurde, ist Ende des letzten Jahres bekannt geworden, dass die TSA weiterhin mit dem Automated Targeting System (ATS) eine Risikobewertung von international Reisenden durchführt, wobei die Flugpassagierdaten mit weiteren Daten aus unterschiedlichen Quellen verbunden werden ( US-Regierung bewertet das Risikopotenzial aller Ein- und Ausreisenden). Ob ATS Vorläufer oder Teil des Secure Flight- Programms ist, ist angesichts der verwirrenden Vielzahl von Projekten und Plänen zur Überwachung nicht eindeutig. Wie beim Secure Flight-Programm sollen jedoch bei ATS auch keine Daten von privaten Datenhändlern wie ChoicePoint verwendet werden. Das soll allerdings beim Registered Flight-Programm gemacht werden, an dem sich Reisende freiwillig beteiligen können, um nach einem Hintergrundcheck, der von beauftragten Firmen durchgeführt wird, schneller durch die Kontrollen zu kommen. Nachdem Zehntausende von Beschwerden aufgrund von Verwechslungen aufgekommen sind und die Listen unter schwere Kritik geraten sind, hat nun das Heimatschutzministerium eine Website zur Abhilfe eingerichtet. Auf DHS TRIP (Traveler Redress Inquiry Program) können Reisende, die meinen, fälschlicherweise auf der Liste zu stehen, ihre Beschwerde einreichen. Sie müssen dazu zusätzliche Informationen eingeben, die überprüft und auch an andere Behörden weiter gegeben werden können. Mit TRIP lasse sich, so Minister Chertoff, die Liste säubern, die angeblich aber schon gründlich überprüft worden sei, um endlich das lange angekündigte Programm Secure Flight nächstes Jahr einführen zu können. Beim Secure Flight-Programm werden PNR-Daten von Reisenden vor allem mit den Informationen aus der Terrorist Screening Database (TSDB) abgeglichen, um "verdächtige und bekannte Terroristen" zu erkennen und am Besteigen von Flugzeugen zu verhindern. Dazu will man offenbar die Terror-Liste bereinigen, auch wenn man mit den PNR-Daten mehr Informationen zur Überprüfung besitzt als nur die Namen. Das Problem mit Soundex ist damit allerdings noch nicht ganz gelöst. Angeblich hofft man im Heimatschutzministerium mit biometrischen Datenbanken die bislang dank Soundex hohen falschen Trefferquoten reduzieren zu können. Der Plan, nicht mehr nur zwei Fingerabdrücke, sondern die digitalen Fingerabdrücke aller 10 Finger zu erhalten, könnte damit zusammenhängen. Quelle: Ulf Leser: Informationsintegration, Wintersemester 2006/

12 Ein Siebtel der Einträge in der britischen Gendatenbank ist falsch Die britische Polizei hat die weltweit größte Gendatenbank und wahrscheinlich die fehlerhafteste, was die Glaubwürdigkeit der Genprofile untergräbt Die britische Polizei hat die größte Gendatenbank der Welt, die in den letzten Jahren massiv ausgebaut wurde. Mittlerweile enthält sie die Genprofile von 4 Millionen Menschen, mehr als 5 Prozent der Gesamtbevölkerung. In jedem Jahr wächst die Datenbank um eine halbe Million weiterer Genprofile. Dabei handelt es sich nicht nur um die Gendaten von verurteilten Straftätern, sondern auch von denen, die einer Tat verdächtigt und festgenommen wurden, gegen die aber dann keine Anklage erhoben wurde. Auch bei teils trivialen Verstößen, beispielsweise im Sinne der ständig erweiterten Liste des "antisozialen Verhaltens", können Genprofile gemacht und gespeichert werden. Auch die Gendaten von Kindern unter 16 Jahren finden sich in der Datenbank, auch hier handelt es sich keineswegs immer um Straftäter. Die Begehrlichkeiten der Strafverfolger sind hoch. Das Innenministerium beabsichtigt, die Abnahme des genetischen Fingerabdrucks noch einmal massiv zu erweitern. So würde man auch gerne durchsetzen, dass DNA-Proben von Verdächtigen, die nur kleiner Vergehen beschuldigt werden, neben Fotografien und Finger- und Fußabdrücken schon auf der Straße genommen werden können. Wer nicht angeschnallt mit dem Auto fährt oder Abfall auf die Straße wirft, könnte dann schon für immer in die Datenbank geraten. Der Zweck sei, so heißt es in einem Papier des Innenministeriums, damit besser Straftäter identifizieren und Datenbanken durchsuchen zu können. Allerdings könnten die Sammelwut und das Vertrauen in die Korrektheit der Genprofile und der darüber bewerkstelligten Nachweise mit den neuesten Informationen einen Dämpfer erleiden. Um die Namen in der Datenbank, so stellte sich nun heraus, sind falsch, falsch geschrieben oder fehlerhaft. Das macht immerhin Siebtel der gesamten Genprofile aus. Dabei handelt es sich nur um Kopien von DNA-Proben. Der Grund ist offensichtlich auch die große Sammelwut, die die Polizisten, getrieben vom Innenministerium, betreiben. So werden DNA-Proben bei Festnahmen genommen, während die Namen der Festgenommen nicht überprüft oder in falscher Schreibweise eingegeben werden. Manchmal stimmen Namen und Genprofile nicht überein oder sind Genprofile unter dem Namen von Menschen registriert, die es gar nicht gibt. Die Regierung musste nun sogar einräumen, nicht genau zu wissen, wie viele Einträge wirklich falsch sind, da von der Zählung nur die vorhandenen Kopien erfasst wurden. Es könnten also weitaus mehr sein. So sagte Meg Hillier, Staatssekretärin des Innenministeriums, dass die Zahl der Personen, deren Genprofil in der Datenbank ist, etwa um 13,7 Prozent niedriger sei als die Zahl gesamten Einträge. Man kann offensichtlich ohne Schuld mit seinem Genprofil auf Dauer in die Datenbanken gelangen, aber auch womöglich unschuldig darüber einer Straftat bezichtigt werden, weil Namen vertauscht oder Genprofile falsch zugeordnet wurden. Das Innenministerium versichert, dass man nun hart daran arbeite, die Ungenauigkeiten zu beseitigen und die Genprofile mit den Fingerabdrücken abzugleichen, um die Identität der Personen zu überprüfen. Quelle: Ulf Leser: Informationsintegration, Wintersemester 2006/

13 Duplikate Relationale Welt: Duplikat = Zwei Tupel einer Relation die identische Werte in allen Attributen besitzen Allgemein: Duplikat = Paar von Tupeln, die demselben Realweltobjekt entsprechen Also synonyme Objekte Typische Beispiele: Personen, Rechnungen, Lieferungen, Bestellungen, Viele kommerzielle Tools Vor allem im Bereich Customer Relationship Management (CRM) Record Linkage, Object Identification, Deduplication, Entity Resolution, Ulf Leser: Informationsintegration, Wintersemester 2006/

14 Auswirkungen Überflüssiger Verbrauch von Plattenplatz und Rechenleistung Einfachste Auswertungen sind falsch Anzahl Kunden <> SELECT COUNT(*) FROM customer Umsatz <> SELECT SUM(revenue) FROM order Man sieht nur noch Teile und nicht das Ganze Überschreiten des Kreditlimits wird nicht erkannt Zu niedriger Lagerbestand wird ausgewiesen Kein Ausnutzen von Mengenrabatten Fehleinschätzung von Kunden Mehrfachzusendung von Katalogen Ulf Leser: Informationsintegration, Wintersemester 2006/

15 Das formale Problem Gegeben: Tupel T={t 1,..,t m } mit Attributen A 1,,A k Kein semantischer Schlüssel Komplexere Modelle (Bäume, Graphen) später Tupel entsprechen Objekten O={o 1,,o n } Über die wissen wir meistens nichts, man kennt nur die Tupel Manche der Tupel sind Duplikate Gesucht: eine Funktion dup: TxT bool dup gibt true zurück, wenn Tupel t 1 und t 2 demselben Objekt o entsprechen Als Datenbankproblem: dedup: T N Jedem Tupel wird eine natürliche Zahl zugeordnet Zwei Tupel bekommen dann und nur dann dieselbe Zahl zugeordnet, wenn sie Duplikate sind Berechnung eines identifizierenden Schlüssels Ulf Leser: Informationsintegration, Wintersemester 2006/

16 Transitivität Im strengen Sinne ist die Duplikateigenschaft transitiv (dup(t 1,t 2 )=true dup(t 2,t 3 )=true) dup(t 1,t 3 )=true Im realen Leben muss man damit vorsichtig sein Man nimmt an, dass Duplikate irgendwie ähnlich sind Ähnlichkeit misst man durch eine Funktion sim: TxT [0,1] Verwend. eines Schwellwerts: dup sim (t 1,t 2 )=true gdw. sim(t 1,t 2 )>t Aber: Ähnlichkeit ist mitnichten transitiv Meier, Meyer, Mayer, Bayer, Bayes, Bades, Meier, Meir, Mer, Er, R, Gut überlegen, bevor man in Algorithmen Transitivität ausnutzt Hängt ab vom Vertrauen in sim und in t Kann Fehlerraten drastisch erhöhen Ulf Leser: Informationsintegration, Wintersemester 2006/

17 Äquivalenzrelation und Clustering Annahme: Transitivität Dann ist dup eine Äquivalenzrelation Also partitioniert dup die Menge T in Cluster Jeder Cluster entspricht einem Realweltobjekt (das man nicht kennen muss) Jedes Tupel in einem Cluster repräsentiert das Realweltobjekt, das dem Cluster entspricht Duplikaterkennung ist im Grunde ein Clusterproblem Alle Clusterverfahren kann man verwenden Geschieht meistens nicht, weil die Attribute der Tupel eine starke eigene Bedeutung haben Und Clustering teuer ist Daher ist Domänenwissen wichtiger als Clustertechniken Ulf Leser: Informationsintegration, Wintersemester 2006/

18 Genauigkeit der Duplikaterkennung Annahme: Verwendung von sim und Threshold t Weitere Annahme: sim(t 1,t 2 ) korreliert mit der Wahrscheinlichkeit, dass t 1 und t 2 Duplikate sind sim irrt sich also meistens nicht oder nur ein wenig Dann hängt die Genauigkeit von dup sim von t ab Hohes t Nahezu alle Duplikate, die man findet, sind auch welche Aber man findet viele Duplikate nicht, weil sim nicht groß genug ist Niedriges t Man findet praktisch alle Duplikate Aber man findet auch viele falsche Duplikate Ulf Leser: Informationsintegration, Wintersemester 2006/

19 Precision und Recall Realität Duplikat Kein Duplikat Methode Duplikat true-positive false-positive Kein Duplikat false-negative true-negative Precision = TP/(TP+FP) Wie viele der vorhergesagten Duplikate sind wirklich welche? Auch: Spezifität Recall = TP/(TP+FN) Wie viele der echten Duplikate haben wir gefunden? Auch: Sensitivität Ulf Leser: Informationsintegration, Wintersemester 2006/

20 Beispiel Gegeben Datenbank mit Kunden Algorithmus findet 50 Duplikate In Wahrheit Im Datensatz gibt es 55 Duplikate Davon hat der Algorithmus 42 gefunden Die restlichen 8 sind keine Duplikate Real: Positive Real: Negative Alg: Positive TP = 42 FP = 13 Alg: Negative FN = 8 TN=? Precision = TP/(TP+FP) = 42/55 ~ 76% Recall = TP/(TP+FN) = 42/50 ~ 84% Ulf Leser: Informationsintegration, Wintersemester 2006/

21 Als Kurven Precision / Recall t Precision Recall Ulf Leser: Informationsintegration, Wintersemester 2006/

22 Prinzipielles Vorgehen Annahme: Verwendung einer guten sim Um alle Duplikate zu finden, muss man alle Paare miteinander vergleichen Beim Vergleich geht man attributweise vor Schema Matching muss also schon vorher erfolgt sein Ähnlichkeit zweier Tupel setzt sich aus der Ähnlichkeit ihrer Attribute zusammen Ggf mit Gewichtung der Attribute Ulf Leser: Informationsintegration, Wintersemester 2006/

23 Probleme Geeignete Ähnlichkeitsmaße? Beitrag von Attributen zur Tupelähnlichkeit? Skalierbarkeit? Der Vergleich zweier Tupel ist nicht billig oftmals komplexe Vergleichsfunktionen (siehe gleich) Bei Kunden müsste man 1E10/2 Paare vergleichen Ähnlichkeitsfunktion sollte symmetrisch sein Im Unterschied zu einem Join kann man hier nicht sortieren Nach was denn? Wir müssen weg von der quadratischen Komplexität Ulf Leser: Informationsintegration, Wintersemester 2006/

24 Weitere Dimension: Effizienz Statt alle Paare zu vergleichen, nimmt man eine Vor- Partitionierung der Daten vor Kleine Partitionen Weniger Vergleiche, aber auch schlechterer Recall, wenn Duplikate in verschiedenen Partitionen liegen Große Partitionen Viele Vergleiche (schlechtere Effizienz), aber besserer Recall Precision Ähnlichkeitsmaß Schwellwert Partitionsgröße Recall Effizienz Ulf Leser: Informationsintegration, Wintersemester 2006/

25 Inhalt dieser Vorlesung Data Cleansing Duplikaterkennung Ähnlichkeitsmaße LIKE und SOUNDEX Editabstände Weitere Maße Sorted-Neighborhood Algorithmus Duplikaterkennung auf Bäumen und Graphen Ulf Leser: Informationsintegration, Wintersemester 2006/

26 Attributähnlichkeit Ähnlichkeitsmaße sind domänenabhängig Preise, Messungen Namen Beschreibungen Das Problem wird anders, wenn man alle möglichen Ausprägungen der Werte in der realen Welt kennt (und das nicht so viele und möglichst verschiedene sind) Z.B.: Titel, Strassen einer Stadt Nicht gut: Namen (trotz Telefonbuch) Für sim(t 1.a 1,t 2.a 1 ) vergleicht dann sim a (a 1,a 2 ), sondern sucht die realen Werte o i, o j, denen a 1 und a 2 entsprechen, Damit definiert man: sim(a 1,a 2 )=1 gdw. o(a 1 )=o(a 2 ) Wir diskutieren im Folgenden maße für Zeichenketten Manche domänenabhängig, manche nicht Ulf Leser: Informationsintegration, Wintersemester 2006/

27 Like und Soundex LIKE-Suche: WHERE NAME like Mei% Sofort in allen DBMS verfügbar Aber: Zu eingeschränktes Maß für Ähnlichkeit Soundex-Funktion Entwickelt 1918 zur Volkszählung in den USA Idee: Gleichklingende Wörter werden in identische Zeichenfolge übersetzt Soundex ( Naumann ) = Soundex ( Neuman ) = N550 Soundex-Code: Erster Buchstaben gefolgt von Codes für die nächsten drei Konsonanten Ähnliche Konsonanten besitzen den gleichen Code (B und P erhalten 1, V und B erhalten 0 ) Gut: Beachtet Lautähnlichkeiten, oft implementiert Schlecht: Sehr heuristisch (fehlende Konsonanten? Warum nur 3? Warum keine Vokale?) Nur für Namen geeignet, Fehlermodell ist Verhören (und nicht vertippen) Ulf Leser: Informationsintegration, Wintersemester 2006/

28 Editskripte Definition Ein Editskript e für zwei Strings A, B aus Σ *= Σ _ ist eine Sequenz von Editieroperationen I (Einfügen eines Zeichen c Σ in A) Dargestellt als Lücke in A; das neue Zeichen erscheint in B D (Löschen eines Zeichen c in A) Dargestellt als Lücke in B; das alte Zeichen erscheint in A R (Ersetzen eines Zeichen in A mit einem anderen Zeichen in B) M (Match, d.h., gleiche Zeichen in A und B an dieser Stelle) so, dass e(a)=b Beispiel: A= MEYER, B= MAYR MRMIM MEYER MAY_R Ulf Leser: Informationsintegration, Wintersemester 2006/

29 Editabstand Id.R. gibt es für gegebene A,B viele Editskripte Definition Die Länge eines Editskript ist die Anzahl von Operationen o im Skript mit o {I, R, D} Der Editabstand zweier Strings A, B ist die Länge des kürzesten Editskript für A, B Bemerkung Matchen zählt nicht interessant sind nur die Änderungen Anderer Name: Levenshtein-Abstand Es gibt oft verschiedene kürzeste Editskripte MMMIMM MMIMMM MÜLLER MÜLLER MÜL_ER MÜ_LER Ulf Leser: Informationsintegration, Wintersemester 2006/

30 Editabstände Definition Gegeben zwei Strings A, B mit A =n, B =m Funktion dist(a,b) berechne den Editabstand von A, B Funktion d(i,j), 0 i n und 0 j m, berechne den Editabstand zwischen A[1..i] und B[1..j] Bemerkungen Jedes R kann durch {I,D} ersetzt werden; also werden R bevorzugt Offensichtlich gilt: d(n,m)=dist(a,b) d(i,j) dient zur rekursiven Berechnung von dist(a,b) Ulf Leser: Informationsintegration, Wintersemester 2006/

31 Ulf Leser: Informationsintegration, Wintersemester 2006/ Rekursionsgleichung Wir leiten das nächste Symbol im Editskript aus schon bekannten Editabständen ab Wir suchen das kürzeste Skript, also = ), ( 1) 1, ( 1 ) 1, ( 1 1), ( min ), ( j i t j i d j i d j i d j i d = sonst j B A i wenn j i t 0 : ] [ ] [ 1: ), (

32 Randbedingungen Randbedingungen nicht vergessen d(i,0) = i Um A[1..i] zu zu transformieren braucht man i Deletions d(0,j) = j Um A[1..0] zu B[1..j] zu transformieren braucht man j Insertions Ulf Leser: Informationsintegration, Wintersemester 2006/

33 Tabellarische Berechnung Grundidee Speichern der Teillösungen in Tabelle Bei Berechnung Wiederverwendung wo immer möglich Aufbau der Tabelle: Bottom-Up (statt rekursiv Top-Down) Initialisierung mit festen Werten d(i,0) und d(0,j) Sukzessive Berechnung von d(i,j) mit steigendem i,j Für d(i,j) brauchen wir d(i,j-1), d(i-1,j) und d(i-1,j-1) Verschiedene Reihenfolgen möglich A T G C G G T G C A A T A T G C G G T G C A A T A T G G T G C A A T G G T G C A Ulf Leser: Informationsintegration, Wintersemester 2006/

34 Edit Distance Berechnung Edit-Distance-Matrix d( i, j) = d( i, j 1) + 1 min d( i 1, j) + 1 d( i 1, j 1) + t( i, j) H A S E R A S E N Ulf Leser: Informationsintegration, Wintersemester 2006/

35 Edit Distance Berechnung Editabstand von RASEN und HASE ist 2 Die tatsächlichen Operationen erhält man durch Traceback Bei Berechnung von d(i,j) behalte Pointer auf die Vorgängerzelle(n), die das Minimum in der Formel erreichen Jeder Pfad von rechts unten H A S E nach links oben entlang dieser Pfeile ist ein optimales Alignment R A S E N Ulf Leser: Informationsintegration, Wintersemester 2006/

36 Komplexität Aufbau der Tabelle Zur Berechnung einer Zelle muss man genau drei andere Zellen betrachten Konstante Zeit pro Betrachtung m*n Zellen Insgesamt: O(m*n) Traceback (für ein Alignment) Man kann einen beliebigen Pfad wählen Es muss einen Pfad von (n,m) nach (1,1) geben Jede Zelle hat mindestens einen Pointer Keine Zelle zeigt aus der Tabelle hinaus Worst-Case Pfadlänge ist O(m+n) Zusammen O(m*n) (für m*n > m+n) Ulf Leser: Informationsintegration, Wintersemester 2006/

37 Weitere Ähnlichkeitsmaße für Wörter Für Ähnlichkeit normieren wie den Editabstand auf die Länge der Strings sim edit ( a, b) = 1 dist( a, b) max( a, b ) Beachtung von Buchstabendrehern: Damerau-Levensthein Abstand d( i, j 1) + 1 d( i, j) = min d( i 1, j) + 1 d( i 1, j 1) + t( i, j) d( i 2, j 2) + t( i 1, j) + t( i, Einbeziehung der Ähnlichkeit von Buchstaben j 1) Einfache Modifikation: t(i,j) ergibt nicht mehr 0/1, sondern einen Wert, der mit der Ähnlichkeit von Zeichen steigt Für Hörfehler: t(y,i)~0, t(b,p)~0.2, t(i,t)~1, t(e,i)~0.3, Für Tippfehler: t(x,y) hängt von der Entfernung von X und Y auf der Tastatur ab Ulf Leser: Informationsintegration, Wintersemester 2006/

38 Token-basierte Maße: Jackard-Koeffizent Editabstand nicht geeignet für Texte Wortstellung in Texten ist sehr variabel Reihenfolgefehler werden beim Editabstand aber schlimm bestraft Kunde war ungehalten; später Reklamation und Der Reklamation ging ungehaltenes Verhalten vom Kunden voraus Jackard-Koeffizent Zerlege jeden Text S in Menge von Token T (Wörter) Ähnlichkeit zweiter Texte S1, S2 Ignoriert die Reihenfolge der Wörter vollkommen (Abhilfe: n-gramme) Verfeinerungen sim Jackard ( S Stemming von Wörtern: ungehalten = ungehaltenes Bedeutung von Wörtern: Häufigkeit im Korpus, TF/IDF 1, S 2 ) = 1 T T 1 1 T T 2 2 Ulf Leser: Informationsintegration, Wintersemester 2006/

39 Vom Attribut zum Tupel Theoretisch könnte man die Ähnlichkeit zweier Tupel als (gewichtetes) Mittel der Ähnlichkeiten ihrer Attributwerte definieren Oder Verwendung von Fuzzy-Logik oder probablistischen Modellen In der Praxis verwendet man eher Domänenwissen, das man in Regeln kodiert Ulf Leser: Informationsintegration, Wintersemester 2006/

40 Inhalt dieser Vorlesung Data Cleansing Duplikaterkennung Ähnlichkeitsmaße Sorted-Neighborhood Algorithmus Einfacher Merge-Purge Algorithmus Multipass Duplikaterkennung auf Bäumen und Graphen Ulf Leser: Informationsintegration, Wintersemester 2006/

41 Die Sorted Neighborhood Methode Input Tabelle mit N Tupeln Ähnlichkeitsmaß Output Cluster äquivalenter Tupel (= Duplikate) Problem: Viele Tupel Es gibt O(n 2 ) viele Tupelpaare Das dauert zu lange Außerdem: Nur sehr wenige sind tatsächlich Duplikate Idee Partitioniere Tabelle geschickt Tupelpaare werden nur noch innerhalb einer Partition gebildet Ulf Leser: Informationsintegration, Wintersemester 2006/

42 Sorted Neighborhood [HS98] Sorted Neighborhood Algorithmus Sortiere Tupel so, dass Duplikate (hoffentlich) nahe beieinander liegen Dazu: Erzeuge einen Sortierschlüssel aus relevanten Attributen Merge-Phase: Fenster der Größe w über sortierte Liste schieben Nur Tupel innerhalb eines Fensters vergleichen Man hat also überlappende Partitionen Purge-Phase: Duplikate werden verschmolzen, gelöscht, getagged, Komplexität n Tupel Schlüsselerzeugung sei linear Sortieren ist O(n*log(n)) Anzahl Vergleiche ist O(n*w) N neue Tupel werden mit (w-1) Tupeln im Fenster verglichen Zum Vergleich: Naiver Ansatz war O(n 2 ) Ulf Leser: Informationsintegration, Wintersemester 2006/

43 1. Schlüsselerzeugung Schlüsselerzeugung ist zentral für die Effektivität des Verfahrens Ordnung der Schlüssel bestimmt die Partitionen Schlechte Reihenfolge schlechter Recall Leider ist überhaupt nicht klar, was ein guter Schlüssel zur Duplikaterkennung ist Implizit erfolgt eine Priorisierung der Attribute durch den Aufbau des Schlüssels Wieder: Domänenwissen Vorname Nachname Adresse ID Sal Stolpho 123 First St Mauricio Hernandez 321 Second Ave Felix Naumann Hauptstr Sal Stolfo 123 First Street Schlüssel STOSAL123FRST456 HERMAU321SCND123 NAUFEL11HPTSTR987 STOSAL123FRST456 Ulf Leser: Informationsintegration, Wintersemester 2006/

44 Merge Vorname Nachname Adresse ID Mauricio Hernandez 321 Second Ave Felix Naumann Hauptstr Sal Stolpho 123 First St Sal Stolfo 123 First Street Schlüssel HERMAU321SCND123 NAUFEL11HPTSTR987 STOSAL123FRST456 STOSAL123FRST456 Regelbasierte Entscheidung auf Duplikat, z.b. IF last_name(r 1 ) = last_name(r 2 ) AND edit_distance(first_name(r 1 ), firstname(r 2 )) < 5, AND address(r 1 ) = address(r 2 ) THEN dup(r 1,r 2 )=true IF (ID(r 1 ) = ID(r 2 ) OR last_name(r 1 ) = last_name(r 2 )) AND address(r 1 ) = address(r 2 ) AND city(r 1 ) = city(r 2 ) AND (state(r 1 ) = state(r 2 ) OR zip(r 1 ) = zip(r 2 )) THEN dup(r 1,r 2 )=true Ulf Leser: Informationsintegration, Wintersemester 2006/

45 Praktischer Aufwand Komplexität: O(n*log(n)+n*w) Praktisch IO. Mindestens drei Läufe notwendig Schlüssel erzeugen und speichern Sortieren Fenster schieben Man hält immer w Tupel im Speicher Beim Verschieben fällt ein Tupel raus und eines kommt hinzu Das neue Tupel wird mit w-1 Tupeln im Fenster vergleichen Praktisch sollte sich w also an der Blockgröße und der Größe des Hauptspeichers orientieren Nicht nur IO: Teure Operationen Schlüssel erzeugen große Schlüssel müssen viele Werte anfassen Vergleichen komplexe Regeln erfordern viele Einzelvergleiche Die Merge-Phase dominiert typischerweise die Gesamtkosten Ulf Leser: Informationsintegration, Wintersemester 2006/

46 Ausnutzung von Transitivität Kann zur Reduktion von Arbeit benutzt werden Im aktuellen Fenster hält man k Äquivalenzklassen statt w Tupel (k<w) Pro Äquivalenzklasse ausgezeichneter Vertreter Virtuelles mittleres Element schwierig und teuer Echtes mittleres Element teuer Zufälliges Element Verzerrung bei ungeeigneter Wahl Bei vielen Duplikaten: k << w Bei wenigen Duplikaten lohnt sich der Aufwand kaum Preis: Erhöhung der Fehlerrate Ulf Leser: Informationsintegration, Wintersemester 2006/

47 Vertreterwahl bei Merge/Purge Jeder Cluster wird als Priority Queue organisiert Sortiert nach Reihenfolge des Einfügens von Tupeln Neues Tupel t Vergleich von t mit allen Clustern im aktuellen Fenster Benutze das höchste Element t pro Cluster zu Vergleich Eventuell: Top-k Tupel Begründung: t liegt bzgl. Sortierung am nächsten zu t Höchste Chance auf Duplikateigenschaft Danach Stopp: keine weiterer Vergleich Heuristische Beschleunigung Ulf Leser: Informationsintegration, Wintersemester 2006/

48 Inhalt dieser Vorlesung Data Cleansing Duplikaterkennung Ähnlichkeitsmaße Sorted-Neighborhood Algorithmus Einfacher Merge-Purge Algorithmus Multipass Duplikaterkennung auf Bäumen und Graphen Ulf Leser: Informationsintegration, Wintersemester 2006/

49 Multipass Verfahren Problematische Schlüsselwahl Beispiel: Schlüssel beginnt mit ID r 1 : und r 2 : Lösung 1: Vergrößerung des Fensters Effizienz leidet, Effektivität steigt idr nur wenig Die Präfix-Verzerrung der Sortierung kriegt man nicht weg Lösung 2: Multipass Merge-Purge mehrmals mit verschiedenen Schlüsseln laufen lassen Pro Lauf können kleine w und einfache Schlüssel verwendet werden Duplikatbeziehungen aller Läufe sind gleichwertig Für k Läufe benötigt man ~(1+2*k) Scans der Tabelle Alle Schlüssel in einem Lauf berechnen Weniger effizientes, aber deutliches effektiveres Verfahren als Single-Pass Ulf Leser: Informationsintegration, Wintersemester 2006/

Algorithmische Bioinformatik

Algorithmische Bioinformatik Algorithmische Bioinformatik Effiziente Berechnung des Editabstands Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Rekursive Definition des Editabstands

Mehr

Aufgabenblatt 4. Silke Trißl Wissensmanagement in der Bioinformatik

Aufgabenblatt 4. Silke Trißl Wissensmanagement in der Bioinformatik Aufgabenblatt 4 Silke Trißl Wissensmanagement in der Bioinformatik Zuerst! FRAGEN? Silke Trißl: Bioinformatik für Biophysiker 2 Exercise 1 Global alignment using dynamic programming Write a program to

Mehr

Duplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17

Duplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17 Dr. Armin Roth arminroth.de 27.04.2013 Dr. Armin Roth (arminroth.de) II Duplikaterkennung 27.04.2013 1 / 17 Agenda 1 Wiederholung: Datenwertintegration 2 Duplikaterkennung Dr. Armin Roth (arminroth.de)

Mehr

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0

Mehr

Datenqualität und Datenreinigung

Datenqualität und Datenreinigung Datenqualität und Datenreinigung FGBS Herbsttreffen 10. November 2011 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Datenqualität Datenfehler und ihre Ursachen Datenreinigung

Mehr

Seminar Duplikaterkennung

Seminar Duplikaterkennung Seminar Duplikaterkennung Themenvorstellung Sascha Szott (FG Informationssysteme, HPI) 16. April 2008 Themenvorstellung 1 Yan et al.: Adaptive Sorted Neighborhood Methods for Efficient Record Linkage (dazu:

Mehr

Informationsintegration Große Datenräume in Web-basierten Umgebungen

Informationsintegration Große Datenräume in Web-basierten Umgebungen Informationsintegration Große Datenräume in Web-basierten Umgebungen Felix Naumann Humboldt-Universität zu Berlin naumann@informatik.hu-berlin.de Einige Untertitel Content Merging Objekt Fusion Datenintegration

Mehr

Informationsintegration Beispiel

Informationsintegration Beispiel Informationsintegration Beispiel 17.4.2007 Felix Naumann Informationsintegration 2 Web Service A Web Service B Federated Database Systems Amit Sheth

Mehr

Informationsqualität Antrittsvorlesung am

Informationsqualität Antrittsvorlesung am Informationsqualität Antrittsvorlesung am 26.4.2007 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Informationsqualität Informationsintegration Duplikaterkennung Ähnlichkeit

Mehr

Informationsintegration II Data Cleansing 2 Duplikaterkennung

Informationsintegration II Data Cleansing 2 Duplikaterkennung Informationsintegration II Data Cleansing Duplikaterkennung 7.05.004 Felix Naumann Überblick Motivation und Data Cleansing Prozess Datenfehler Edit Distance als Ähnlichkeitsmaß Sorted-Neighborhood Methode

Mehr

DAP2-Klausur

DAP2-Klausur DAP2-Klausur 09.10.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik (inkl. angewandte Informatik)/ Lehramt Informatik/Informationstechnik/ Physik/Mathe/Statistik/Sonstiges: Bitte

Mehr

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Lokale Alignierung Gapkosten Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Ähnlichkeit Lokales und globales Alignment Gapped Alignment Silke Trißl:

Mehr

Seminar Duplikaterkennung Organisatorisches und Themen. Sascha Szott, Felix Naumann

Seminar Duplikaterkennung Organisatorisches und Themen. Sascha Szott, Felix Naumann Seminar Duplikaterkennung Organisatorisches und Themen Sascha Szott, Felix Naumann Ziele des Seminars 2 Duplikaterkennung Verstehen in allen Facetten Konsolidierung von Algorithmen Benchmarking / Testing

Mehr

II Heterogenität und Architekturen

II Heterogenität und Architekturen II Heterogenität und Dr. Armin Roth arminroth.de 24.04.2013 Dr. Armin Roth (arminroth.de) II Heterogenität und 24.04.2013 1 / 24 Agenda 1 Semantische Heterogenität 2 Architekturparadigmen PDMS Dr. Armin

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 21 (15.7.2016) String Matching (Textsuche) Approximate String Matching Algorithmen und Komplexität Textsuche / String Matching Gegeben:

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

Bioinformatik. BLAST Basic Local Alignment Search Tool. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. BLAST Basic Local Alignment Search Tool. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik BLAST Basic Local Alignment Search Tool Ulf Leser Wissensmanagement in der Bioinformatik Heuristische Alignierung Annotation neuer Sequenzen basiert auf Suche nach homologen Sequenzen in

Mehr

Bioinformatik Für Biophysiker

Bioinformatik Für Biophysiker Bioinformatik Für Biophysiker Sommersemester 2009 Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Wissensmanagement in der Bioinformatik Schwerpunkte Algorithmen der Bioinformatik Management

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Jörn Fischer j.fischer@hs-mannheim.de Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

Effiziente Algorithmen 2

Effiziente Algorithmen 2 Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

6. Algorithmen auf Zeichenketten

6. Algorithmen auf Zeichenketten 6. Algorithmen auf Zeichenketten Motivation Wir lernen nun Algorithmen zur Lösung verschiedener elementarer Probleme auf Zeichenketten zu lösen Zeichenketten spielen eine wichtige Rolle in diversen Gebieten

Mehr

HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln. Edit distance. Referentinnen: Alena Geduldig, Kim Opgenoorth

HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln. Edit distance. Referentinnen: Alena Geduldig, Kim Opgenoorth HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln Edit distance Referentinnen: Alena Geduldig, Kim Opgenoorth inexact matching Problem Erkenne, finde und toleriere

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Technische Universität München WiSe 2012/13 Institut für Informatik I-16 Lösungsblatt 7 Dr. Tobias Lasser 3. Dezember 2012 Jakob Vogel Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine

Mehr

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung Johanna Ploog, Konstantin Clemens Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Zweites

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

6. Anfragebearbeitung

6. Anfragebearbeitung 6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

5 Sortieren in eindimensionalen Zellularautomaten

5 Sortieren in eindimensionalen Zellularautomaten 5 Sortieren in eindimensionalen Zellularautomaten 5.1 Für alle x A und w A bezeichne im folgenden N x (w) die Anzahl der Vorkommen des Symboles x in dem Wort w. 5.2 Problem. (Eindimensionales Sortieren

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

Duplikaterkennung - Motivation Masterseminar. Felix Naumann Hasso-Plattner-Institut

Duplikaterkennung - Motivation Masterseminar. Felix Naumann Hasso-Plattner-Institut Duplikaterkennung - Motivation Masterseminar 16.4.2008 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Datenqualität Datenfehler und ihre Ursachen Datenreinigung i Duplikaterkennung

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung Bisher: Berechnung

Mehr

Algorithmische Anwendungen WS 2005/2006

Algorithmische Anwendungen WS 2005/2006 Algorithmische Anwendungen WS 2005/2006 Sequenzalignment Gruppe F_lila_Ala0506 Allal Kharaz Yassine ELassad Inhaltsverzeichnis 1 Problemstellungen...................................... 3 1.1 Rechtschreibkorrektur...............................

Mehr

Lösungsvorschläge zur Hauptklausur Datenstrukturen

Lösungsvorschläge zur Hauptklausur Datenstrukturen Lösungsvorschläge zur Hauptklausur 9 9 166211663 Datenstrukturen 9. August 2003 Seite 2 Lösungsvorschlage zur Klausur vom 9.08.2003 Kurs 166211663,,Datenstrukturen" Aufgabe 1 Bei jedem rekursiven Aufruf

Mehr

Bioinformatik Für Biophysiker

Bioinformatik Für Biophysiker Bioinformatik Für Biophysiker Wintersemester 2005 / 2006 Ulf Leser Wissensmanagement in der Bioinformatik Wissensmanagement in der Bioinformatik Lehrstuhl seit 10/2002 Schwerpunkte Algorithmen der Bioinformatik

Mehr

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele

Mehr

Workshop Datenreinigung Duplikaterkennung Felix Naumann

Workshop Datenreinigung Duplikaterkennung Felix Naumann Workshop Datenreinigung Duplikaterkennung 11.10.2011 Felix Naumann Überblick 2 Das Problem der Duplikaterkennung Ähnlichkeitsmaße Edit Distance et al. Algorithmen Naiv Blocking Sorted-Neighborhood Methode

Mehr

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Klausur Algorithmentheorie

Klausur Algorithmentheorie Prof. Dr. G. Schnitger Frankfurt, den 24.02.2011 M. Poloczek Klausur Algorithmentheorie WS 2010/2011 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen

Mehr

Physischer DB-Entwurf

Physischer DB-Entwurf Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,

Mehr

Aufgabenblatt 5. Silke Trißl Wissensmanagement in der Bioinformatik

Aufgabenblatt 5. Silke Trißl Wissensmanagement in der Bioinformatik Aufgabenblatt 5 Silke Trißl Wissensmanagement in der Bioinformatik Zuerst! FRAGEN? Silke Trißl: Bioinformatik für Biophysiker 2 Exercise 1 + 2 Modify program to compare protein sequence read substitution

Mehr

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 21 (29.7.2014) String Matching (Textsuche) II Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Invertierte Listen Nutzung vor allem zur Textsuche

Mehr

Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen

Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt 22.11.2018 Heute 12 Breiten-

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach

Mehr

Maschinelles Lernen: Symbolische Ansätze

Maschinelles Lernen: Symbolische Ansätze Maschinelles Lernen: Symbolische Ansätze Musterlösung für das 7. Übungsblatt Aufgabe 1 Gegeben sei folgende Beispielmenge: Day Outlook Temperature Humidity Wind PlayTennis D1? Hot High Weak No D2 Sunny

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten Projektgruppe Jennifer Post Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten 2. Juni 2010 Motivation Immer mehr Internet-Seiten Immer mehr digitale Texte Viele Inhalte ähnlich oder gleich

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Anwendung (2. Versuch:-) Entkopplung der Locks

Anwendung (2. Versuch:-) Entkopplung der Locks Gut gemeint aber leider fehlerhaft... Jeder Producer benötigt zwei Locks gleichzeitig, um zu produzieren: 1. dasjenige für den Puffer; 2. dasjenige für einen Semaphor. Musser fürden Semaphor einwait()

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Technische Universität München SoSe 2017 Fakultät für Informatik, I-16 Lösungsblatt 4 Dr. Stefanie Demirci 31. Mai 2017 Rüdiger Göbl, Mai Bui Algorithmen und Datenstrukturen Aufgabe 1 Komplexität Berechnung

Mehr

Optimierung von Datenbanken

Optimierung von Datenbanken Optimierung von Datenbanken Vortrag in Datenbanken II Bettina Keil 19. Juni 2008 Optimierung von Datenbanken 1/17 Gliederung Motivation Optimierung von Datenbanken 2/17 Motivation Performancesteigerung:

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Wissensentdeckung in Datenbanken

Wissensentdeckung in Datenbanken Wissensentdeckung in Datenbanken SQL, Häufige Mengen Nico Piatkowski und Uwe Ligges 11.05.2017 1 von 16 Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung

Mehr

Programmiertechnik II

Programmiertechnik II Sortieren: Einfache Algorithmen Sortieren Abstrakte Operation geg: Menge von items (Elemente) jedes Element besitzt Sortierschlüssel Schlüssel unterliegen einer Ordnung eventuell sind doppelte Schlüssel

Mehr

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit 23. IV. 2018 Outline 1 Organisatorisches 2 Relationale Algebra Notation 3 Datenintegrität 4 Funktionale Abhängigkeit 5 SQL Outline 1 Organisatorisches

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Pairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik

Pairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik Pairwise Alignment Steffen Forkmann Proseminar: BioInformatik Wintersemester 2004/2005 Inhaltsverzeichnis 1 Problemstellungen 3 1.1 Rechtschreibkorrektur............................... 3 1.2 DNA- und Aminosäure-Sequenzen........................

Mehr

Übersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen

Übersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen Übersicht 1 Einführung 2 Suchen und Sortieren 3 Graphalgorithmen 4 Algorithmische Geometrie 5 6 Paradigmen Übersicht 5 Editdistanz (Folie 446, Seite 83 im Skript) Eingabe: Zwei Strings v und w Frage: Kommt

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell Datenbanken Unit 3: Das relationale Modell 7. III. 2017 Outline 1 SQL 2 Das ER Modell Zusammenfassung 3 Das Relationale Modell Termin zweiter Zwischentest UE-Tests (Thema: SQL) zweiter Zwischentest findet

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Range-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume?

Range-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume? Algorithmische Geometrie Die Technik der Sweepline Range-Search (Folie 431, Seite 79 im Skript) Operationen: 1 Einfügen einer Zahl x 2 Löschen einer Zahl x 3 Ausgabe aller gespeicherter Zahlen in [a, b]

Mehr