Sovling the I

Sovling the Independent-set Problem in a
DAN-Based Supercomputer Model
Weng-Long Chang
Minyi Guo , Jesse Wu
高雄應用科技大學
Reporter:Tung-Yen Haieh
Outline
 Introduction
 The Adleman-Lipton model
 DNA-Based Parallel Algorithm for Solving Independent-
set Problem
 Example
Introduction
What is Independent-set?
What is Maximum-size Independent-set?
The Adleman-Lipton model(1/4)
 Extract. Given a tube P and a short single strand of DNA, S,
produces two tubes +(P, S) and (P, S), where +(P, S ) is all of
the molecules of DNA in P which contain the strand S as a
sub-strand and (P, S) is all of the molecules of DNA in P
which do not contain the short strand S.
The Adleman-Lipton model(2/4)
2. Merge. Given tubes P1 and P2 yield [(P1, P2), where [(P1,
P2) = P1 [ P2. This operation is to pour two tubes into one,
with no change in the individual strands.
3. Detect. Given a tube P, we have yes if P includes at least one
DNA molecule, and we have no if it contains none.
The Adleman-Lipton model(3/4)
4.Anneal.The operation is to represent all of the operations
that combine a test tube of single stranded DNA with other
prepared strands and let them anneal together to form
double strands
5.Discard. Given a tube P, the operation will discard the tube P.
The Adleman-Lipton model(4/4)
 Read. Given a tube P, the operation is used to describe a
single molecule, which is contained in the tube P. Even if P
contains many different molecules each encoding a different
set of bases, the operation can give an explicit description of
exactly one of them.
DNA-Based Parallel Algorithm for
Solving Independent-set Problem
DNA-Based Parallel Algorithm for
Solving Independent-set Problem
Example(1/4)
V1
V0
V2
{Φ}=000
{V0}=001
{V1}=010
{V2}=100
{V0,V1}=011
{V0,V2}=101
{V1,V2}=110
{V0,V1,V2}=111
Example
Step(1)
P={
000 001 010} 011 100 101 110 111
Step(2) //執行兩次
當 k=1
(a)e1=<V0,V1>
(b)x0和x1分別表示V0與V1
(c)Q1={
} Q={
(d)Q2={
} Q3={
(e)
}
}
Example
Step(2)
當 K=2
P={
}
000
(a)e2=<V0,V2>
(b)x0和x2分別表示V0與V2
(c)Q1={
} Q={
(d)Q2={
} Q3={
}
(e)
010 100 110 001 101
}
Example(4/4)
Step(3)
R1=Anneal(p)
R1={000,001,010,100,110}
Step(4)
P=*(R1,l)
P={110}
Step(5)
Detect(P)=yes
(a) Read(p) 的到最大獨立集為{110}