Documente Academic
Documente Profesional
Documente Cultură
Note: This ppt file is based on a student presentation given in October, 1999 by
Jaeyeon Jung and Jaehong Lim, Department of Computer Science, KAIST, Korea
1
Overview
1. Introduction
2. Hamiltonian Path Problem
3. Finding Solution with DNA Experiment
4. Summary & Conclusion
2
1. INTRODUCTION
Computing with computer:
CPU, memory, I/O
Binary coding
Serial processing
3
Computing with DNA
Invented (discovered?) by Dr. Leonard M. Adleman of
USC in 1994, a computer scientist and mathematician
DNA Computer
Biological Computation vs computational biology
Molecular Computer
4
2. HAMILTONIAN PATH PROBLEM
(Posed by William Hamilton)
Given a network of nodes and directed connections
between them, is there a path through the network
that begins with the start node and concludes with
the end node visiting each node only once
(Hamiltonian path")?
5
Hamiltonian path does exist!
End city
Detroit
Chicago Boston
Start city
Atlanta
6
Hamiltonian path does not exist!
Start city
Detroit
Chicago Boston
End city
Atlanta
7
Solving the Hamiltonian Problem
Generation-&-Test Algorithm:
Step 1: Generate random paths on the network.
Step 2: Keep only those paths that begin with start city and
conclude with end city.
Step 3: If there are N cities, keep only those paths of length N.
Step 4: Keep only those that enter all cities at least once.
Step 5. Any remaining paths are solutions (I.e., Hamiltonian
paths).
8
[X] D -> B -> A
[X] B -> C -> D -> B -> A -> B
[X] A -> B -> C -> B
[X] C -> D -> B -> A
[X] A -> B -> A -> D
[O] A -> B -> C -> D
[X] A -> B -> A -> B -> C -> D
9
Does a Hamiltonian path exist for the following network?
10
Combinatorial Explosion
The total number of paths grows exponentially as the
network size increases (i.e., NP-hard problem):
11
3. FINDING SOLUTION WITH
DNA EXPERIMENT
DNA is a double-strand polymer A
made up of alternating series of G C
four bases, A, T, C, G. T
T A
DNA makes multiple copies of itself C G
during cell differentiation. G
A T
12
DNA for Hamiltonian Problem
The key to solving the problem is using DNA to
perform the five steps of the Generation-&-Test
algorithm in parallel search, instead of serial
search.
13
14
DNA Polymerase
- Protein that produces complementary DNA strand
- A -> T, T -> A, C -> G, G -> C
- Enables DNA to reproduce
A
A
DNA G C
G
T Polymerase T
T A
T
C G
C
G
G
A T
A
15
Polymerase in Action
16
DNA Experiment Set-up
Ingredients and tools needed:
- DNA strands that encode city names and
connections between them
- Ligase, water, salt, other ingredients
- Polymerase chain reaction (PCR) set
- Gel electrophoresis tool (that filters out non-solution
strands)
17
Gel Electrophoresis
http://www.life.uiuc.edu/molbio/geldigest/equipment.html
18
End city
Detroit
Chicago Boston
Start city
Atlanta
19
CITY DNA NAME COMPLEMENT
ATLANTA ACTTGCAG TGAACGTC
BOSTON TCGGACTG AGCCTGAC
CHICAGO GGCTATGT CCGATACA
DETROIT CCGAGCAA GGCTCGTT
CONNECTING PATH DNA PATH
ATLANTA-BOSTON GCAGTCGG
ATLANTA-DETROIT GCAGCCGA
BOSTON-CHICAGO ACTGGGCT
BOSTON-DETROIT ACTGCCGA
BOSTON-ATLANTA ACTGACTT
CHICAGO-DETROIT ATGTCCGA
20
DNA encoding of city-network
Boston
Atlanta
Atlanta -Boston
GCAGTCGG
TGAACGTC AGCCTGAC
Atlanta Boston
21
End city
Detroit
Chicago Boston
Start city
Atlanta
Detroit
Chicago Boston
Start city
Atlanta
Boston-Atlanta Atlanta-Detroit
Boston* Atlanta* Detroit*
23
DNA Experiment
1. In a test tube, mix the prepared DNA pieces together
(which will randomly link with each other, forming all different paths).
24
4. Use DNA probe molecules to check whether their paths
pass through all intermediate cities.
25
4. SUMMARY & CONCLUSION
- Why does it work?
Enormous parallelism, with 1023 DNA pieces working in
parallel to find solution simultaneously.
Takes less than a week (vs. thousands yrs for supercomputer)
- Future work:
Weather forecasting, robot brain, , using DNA computers?
(Note: DNA is a Universal Turing machine.)
26