fast parallel solution for set-packing by dna-based computing michael(shan-hui)ho,weng-long chang,...
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 個被挑出來的子集合 彼此之間無重覆 那請問最多有幾種挑法
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()
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}.