software architecture iii leveraging nature to build
play

Software Architecture III Leveraging Nature to Build Better Systems - PowerPoint PPT Presentation

Software Architecture III Leveraging Nature to Build Better Systems Yuriy Brun http://www.cs.washington.edu/homes/brun/ Why Nature? Nature Computes Tiles Tile Software Conclusions Outline 1 Why Nature? 2 Using Nature to Compute 3 Tiles 4


  1. Software Architecture III Leveraging Nature to Build Better Systems Yuriy Brun http://www.cs.washington.edu/homes/brun/

  2. Why Nature? Nature Computes Tiles Tile Software Conclusions Outline 1 Why Nature? 2 Using Nature to Compute 3 Tiles 4 Tile Software 5 Conclusions Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 2 / 62

  3. Why Nature? Nature Computes Tiles Tile Software Conclusions Outline 1 Why Nature? 2 Using Nature to Compute 3 Tiles 4 Tile Software 5 Conclusions Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 3 / 62

  4. Why Nature? Nature Computes Tiles Tile Software Conclusions Systems in Nature Resilient to death malfunction malicious agents Self-healing Fault-tolerant Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 4 / 62

  5. Why Nature? Nature Computes Tiles Tile Software Conclusions In Contrast: Software Less-complex systems Fault-tolerance is “intelligently designed” Not expected to recover from catastrophes Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 5 / 62

  6. Why Nature? Nature Computes Tiles Tile Software Conclusions Genetic Algorithms Have been used to: Design of fighter-planes airfoils [HO03] Train scheduling Automatic software bug patching [WNGF09] Data mirroring [RKCM09] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 6 / 62

  7. Why Nature? Nature Computes Tiles Tile Software Conclusions Neural Networks Have been used to: Classification Sales forecasting / marketing Medical diagnoses [SKR01] Credit evaluation [Wes00] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 7 / 62

  8. Why Nature? Nature Computes Tiles Tile Software Conclusions Distributed Robotics Have been used to: Search and rescue scenarios [MEB + 10] Vacuum design Sensor networks [AAC + 00] Education Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 8 / 62

  9. Why Nature? Nature Computes Tiles Tile Software Conclusions Robofish Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 9 / 62

  10. Why Nature? Nature Computes Tiles Tile Software Conclusions Outline 1 Why Nature? 2 Using Nature to Compute DNA Computing Bacteria Gates Tile Assembly Model 3 Tiles 4 Tile Software 5 Conclusions Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 10 / 62

  11. Why Nature? Nature Computes Tiles Tile Software Conclusions Leonard M. Adleman “The manipulation of DNA to solve mathematical problems is redefining what is meant by ‘computation’ .” Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 11 / 62

  12. Why Nature? Nature Computes Tiles Tile Software Conclusions A Bit of History Adleman’s research RSA public key cryptosystem [RSA78] Computer viruses [Adl90] HIV modeling [AW93] DNA computation [Adl94] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 12 / 62

  13. Why Nature? Nature Computes Tiles Tile Software Conclusions DNA Turing Machine [Adl98] A, T, C, and G can encode information A DNA strand is a data-storing tape Enzymes can encode states and rules for manipulating the tape Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 13 / 62

  14. Why Nature? Nature Computes Tiles Tile Software Conclusions Hamiltonian Path Problem [Adl98] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 14 / 62

  15. Why Nature? Nature Computes Tiles Tile Software Conclusions Hamiltonian Path Problem with DNA [Adl98] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 15 / 62

  16. Why Nature? Nature Computes Tiles Tile Software Conclusions Implementing the DNA Algorithm Conventional algorithm DNA algorithm 1. Generate a set of random paths Mix city and flight strands 2. Select paths that start and end PCR at proper cities 3. Select proper-length paths Electrophoresis gel 4. Select paths that visit each city Watson & Crick pairing 5. The remaining paths represent PCR, electrophoresis, and se- the solution quencing Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 16 / 62

  17. Why Nature? Nature Computes Tiles Tile Software Conclusions 3-SAT With DNA In 2002, Braich et al. [BCJ + 02] developed a DNA computer to solve 20 -variable 3 - SAT problems. Worked most of time Error rates grew proportionally to the number of variables A few other models emerged Sticker model Tile assembly model more on this later. . . Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 17 / 62

  18. Why Nature? Nature Computes Tiles Tile Software Conclusions Protein Production Control BioBricks [KS97] Controlling what proteins a cell produces Basis for the International Genetically Engineered Machine (iGEM) competition Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 18 / 62

  19. Why Nature? Nature Computes Tiles Tile Software Conclusions DNA Gates Drug mRNA 2 Drug Drug Drug mRNA 1 mRNA 1 m Drug R N A Drug 2 Drug Drug Binary gates that act on DNA-strand inputs [BG06] Previous work used enzymes [BGBD + 04] Later work at Caltech improved the design [QW08] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 19 / 62

  20. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 20 / 62

  21. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 20 / 62

  22. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 21 / 62

  23. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 21 / 62

  24. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 22 / 62

  25. Why Nature? Nature Computes Tiles Tile Software Conclusions Self-Assembly in Nature Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 22 / 62

  26. Why Nature? Nature Computes Tiles Tile Software Conclusions Tile Assembly Model [Win98b] 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 #0 #0 #1 #1 #2 #2 #3 #3 #4 #4 #5 #5 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Tile: a square with labels 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 #0 #0 #1 #1 #2 #2 #3 #3 0 0 1 1 0 0 0 1 1 Each label has a strength 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 #0 0 #1 0 #2 1 #0 #1 #2 0 0 0 0 0 0 0 0 0 0 0 Tiles attach if labels are 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 strong enough 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 #0 #0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 1 Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 23 / 62

  27. Why Nature? Nature Computes Tiles Tile Software Conclusions Tile Assembly Model [Win98b] 0 0 0 1 0 0 0 0 0 1 0 0 1 #0 #0 #1 #1 #2 #2 #3 #3 #4 #4 #5 #5 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Tile: a square with labels 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 #0 #0 #1 #1 #2 #2 #3 #3 0 0 1 1 0 0 0 1 1 Each label has a strength 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 #0 0 #1 0 #2 1 #0 #1 #2 0 0 0 0 0 0 0 0 0 0 0 Tiles attach if labels are 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 strong enough 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 #0 #0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 1 Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 23 / 62

  28. Why Nature? Nature Computes Tiles Tile Software Conclusions Tiles Can: Assemble linear polymers [ACG + 01] squares [RW00, AGHM02, ACG + 02] computable shapes [SW07] Count [Win98a, Moi05, BRW05] Compute Binomial Coefficients [Win98a, RPW04] Emulate Turing Machines [Win98b] Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 24 / 62

  29. Why Nature? Nature Computes Tiles Tile Software Conclusions Outline 1 Why Nature? 2 Using Nature to Compute 3 Tiles Adding and Multiplying Solving 3-SAT 4 Tile Software 5 Conclusions Yuriy Brun (brun@cs.washington.edu) From Nature to Software CSEP 504 Winter 2010 25 / 62

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend