Presentation on theme: "1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing."— Presentation transcript:
1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing
Bioinspired Computing Lecture (PG) Self Replicating Automata DNA Computing
3 Are Humans Machines? Up to recently it was possible to avoid the question –Descartes and others were the first to propose that organisms are complicated machines –But have you ever have seen a machine procreate? –Machines were/are quite simple compared to organisms, so its easy to weasle out of that question …
4 A car is simpler than a plant … Today there are machines that can produce other machines But the products seem simpler than the plant –A car plant is a lot more complex than the plant Must a product always be simpler than its producer? Does the description of a factory need more bits of information than the description of the things it turns out? –This would be somewhat reminiscent of the second law of thermodynamics
5 John von Neumann Father of modern computer architecture Did not believe in such law Thought experiment: –haunted warehouse Robot can walk through a warehouse with robot components
6 Robot building robot Do not accept trivial solutions –What is a component? Some form of prefabrication is allowed But a robot switching on another robot is not an interesting solution Trivial self-production. Putting two robots halves together is also trivial self-production Components must be simpler than original robot in some sense
7 Copying of Information The essential problem is copying of information –Not only must a new automaton be constructed –Its program must also be copied –If the program is already present in the new parts, we have trivial self-replication
8 Duality Von Neumann decided to create an automaton constructed from two parts: –A construction unit – able to build components from smaller parts, given the right instructions –An instruction unit - telling the machine how to create a copy of itself Duality –Computer – program –Cell - genome
9 Paradox? The instruction has to contain – one way or another – a full description of the automaton: construction unit and instruction Infinite regress: the instruction needs to contain a copy of the instruction, which needs to contain a copy of the instruction, etc.
10 Preformationism This problem was recognised in biology in Descartes time Preformationism vs epigenesis –Preformationism holds that an embryo or miniature pre-exists in the egg or semen –Embryos would develop in true adults, which are somehow encased to each other –Individuals formed by God at creation –Also here: infinite regress
11 Solving the Paradox The instruction does not need to contain itself! The construction unit creates a copy machine, which can copy the instruction Construction of a new robots: –Create a copy of the instruction in the old robot in a copy machine provided by the construction unit –Hand it over to the construction unit of the new robots
12 Duality The program is used in two different ways: –Translated –Copied In one role its in command, directing the construction, in the other role it is just data being passively copied Interpreted vs. uninterpreted
13 Correspondence in living cell The genome runs the cell –Prescribes which proteins must be produced –Message, code gets translated into sequences of aminoacids, resulting enzymes are machine tools of construction unit –Some enzymes are replicases, corresponding to the copying unit A virus replicates itself, not by specifying the construction of its own copying unit, but by commandeering the unit built by another program –Can show that there will never be a universal system to detect all computer viruses
14 DNA computers "the smallest biological computing device" (Guinness World Records) Biochemical "nanocomputers" already exist in nature; they are manifest in all living things. But they're largely uncontrollable by humans. We cannot, for example, program a tree to calculate the digits of pi! The idea of using DNA to store and process information started in 1994 when a California computer scientist, Leonard Adleman, used DNA in a test tube to solve a simple mathematical problem: (a variant of) the travelling salesman problem.
15 The problem: Directed Hamiltonian Path Given a graph with directed edges, find a Hamiltonian Path, i.e. a path which starts at one node, finishes at another, and goes through all other nodes exactly once. Variant of the travelling salesman problem where all roads are the same length: A salesman wants to travel over a fixed set of roads between N different towns without ever coming back to a town he has already visited. Find a sequence of fights which goes from Fresno to Boston landing at all other airports exactly once.
16 A P problem is one which can be solved in polynomial time, basically at a rate which is some fixed power of N, where N is the size of the problem. An NP hard problem is one for which no one knows an algorithm which does not take exponential time (2 or some other power of a number > 1). Methods taking exponential operations can work out whether or not such a route exists and report it if it does, but even for small problems they take too much time to be practical. How hard is it? Any NP problem can be transformed to another in P time – so solve one efficiently and can solve any NP problem efficiently!
17 So how did Adleman do it? he had 3x10 13 copies of each of 20 or so molecules, so about six hundred million million molecules at his service. This was like having six hundred million million (albeit very rudimentary) computers working on the problem at the same time Parallel approach –Like using lots of passengers to find Hamiltonian path in flight network ingenious set of steps, using recombinant DNA technology, to filter out all except the strands representing a Hamiltonian path. Adleman uses DNA molecules for their computational ability alone. As a part of DNA's replication mechanism, a strand can recognize complementary strands or parts of strands by bonding to them. This is the only computation these molecules can perform, but it turns out to be enough. –Doesnt replicate/use much of the way DNA works in living organisms (e.g. involving amino acids/proteins)
18 Bluffers guide to DNA DNA (Deoxyribonucleic acid) is the molecular basis of genetics. For our purposes, the following features are important. A DNA molecule is made of two intertwined, parallel strands (the double helix'. Each strand has the following structure: p p p p = phosphate.. \ / \ / \ / \ /... s s s s s = sugar | | | b b b b b = base where each b can be any one of four bases: = adenine, = thymine, = cytosine, = guanine. Two consecutive s-p bonds must occur at distinct places on the s molecule: one at the 3' (``three-prime'') position and one at the 5', so each strand has a 3'-end and a 5'-end, and so strands can be systematically oriented. We will write when the strand is being read from the 3'-end to the 5'-end, and when the strand is being read the opposite way, that is, from the 5'-end to the 3'-end.
19 Bluffers guide contd. The two intertwined strands in a DNA molecule have opposite orientations, and complementary base sequences. This means that opposite every on one strand is a on the other, and opposite every is an. Likewise opposite every on one strand is a on the other, and opposite every is a. A typical stretch of the DNA molecule looks like: Usually abbreviated to
20 Encoding vertices and edges with DNA strands Adleman assigned to each vertex, and to each link, a single DNA strand 20 bases long. E.g. Vertex 2 TATCGGATCGGTATATCCGA Vertex 3 GCTATTCGAGCTTAAAGCTA Vertex 4 GGCTAGGTACCAGCATGCTT Link 2 ! 3 GTATATCCGAGCTATTCGAG - Note that Link 2 ! 3 is made of the last half of 2 plus the first half of 3. Link 3 ! 4 CTTAAAGCTAGGCTAGGTAC He used a slightly different representation for start and finish nodes, which we will ignore here. We will use a simplified representation with just 8 bases in rest of these slides
21 The simplified representation Note: Chi->Dal would be a completely different string
22 Using complementarity to link connecting flights In the experiment, strands representing the flights are mixed in a test tube with the complements to the strands representing the airports. If Atlanta* represents the complementary strand, etc., this gives The test-tube then holds
23 Shake the test-tube: generate all possible routes complementary sections of strand will bond, yielding products of reaction like: DNA synthesizer with copies of each city* and flight to ensure all routes are generated. Still fits in a test-tube!
24 Using recombinant chemistry to extract the solution In Adleman's Hamiltonian path experiment (involving seven ``airports'' and fifteen ``flights'') the yield of the first mixing included molecules like But also like: in which an airport is visited more than once. Also the sequences shown here visit only three of the seven airports, and none of them start with Fresno or end with Boston.
25 DNA manipulations Transcription and translation Sequence of DNA is transcribed: nRNA Polymerase recognizes the region to be transcribed mRNA copy translated into protein
28 DNA manipulations Addition of an oligo with a magnetic bead Removal of strings containing specific substrings GCTA CGAT N/S
29 DNA manipulations Gel electrophoresis Apply voltage over gel The longer the strand, the more difficult it moves Stain with fluorescent dye Market lanes
30 Using recombinant chemistry to extract the solution (contd) A sequence of steps (the chemical details are given in Adleman's article) uses recombinant DNA technology to eliminate All molecules which do not start with Fresno* and do not end with Boston*. –Polymerase chain reaction All molecules which do not contain exactly 7 airports (i.e. all molecules which do not have a certain exact length). –Gel Electrophoresis All molecules which contain a repeated airport. –Affinity purification If there is anything left, it must be molecules encoding a path that goes from Fresno to Boston visiting each of the other airports exactly once: the graph has a Hamiltonian path. In our example there is exactly one such path, which can be read off by analysis of the yield of the complete experiment –Graduated PCR It is interesting that even though this whole procedure is completely artificial, the ``technology'' which permits the various steps comes from the harnessing of the enzymes used by cells themselves to replicate, to transcribe and when necessary to destroy DNA.
31 Comments The initial calculation took approximately one second but Adlemans extrapolation was performed over a period of a week. Method scales in time, but not space – needs exponential amount of DNA – for 200 cities DNA would weigh more than the earth! Stochastic, so possible problems of compounding errors There are many advantages of DNA Computing such as performing millions of operations simultaneously, generating a complete set of potential solutions, conducting large parallel searches, efficiently handling massive amounts of working memory. None of the researchers have been able to redo the experiment done by Adleman in the wet lab. The problem is because of the underlying assumption that the biological operations are error-free. Adleman talked of a week of work in lab, but tuning such an experiment could take one month work. Many researchers thought of implementing the idea on DNA Computing in actual computers but there are advantages and disadvantages and because of the technological issues DNA Computers are not in use yet. DNA Computers have amazing property of parallel computing, incredibly light weight, consumes low power and solves complex problems quickly. DNA Computers have a great disadvantage of time, they are occasionally slower and are not reliable.
32 Current status DNA computers can perform rudimentary functions. DNA computers are programmable, but not universal. Speed and size: DNA computers surpass conventional computers: The DNA molecule found in the nucleus of all cells can hold more information in a cubic centimeter than a trillion music CDs. A spoonful of DNA "computer soup" contains 15,000 trillion computers.
33 Parallelism: DNA strands produce billions of potential answers simultaneously. Energy efficiency: A biological system such as a cell can perform 2x10 19 power operations using one joule of energy (the amount of energy needed to burn a 100-watt light bulb for a second), while a supercomputer only manages operations, making it less energy efficient! Current status (2)
34 Formalization: filtering models Adleman –Separate(T,S). Given a set T and a subset S, create two new sets +(T,S), -(T,s) –Merge (T1, T2, …, Tn), Given set T1, T2,.. Tn, create their union –Detect(T). Given a set T, return true if T is nonempty, otherwise return false
35 Example: 3-vertex colouring problem Some graphs can be coloured using three colours, such that no adjacent vertices have the same colour:
36 Example: 3-vertex colouring problem Others cant
37 Algorithm Input(T) for I = 1 to n do begin Tr <- +(T, ri) and Tbg <- -(T,ri) Tb <- +(T, ri) and Tg <- -(T,ri) for all j such that ε E do begin Tr <- -(Tr, rj) Tg <- -(Tg, gj) Tb<- -(Tb, bj) end for T <- merge (Tr, Tg, Tb) end for Output(detect(T))
38 DNA solution of the maximal clique problem. The maximal clique problem has been solved by means of molecular biology techniques. A pool of DNA molecules corresponding to the total ensemble of six-vertex cliques was built, followed by a series of selection processes. The algorithm is highly parallel and has satisfactory fidelity. This work represents further evidence for the ability of DNA computing to solve NP-complete search problems. (Science 1997)
39 Solution of a 20-Variable 3-SAT Problem on a DNA Computer A 20-variable instance of the NP-complete three- satisfiability (3-SAT) problem was solved on a simple DNA computer. The unique answer was found after an exhaustive search of more than 1 million (220) possibilities. This computational problem may be the largest yet solved by nonelectronic means. Problems of this size appear to be beyond the normal range of unaided human computation. (Science 2002) –3SAT: given a set of triples of propositional variables, each representing a disjunction, find whether there is an assignment of T/F to the variables to make all the disjunctions true.
40 Satisfiability problems Φ = (~x 1 or ~ x 16 or x 18 ) and (~x 3 or ~ x 7 or x 12 ) …. For which combination of x i is Φ true? Since i = 1, …, 20 and a combination of three variables is tested, this is called the 20 variable 3SAT problem
41 The smallest biological computing device" (Guinness World Records 2003) Think of DNA as software, and enzymes as hardware. Put them together in a test tube. The way in which these molecules undergo chemical reactions with each other allows simple operations to be performed as a byproduct of the reactions. The scientists tell the devices what to do by controlling the composition of the DNA software molecules. It's a completely different approach to pushing electrons around a dry circuit in a conventional computer. (National Geographic) 330 trillion operations per second, the single DNA molecule that provides the computer with the input data also provides all the necessary fuel. programmable, but not universal –can only answer yes or no –E.g. can check whether a list of zeros and ones has an even number of ones. The computer cannot count how many ones are in a list