fast parallel solution for set-packing by dna-based computing michael(shan-hui)ho,weng-long chang,...

17
Fast Parallel Solution for Set-Packing by DNA-Based Computing Michael(Shan-Hui)ho,Weng-long CHANG, Nonmember, Minyi GUO, Member,and Laurence T.YANG, Nonmember Reporter : yu-wen CHANG

Upload: charity-campbell

Post on 17-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Fast Parallel Solution for Set-Packing by DNA-Based Computing

Michael(Shan-Hui)ho,Weng-long CHANG, Nonmember, Minyi GUO, Member,and Laurence T.YANG, Nonmember

Reporter : yu-wen CHANG

outline

Introduction Introduction of DNA Structure Set-Packing Program

DNA model of Computation Preliminaries Algorithm

Conclusion

Introduction of DNA Structure(1/3)

In the biochemical world of large and small molecules, polymers, and monomers, DNA is a polymer, which is strung together from monomers called deoxyriboNucleotides.

Each deoxyribonucleotide contains three components: a sugar, a phosphate group, and a nitrogenous base.

This sugar has five carbon atoms and they are numbered from 1’ to 5’.

Introduction of DNA Structure(2/3)

Base

OH

Base: 1. Adenine 2. Guanine

3. Cytosine 4. Thymine

P 5'’ 4

’ 3’

2’

1’

Introduction of DNA Structure(3/3)

Using sticker to construct solution space of DNA for the library sequences in the set-packing program.

Set-Packing Program(1/3)

Suppose we have a finite set S and a list of subsets of S. Then, the set packing problem asks if some k subsets in the list are pairwise disjoint (in other words, no two of them intersect). The problem is clearly in NP, since given k subsets we can easily verify that they are disjoint. The NP-hard optimization version of the problem, maximum set packing, asks for the maximum number of pairwise disjoint sets in the list.

Set-Packing Program(2/3)

Suppose S={1,2,3,4} , subset of collection C={ ,{1},{2},{3},{4},{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}{1,2,3,4}} if k=2 then set-packing is {1,2}{3,4}

先要有一個集合 S 然後列出 S 裡面所有的子集合 接下來 在所有的子集合中 挑出 K 個 使得 K 個被挑出來的子集合 彼此之間無重覆 那請問最多有幾種挑法

Set-Packing Program(3/3)

Preliminaries()

Given a tube, one can perform the following operations:1. Extract

2. Merge

3. Detect

4. Append

5. Discard

6. Read

Preliminaries()

Extract: Given a tube P and a short single strand ofDNA called S , we can produce two tubes +(P, S) and−(P, S ), where +(P, S ) is all of the molecules of DNAin P which consist of the short strand S , and −(P, S ) isall of the molecules of DNA in P which do not containthe short strand S .

EX: set P = {1,2,3} , +(P, 1) ={1}, −(P, 1 ) = {2,3}.

Preliminaries()

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.

EX: set P1={1,2} ,P2={3,4} then (∪ P1, P2) ={1,2,3,4}.

Preliminaries()

Detect. Given a tube P, if it includes at least one DNA molecule we can say ‘yes’, and if it contains no DNA we can say ‘no’.

EX: set P1={1} ,P2={};detect(P1)=yes , detect(P2)=no.

Preliminaries()

Append. Given a tube P and a short strand of DNA called Z, the operation will append the short strand Z onto the end of every strand in tube P.

EX: set P={1,2};append(p,3)=>P={1,2,3}.

Preliminaries()

Discard. Given a tube P, the operation will discard the tube P.

Preliminaries()

Read. Given a tube P, the operation is used to describe a single molecule, which is contained in tube P. Even if P contains many different molecules, the operation can give an explicit description of only one of them.

EX: set P ={1,2,3} ; read(P)={1,2,3}.

Algorithm()

Conclusions