A Space-Efficient Randomized DNA Algorithm for k-SAT Kevin Chen and Vijay Ramachandran Princeton University.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

2 4 Theorem:Proof: What shall we do for an undirected graph?
Solution of a 20-Variable 3-SAT Problem on a DNA Computer R. S. Briach, N. Chelyapov, C. Johnson, P. W. K. Rothemund, L. Adleman 발표자 : 문승현.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Order Statistics Sorted
DNA Computing COMP308 I believe things like DNA computing will eventually lead the way to a “molecular revolution,” which ultimately will have a very dramatic.
Partitioning and Divide-and-Conquer Strategies ITCS 4/5145 Parallel Computing, UNC-Charlotte, B. Wilkinson, Jan 23, 2013.
“Devo verificare un’equivalenza polinomiale…Che fò? Fò dù conti” (Prof. G. Di Battista)
The Theory of NP-Completeness
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
WS Algorithmentheorie 03 – Randomized Algorithms (Primality Testing) Prof. Dr. Th. Ottmann.
1 Today’s Material Medians & Order Statistics – Ch. 9.
Efficient Query Evaluation on Probabilistic Databases
Montek Singh COMP Nov 15,  Two different technologies ◦ TODAY: DNA as biochemical computer  DNA molecules encode data  enzymes, probes.
Randomized Algorithms Prof. Dr. Th. Ottmann University of Freiburg
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Study Group Randomized Algorithms Jun 7, 2003 Jun 14, 2003.
Randomzied Unique k-SAT R. Paturi, P. Pudlak, M.E. Saks and F. Zane An Improved Exponential-time Algorithm for k-SAT Journal of the ACM, Vol 52, No. 3,
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Section Section Summary Recursive Algorithms Proving Recursive Algorithms Correct Recursion and Iteration (not yet included in overheads) Merge.
Randomized Algorithms Morteza ZadiMoghaddam Amin Sayedi.
HOW TO SOLVE IT? Algorithms. An Algorithm An algorithm is any well-defined (computational) procedure that takes some value, or set of values, as input.
Genetic Algorithm.
DNA Computing on Surfaces
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
DNA Computing on a Chip Mitsunori Ogihara and Animesh Ray Nature, vol. 403, pp Cho, Dong-Yeon.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
Beyond Silicon: Tackling the Unsolvable with DNA.
1 Computing with DNA L. Adelman, Scientific American, pp (Aug 1998) Note: This ppt file is based on a student presentation given in October, 1999.
Randomized Turing Machines
Chapter 14 Randomized algorithms Introduction Las Vegas and Monte Carlo algorithms Randomized Quicksort Randomized selection Testing String Equality Pattern.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
1 Lecture 16: Lists and vectors Binary search, Sorting.
Algorithms and Running Time Algorithm: Well defined and finite sequence of steps to solve a well defined problem. Eg.,, Sequence of steps to multiply two.
DNA Computing.  Elements of complementary nature abound in nature. Complementary parts (in nature) can “self-assemble”. A universal principle?  This.
A new DNA computing model for the NAND gate based on induced hairpin formation 생물정보학 협동과정 소 영 제.
A DNA-Based Random Walk Method for Solving k-SAT Sergio Diaz, Juan Luis Esteban and Mitsunori Ogihara.
Is DNA Computing Viable for 3-SAT Problems? Dafa Li Theoretical Computer Science, vol. 290, no. 3, pp , January Cho, Dong-Yeon.
Extra. 1Introduction 2Theoretical background Biochemistry/molecular biology 3Theoretical background computer science 4History of the field 5Splicing systems.
Computation Model and Complexity Class. 2 An algorithmic process that uses the result of a random draw to make an approximated decision has the ability.
BY: DANE GREER AND JAKE PROEHL DNA COMPUTING. DNA DNA Strands ATGC (adenine, thymine, guanine and cytosine) Polymerase.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
What is DNA Computing? Shin, Soo-Yong Artificial Intelligence Lab.
Randomized Algorithms Chapter 12 Jason Eric Johnson Presentation #3 CS Bioinformatics.
DNA computing on a chip Mitsunori Ogihara and Animesh Ray Nature, 2000 발표자 : 임예니.
1 Biological Computing – DNA solution Presented by Wooyoung Kim 4/8/09 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
ICS 353: Design and Analysis of Algorithms
Binary Arithmetic for DNA Computers R. Barua and J. Misra Preliminary Proceedings of the Eighth International Meeting on DNA Based Computers, pp ,
Analysis of Algorithms Spring semester 2002 Uri Zwick
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
NPC.
Towards Autonomous Molecular Computers Towards Autonomous Molecular Computers Masami Hagiya, Proceedings of GP, Nakjung Choi
Monte Carlo Linear Algebra Techniques and Their Parallelization Ashok Srinivasan Computer Science Florida State University
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
Data Structures and Algorithms Instructor: Tesfaye Guta [M.Sc.] Haramaya University.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Indian Institute of Technology, Delhi Randomized Algorithms (2-SAT & MAX-3-SAT) (14/02/2008) Sandhya S. Pillai(2007MCS3120) Sunita Sharma(2007MCS2927)
Stochastic Local Search Algorithms for DNA word Design Dan C Tulpan, Holger H Hoos, and Anne Condon Summerized by Ji-Eun Yun.
Computation by Self-assembly of DNA Graphs N. Jonoska, P. Sa-Ardyen, and N. Seeman Genetic Programming and Evolvable Machines, v.4, pp , 2003 Summarized.
Hybrid BDD and All-SAT Method for Model Checking
(xy)(yz)(xz)(zy)
Randomized Algorithms
Solution of Satisfiability Problem on a Gel-Based DNA computer
Where Can We Draw The Line?
JSPS Project on Molecular Computing (presentation by Masami Hagiya)
DNA computing on surfaces
CSE 2010: Algorithms and Data Structures Algorithms
Molecular Computation by DNA Hairpin Formation
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
DNA Solution of Hard Computational Problems
Presentation transcript:

A Space-Efficient Randomized DNA Algorithm for k-SAT Kevin Chen and Vijay Ramachandran Princeton University

DNA Computing DNA can store a lot of information! –A DNA sequence is a bitstring 5’-A-T-T-G-C-A-T G-C-A-3’ 3’-A-C-G-T-A-C-G-T-T-G-5’ –A test tube can hold approximately 2 50 strands of DNA Important chemical properties –Watson-Crick complementary hybridization

DNA Computing Massive parallelism –Each strand is a “processor” –Operations can be performed on all strands in a test tube with one laboratory step Power of large database searching –Use DNA to store lots of information, use chemical properties to pull out what we’re looking for

Examples of DNA Algorithms Hamiltonian Circuit, Adleman, 1994 –DNA sequences represent paths through a graph that self-assemble SAT, Lipton, 1995 –Strands encode solutions; generate all and filter out ones that work

Randomized Algorithms Types Of Algorithms Monte Carlo: Answer can be incorrect (e.g., Primality testing) Las Vegas: Answer always correct but running time is probabilistic (e.g., Quicksort) For more information: Motwani & Raghavan, Randomized Algorithms. Cambridge UP, 1995.

Examples of Randomized Algorithms Algorithm Best known non-randomized running time Best known randomized running time Quicksort O(n2)O(n2)O(n log n) Primality Testing (log n) O(log log log n) O(log 3 n) 3-SAT O( n )O( n )

Paturi’s k-SAT Algorithm (1997) 1.While there are unassigned variables left: –Choose a random variable x i –If x i is forced, set x i as required, else assign x i to T or F at random 2.Test if the assignment is a solution 3.Repeat steps 1 and 2, I times, where the error probability is

Paturi’s Algorithm (continued) Randomized version of Davis-Putnam (1960) Running time is O(n 2 m·2 n–n/k ) for a k-SAT instance with n variables and m clauses Monte-Carlo Algorithm: may output ‘Unsatisfiable’ when a solution exists

Objective Adapt Paturi’s algorithm to Adleman and Lipton’s DNA extract model Reduce space complexity since not all 2 n solutions are generated

Related Work Lipton (1995) –First DNA algorithm for formula-SAT –O(n) time and O(2 n ) space Ogihara and Ray (1997) –Implemented Monien-Speckenmeyer algorithm for 3-SAT –O(nm 2 + n 2 ) time and O( n ) space Diaz, Esteban and Ogihara (2000)

Model of Computation Extended version of the extract model with the APPEND primitive 2n+3 well-behaved words, needed to form assignment sequences to build solution strands Assignment sequence for “x 2 = False”, with separator and primer sequences S and P PS S’P’S’ x(2)=F x(2)=F’

Allowable Operations COMBINE DETECT EXTRACT APPEND* † POUR* TO-SINGLE- STRANDED TO-DOUBLE- STRANDED * Sources of randomness † Generalization of Boneh’s APPEND

Implementation of APPEND HPSx(5)=TPS H’P’S’x(5)=T’P’ PS S’P’S’ x(2)=T x(2)=T’ PS S’P’S’ x(2)=F x(2)=F’ Partial assignment containing x 5 = T Assignment sequence for x 2 = T Assignment sequence for x 2 = F One sequence will anneal at this exposed sticky end Each sequence has a 50% chance of appending to our partial assignment

Implementation of TO-DOUBLE-STRANDED HPSx(5)=TPS HPSx(5)=TPS HPSx(5)=TPS H’P’S’x(5)=T’P’ P’P’ Original Strand Add complement of primer sequence, P’ Add DNA polymerase, bases (A,T,C,G), and DNA ligase Polymerase will construct the complementary strand starting with the primer sequence

DNA Algorithm Start with a tube T containing I empty solution strands. While there are still unassigned variables, perform the following loop: T HPS  I I

DNA Algorithm (continued) Pour T into n tubes Remove possible repeat assignments Check for forced variables Append appropriate assignment sequences Pour out the contents of T into n tubes and associate a variable with each tube via a random permutation. … T1  x6T1  x6 T2  x2T2  x2 T3  x4T3  x4 Tn  x5Tn  x5 T

DNA Algorithm (continued) Pour T into n tubes Remove possible repeat assignments Check for forced variables Append appropriate assignment sequences If a strand already has an assignment for the variable associated with its tube, move it to the next tube and repeat. T1  x6T1  x6 Extract strands with “x 6 = T” or “x 6 = F” T2  x2T2  x2 Add to next tube and repeat +

DNA Algorithm (continued) Pour T into n tubes Remove possible repeat assignments Check for forced variables Append appropriate assignment sequences For each tube, partition the strands into three parts: forced to T, forced to F, not forced. Consider clause C = x 1  x 2  x 3  … else x 1 = F x 2 = T else etc. … Forced to x 3 = T Repeat for other clauses containing x 3 else Ti  x3Ti  x3 Ti  x3Ti  x3

DNA Algorithm (continued) Pour T into n tubes Remove possible repeat assignments Check for forced variables Append appropriate assignment sequences APPEND the correct assignment sequence for forced variables and assign a random value otherwise. Not forced Forced to T Forced to F Assign True Assign False Combine all …

DNA Algorithm (continued) Combine all tubes and repeat while loop. After n iterations (all variables have been assigned on each strand), check if any of the assignment strands are solutions to the formula using Lipton’s algorithm. T Solutions Lipton’s Algorithm

Analysis of Algorithm On an n variable, m clause instance of k-SAT, if the error probability is e – , our algorithm has space complexity: The analysis is the same as the time complexity analysis in Paturi (1997, 1998).

Comparison of DNA k-SAT Algorithms AlgorithmTypeSpaceTime max(n) k = 3 Lipton 1995 k-SATO(2 n )O(km)50 Ogihara SAT only O( n )O(n 2 +nm 2 )72 CR1999 Random k-SAT O(n 2 +k 2 nm)75

Conclusion Our algorithm reduces space complexity while only requiring O(n) words This is the first known attempt to harness the tools of randomized classical algorithms in DNA computing Further gains may be obtainable by adapting the algorithm of Paturi (1998)