Algorithmische Bioinformatik
|
|
|
- Regina Koch
- vor 7 Jahren
- Abrufe
Transkript
1 Algorithmische Bioinformatik Suffixbäume Ulf Leser Wissensmanagement in der Bioinformatik
2 Ziele Perspektivenwechsel: Von Online zu Offline-Stringmatching Verständnis von Suffix-Bäumen als Datenstruktur Problem bei der Konstruktion erkennen Ulf Leser: Algorithmische Bioinformatik 2
3 Inhalt dieser Vorlesung Einschub: Suche mit regulären Ausdrücken Suffixbäume Motivation Aufbau Verwendung von Suffixbäumen Naive Konstruktion Ulf Leser: Algorithmische Bioinformatik 3
4 Grenzen des linearen Stringmatching Wir können in linearer Zeit finden Alle Vorkommen eines Pattern P in einem Template T Alle Vorkommen einer Menge von Pattern in einem Template T Alle Vorkommen eines Pattern P mit Wildcard in einem Template T Alle Vorkommen eines Pattern P mit maximal k Mismatches in T Zeigen wir nicht Was können wir nicht mehr in linearer Zeit finden? Alle Vorkommen eines regulären Ausdrucks R in T Alle approximativen Vorkommen eines Pattern P in T Ulf Leser: Algorithmische Bioinformatik 4
5 Suche mit regulären Ausdrücken Reguläre Ausdrücke ε Leeres Zeichen oder () Gruppierung * Kleen sche Hülle (Es fehlen +,., [], zählen,...) Rekursive Definition wie üblich Beispiel aus der Bioinformatik PROSITE: Datenbank für Motive in Proteinsequenzen Proteindomänen sind funktionale Einheiten in Proteinsequenzen Beschrieben durch reguläre Ausdrücke Aber tw. andere Operatoren als die oben genannten Ulf Leser: Algorithmische Bioinformatik 5
6 Problem Gegeben: Regulärer Ausdruck R, Template T Gesucht: Das erste Vorkommen von R in T Äquivalenz: nichtdeterministischer endlicher Automaten (NEA) Konstruktion: Siehe Literatur Beispiel: (d o g)((n o)w)*(c l ε)(c l) Matched z.b. dnwnwowc, ol, gowll,... d ε c c S o o w l Z g n ε ε l Ulf Leser: Algorithmische Bioinformatik 6
7 Definitionen Definition Sei R ein regulärer Ausdruck und G(R) der dazugehörige NEA mit Startzustand S und Endzustand Z Ein Substring T von T matched R, wenn T durch einen Pfad in G(R) von S nach Z ausgesprochen wird Bemerkungen Komplexität der Konstruktion von G(R) ist linear Die Menge aller Strings, die von G(R) akzeptiert werden, bilden die Sprache zu R Gesucht: Algorithmus, um das erste T in T zu finden, das R matcht Erweiterung auf alle T machen wir nicht Ulf Leser: Algorithmische Bioinformatik 7
8 Algorithmusidee Wir beginnen mit dem leichteren Problem: Matched ein Präfix von T mit R? Idee Betrachte G(R) und T von links nach rechts Aufzählen aller Pfade in G(R) mit aufsteigender Länge, die mit T matchen Wird Terminal Z gefunden, haben wir einen Match Erweiterung zu beliebigen Substrings von T? Betrachte Pattern R = Σ*R Präfix Σ* von R frisst beliebige Präfixe von T Ulf Leser: Algorithmische Bioinformatik 8
9 Pfadaufzählung Induktion über Pfadlänge i Anfang: Sei N(0) die Menge aller Knoten, die von S per beliebig vielen ε-kanten erreicht werden können. Außerdem sei S N(0) Induktionsschritt Sei N(i-1) bekannt N(i) ist die Menge aller Knoten, die von einem Knoten aus N(i-1) erreicht werden durch erst genau eine Kante mit Label T[i] dann beliebig viele (oder keine) ε-kanten Enthält N(i) das Terminalsymbol Z, endet im Template T an Position i ein Auftreten von R Ulf Leser: Algorithmische Bioinformatik 9
10 Beispiel d ε c c S o o w l Z g n ε ε l Pattern: (d o g)((n o)w)*(c l ε)(c l) Suche: ol N(0) = {S} N(1) = {1,3,4} N(2) = {4,Z} Success Suche: dnwnwowc N(0) = {S} dnwnwowc N(1) = {1,3,4} dnwnwowc N(2) = {2} dnwnwowc N(3) = {3,4,1} dnwnwowc N(4) = {2} dnwnwowc N(5) = {3,4,1} dnwnwowc N(6) = {2} dnwnwowc N(7) = {3,4,1} dnwnwowc N(8) = {4,Z} Success Ulf Leser: Algorithmische Bioinformatik 10
11 Komplexität Kritisch ist nur der Schritt N(i-1) N(i) Sei e die Anzahl von ε-kanten in G(R) Match für T[i] finden geht in O(1) (oder O( Σ ) Danach können höchstens e ε-kanten folgen Wichtig ist nur, welche Zustände wir erreichen können wie, ist egal Schranke e gilt für alle Zustände aus N(i-1), die wir weiter verfolgen Zyklen können abgebrochen werden (braucht etwas Speicher) Also ist dieser Schritt O(e) Wir berechnen T =m Mengen N(1)... N(m): O(m*e) Beobachtung Ein reg. Ausdruck mit n= R Symbolen hat maximal O(n) ε-kanten Sonst kann er minimiert werden Zusammen: O(m*n) Ulf Leser: Algorithmische Bioinformatik 11
12 Bemerkung Jeden NEA kann man in einen DEA konvertieren Ein DEA erlaubt Matchen in linearer Zeit Wenn wir die Failure Links dazu berechnen Aber Linear in der Zahl der Zustände Der durch Konvertierung erzeugte DEA hat aber im Worst-Case exponentiell viele Zustände In der Praxis hat er die aber nicht RegExp matching ist meistens linear Ulf Leser: Algorithmische Bioinformatik 12
13 Inhalt dieser Vorlesung Einschub: Suche mit regulären Ausdrücken Suffixbäume Motivation Aufbau Verwendung von Suffixbäumen Naive Konstruktion Ulf Leser: Algorithmische Bioinformatik 13
14 Wo sind wir? Alle exakten Vorkommen von P in T Alle exakten Vorkommen einer Menge von P in T Datenbankformulierung: Alle exakten Vorkommen von P in T, aber man darf T präprozessieren Später Approximatives Stringmatching Heuristiken für approximatives Stringmatching in Datenbanken Multiple Sequence Alignment Phylogenetische Algorithmen Ulf Leser: Algorithmische Bioinformatik 14
15 Problemstellung Bisherige Algorithmen Ein Template T (m) und ein oder mehrere Pattern P (n) Prinzip: Preprocessing von P in O(n), dann Suche in O(m) Jetzt: Gegeben eine lange Zeichenkette T Z.B. Komplettes Genom des Menschen Benutzer schicken ständig neue Pattern P Z.B. Gene anderer Spezies T sollte vorverarbeitet werden Kosten amortisieren sich über viele Suchen Zählen nicht für die Suche eines Pattern Eine Lösung: Suffixbäume Ulf Leser: Algorithmische Bioinformatik 15
16 Motivation: Datenbanksuchen Solche Suchen sind ein Hauptthemen der Bioinformatik I.d.R. approximativ Schnelle Algorithmen für approx. Suchen benutzen (fast) immer ein exaktes Suchverfahren zum Finden aussichtsreicher Regionen Suffixbäume sind sehr schnell für exakte Suchen Aber: Speicherplatz, Sekundärspeicherverhalten Alternative Baumstrukturen: Suffix-Arrays, Enhanced Suffix-Arrays, Burrows-Wheeler-Transformation, Andere Alternative: Hashing Suffixbäume haben viele weitere Anwendungen Suche nach längsten identischen Subsequenzen Suche nach längsten Repeats... Ulf Leser: Algorithmische Bioinformatik 16
17 Suffixbäume Definition Der Suffixbaum T für einen String S mit S =m ist ein Baum mit T hat eine Wurzel und m Blätter, markiert mit 1,...,m Jede Kante E ist mit einem Substring label(e) von S beschriftet Jeder innere Knoten k hat mindestens 2 Kinder Alle Label der Kanten von einem Knoten k aus beginnen mit unterschiedlichen Zeichen Sei (k 1,k 2,...,k n ) ein Pfad von der Wurzel zu einem Blatt mit Markierung i. Dann ist die Konkatenation der Label der Kanten auf dem Pfad gleich S[i..m] Ulf Leser: Algorithmische Bioinformatik 17
18 Beispiel S= BANANARAMA 10 ma a 9 Problem: Wohin kommt AMA? Verlängerung von a verboten 10 sonst kein Blatt Neue Kante ama verboten zwei Pfade aus der Wurzel würden sonst mit gleichem Zeichen beginnen Es gibt keinen Suffixbaum für BANANARAMA Problem tritt auf, sobald ein Suffix Präfix eines anderen Suffix ist - Also dauernd Trick: Wir betrachten BANANARAMA$ $ nicht Teil des Alphabets von S Ulf Leser: Algorithmische Bioinformatik 18
19 Beispiel S= BANANARAMA$ 11 $ a$ 10 9 ma$ Ulf Leser: Algorithmische Bioinformatik 19
20 Beispiel S= BANANARAMA$ 11 $ narama$ 5 $ a 10 ma$ 9 rama$ ma$ 7 narama$ 4 8 rama$ 6 Ulf Leser: Algorithmische Bioinformatik 20
21 Beispiel S= BANANARAMA$ 1 bananarama$ 3 narama$ 11 $ na rama$ 5 2 narama$ 4 $ 8 a 10 9 ma$ na rama$ rama$ ma$ rama$ 6 7 Ulf Leser: Algorithmische Bioinformatik 21
22 Eigenschaften von Suffixbäumen Zu jedem String (plus $) gibt es genau einen Suffixbaum Jeder Pfad von Wurzel zu einem Blatt ist eindeutig Jede Verzweigung an einem inneren Knoten ist eindeutig Gleiche Substrings können an mehreren Kanten stehen Suffixbäume und Keyword-Trees Betrachte alle Suffixe von S als Pattern Konstruiere den Keyword-Tree Verschmelze alle Knoten auf einem Pfad ohne Abzweigungen zu einer Kante Dann haben wir einen Suffixbaum für S Komplexität? Ulf Leser: Algorithmische Bioinformatik 22
23 Weitere Beispiele S= aaaaa$ $ $ $ $ a a a a 2 $ a$ 1 S= abcde$ 6 5 $ e$ de$ cde$ abcde$ bcde$ Ulf Leser: Algorithmische Bioinformatik 23
24 Inhalt dieser Vorlesung Einschub: Suche mit regulären Ausdrücken Suffixbäume Motivation Aufbau Verwendung von Suffixbäumen Naive Konstruktion Ulf Leser: Algorithmische Bioinformatik 24
25 Definitionen Definition Sei T der Suffixbaum für String S+ $ Sei p ein Pfad in T von root(t) zu einem Knoten k. Dann ist label(p) die Konkatenation der Label der Kanten auf dem Pfad p Sei k ein Knoten von T und p der Pfad zu k. Dann ist label(k) = label(p) Sei k ein Knoten von T. Dann ist depth(k)= label(k) Ulf Leser: Algorithmische Bioinformatik 25
26 Suche mit Suffixbäumen Intuition Jedes Vorkommen eines Pattern P muss Präfix eines Suffix sein Und die haben wir alle auf Pfaden von der Wurzel aus Gegeben S und P. Finde alle Vorkommen von P in S Konstruiere den Suffixbaum T zu S+ $ Das geht in O( S ), wie wir sehen werden Matche P auf einen Pfad in T ab der Wurzel Wenn das nicht geht, kommt P in S nicht vor P kann in einem Knoten k enden; merke k Oder P endet in einem Kantenlabel; sei k der Endknoten dieser Kante Die Markierungen aller unterhalb von k gelegenen Blätter sind Startpunkte von Vorkommen von P in S Ulf Leser: Algorithmische Bioinformatik 26
27 Beispiel: bananarama$ 1 P = na bananarama$ 3 narama$ 11 $ na rama$ bananarama$ $ na 3 narama$ rama$ 5 2 narama$ 4 $ 8 a 10 9 ma$ na rama$ rama$ ma$ rama$ 6 7 $ a 10 9 ma$ rama$ ma$ 7 2 narama$ na 4 8 rama$ rama$ 6 P = an Ulf Leser: Algorithmische Bioinformatik 27
28 Komplexität Theorem Sei T der Suffixbaum für S+ $. Die Suche nach allen Vorkommen eines Pattern P, P =n, in S ist O(n+k), wenn k die Anzahl Vorkommen von P in S ist. Beweisidee P in T matchen kostet O(n) Pfade sind eindeutig Entscheidung an jedem Knoten ist klar Blätter aufsammeln ist O(k) Baum unterhalb Knoten K hat k Blätter Wie finde man die O(k)? Ulf Leser: Algorithmische Bioinformatik 28
29 Längster gemeinsamer Substring Gegeben zwei Strings S 1 und S 2 Gesucht: Längster gemeinsamer Substring s Vorschläge? Lösung Konstruiere Suffixbaum T für S 1 $S 2 % Streiche aus diesem Baum alle Pfade unterhalb eines $ Durchlaufe den Baum markiere alle internen Knoten mit 1, wenn im Baum darunter ein Blatt aus S 1 kommt markiere Knoten mit 2, wenn... Blatt aus S 2 vorkommt Suche den tiefsten Knoten mit Beschriftung 1 und 2 Ulf Leser: Algorithmische Bioinformatik 29
30 Beispiel S 1 =main$, S 2 =kai% main$kai% % 1 kai% ai n$kai% % $kai% i n$kai% n$kai% kai% $ % n$ main$ ai n$ % i n$ % % 3 Ulf Leser: Algorithmische Bioinformatik 30
31 Beispiel kai% $ 4 % n$ 8 main$ ai n$ % i n$ % kai% $ 1 % n$ 2 main$ ai 1,2 n$ % i 1,2 n$ % Verallgemeinerbar zu n Strings S 1,...,S n Ulf Leser: Algorithmische Bioinformatik 31
32 Komplexität Annahme: Wir können T für S in O( S ) berechnen Die Schritte Sei m= S 1 + S 2 Konstruiere Suffixbaum T für S 1 $S 2 % Ist O(m) nach Annahme Streiche aus diesem Baum alle Pfade unterhalb eines $ Depth-First Traversal O(m) Durchlaufe den Baum und markiere innere Knoten mit 1,2 Depth-First Traversal O(m) Suche den tiefsten Knoten mit Beschriftung 1 und 2 Breadth-First Traversal O(m) Zusammen: O(m) Ulf Leser: Algorithmische Bioinformatik 32
33 Längstes Palindrom Gegeben String S. Finde den längsten Substring s, der sowohl vorwärts als auch rückwärts in S vorkommt Ideen? Lösung Suche längsten gemeinsamen Substring für S und reverse(s) Ulf Leser: Algorithmische Bioinformatik 33
34 Weitere Anwendungen A. Apostolico: The myriad virtues of subword trees, in: Combinatorial Algorithms on Words, 1985 Ulf Leser: Algorithmische Bioinformatik 34
35 Inhalt dieser Vorlesung Einschub: Suche mit regulären Ausdrücken Suffixbäume Motivation Aufbau Verwendung von Suffixbäumen Naive Konstruktion Ulf Leser: Algorithmische Bioinformatik 35
36 Naive Konstruktion von Suffixbäumen Gesucht: Suffixbaum T für String S Start: Bilde Baum T 0 mit Wurzelknoten und einer Kante mit Label S$ zu einem Blatt mit Markierung 1 Konstruiere T i+1 aus T i wie folgt Betrachte das Suffix S i+1 = S[i+1..]$ Matche S i+1 in T i so weit wie möglich Schließlich muss es einen Mismatch geben Alle bisher eingefügten Suffixe sind länger als S i+1, also wird $ nie mit $ matchen $ kommt sonst nicht in S vor Folgendes kann passieren... Ulf Leser: Algorithmische Bioinformatik 36
37 Naive Konstruktion von Suffixbäumen 2 Konstruiere T i+1 aus T i wie folgt S i+1 matched bis auf $; Mismatch auf einer Kante n an Position j Füge in n an Position j einen neuen Knoten k ein Erzeuge Kante von k zu neuen Blatt k ; beschrifte die Kante mit $ Markiere k mit i+1 2. S i+1 matched bis auf $; Mismatch am Ende einer Kante n Sei k der Zielknoten von n Erzeuge Kante von k zu neuen Blatt k ; beschrifte die Kante mit $ Markiere k mit i+1 3. Mismatch vor $ auf einer Kante n an Position j des Labels; der Mismatch in S i+1 sei an Position j < S i+1 Füge in n an Position j einen neuen Knoten k ein Erzeuge Kante von k zu neuen Blatt k ; beschrifte Kante mit S[j..]$ Markiere k mit i+1 Ulf Leser: Algorithmische Bioinformatik 37
38 Beispiel barbapapa... Ulf Leser: Algorithmische Bioinformatik 38
39 Komplexität Komplexität? Jeder Schritt von T i zu T i+1 ist O(m) Es gibt m-1 solche Schritte Zusammen: O(m 2 ) Nächstes Thema: O(m) Algorithmus von Ukkonen Ulf Leser: Algorithmische Bioinformatik 39
40 Selbsttest Wir kann man die k Blätter unterhalb eines Baumknoten p in einem Suffixbaum in O(k) erreichen? Naiver Konstruktionsalgorithmus für Suffixbäume und dessen Komplexität? Wie kann man in O( P ) zeigen, ob P in einem String S enthalten ist (mit Präprozessierung) Wie kann man das in quasi O(k) erreichen, wenn n= P fest ist? Ulf Leser: Algorithmische Bioinformatik 40
Algorithmische Bioinformatik
Algorithmische Bioinformatik Suffixbäume Ulf Leser Wissensmanagement in der Bioinformatik Failure Links P={banane, nabe, abnahme, na, abgabe} banane banan 1 bana ban b ba ab abn abna abnah a n na abg 4
Algorithmische Bioinformatik
Algorithmische Bioinformatik Effiziente Berechnung des Editabstands Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Rekursive Definition des Editabstands
Bioinformatik. Suffixbäume auf Sekundärspeicher. Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Suffixbäume auf Sekundärspeicher Ulf Leser Wissensmanagement in der Bioinformatik Ukkonen Überblick High-Level: Phasen und Extensionen Führt leider zu O(m 3 ) Verbesserungen Suffix-Links
Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
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:
Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Bioinformatik
Reguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
Algorithmische Bioinformatik
Algorithmische Bioinformatik Biologische Daten als Strings Ulf Leser Wissensmanagement in der Bioinformatik Ziele für heute Wert von Reduktionismus: Genome als Strings Reinschmecken in Stringmatching Erster
Übung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
Algorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 8. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik [email protected] Suche in Texten Einführung Suche in dynamischen
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
Theoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 4: Nichtdeterminismus Teil 2 [email protected] Software Systems Engineering Nichtdeterministische endliche Automaten Definition: Ein nichtdeterministischer
Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
Pattern Matching. Maik Windhorst Universität Bremen Abstract. 1. Pattern Matching Was ist das?
Pattern Matching Maik Windhorst Universität Bremen [email protected] Abstract In diesem Dokument soll das Thema Pattern Matching betrachtet werden, insbesondere die Anwendungen im Bereich der Informatik. Dafür
Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23
1/23 Formale Methoden 1 Gerhard Jäger [email protected] Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich
Algorithmische Bioinformatik
lgorithmische Bioinformatik pproximatives Stringmatching Edit-bstand Ulf Leser Wissensmanagement in der Bioinformatik Ziele dieser Vorlesung Einstieg in exaktes approximatives Stringmatching Bedeutung
Grundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
Vorlesung Theoretische Informatik
Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Algorithmische
2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen
Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag
5.4 Endliche Automaten
5.4 Endliche Automaten Ein endlicher Automat ist ein mathematisches Modell eines Systems mit Ein- und Ausgaben. Ein solches System befindet sich immer in einem internen Zustand. Beispiele Ein Register
Theoretische Informatik. Alphabete, Worte, Sprachen
Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele
Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
Einführung in die Informatik
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der
9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany [email protected] S Heuristische Suche Idee: Wir nutzen eine (heuristische)
Operationen auf endlichen Automaten und Transduktoren
Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013
Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften
Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der
Automatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114 Aufgabe 13:
Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18
1/18 Formale Methoden 1 Gerhard Jäger [email protected] Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet
Überführung regulärer Ausdrücke in endliche Automaten
Der Algorithmus von Thompson Karin Haenelt 9.5.2010 1 Inhalt Quelle Prinzip des Algorithmus Algorithmus Konstruktion des Automaten Basisausdrücke Vereinigung, Konkatenation, Hülle Beispiel Implementierung
Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Algorithmische Bioinformatik
lgorithmische Bioinformatik Stringalignment Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung pproximative Stringvergleiche Dotplots Edit-bstand und lignment Naiver lgorithmus Ulf
Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien
Sprachen/Grammatiken eine Wiederholung
Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:
8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten
Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten Dozentin: Wiebke Petersen Foliensatz 4 Wiebke Petersen Einführung CL 1 Äquivalenz von endlichen Automaten
Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER
Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.
Automaten, Spiele, und Logik
Automaten, Spiele, und Logik Woche 2 25. April 2014 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl Reguläre Ausdrücke Rekursive Definition,
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
Vorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
Endliche Automaten. Endliche Automaten J. Blömer 1/23
Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
Reguläre Grammatiken/Sprachen und endliche Automaten
Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache
Einführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung
Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19
1/19 Formale Methoden 1 Gerhard Jäger [email protected] Uni Bielefeld, WS 2007/2008 16. Januar 2008 2/19 Reguläre Ausdrücke vierte Art (neben Typ-3-Grammatiken, deterministischen und nicht-deterministischen
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone
Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Theoretische Informatik Testvorbereitung Moritz Resl
Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen
Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2
Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen
Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln
Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg
Konstruktion sehr großer Suffixbäume
Konstruktion sehr großer Suffixbäume Steffen Andre, Michael Höhndorf Institut für Informatik, Humboldt Universität Berlin Gliederung 1 Einleitung 1.1 Suffixbäume 1.2 Probleme mit Suffixbäumen 1.3 Lösungsansätze
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
Tutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Traversierung Durchlaufen eines Graphen, bei
Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Alignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
Unterscheidung: Workflowsystem vs. Informationssystem
1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
Theoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken [email protected] Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten
Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen
reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung
Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die
Eigenschaften regulärer Sprachen
= {} {0} {0} {} = {0} {} Für L(A) benötigen wir gemäß Gleichung.3 die Mengen R 3 und R3 3. R 3 = R R3 (R33) R3 = {0} {00} {0} {} ({ε} {0, } {0} {}) {0, } {00} = {0} {00} {0} {} ({0, } {0} {}) {0, } {00}
Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Formale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten
Kapitel 3: Reguläre Grammatiken und Endliche. Automaten
Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : [email protected]
Binary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.
Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester
