DNA-Computing Dipl.-Inf. Hans-Jörg Schulz Ver. 3.0 Inhalt 1. Alternative Rechnermodelle 2. DNA Computing I: Hamiltonsche Pfade 3. Ausgewählte Grundlagen d. theoretischen Informatik: Turing-Maschinen und Berechenbarkeit 4. DNA Computing II: Die Enzym-Turingmaschine 5. Bewertung und Ausblick 1. Alternative Rechnermodelle Einführendes Beispiel: Spaco & Super-Spaco Problem: Zahlen sortieren, also z.B. 7, 11, 2, 1, 6, 5, 8, 13, 9, 12 Lösung: 1, 2, 5, 6, 7, 8, 9, 11, 12, 13 Spaghetti 1. Alternative Rechnermodelle -Spaco skaliert für bis zu 700 zu sortierende Zahlen -Super-Spaco dann z.B. für 7000 oder 7 Millionen Zahlen Vergleich zum manuellen Sortieren: -Berechnung mit Spaco zerfällt in 3 Schritte:Vorbereitung (ca. 1 min/Zahl), Durchführung (konst. 1 Sekunde), Auswertung (ca. 10 Sekunden/Zahl) -Manuelle Suche: Durchmustern der Zahlen nach größter Zahl, aufschreiben und wegstreichen (ca. 1/10 Sekunde/durchmusterter Zahl) Bei 700 Zahlen heißt das: -Spaco: 700 min + 1 sec + 7000 sec = 13 h 36 min 41 sec -Manuell: (700 + 699 + … + 2 + 1) x 1/10 sec = 2 h 55 min 18 sec Bei 7 Millionen Zahlen allerdings: -Super-Spaco: ca. 15 Jahre -Manuell: ca. 74000 Jahre 1. Alternative Rechnermodelle Warum ist das so? Angenommen zu den 700 Zahlen kommt 1 dazu, wie erhöht sich dadurch die benötigte Rechenzeit? -Spaco: 1 min (Vorbereitung) + 10 sec (Auswertung) = 70 sec -Manuell: 701 * 1/10 sec = 70,1 sec Allgemein: (für k = Anzahl der zu sortierenden Zahlen) -Spaco: 70 sec x k + 1 sec -Manuell: 1/20 sec x k² + 1/20 sec x k 1. Alternative Rechnermodelle 1. Alternative Rechnermodelle Weitere Beispiele: 1. Alternative Rechnermodelle Weitere Beispiele: 1. Alternative Rechnermodelle Weitere Beispiele: Billardkugel-Rechner Annahme: Billardkugeln laufen ohne Reibungsverluste mit konstanter Geschwindigkeit A B 1 & 2 A B 1: A&B 2: ¬(A&B) 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 1. Alternative Rechnermodelle Weitere Beispiele: Billardkugel-Rechner Annahme: Billardkugeln laufen ohne Reibungsverluste mit konstanter Geschwindigkeit 1 A 2 B F A B 1: A&B 2: ¬(A&B) 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 F = festes Eingangssignal 1. Alternative Rechnermodelle Weitere Beispiele: Billardkugel-Rechner A B Verzögerung unter Beibehaltung der Richtung Kreuzung zweier Bahnen 1. Alternative Rechnermodelle Was sind Computer? – Eine technologieunabhängige Definition Ein Computer ist ein System, welches von einem als Problembeschreibung interpretierbaren Ausgangszustand den Naturgesetzen folgend in einen als Problemlösung interpretierbaren Endzustand übergeht. So betrachtet der Anwender einer siliziumbasierten Rechnerarchitektur auf seinem Bildschirm nichts anderes, als Meßwerte eines komplizierten elektrodynamischen Experiments und interpretiert diese Werte etwas eigenwillig. Umgekehrt können in einem wiss. Experiment die festgelegten Parameter als Problembeschreibung und die gemessenen Werte als Lösungen, d.h. das Experiment als Berechnung angesehen werden. Wenn sich eine Interpretation der Systemzustände finden läßt, die über das Verhalten des Systems hinausgeht, so kann das System zur Informationsverarbeitung herangezogen werden. 2. DNA Computing I 2. DNA Computing I 2. DNA Computing I 2. DNA Computing I Zucker (Monosacharide CnH2nOn) im Rückgrat: - Ribose, dann spricht man von RNA - Desoxyribose, dann spricht man von DNA 2. DNA Computing I „DNA-Hardware“: DNA-Strang als Speicher(-band), Enzyme als Teile der CPU - Polymerasen: (Komplementär-)Kopiermaschinen - Ligasen: Konkatenation zweier DNA-Stränge - Nucleasen: Trennen eines DNA-Strangs (an einer bestimmten Stelle) Weitere Teile der CPU: (Verfahren der Molekularbiologie) - Paarung komplementärer Stränge - Gel-Elektrophorese (Sortierung nach Länge) - DNA-Synthese - Denaturierung bei 85-95°C / Renaturierung - Sortierung über Sondenmoleküle - Filtration durch für Einzelstränge durchlässige Membran - Sequenzierung der DNA - Polymerasekettenreaktion 2. DNA Computing I Das Problem: nach Sir Wiliam Rowan Hamilton (1805-1865) geg: G=(V,E) Digraph, Startknoten S, Zielknoten Z ges: gerichteter Pfad der Länge |V|-1 von S nach Z, der alle Knoten Î V \ {S,Z} durchläuft Das Experiment: durchgeführt von Leonard M. Adleman, MIT 1994 Hamilton Sir William Rowan Hamilton Vektorrechnung Hamilton-Funktion (theoretische Mechanik) Randnotiz Hamilton-Quaternionen 2. DNA Computing I Das Problem: nach Sir Wiliam Rowan Hamilton (1805-1865) geg: G=(V,E) Digraph, Startknoten S, Zielknoten Z ges: gerichteter Pfad der Länge |V|-1 von S nach Z, der alle Knoten є V \ {S,Z} durchläuft Das Experiment: durchgeführt von Leonard M. Adleman, MIT 1994 Hamilton 2. DNA Computing I Die Codierung: Städte = Knoten, Flüge = Kanten 2. DNA Computing I Vorbetrachtungen: Das Problem ist NP-vollständig. :-( Das heißt (außer P=NP), entweder ist ein Lösungsalgorithmus sehr langsam oder er liefert nicht mit Bestimmtheit das richtige Ergebnis. Schritt 1: Erzeuge eine Menge zufällig bestimmter Wege durch den Graphen Schritt 2: Überprüfe für alle Wege in dieser Menge: a) ob der Weg mit S beginnt und mit Z endet. Falls nicht, entferne ihn. b) ob der Weg genau |V| Knoten enthält. Falls nicht, entferne ihn. c) ob außer S und Z auch jeder andere Knoten enthalten ist. Falls nicht, entferne ihn. Schritt 3: Wenn die Restmenge nicht leer, dann ex. ein Hamiltonscher Pfad, sonst (wahrscheinlich) nicht. 2. DNA Computing I Durchführung: Schritt 1: Synthetisierung der komplementären Städtenamen (außer S und Z) und der Flugnummern Schritt 2: synthetische DNA-Stränge mit Wasser, Ligase, Salz und ein paar anderen Zutaten ins Reagenzglas, um annähernd die Bedingungen im Innern einer Zelle herzustellen – insgesamt ca. 1/50 Teelöffel Schritt 3: Polymerasekettenreaktion vermehrt gezielt korrekte Lösungen Primer: Nachname von S, Komplement des Vornamens von Z Schritt 4: Gel-Elektrophorese sondert Stränge mit falscher Länge aus Schritt 5: wiederholter Einsatz von Sonden-Molekülen Schritt 6: PCR + Gel-Elektrophorese oder Sequenzierung 2. DNA Computing I - DES entschlüsseln - Postsches Korrespondenzproblem (PCP) - Matrizenmultiplikation - Erfüllbarkeitsproblem (SAT) - Road Coloring Problem - Addition zweier beliebiger Binärzahlen - Rucksackproblem - Shortest Common Superstring Problem - einfache Operationen auf Horn-Klauseln Das Postsche Korrespondenzproblem Randnotiz geg.: endliche Menge Postscher Tupel bestehend aus Wörtern vi, wi є L* über geg. Alphabet L ges.: kürzeste Folge von Indizes (x1,x2,…xk), so daß (vx1,vx2,…,vxk) = (wx1,wx2,…,wxk) Das Road Coloring Problem - Alle Wege führen nach Rom geg.: stark zusammenhängender, schlingenfreier Digraph G=(V,E) mit outdeg(v)=2 für alle Knoten v є V Kopenhagen Berlin Paris Randnotiz Ankara Rom Das Road Coloring Problem - Alle Wege führen nach Rom ges.: deterministische 2-Färbung, so daß Zielsequenz minimal Kopenhagen Berlin Paris Ankara Zielsequenz: BRBR Randnotiz Rom Das Road Coloring Problem - Alle Wege führen nach HRO Hausaufgabe: Lübeck Rostock Greifswald Stralsund Zielsequenz: ??? Randnotiz Das Road Coloring Problem - Alle Wege führen nach HRO Hausaufgabe: Lübeck Rostock Greifswald Stralsund Zielsequenz: RBR Randnotiz Shortest Common Superstring Problem geg.: AC ges.: endliche Menge von Wörtern T CG T TACCG CG TG C kürzeste Zeichenfolge, die alle Wörter der Menge enthält TTAC CGT GC Randnotiz AC T T 3.1. Turingmaschinen Alan Turing (1912-1954) -Kryptoanalytiker im Enigma-Projekt -Beiträge zur KI: Turing-Test, Schachprogramm -Beschäftigung mit mathematischen Problemen der Biologie (Turing-Mechanismus) -nach ihm wurde der bedeutendste Preis der Informatik benannt 3.1. Turingmaschinen Schreib-/Lesekopf 0 1 1 0 1 unendliches Arbeitsband (Speicher) 1 1 Z1 0 0,Z1,R 1 0,Z2,R Z2 Z3 1,Z3,R HALT 1,Z2,R HALT Z1 Steuereinheit 0 Maschinentafel 3.1. Turingmaschinen 0 1 1 0 Z1 1 1 1 0 Z1 0 0,Z1,R 1 0,Z2,R Z2 Z3 1,Z3,R HALT 1,Z2,R HALT 3.1. Turingmaschinen 0 0 1 0 1 Z2 1 1 0 Z1 0 0,Z1,R 1 0,Z2,R Z2 Z3 1,Z3,R HALT 1,Z2,R HALT 3.1. Turingmaschinen 0 0 1 0 1 1 Z2 1 0 Z1 0 0,Z1,R 1 0,Z2,R Z2 Z3 1,Z3,R HALT 1,Z2,R HALT 3.1. Turingmaschinen 0 0 Z1 0 0,Z1,R 1 0,Z2,R Z2 Z3 1,Z3,R HALT 1,Z2,R HALT 1 1 1 1 1 Z3 0 3.2. Berechenbarkeit Church‘sche These: Alles, was „intuitiv berechenbar“ ist, ist auch turing-berechenbar und umgekehrt. - Läßt sich nicht beweisen, ließe sich aber widerlegen. Das hat aber noch keiner geschafft! 3.2. Berechenbarkeit Gibt es auch Dinge, die nicht berechenbar sind? Ja, z.B. das Halteproblem: Halteproblem: Die einfache Frage, ob eine vorgegebene Turingmaschine auf einem vorgegebenen Arbeitsband irgendwann anhalten wird. Entscheidungsproblem 3.2. Berechenbarkeit Beweis: - angenommen, es existiert ein Mechanismus, der feststellen kann, ob eine gegebene Turingmaschine auf einem gegebenen Arbeitsband anhält, oder nicht Turingmaschine - wenn Turingmaschine angewandt auf Arbeitsband terminiert, dann gib JA zurück Arbeitsband - ansonsten gib NEIN zurück 3.2. Berechenbarkeit Beweis: - dann kann man diesen Mechanismus auch dazu nutzen, um festzustellen, ob eine Turingmaschine, bei geeigneter Codierung auf sich selbst angewandt, terminiert Turingmaschine - wenn Turingmaschine angewandt auf Arbeitsband terminiert, dann gib JA zurück - ansonsten gib NEIN zurück 3.2. Berechenbarkeit Beweis: - Abwandlung dieses Mechanismus, so daß er nur dann terminiert, wenn NEIN zurückgegeben wird Turingmaschine - wenn Turingmaschine angewandt auf Arbeitsband terminiert, dann gib JA zurück - ansonsten gib NEIN zurück JA? NEIN? 3.2. Berechenbarkeit Beweis: - Was passiert jetzt, wenn wir diesen abgewandelten Mechanismus sich selbst testen lassen? Turingmaschine - wenn Turingmaschine angewandt auf Arbeitsband terminiert, dann gib JA zurück - ansonsten gib NEIN zurück JA? NEIN? 4. DNA-Computing II R N A 5. Bewertung und Ausblick Vorteile: - massiv parallele Verarbeitung: löst Probleme, die viele Jahre herkömmlicher Rechenzeit benötigt hätten in wenigen Monaten (im Bsp. wurden 1014 Flüge gleichzeitig (!) verkettet) - gigantische Speicherdichte: 1g DNA (ca. 1 cm3 im trocknen Zustand) kann die Informationen von 1012 CDs speichern - sehr geringer Energieverbrauch: 1 Joule reicht für 2×1019 DNA-Verknüpfungsoperationen herkömmliche Superrechner: 109 Operationen pro Joule oder: 1 Milliarde Op/sec benötigen 1 Milliardstel Watt 5. Bewertung und Ausblick Nachteile: - hauptsächlich randomisierte Algorithmen Adlemans Hamiltonpfad-Beispiel mit 50 oder gar 100 Städten würde ein paar Tonnen DNA benötigen - keine 100%-ige Genauigkeit: Schätzungen gehen davon aus, daß man max. 99,8% Genauigkeit für DNA-Berechnungen erreichen kann - Hydrolyse: Analyse des fertigen Reagens dauert zu lange Æ DNA zerfällt in der Zwischenzeit - keine Killerapplikation in Sicht 5. Bewertung und Ausblick Ausblick: - erste Implementation dynamischer Programmierung Nutzung der hohen Speicherdichte zur „Ablage“ von Zwischenergebnissen - Fehlerminimierung durch spezielle Codierungen und Reparaturenzyme - erste Erfolge im „Züchten“ speziell designter Enzyme - Experimente mit selbstreproduzierenden Molekülen und „programmierbaren“ Molekülen, die sich selbst zu vorbestimmten Strukturen beliebiger Komplexität ordnen können Æ „Nanobots“