42
1 The syllabus revisited • Introduction • Swarm Intelligence • Neural networks • Evolutionary computing Special Topics: DNA computing

1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

Embed Size (px)

Citation preview

Page 1: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

1

The syllabus revisited

• Introduction

• Swarm Intelligence

• Neural networks

• Evolutionary computing

• Special Topics: DNA computing

Page 2: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

Bioinspired ComputingLecture 19-20 (PG)

Self Replicating Automata

DNA Computing

Page 3: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: 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 it’s easy to weasle out of that question …

Page 4: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 5: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 6: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 7: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 8: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 9: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 10: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 11: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 12: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

12

Duality

• The program is used in two different ways:– Translated– Copied

• In one role it’s in command, directing the construction, in the other role it is just data being passively copied

• Interpreted vs. uninterpreted

Page 13: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 14: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 15: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 16: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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!

Page 17: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

17

So how did Adleman do it?• he had 3x1013 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. – Doesn’t replicate/use much of the way DNA works in living organisms (e.g.

involving amino acids/proteins)

Page 18: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

18

Bluffer’s 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.

Page 19: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

19

Bluffer’s 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

Page 20: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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 TATCGGATCGGTATATCCGAVertex 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

Page 21: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

21

The simplified representation

• Note: Chi->Dal would be a completely different string

Page 22: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

22

Using complementarity to link connecting flightsIn 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

Page 23: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

23

Shake the test-tube: generate all possible routes

• complementary sections of strand will bond, yielding products of reaction like:

DNA synthesizer with 1013 copies of each city* and flight to ensure all routes are generated. Still fits in a test-tube!

Page 24: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 25: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

25

DNA manipulations

• Transcription and translation

• Sequence of DNA is transcribed: nRNA

• Polymerase recognizes the region to be transcribed

• mRNA copy translated into protein

Page 26: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

26

DNA manipulations

• Denaturing, annealing, ligation 5’ G-G-A-T-A-G-C-T-G-G-T-A 3’

| | | | | | | | | | | | 3’ C-C-T-A-T-C- G- A-C-C-A-T 5’

5’ G-G-A-T-A-G-C-T-G-G-T-A 3’ 3’ C-C-T-A-T-C- G- A-C-C-A-T 5’

Page 27: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

27

DNA manipulations

5’ G-G-A-T-A-G-C-T-G-G-T-A 3’

3’ C-C-T-A-T-C-

G- A-C-C-A-T 5’

5’ G-G-A-T-A-G-C-T-G-G-T-A 3’

| | | | | | | | | | | |

3’ C-C-T-A-T-C G- A-C-C-A-T 5’

Ligase repairs the discontinuity

Page 28: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

28

DNA manipulations

• Addition of an oligo with a magnetic bead

• Removal of ‘strings’ containing specific ‘substrings’

GCTACGAT

N/S

Page 29: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

29

DNA manipulations

• Gel electrophoresis

• Apply voltage over gel

• The longer the strand, the more difficult it moves

• Stain with fluorescent dye

• Market lanes

Page 30: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 31: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

31

Comments• The initial calculation took approximately one second but Adleman’s

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.

Page 32: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 33: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

33

Parallelism:

DNA strands produce billions of potential answers simultaneously.

Energy efficiency:

A biological system such as a cell can perform 2x1019 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 1010 operations, making it 1010 less energy efficient!

Current status (2)

Page 34: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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

Page 35: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

35

Example: 3-vertex colouring problem

• Some graphs can be coloured using three colours, such that no adjacent vertices have the same colour:

Page 36: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

36

Example: 3-vertex colouring problem

• Others can’t

Page 37: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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 <i,j> ε E do begin

Tr <- -(Tr, rj) Tg <- -(Tg, gj) Tb<- -(Tb, bj)end forT <- merge (Tr, Tg, Tb)end for

Output(detect(T))

Page 38: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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)

Page 39: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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.

Page 40: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

40

Satisfiability problems

• Φ = (~x1 or ~ x16 or x18 ) and (~x3 or ~ x7 or x12 ) ….

• For which combination of xi is Φ true?

• Since i = 1 , … , 20 and a combination of three variables is tested, this is called the 20 variable 3SAT problem

Page 41: 1 The syllabus revisited Introduction Swarm Intelligence Neural networks Evolutionary computing Special Topics: DNA computing

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