1 / 29

David Evans cs.virginia/~evans

Class 38: Fixed Points and Biological Computing. David Evans http://www.cs.virginia.edu/~evans. CS200: Computer Science University of Virginia Computer Science. Menu. Making Recursive Definitions without define Computing with DNA How Biology Programs. Lambda Calculus.

judah
Télécharger la présentation

David Evans cs.virginia/~evans

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Class 38: Fixed Points and Biological Computing David Evans http://www.cs.virginia.edu/~evans CS200: Computer Science University of Virginia Computer Science

  2. Menu • Making Recursive Definitions without define • Computing with DNA • How Biology Programs CS 200 Spring 2002

  3. Lambda Calculus term ::= variable |term term | (term)|  variable .term -reduction (renaming) y. M v. (M [yv]) where v does not occur in M. -reduction (substitution) (x. M)N   M [ xN ] CS 200 Spring 2002

  4. Lambda Calculus is a Universal Computer z z z z z z z z z z z z z z z z z z z z ), X, L ), #, R (, #, L 2: look for ( 1 • Read/Write Infinite Tape • Mutable Lists • Finite State Machine • Numbers to keep track of state • Processing • Way of making decisions (if) • Way to keep going Start (, X, R HALT #, 0, - #, 1, - Finite State Machine We have this, but we cheated using  to make recursive definitions! CS 200 Spring 2002

  5. Fixed Point Theorem • The fixed point of a function f, is a value x such that f(x) = x • If we can find the fixed point of our Turing Machine simulator, then we have something that keeps going until it halts! fixed-point TM input   result of running TM on input CS 200 Spring 2002

  6. All Lambda Calculus Terms have Fixed Points! • For any Lambda Calculus term F, there exists a Lambda Calculus Term X such thatFX = X • Proof: LetW =  x.F(xx)andX = WW. X = WW = ( x.F(xx))W   F (WW) = FX We can make F a parameter! CS 200 Spring 2002

  7. Why of Y? • Y is  f. WW: Y   f. ( x.f (xx))( x. f (xx)) • Y calculates a fixed point of any lambda term! • Hence: we don’t need define to do recursion! • Works in Scheme too - check the “lecture” from the Adventure Game CS 200 Spring 2002

  8. Lambda Calculus is Turing Universal! • All you need is beta-reduction and you can compute anything • This is just one way of representing numbers, if, etc. – many others are possible • Integers, booleans, if, while, +, *, =, <, classes, define, inheritance, etc. are for wimps! Real programmers only use . CS 200 Spring 2002

  9. Models of Computation • Mechanical: Turing Machine • Symbolic: Lambda Calculus • Next: Biological CS 200 Spring 2002

  10. Computing with DNA Leonard Adleman (Mathematical Consultant for Sneakers), 1995 CS 200 Spring 2002

  11. DNA G • 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 C A T CS 200 Spring 2002

  12. 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 Hamiltonian Path is NP-Complete IAD CS 200 Spring 2002

  13. Encoding The Graph • Make up a two random 4-nucleotide sequences for each city: CHO: CHO1 = ACTT CHO2 = gcagRIC: RIC1 = TCGG RIC2 = actg IAD: IAD1 = GGCT IAD2 = atgt BWI: BWI1 = GATC BWI2 = tcca • If there is a link between two cities (AB), create a nucleotide sequence: A2B1 CHORIC gcagTCGG RICCHO actgACTT Based on Fred Hapgood’s notes on Adelman’s talk http://www.mitre.org/research/nanotech/hapgood_on_dna.html CS 200 Spring 2002

  14. Encoding The Problem • Each city nucleotide sequence binds with its complement (A  T, G  C) : CHO: CHO1 = ACTT CHO2 = gcag CHO’: TGAAcgtcRIC: 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! CS 200 Spring 2002

  15. Path Binding BWI’ CTAGaggt RIC’ AGCCtgac IAD’ CCGAtaca CHO’ TGAAcgtc gcagGGCT CHOIAD atgtTCGG IADRIC actgGATC RICBWI TCGGactg RIC BWI CHO GATCtcca ACTTgcag IAD GGCTatgt CS 200 Spring 2002

  16. 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 CS 200 Spring 2002

  17. Why don’t we solve NP-Complete 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 CS 200 Spring 2002

  18. DNA-Enhanced PC CS 200 Spring 2002

  19. How does Nature program? CS 200 Spring 2002

  20. How Big is the Make-a-Human Program? • 3 Billion Base Pairs • Each nucleotide is 2 bits (4 possibilities) • 3 B pairs * 1 byte/4 pairs = 750 MB 1 CD ~ 650 MB CS 200 Spring 2002

  21. Encoding is Redundant • DNA encodes proteins • Every sequence of 3 base pairs one of 20 amino acids (or stop codon) • 21 possible codons, but 43 = 64 possible values • So, really only 750MB * (21/64) ~ 250 MB CS 200 Spring 2002

  22. People are almost all the Same • Genetic code for 2 humans differs in only 2.1 million bases • 4 million bits = 0.5 MB CS 200 Spring 2002

  23. How big is .5 MB? • 1/3 of a floppy disk • <1% of Windows 2000 • ~22 times the size of the PS6 adventure game code CS 200 Spring 2002

  24. Is DNA Really a Programming Language? CS 200 Spring 2002

  25. Nerdy Linguist’s Definition A description of pairs (S, M), where S stands for sound, or any kind of surface forms, and M stands for meaning. A theory of language must specify the properties of S and M, and how they are related. CS 200 Spring 2002

  26. Programming Language(Definition from Lecture 1) A description of pairs (S, M), where S stands for sound, or any kind of surface forms, and M stands for meaning intended to be read and written by humans and processed by machines. CS 200 Spring 2002

  27. Stuff Programming Languages are Made Of • Primitives • Means of Combination • Means of Abstraction codons (sequence of 3 nucleotides that encodes a protein) ?? Morphogenesis? Not well understood (by anyone). This is where most of the expressiveness comes from! DNA itself – separate proteins from their encoding Genes – group DNA by function (sort of) Chromosomes – package Genes together Organisms – packages for reproducing Genes CS 200 Spring 2002

  28. Biology is (becoming) a subfield of Computer Science • Biological mechanisms are mostly understood (proteomics still has a way to go) • What is not understood is how those are combined to create meaning CS 200 Spring 2002

  29. Charge • Noon (now): President Casteen’s State of the University in Old Cabal Hall • Extra credit question: “Given that Computer Science is the most liberal art, how come UVa College students are not able to major in Computer Science?” • Friday: review • Chance to ask questions about anything you want CS 200 Spring 2002

More Related