Computing Inspired by Biology CS851: Biologically-Inspired Computing David Evans University of Virginia http://www.cs.virginia.edu/evans Computer Science Menu • Computing with Biology • Project Presentations • Report on the NSF Advanced Computation Inspired by Biological Processes Workshop 15 April 2003 CS 851 Spring 2003 2 Computing with DNA Leonard Adleman – 2002 Turing Award Winner (for RSA) – Mathematical Consultant for Sneakers 15 April 2003 CS 851 Spring 2003 3 DNA • Sequence of nucleotides: adenine (A), guanine (G), cytosine (C), and thymine (T) • Two strands, A must attach to T and G must attach to C 15 April 2003 CS 851 Spring 2003 G C T A 4 Hamiltonian Path Problem • Input: a graph, start vertex and end vertex • Output: either a path from start to end that touches each vertex in the graph exactly once, or false indicating no such path exists RIC start: CHO end: BWI BWI CHO IAD 15 April 2003 CS 851 Spring 2003 Hamiltonian Path is NP-Complete 5 Encoding The Graph • Make up a two random 4-nucleotide sequences for each city: CHO: RIC: IAD: BWI: CHO1 = ACTT RIC1 = TCGG IAD1 = GGCT BWI1 = GATC CHO2 = gcag RIC2 = actg IAD2 = atgt BWI2 = tcca • If there is a link between two cities (AB), create a nucleotide sequence: A2B1 CHORIC RICCHO gcagTCGG actgACTT Based on Fred Hapgood’s notes on Adelman’s talk http://www.mitre.org/research/nanotech/hapgood_on_dna.html 15 April 2003 CS 851 Spring 2003 6 Encoding The Problem • Each city nucleotide sequence binds with its complement (A T, G C) : CHO: CHO1 = ACTT CHO2 = gcag CHO’: TGAA cgtc RIC: TCGGactg RIC’: AGCCtgac IAD: GGCTatgt IAD’ = CCGAtaca BWI: GATCtcca BWI’ = CTAGaggt • Mix up all the link and complement DNA strands – they will bind to show a path! 15 April 2003 CS 851 Spring 2003 7 Path Binding BWI’ RIC’ IAD’ CHO’ TGAAcgtcCCGAtacaAGCCtgacCTAGaggt gcagGGCTatgtTCGG actgGATC CHOIAD IADRIC RICBWI TCGGactg RIC BWI GATCtcca CHO ACTTgcag IAD GGCTatgt 15 April 2003 CS 851 Spring 2003 8 Getting the Solution • Extract DNA strands starting with CHO and ending with BWI – Easy way is to remove all strands that do not start with CHO, and then remove all strands that do not end with BWI • Measure remaining strands to find ones with the right weight (7 * 8 nucleotides) • Read the sequence from one of these strands 15 April 2003 CS 851 Spring 2003 9 Why don’t we solve NPComplete problems this way? • Speed: shaking up the DNA strands does 1014 operations per second ($400M supercomputer does 1010) • Memory: we can store information in DNA at 1 bit per cubic nanometer • How much DNA would you need? – Volume of DNA needed grows exponentially with input size – To solve ~45 vertices, you need ~20M gallons 15 April 2003 CS 851 Spring 2003 10 DNA-Enhanced PC 15 April 2003 CS 851 Spring 2003 11 Project Presentations Tell a story, don’t read a list. 15 April 2003 CS 851 Spring 2003 12 All Good Talks Tell a Story • Introduce characters (rabbit, fox) • Describe an important problem (fox wants to eat rabbit) • Relate events that resolve the problem (rabbit tells fox about thesis) • A few examples (rabbit tells wolf, ...) • Draw a general conclusion that is supported by your story (thesis doesn’t matter, only advisor) 15 April 2003 CS 851 Spring 2003 13 Introduction • Introduce characters: motivate your work – Why the problem is interesting and important – Place your work in context: how is it different from what others have done • Teaser for your results – why should we listen to the rest of the talk? – Don’t need a full outline, but let audience know enough so they want to stay – Unlike Rabbit story, suspense is not good 15 April 2003 CS 851 Spring 2003 14 Guts • Explain what you did – Don’t be comprehensive – big picture – Use pictures, 1-2 examples, etc. • Convey one technical nugget – Show one neat concrete thing that came out of your work • Analysis – Did your work solve the problem? – What are the important results of your work 15 April 2003 CS 851 Spring 2003 15 Conclusion Summarize your project with one key point. Something your audience didn’t know or believe before your presentation If your audience remembers one thing from your talk, you have succeeded. 15 April 2003 CS 851 Spring 2003 16 Can you do all this in 20 minutes? • Advertisers pay $2.5M for 30 seconds during Superbowl – they must be pretty sure they can tell a compelling story in that time • Seinfeld episode is 22 minutes long • Make your points directly, avoid unnecessary details • Organize your presentation 15 April 2003 CS 851 Spring 2003 17 Some Specific Advice • Average around 2 minutes per slide – No more than 15 slides total • Your target audience is the other students in the class • Use Pictures • Use Humor (but only if its relevant) • Don’t put more text than this on any of your slides! 15 April 2003 CS 851 Spring 2003 18 Practice! • Don’t just make up your slides, think about what you will say with them • Without an audience • In front of friends not familiar with your project • With classmates 15 April 2003 CS 851 Spring 2003 19 Project Presentations • Sign up for a time slot today • If your presentation and course contributions are enough to merit an “A” in the course already, you will not need to write a project report • If not, you will have a second chance: project report 15 April 2003 CS 851 Spring 2003 20 NSF Advanced Computation Inspired by Biological Processes Conference Arlington, VA 7-8 April 2003 Now, I’m going to give an unpracticed, list talk… 15 April 2003 CS 851 Spring 2003 21 NSF Bio-Inspired Computing • Robust Cognitive Computation • Development and Self-Organization • Protection and Immunity – Stephanie Forrest, Computer Immunology • Social Interaction – Eric Bonabeau, Science of “Prey” 15 April 2003 CS 851 Spring 2003 22 Michale Fee, Bell Labs Zebra Finch Singing • Electrodes can measure individual neurons • Temporal firing of neurons corresponds to sections in song – Errors are localized • Redundantly encoded – 20 000 HVC neurons, 600ms song, each neuron is active only 6ms of the song – 200 neurons scattered through HVC know each part of song 15 April 2003 CS 851 Spring 2003 23 Alan Gelperin, Monell Chemical Senses Center • Two types of olfactory systems: – Specialist (moth – male moth can only smell female moth, but very sensitive to it) – Generalist (dog) • Olfaction is 5% of mouse brain, 0.2% of human brain • No noticeable degradation when all of one bulb and 80% of the other is removed! 15 April 2003 CS 851 Spring 2003 24 Theimo Krink University of Aarhus, Denmark • Mass extinction in evolutionary algorithms • End of Permian era (250M years): 96% of all species became extinct • Experiment with mass random extinctions in evolutionary algorithms • Better results without extinction (for toy problems) with extinction 15 April 2003 CS 851 Spring 2003 25 Computer Immunology Stephanie Forrest 15 April 2003 CS 851 Spring 2003 26 Traditional CS vs. Bio-Inspired CS • Traditional Computer Science – Decomposability and Modularity – Explicit management of interactions and exceptions – Focus on performance and correctness • Biology – Survivability and adaptability more important than performance and correctness 15 April 2003 CS 851 Spring 2003 27 Biological Inspiration • Biological systems are incredibly resilient • Most humans survive ~80 years • Before medical advances, most still would survive ~30 years • Operate in a hostile, unpredictable environment • No way to reboot, reinstall operating system, upgrade software, etc. 15 April 2003 CS 851 Spring 2003 28 Immune Systems Lymphocytes recognize pathogens by binding. Proteins have distinctive shapes. Binding is approximate. Sometimes match wrong things (this is why organ transplants get rejected). An Overview of the Immune System. © 1997 Steven A Hofmeyr http://www.cs.unm.edu/~immsec/html-imm/introduction.html 15 April 2003 CS 851 Spring 2003 29 Receptor Diversity • Need to recognize all foreign intruders, but DNA can’t know about all possible intruders – 1016 intruder patterns, 106 self patterns • Gene segments are randomly combined to form different receptors – Can make up to 1015 different receptors (usually have about 108 – 1012 at one time) • How is that enough? – Matching is approximate – Create 100M new lymphocytes every day 15 April 2003 CS 851 Spring 2003 30 How You Make Them 15 April 2003 CS 851 Spring 2003 31 Better Not Kill Yourself Clonal Deletion 15 April 2003 CS 851 Spring 2003 32 Affinity Maturation • The ones that match intruders are produced in quantity • B-cells in bone marrow – most effective cells reproduce more quickly 15 April 2003 An Overview of the Immune System. © 1997 Steven A Hofmeyr CS 851 Spring 2003 33 Can computers do this? • Programs identified by sequences of system calls • Build a database of normal patterns (how?) • Receptors recognize unusual patterns • Enough unusual patterns is considered an intrusion 15 April 2003 CS 851 Spring 2003 34 False Positives • Sequence of system calls not recognized as a normal pattern generated by nonintrusive execution • Do biological immune systems have false positives? Yes – that is what auto-immune diseases are: Multiple Sclerosis – motor nerve cells are non-self Grave’s Disease – thyroid gland is non-self Rhematoid Arthritis – connective tissue is non-self 15 April 2003 CS 851 Spring 2003 35 Fatal Flaw of Intrusion Detection • Might work okay if no one important is using it • Will it work if an attacker knows about it and is deliberately constructing an attack to avoid detection? – Do biological viruses evolve to mimic host proteins? 15 April 2003 CS 851 Spring 2003 36 Social Interaction Eric Bonabeau Swarm Intelligence (The Science of “Prey”) Social Interaction • Swarm Intelligence is a mindset, not a technology – bottom-up approach to controlling and optimizing distributed systems • Optimization isn’t so interesting – think about doing new things 15 April 2003 CS 851 Spring 2003 38 Self-Assembly: Game Game 1: pick a protector and aggressor, keep protector between yourself and aggressor Game 2: pick a protectee and aggressor, keep yourself between aggressor and protectee 15 April 2003 Aggressor Aggressor CS 851 Spring 2003 Protector You You Protectee 39 Charge • Presentations Thursday and next week – Make them story talks not list talks! 15 April 2003 CS 851 Spring 2003 40