Dynamische Programmierung mit Anwendung auf Sequence Alignment Problem BFH-TI BIEL I-Seminar Dynamische Programmierung mit Anwendung auf Sequence Alignment Problem Jean-Bernard Wansi BFH-TI BIEL
Inhalt Einleitung Definition & Beschreibung Beispiel Fazit BFH-TI BIEL Inhalt Einleitung Definition & Beschreibung Dynamische Programmierung Sequence Alignment Beispiel Needleman –Wunsch-Algorithmus Fazit BFH-TI BIEL
BFH-TI BIEL Einleitung Der Begriff ”Dynamic Programming” wurde von Richard Bellman eingeführt. Bellman entwickelte ab 1949 für die RAND Corporation in Santa Monica, ein von der Airforce finanziertes Forschungsinstitut, mit einigen weiteren Mathematikern ein entsprechen des Prinzip, das ursprünglich in der Regelungstheorie Anwendung findet. Der Grundgedanke hinter der dynamischen Programmierung wird heutzutage aber auch zur Entwicklung von Algorithmen benutzt. BFH-TI BIEL
Definition & Bechreibung BFH-TI BIEL Definition & Bechreibung Dynamic Programming ist eine Methode der Programmierung, die uns hilft Probleme optimale zu lösen, indem man das Hauptproblem in Teilproblemen zerlegt. Die Lösungen von Teilproblemen werden jesdesmal gespeichert und wiederum benutzt um das Hauptproblem zu lösen. Folgenden Begriffe sind im Bereich DP wichtig. Teilbarkeit: Das Problem sollte in kleinere Probleme aufgeteilt werden können Optimal Substruktur: Die Lösung jedes übergeordneten Problems musst sich aus den optimalen Lösungen seiner Teilprobleme zusammensetzten Überlappende Teilprobleme:Die Lösungen der Teilprobleme sollten während des Lösungsvorgangs mehrere Male auftauchen. BFH-TI BIEL
Definition & Beschreibung BFH-TI BIEL Definition & Beschreibung Sequence alignment ist eine Methode , die dient 2 oder mehrere Zeichenkette (String) zu vergleichen. Sie wird in der Bioinformatik zum Vergleichen von DNA-Ketten verwendet. Es gibt mehrere Arten von Sequence Alignment. Wir haben aber in unserer Arbeit nur 2 davon berücksichtigt: Global Alignment: wenn 2 etwa gleich lange Zeichenkette verglichen werden sollen (Needleman-Wunsch-Algorithmus) Local Alignment: wird verwendet um bestimmte Sequenzen in einem String zu suchen (Smith und Waterman Algorithmus) BFH-TI BIEL
BFH-TI BIEL Biespiel Algorithmus von Needleman -Wunsch BFH-TI BIEL
BFH-TI BIEL Biespiel Algorithmus von Needleman-Wunsch BFH-TI BIEL
BFH-TI BIEL Fazit Dynamische Programmierung ist effizienter als ein rekursiver Lösungsansatz , weil Sie die wiederholte Berechnung von bereits gelösten Teilproblemen vermeidet. Einige der ältesten Sequence Alignment Algorithmen bauen darauf auf . BFH-TI BIEL
BFH-TI BIEL Fragen? BFH-TI BIEL
Danke für Ihre Aufmerksamkeit BFH-TI BIEL Danke für Ihre Aufmerksamkeit BFH-TI BIEL