DNA-Computing

Werbung
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“
Herunterladen