Bioinformatik für Lebenswissenschaftler

Größe: px
Ab Seite anzeigen:

Download "Bioinformatik für Lebenswissenschaftler"

Transkript

1 Bioinformatik für Lebenswissenschaftler Oliver Kohlbacher, Steffen Schmidt SS Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Paarweises Alignment Anzahl möglicher Alignments Komplexität von Algorithmen Needleman-Wunsch-Algorithmus Komplexität Umsetzung in Python 2 Ähnlichkeit und Distanz Wie kann man die Ähnlichkeit zweier Sequenzen beschreiben? Einfachste Möglichkeit: Zählen identischer Zeichen GATCGTTCG CATGGTTGA Problem: Was bei Sequenzen unterschiedlicher Länge? GATCGTTCG GATCGTTCG- GATCGTTCG ---GGTTGA G---GTT-GA -GGTTGA-- Ähnlichkeit: (Anzahl Matches) Analog die Distanz (Anzahl Mismatches):

2 Ähnlichkeit und Distanz Bei der Suche nach dem besten Alignment hat man zwei äquivalente Möglichkeiten Minimiere die Distanz Maximiere die Ähnlichkeit (Score) Distanzfunktionen und Ähnlichkeitsfunktionen gibt es in Hülle und Fülle. Einige werden wir nächstes mal im Detail besprechen. Für heute werden wir die bereits aus der letzten Vorlesungen bekannte Funktion verwenden, die einfach Mismatches zählt: Naiver Algorithmus Naiv kann man ein optimales Alignment mit folgendem Algorithmus berechnen: min_dist A + B Für jedes Alignment (A, B ) von A und B: Wenn d(a, B ) < min_dist: min_dist d(a, B ) bestes_alignment (A, B ) Gib min_dist, bestes_alignment aus Frage: Wie lange benötigt dieser Algorithmus zum Berechnen aller Alignments zweier Proteine der Länge 500? Anzahl möglicher Alignments Nehmen wir zwei Sequenzen A und B der Länge n an Im schlimmsten Fall enthält das Alignment n Gap-Symbole je Sequenz und hat die Länge 2n, im einfachsten Fall keine Gaps: ACGTA----- ACGTA -----TAGCA TAGCA Ein Alignment mit 0 k n Gaps je Sequenz hat n + k Spalten In der ersten Sequenz gibt es also n + k unterschiedliche Möglichkeiten die k Gaps zu platzieren In der zweiten Sequenz kann man die k Gaps nur noch an n (n + k) - k = n Positionen ohne Gaps platzieren Insgesamt gilt also für die Anzahl der Alignments: k 2

3 Anzahl möglicher Alignments Durch ähnliche Überlegungen kann man herleiten, dass für Sequenzen beliebiger Längen n und m für die Anzahl möglicher Alignments gilt: Mit Hilfe der Stirling-Formel kann man diese Zahl für große n und m mit m n zu 2/π 4 n annähern (Details bitte glauben!) Anzahl möglicher Alignments wächst exponentiell mit n: n 2/π 4 n 10 ~ ~ ~ ~ Erzeugen aller Alignments Beispielrechnung: Aktuelle Rechner arbeiten mit Taktfrequenzen um 3 GHz Könnte(!) ein Computer je ein Alignment pro Taktzyklus auswerten, würde er für die Alignments zweier Proteine der Länge / 3*10 9 / / 365 = Jahre benötigen Explizite Auswertung aller möglichen Alignments ist also keine sinnvolle Option Was uns fehlt ist der richtige Algorithmus! Laufzeitanalyse for i in range(n): for j in range(n): for k in range(n): a = a + for i in range(n): a = a + for i in range(5*n): a = a + for i in range(10*n): a = a + Möchte man die Laufzeit zweier Programme analysieren, so zählt man üblicherweise die Rechenoperationen, die auszuführen sind. Interessant ist dabei der Vergleich, wie diese Zahl mit der Größe der Eingabe (z.b. der Sequenzlänge n) variiert In den obigen Programmen können wir zum Beispiel die Anzahl der Additionen ( a = a + ) betrachten. n = 3 n = 20 Links: 3 * 3 * 3 = 27 Additionen 20 * 20 * 20 = 8000 Rechts: = 48 Additionen = 320 3

4 t t O-Notation In der Informatik verwendet man die so genannte O- Notation um das asymptotische Laufzeitverhalten eines Algorithmus in Abhängigkeit von der Eingabe (seine Komplexität) anzugeben Diese Notation vernachlässigt alle konstanten Faktoren, beschreibt also nur wie stark die Rechenzeit mit der Eingabegröße wächst Für unseren Algorithmus zur Berechnung der Distanz ist die Laufzeit z.b. O(n), wobei n die Länge der beiden Sequenzen ist Eine Verdopplung der Eingabelänge bewirkt also eine Verdopplung der Laufzeit Ein Algorithmus der O(n 2 ) Zeit benötigt, würde für eine doppelt so große Eingabe die vierfache Zeit benötigen O-Notation Die O-Notation sagt nichts darüber aus, ob eine bestimmte Problemgröße mit einem Algorithmus lösbar ist! Stattdessen trifft sie eine Aussage darüber, wie der Algorithmus beim Übergang zu immer größeren Probleminstanzen skaliert Algorithmen mit geringerer Komplexität können für sehr kleine Probleminstanzen langsamer sein (und sind es auch oft) O(1) O(n) O(n) O(n^2) O(2^n) 800 O(1) O(n) O(n) O(n^2) O(2^n) n n Naives Alignment Welche Komplexität hat nun unser naiver Alignmentalgorithmus? Wir zählen einfach triviale Operationen, z.b. Zuweisungen Für die Laufzeitanalyse sind dabei insbesondere Schleifen sehr wichtig Hier: Wir erzeugen alle (ca. 4 n ) Alignments Für jedes Alignment werten wir die Distanz aus (O(n)) Die Komplexität des Algorithmus ist also O(n 4 n ) Asymptotisch (für große n) spielt der lineare Term keine Rolle, die Komplexität ist also O(4 n ) Laufzeit ist exponentiell in der Sequenzlänge n 4

5 Exponentielle Laufzeit Algorithmen mit exponentieller Laufzeit sind nur für sehr kleine Problemgrößen handhabbar Nach unserer einfachen Abschätzung erreichen wir bereits bei Sequenzen der Länge 26 Rechenzeiten von einem Jahr! Die überwältigende Mehrheit aller möglichen Alignments ist nicht optimal uns interessieren aber nur optimale Alignments! Ein Großteil der Rechenzeit wird auf offensichtlich unsinnige Alignments vergeudet! Wie können wir nun optimale Alignments berechnen ohne alle Alignments explizit betrachten zu müssen? worksheets/html/ex1wk1.html Alignments Berechnen des Scores zweier Alignments von A = ACGTAGTAGCA und B = ACTTAGTACGT ACGTAGTAGC-A ACGTAGTA-GCA ACTT-GTACGTA ACTTG-TACGTA Beobachtung: Die Alignments der Präfixe der Länge vier von A und B sind identisch. Damit auch die Scores der Alignments dieser Präfixe. Wir berechnen die Scores vieler Teilalignments immer wieder! Idee: Merke die besten Scores dieser Teilalignments und berechne sie nicht ständig neu. Konstruktion von Alignments A = ACGTAGTAGCA und B = ACTTGTACGTA Das Alignment der Präfixe A[1..i] und B[1..j] kann nur auf eine der folgenden drei Möglichkeiten enden: A A - Bsp.: ACGT- G - G ACTTG 1. Fall: A mit G 2. Fall: A mit - 3. Fall: - mit G Jedem der drei Fälle entspricht ein Präfixalignment der vorhergehenden Spalten: 1. Fall: A[1..i-1] mit B[1..j-1] 2. Fall: A[1..i-1] mit B[1..j] 3. Fall: A[1..i] mit B[1..j-1] 5

6 Konstruktion von Alignments Formal: Alignment für A[1..i] und B[1..j] endet in a i mit b j, a i mit ε oder ε mit b j Distanz des Alignments ergibt sich aus Distanz des jeweiligen Präfixalignments und der Distanz der neuen Spalte: d i-1,j-1 + d(a i, b j ) d i-1,j + d(a i, ε) d i,j-1 + d(ε, b j ) Für die Distanz optimaler Alignments ist natürlich nur das Minimum davon interessant: min(d i-1,j-1 + d(a i, b j ), d i-1,j + d(a i, ε), d i,j-1 + d(ε, b j )) ist ein Ansatz zur Lösung von Optimierungsproblemen, bei dem bereits berechnete Teillösungen abgespeichert werden In unserem Fall speichern wir die bereits berechneten Distanzen von Präfixalignments Dadurch lässt sich die ständige Neuberechnung dieser Alignments vermeiden ist eine wichtige Technik in der Bioinformatik, die z.b. auch in der Proteinstruktur-Vorhersage Anwendung findet Wir wollen nun unser Alignment-Problem mit Hilfe der dynamischen Programmierung lösen und den Algorithmus in Python implementieren Gegeben: Sequenzen A, B mit A = m, B = n Distanzfunktion d(a, b) 1, falls a b 0, falls a = b Gesucht: optimales Alignment Ansatz Merke bereits berechnete Teilergebnisse in (m+1)x(n+1)-matrix D Matrixelement D i,j enthält dann die Distanz für ein optimales Alignment von A[1..i] und B[1..j] - A C G T D 0,0 D 1,1 D m,n 6

7 Die 0. Spalte/Zeile der Matrix beschreibt Alignments die mit einem Gapzeichen beginnen Gemäß unserer Überlegung über Präfixalignments gilt für die Matrixelemente: Damit ergibt sich der Inhalt einer Zelle der Matrix aus den Werten der drei Nachbarzellen links, oben und links oben - A C G T D 0,0 D m,n Mit dieser einfachen Rechenanweisung lassen sich die Einträge der Matrix Element für Element ausfüllen Das untere rechte Element D i,j enthält nach Konstruktion die gesuchte Distanz des optimalen Alignments! Die Konstruktion der Matrix wollen wir nun am Beispiel nachvollziehen - A C G T D 0,0 D m,n Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert - 0 A C G T 7

8 Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC A C G T Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC --- D 3,0 hat daher den Wert A C G T Der Eintrag D 0,0 entspricht dem Alignment zweier leerer Sequenzen und wird daher mit 0 initialisiert. Die Einträge D 0,j und D i,0 entsprechen Alignments nur mit Gaps: D 3,0 entspricht dem Alignment AGC --- D 3,0 hat daher den Wert 3 Die übrigen Werte analog A 1 C 2 G 3 T 4 8

9 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A 1 C 2 G 3 T 4 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A C 2 G 3 T 4 Die restliche Tabelle wird nun nach obiger Gleichung eingesetzt Wir berechnen jeweils das Minimum der drei benachbarten Matrixelemente und der zugehörigen Distanzen D 1,1 = min( D 0,1 + d(-, A), D 0,0 + d(a,a), D 1,0 + d(a,-)) = 0 A C G T

10 Ausfüllen der DP-Matrix liefert in D m,n die optimale Distanz Problem: Distanz alleine reicht nicht wie findet man das zugehörige Alignment? Wir wissen für jedes Matrixelement, auf welche Weise das Minimum erzeugt wurde (von oben, links, diagonal) Speichere Richtung in zweiter Matrix T Verfolge Pfad zurück A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (4,3) nach (3,2) T C A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (3,2) nach (2,2) GT GC A C G T

11 Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Vertikal von (2,1) nach (1,1) CGT -GC A C G T Traceback der T-Matrix Diagonal: Matche zwei Zeichen Horizontal: matche Zeichen aus B mit Gap Vertikal: matche Zeichen aus A mit Gap Diagonal von (1,1) nach (0,0) ACGT A-GC A C G T Mehrdeutigkeit der Lösung Es gibt in der Regel nicht ein optimales Alignment, sondern mehrere gleich gute Alternativen ACGG und TT ACGG ACGG ACGG ACGG TT-- T T --TT -TT- Alle diese Alignments (und noch einige mehr) haben die gleiche Distanz (4). Bessere Distanzen sind nicht möglich! Die unterschiedlichen Lösungen entsprechen unterschiedlichen Pfaden durch die Matrix Sie entstehen dadurch, dass das Minimum der drei Möglichkeiten zu identischen Distanzen führt Unser Algorithmus liefert nur eines dieser Alignments! 11

12 Needleman-Wunsch-Algorithmus Der eben beschriebene Algorithmus, der optimale paarweise Alignments mit dynamischer Programmierung findet, wurde 1970 von Saul Needleman und Christian Wunsch vorgestellt Er wird daher häufig auch Needleman-Wunsch- Algorithmus genannt und ist einer der Grundalgorithmen der Sequenzanalyse Eine gute Möglichkeit den Algorithmus im Detail auszuprobieren haben Sie in den Übungen oder auf folgender Website (Vorsicht: andere Distanzfunktion!) Needleman, Wunsch: A general method applicable to the search for similarities in the amino acid sequence of two proteins, J. Mol. Biol. (1970), 48, Komplexität Wie sieht es nun mit der Laufzeit des Needleman-Wunsch-Algorithmus aus? Steigt auch dort die Laufzeit exponentiell mit der Sequenzlänge? Analyse Größe der DP-Matrix: (m+1)x(n+1) Zeit zum Füllen der Matrix: O(mn) Zeit für Traceback: O(m+n) insgesamt O(mn) Für Sequenzen ähnlicher Länge also keine exponentielle, sondern quadratische Laufzeit! Needleman-Wunsch in Python Wir wollen nun den Kernteil des Needleman-Wunsch- Algorithmus in Python implementieren Traceback-Matrix unterschlagen wir hier der Kürze halber ( Übung!) Beispielcode verwendet einige Dinge in Python, die Sie aus der letzten Vorlesung kennen Listen Matrix-Klasse (numpy) 12

13 Python Listen Listen sind eine geordnete Folge von Elementen (genauer: Objekte) eines beliebigen Typs Listen lassen sich verändern >>> l = [17, 5, 3] >>> l[2] += 5 >>> l.append('a') [17, 5, 8, 'a']" Viele Python-Funktionen akzeptieren Listen als Argumente z.b. die Funktion min berechnet das Minimum einer Liste: >>> l = [170, 55, 3, 244] " ">>> print min(l)" "3" Python Matrix Listen sind in Python nur eine von vielen Datenstrukturen Das externe Modul namens numpy stellt Arrays zur Verfügung Eindimensionale Arrays ( Vektoren ) Zweidimensionale Arrays ( Matrizen ) N-dimensionale Arrays (allgemeine Tensoren) numpy stellt Ihnen Operationen aus der linearen Algebra (z.b. Matrixmultiplikationen) zur Verfügung, import numpy # Lade Modul A = numpy.zeros([3]) # Vektor der Länge 3 A[1] = 5 # Setzt 2. Element M = numpy.zeros([3,3])# eine 3x3-Matrix M[0,0] = M[1,1] = M[2,2] = 2 print A print M Ausgabe: [0 5 0] [[2 0 0] [0 2 0] [0 0 2]] Needleman-Wunsch Teil I # Importiere Matrixklasse import numpy # Distanzfunktion def d(a,b): if a == b: return 0 else: return 1 A = 'ACGT' # Initialisierung der Sequenzen B = 'AGC' m = len(a) # Reine Bequemlichkeit: Längen der n = len(b) # Sequenzen D = numpy.zeros([m+1, n+1]) # Erzeuge DP-Matrix 13

14 Needleman-Wunsch Teil II for i in range(m+1): D[i,0] = i for j in range(n+1): D[0,j] = j # Initialisierung # der DP-Matrix # Berechne DP-Matrix for i in range(1,m+1): for j in range(1,n+1): # Berechne Distanzen d_horiz = D[i-1,j] + d(a[i-1], "-") d_diag = D[i-1,j-1] + d(a[i-1], B[j-1]) d_vert = D[i,j-1] + d("-, B[j-1]) # Speichere Minimum in DP-Matrix D D[i,j] = min([d_horiz, d_diag, d_vert]) Literatur + Links Webseite zum interaktiven Experimentieren: Zum Thema in Lehrbüchern: Setubal/Meidanis, Introduction to Computational Molecular Biology, S. 53ff Merkl/Waack, Bioinformatik Interaktiv, S. 95ff 14

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

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach Proseminar Bioinformatik WS 2010/11 Algorithmen für paarweise Sequenz-Alignments Katharina Hembach 06.12.2010 1 Einleitung Paarweise Sequenz-Alignments spielen in der Bioinformatik eine wichtige Rolle.

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

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

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

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4

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

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik

Mehr

Kapitel 7: Sequenzen- Alignierung in der Bioinformatik

Kapitel 7: Sequenzen- Alignierung in der Bioinformatik Kapitel 7: Sequenzen- Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 19. VO 14. Juni 2007 1 Literatur für diese VO Volker

Mehr

Mathematik IT 2 (Lineare Algebra)

Mathematik IT 2 (Lineare Algebra) Lehrstuhl Mathematik, insbesondere Numerische und Angewandte Mathematik Prof Dr L Cromme Mathematik IT (Lineare Algebra für die Studiengänge Informatik, IMT und ebusiness im Sommersemester 3 Lineare Gleichungssysteme

Mehr

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?

Mehr

Bioinformatik für Biochemiker

Bioinformatik für Biochemiker Bioinformatik für Biochemiker Oliver Kohlbacher, Steffen Schmidt SS 2010 3. Strings, Sequenzen und Python Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Strings

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

5 Lineare Algebra (Teil 3): Skalarprodukt

5 Lineare Algebra (Teil 3): Skalarprodukt 5 Lineare Algebra (Teil 3): Skalarprodukt Der Begriff der linearen Abhängigkeit ermöglicht die Definition, wann zwei Vektoren parallel sind und wann drei Vektoren in einer Ebene liegen. Daß aber reale

Mehr

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch

Mehr

$Id: linabb.tex,v /01/09 13:27:34 hk Exp hk $

$Id: linabb.tex,v /01/09 13:27:34 hk Exp hk $ Mathematik für Ingenieure I, WS 8/9 Freitag 9. $Id: linabb.tex,v.3 9//9 3:7:34 hk Exp hk $ II. Lineare Algebra 9 Lineare Abbildungen 9. Lineare Abbildungen Der folgende Satz gibt uns eine einfachere Möglichkeit

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011)

Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011) M. Sc. Frank Gimbel Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011) 1 Motivation Ziel ist es, ein gegebenes lineares Gleichungssystem der Form Ax = b (1) mit x, b R n und A R n n zu lösen.

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach

Mehr

Binary Decision Diagrams (Einführung)

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

Mehr

Informatik I Komplexität von Algorithmen

Informatik I Komplexität von Algorithmen Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge

Mehr

Bioinformatik. Dynamische Programmierung. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Dynamische Programmierung. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Motivation BLAST / FASTA und Verwandte sind *die* Bioinformatik Anwendung Teilweise synonym für Bioinformatik rundlegende

Mehr

Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei

Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei 7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf

Mehr

Serie 10: Inverse Matrix und Determinante

Serie 10: Inverse Matrix und Determinante D-ERDW, D-HEST, D-USYS Mathematik I HS 5 Dr Ana Cannas Serie 0: Inverse Matrix und Determinante Bemerkung: Die Aufgaben dieser Serie bilden den Fokus der Übungsgruppen vom und 5 November Gegeben sind die

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

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

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Übungen zu Einführung in die Lineare Algebra und Geometrie

Übungen zu Einführung in die Lineare Algebra und Geometrie Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Wintersemester 2014/15 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax

Mehr

Einführung in die Bioinformatik Algorithmen zur Sequenzanalyse

Einführung in die Bioinformatik Algorithmen zur Sequenzanalyse Einführung in die Bioinformatik Algorithmen zur Sequenzanalyse!! Vorläufige Fassung, nur einzelne Abschnitte!!!! Enthält wahrscheinlich noch viele Fehler!!!! Wird regelmäßig erweitert und verbessert!!

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 4 (7.5.2014) Asymptotische Analyse, Sortieren IV Algorithmen und Komplexität Erfahrungen 1. Übung C++ / Java sind komplett ungewohnt Struktur

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

mit "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor"

mit Skalarprodukt aus i-tem Zeilenvektor und j-tem Spaltenvektor Zusammenfassung Matrizen Transponierte: Addition: mit Skalare Multiplikation: Matrixmultiplikation: m x p m x n n x p mit ES "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor" "Determinante"

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge Bachelor

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.

Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr. Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet

Mehr

Sequenzen - Listen. Sequenzen Listen: Definition Listen: veränderliche Sequenzen Methoden Attribute Eine Liste von ganzen Zahlen

Sequenzen - Listen. Sequenzen Listen: Definition Listen: veränderliche Sequenzen Methoden Attribute Eine Liste von ganzen Zahlen Sequenzen - Listen Sequenzen Listen: Definition Listen: veränderliche Sequenzen Methoden Attribute Eine Liste von ganzen Zahlen Sequenzen Definition Eine Sequenz ist eine Datenstruktur, in der mehrere

Mehr

Übungsblatt 6 Lösungsvorschläge

Übungsblatt 6 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Größter Kreis in konvexem Polygon [vgl. Kapitel 6

Mehr

4.4. Rang und Inversion einer Matrix

4.4. Rang und Inversion einer Matrix 44 Rang und Inversion einer Matrix Der Rang einer Matrix ist die Dimension ihres Zeilenraumes also die Maximalzahl linear unabhängiger Zeilen Daß der Rang sich bei elementaren Zeilenumformungen nicht ändert

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

Lösung Semesterendprüfung (Nachprüfung)

Lösung Semesterendprüfung (Nachprüfung) MLAE Mathematik: Lineare Algebra für Ingenieure Frühlingssemester 6 Dr. Christoph Kirsch ZHAW Winterthur Lösung Semesterendprüfung (Nachprüfung Aufgabe : Aufgabe : a Gemäss Def. der Vorlesung müssen wir

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

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,

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees

Mehr

Lineare Algebra und Numerische Mathematik für D-BAUG

Lineare Algebra und Numerische Mathematik für D-BAUG P. Grohs T. Welti F. Weber Herbstsemester 5 Lineare Algebra und Numerische Mathematik für D-BAUG ETH Zürich D-MATH Beispiellösung für Serie Aufgabe. Skalarprodukt und Orthogonalität.a) Bezüglich des euklidischen

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Vorlesung: Nicht-kooperative Spieltheorie. Teil 4: 2-Personen-Nullsummenspiele

Vorlesung: Nicht-kooperative Spieltheorie. Teil 4: 2-Personen-Nullsummenspiele Vorlesung: Nicht-kooperative Spieltheorie Teil 4: 2-Personen-Nullsummenspiele Dr. Thomas Krieger Wintertrimester 2009 Dr. Thomas Krieger Vorlesung: Nicht-kooperative Spieltheorie 1 Definition 2-Personen-Nullsummenspiele

Mehr

Sequenzen-Alignierung in der Bioinformatik

Sequenzen-Alignierung in der Bioinformatik Sequenzen-Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS 2. VO 2.0.2006 Literatur für diese VO Volker Heun: Skriptum zur Vorlesung

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Grundlagen der Algorithmen und Datenstrukturen

Grundlagen der Algorithmen und Datenstrukturen Grundlagen der Algorithmen und Datenstrukturen Christian Scheideler + Helmut Seidl SS 2009 01.04.09 Kapitel 0 1 Vorlesung: Organisatorisches Di 12:00 13:30 MI HS 1 Do 12:00 12:45 MI HS 1 Übungen: 34 Alternativen

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

3. Übungsblatt zur Lineare Algebra I für Physiker

3. Übungsblatt zur Lineare Algebra I für Physiker Fachbereich Mathematik Prof. Dr. Mirjam Dür Dipl. Math. Stefan Bundfuss. Übungsblatt zur Lineare Algebra I für Physiker WS 5/6 6. Dezember 5 Gruppenübung Aufgabe G (Basis und Erzeugendensystem) Betrachte

Mehr

3 Matrizenrechnung. 3. November

3 Matrizenrechnung. 3. November 3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und 27.5.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Übung Simon Wacker Karlsruher Institut für Technologie Wintersemester 2015/2016 GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 1 / 13 Programmiersprachen

Mehr

5.4 Das Rucksackproblem

5.4 Das Rucksackproblem Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen

Mehr

Matrizen, Determinanten, lineare Gleichungssysteme

Matrizen, Determinanten, lineare Gleichungssysteme Matrizen, Determinanten, lineare Gleichungssysteme 1 Matrizen Definition 1. Eine Matrix A vom Typ m n (oder eine m n Matrix, A R m n oder A C m n ) ist ein rechteckiges Zahlenschema mit m Zeilen und n

Mehr

Übungen zu Einführung in die Lineare Algebra und Geometrie

Übungen zu Einführung in die Lineare Algebra und Geometrie Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Sommersemester 2010 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax = b

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

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

(Allgemeine) Vektorräume (Teschl/Teschl 9)

(Allgemeine) Vektorräume (Teschl/Teschl 9) (Allgemeine) Vektorräume (Teschl/Teschl 9) Sei K ein beliebiger Körper. Ein Vektorraum über K ist eine (nichtleere) Menge V, auf der zwei Operationen deniert sind, die bestimmten Rechenregeln genügen:

Mehr

Erneut: Matrizen und lineare Abbildungen

Erneut: Matrizen und lineare Abbildungen Erneut: Matrizen und lineare Abbildungen Mit Hilfe der Matrixmultiplikation lässt sich die Korrespondenz zwischen linearen Abbildungen und Matrizen elegant ausdrücken: Satz. e 1, e 2,..., e n sei die Standardbasis

Mehr

Methode der kleinsten Quadrate

Methode der kleinsten Quadrate Versus QR Matrizen mit vollem Rang 27. Mai 2011 Versus QR Inhaltsverzeichnis 1 2 3 Beispiel 4 Beispiel 5 6 Versus QR Kondition Vergleich Beispiel Versus QR Zu finden: Gerade, die den Punkten (0, 6), (1,

Mehr

Was Computer nicht berechnen können

Was Computer nicht berechnen können Was Computer nicht berechnen können Hochschulinformationstag 13 Juni 2003 Christoph Kreitz Theoretische Informatik, Raum 119, Telephon 3064 kreitz@csuni-potsdamde http://wwwcsuni-potsdamde/ti Computer

Mehr

Threading - Algorithmen

Threading - Algorithmen Threading - Algorithmen Florian Lindemann 22.11.2007 Florian Lindemann () Threading - Algorithmen 22.11.2007 1 / 25 Gliederung 1 Prospect Scoring Function Algorithmus Weitere Eigenschaften Komplexität

Mehr

Übungen Mathematik I, M

Übungen Mathematik I, M Übungen Mathematik I, M Übungsblatt, Lösungen (Stoff aus Mathematik 0).0.0. Berechnen Sie unter Verwendung des binomischen Lehrsatzes ( x + y) 7 Lösung: Nach dem binomischen Lehrsatz ist ( x + y) 7 = 7

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

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

Mehr

Sequenzen-Alignierung in der Bioinformatik

Sequenzen-Alignierung in der Bioinformatik Sequenzen-Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS 22. VO 23..26 Literatur für diese VO Volker Heun: Skriptum zur Vorlesung

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok Kurs über Lineare Gleichungssysteme PD Dr. Karin Halupczok Mathematisches Institut Albert-Ludwigs-Universität Freiburg http://home.mathematik.unifreiburg.de/halupczok/diverses.html karin.halupczok@math.uni-freiburg.de

Mehr

5 Zwei spieltheoretische Aspekte

5 Zwei spieltheoretische Aspekte 5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,

Mehr

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009 KI-Praktikum M. Helmert, M. Westphal, S. Wölfl, J.-G. Smaus Sommersemester 2009 Universität Freiburg Institut für Informatik Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009 Präsenzaufgaben

Mehr

Definition, Rechenoperationen, Lineares Gleichungssystem

Definition, Rechenoperationen, Lineares Gleichungssystem Bau und Gestaltung, Mathematik, T. Borer Aufgaben /3 Aufgaben Matrizen Definition, Rechenoperationen, Lineares Gleichungssystem Lernziele - die Bezeichnung der Matrixelemente kennen und verstehen. - den

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2016 Lineare Gleichungssysteme Schwerpunkte: Interpretation und Verständnis der Gleichungen Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik unter

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

4 Lineare Algebra (Teil 2): Quadratische Matrizen

4 Lineare Algebra (Teil 2): Quadratische Matrizen 4 Lineare Algebra (Teil : Quadratische Matrizen Def.: Eine (n n-matrix, die also ebensoviele Zeilen wie Spalten hat, heißt quadratisch. Hat sie außerdem den Rang n, sind also ihre n Spalten linear unabhängig,

Mehr

3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen

3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen 3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge

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

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:

Mehr

Informatik I EProg HS13

Informatik I EProg HS13 software evolution & architecture lab Informatik I EProg HS13 Übung 5 1 Aufgabe: Nassi-Shneiderman Diagramme 1.1 Lernziele 1. Ein in Pseudocode beschriebenes Verfahren in ein entsprechendes Nassi-Shneiderman-Diagramm

Mehr

Vorlesung Bioinformatik Protein Threading

Vorlesung Bioinformatik Protein Threading Vorlesung Bioinformatik Protein Threading Dr. Axel Mosig 18. Mai 2004 Vorhersage der Tertiärstruktur von Proteinen Ab Initio-Methoden (z.b. via Molecular Dynamics) sind rechenintensiv; nur in Einzelfällen

Mehr

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Substitutionsmatrizen BLAST Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Substitutionsmatrizen: PAM und BLOSSUM Suche in Datenbanken: Basic Local Alignment Search

Mehr