990 likes | 1.01k Views
Adleman and computing on a surface. Course outline. Who’s who?. Tom Head. Department of Mathematical Sciences Binghamton University. Areas of interest Algebra Computing with biomolecules Formal representations of communication. http://www.math.binghamton.edu/tom/. Leonard Adleman.
E N D
Tom Head Department of Mathematical SciencesBinghamton University Areas of interest Algebra Computing with biomolecules Formal representations of communication http://www.math.binghamton.edu/tom/
Leonard Adleman Department of Computer Science Areas of interest • Method for Obtaining Digital Signatures and Public-Key Cryptosystems • Distinguishing Prime Numbers From Composite Numbers • The First Case of Fermat's Last Theorem • Primality Testing And Two Dimensional Abelian Varieties Over Finite Fields • Molecular Computation of Solutions To Combinatorial Problem Turing Award 2002 http://www.usc.edu/dept/molecular-science/fm-adleman.htm
Richard Lipton Theoretical Computer Science College of Computing, Georgia Tech Areas of interest • Algorithms and Complexity Theory • Cryptography • DNA Computing http://www.cc.gatech.edu/computing/Theory/theory.html
Laura Landweber Dept. of Ecology and Evolutionary Biology Princeton University Areas of interest • Origins of Genes, Genomes • the Genetic Code • Early Pathways of RNA Evolution • Scrambled Genes • RNA Editing • Gene Scrambling • DNA Computing http://www.princeton.edu/~lfl/
John Reif Computer Science Duke University Areas of interest • DNA nanostructures • Molecular Computation • Efficient Algorithms • Parallel Computation • Robotic Motion Planning • Optical Computing. http://www.cs.duke.edu/~reif/
Erik Winfree Computer Science Computation and Neural Systems Caltech, Areas of interest • DNA-based computers • Computing by self-assembly • Genetic Regulatory Networks • Signal Transduction Cascades • Ribosomal Translation • DNA and RNA folding MacArthur Fellow 2000 http://www.dna.caltech.edu/~winfree/
Nadrian Seeman Department of ChemistryNew York University Areas of interest • DNA Nanotechnology • Macromolecular Design and Topology • Biophysical Chemistry of Recombinational Intermediates • DNA-Based Computation • Crystallography http://www.nyu.edu/pages/chemistry/faculty/seeman.html
Robert Corn Chemistry Department University of Wisconsin Areas of interest • surface plasmon resonance (SPR) to monitor biopolymer adsorption, the chemical modification of surfaces, • characterization of molecular monolayers • electron transfer processes at liquid/liquid electrochemical interfaces. DNA computing algorithms at surfaces • multilayer polyelectrolyte films for ion transport applications. http://corninfo.chem.wisc.edu/
Hagiya Masami Department of Computer Science,University of Tokyo • Areas of interest • Automated Deduction, Formal Verification and Programming Languages • Bio-Computing • Hybrid Systems... http://hagi.is.s.u-tokyo.ac.jp
Akira Suyama Graduate School of Arts and Sciences, University of Tokyo • Areas of interest • SNPs • Probe design DNA chips • Quantitative gene expression • Hybrid Systems... http://talent.c.u-tokyo.ac.jp/suyama/
John Rose Department of Computer Science,University of Tokyo Areas of interest • the DNA chip, especially Tag-Antitag Systems • Whiplash PCR, a simple autonomous DNA computer • equilibrium chemistry/statistical thermodynamic model http://hagi.is.s.u-tokyo.ac.jp/~johnrose/
Gheorghe Păun Institute of Mathematics of the Romanian Academy Areas of interest • Formal language theory (and applications) • Combinatorics on words • Semiotics • operational research • DNA Computing • Membrane Computing http://stoilow.imar.ro/~gpaun/
Grzegorz Rozenberg Institute of Advanced Computer Science University of Leiden Areas of interest • Molecular Computing • Evolutionary Algorithms • Neural Networks http://www.wi.leidenuniv.nl/~rozenber/
Giancarlo Mauri Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo) Milano Areas of interest • H systems • P systems • Neural Networks http://bioinformatics.bio.disco.unimib.it/
Ehud Shapiro Computer Science and Applied Mathematics the Weizmann Institute Areas of interest • DNA as input fuel • Biological nanocomputer • Turing machine-like model http://www.weizmann.ac.il/mathusers/lbn/index.html
Byoung-Tak Zhang School of Computer Science and Engineering Seoul National University Areas of interest • Evolutionary Intelligence • Neural Intelligence • Molecular Intelligence • Computational Learning Theory http://scai.snu.ac.kr/~btzhang/
Danny van Noort School of Computer Science and Engineering Seoul National University Areas of interest • microstructure design and fabrication • DNA-hybridisation • instrumentation • fluorescent microscopy • affinity biosensors • protein chips • DNA computing • cell behaviour http://bi.snu.ac.kr/~danny/
The theory of NP-completeness • Tractable and intractable problems • NP-complete problems
Classifying problems • Classify problems as tractable or intractable. • Problem is tractable if there exists at least one polynomial bound algorithm that solves it. • An algorithm is polynomial bound if its worst case growth rate can be bound by a polynomial p(n) in the size n of the problem
Intractable problems • Problem is intractable if it is not tractable. • All algorithms that solve the problem are not polynomial bound. • It has a worst case growth rate f(n) which cannot be bound by a polynomial p(n) in the size n of the problem. • For intractable problems the bounds are:
Hard practical problems • There are many practical problems for which no one has yet found a polynomial bound algorithm. • Examples: traveling salesperson, 0/1 knapsack, graph coloring, bin packing etc. • Most design automation problems such as testing and routing. • Many networks, database and graph problems.
The theory of NP-completeness • The theory of NP-completeness enables showing that these problems are at least as hard as NP-complete problems • Practical implication of knowing problem is NP-complete is that it is probably intractable ( whether it is or not has not been proved yet) • So any algorithm that solves it will probably be very slow for large inputs
Decision problems • A decision problem answers yes or no for a given input • Examples: • Given a graph G Is there a path from s to t of length at most k? • Does graph G contain a Hamiltonian cycle? • Given a graph G is it bipartite?
Decision problem: Hamiltonian cycle • A Hamiltonian cycle of a graph G is a cycle that includes each vertex of the graph exactly once. • Problem: Given a graph G, does G have a Hamiltonian cycle?
The class P • P is the class of decision problems that are polynomial bounded • Is the following problem in P? • Given a weighted graph G, is there a spanning tree of weight at most B? • The decision versions of problems such as shortest distance, and minimum spanning tree belong to P
The class NP • NP is the class of decision problems for which there is a polynomial bounded verification algorithm • It can be shown that: • all decision problems in P, and • decision problems such as traveling salesman, knapsack, bin pack, are also in NP
The relation between P and NP • P Í NP • If a problem is solvable in polynomial time, a polynomial time verification algorithm can easily be designed that ignores the certificate and answers “yes” for all inputs with the answer “yes”.
The relation between P and NP • It is not known whether P = NP. • Problems in P can be solved “quickly” • Problems in NP can be verified “quickly”. • It is easier to verify a solution than to solve a problem. • Some researchers believe that P and NP are not the same class.
NP-complete problems • A problem A is NP-complete if 1. It is in NP and 2. For every other problem A’ in NP, A’ µ A • A problem A is NP-hard if For every other problem A’ in NP, A’ µ A
Examples of NP-complete problems • Cook’s theorem Satisfiability is NP-complete • This was the first problem shown to be NP-complete • Other problems the decision version of knapsack, the decision version of traveling salesman
The satisfiability problem • First, Conjunctive Normal Form (CNF) will be defined • Then, the Satisfiability problem will be defined
Conjunctive normal form (CNF) • A logical (Boolean) variable is a variable that may be assigned the value true or false (x, y, w and z are Boolean variables) • A literal is a logical variable or the negation of a logical variable (x and y are literals) • A clause is a disjunction of literals ((wxy)and (xy)are clauses)
Conjunctive normal form (CNF) • A logical (Boolean) expression is in Conjunctive Normal Form if it is a conjunction of clauses. • The following expression is in conjunctive normal form: (wxy) (wyz) (xy) (wy)
The satisfiability problem • Is there a truth assignment to the n variables of a logical expression in Conjunctive Normal Form which makes the value of the expression true? • For the answer to be yes, all clauses must evaluate to true • Otherwise the answer is no
The satisfiability problem • x=F, y=F, w=T and z=T is a truth assignment for: (wxy) (wyz) (xy) (wy) • Note that if y=F then y=T • Each clause evaluates to true
The 1994 experiment DNA computer
The 1994 experiment Basic Idea Perform molecular biology experiment to find solution to math problem.
Hamiltonian path • (Proposed 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")? • Does a Hamiltonian path exist, or not?”
Hamiltonian path does exist end city Detroit Chicago Boston start city Atlanta
Hamiltonian path does not exist start city Detroit Chicago Boston end city Atlanta
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).
The paths [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