IT 468 – Natural Computing
Total Page:16
File Type:pdf, Size:1020Kb
July 2020 IT 468 – Natural Computing Instructor Manish K Gupta (http://www.mankg.com) Room 2209 Faculty Block 2 mankg [at] daiict.ac.in Phone: +91-79-68261549 WhatsApp:+91-9898512703 Lab: http://www.guptalab.org Overview In last 60 years Information and Communication Technology (ICT) has had a great impact on our society. The most profound and accelerated impact of ICT can be seen in the last decade in the form of cell phones, connected computers and Internet. We even have a virtual currency. ICT is an interdisciplinary discipline combining IT (Information Technology) and CT (Communication Technology). IT has its root in computer science and CT has its root in theory of communication. Both the fields now can be seen as two sides of the same coin. Both deals with information, in IT we store (send information from now to then) and manipulate the information and in CT we send information from here to there (communicate). The mathematical principles of ICT lie in theoretical computer science (Turing machine) and information and coding theory (work of Shannon and Hamming). Realization of ICT is via logic gates and circuits in the area of Electronics and VLSI. If you look around the Nature around you many times you feel: What are the principles of Natural ICT? Can we use these principles to create Natural ICT engineering? We are fortunate enough that due to advancement of many fields we are now in a position to talk about Natural ICT. There are three main areas of Natural ICT: 1. ICT inspired by Nature 2. ICT by Natural objects 3. Nature as ICT (natural information processing) Natural ICT includes the following new and emerging areas: Mathematics of Natural Information Processing Natural Computing Natural Engineering (Synthetic Biology) Natural Algorithms Natural Communication Natural Signal Processing Naturotronics- Natural Logic Gates and Circuits Natural Programming Languages (Molecular Programming) © Manish K Gupta, 2010-2020 Visit us at http://www.guptalab.org Modified on July 20, 2020 Page 1 of 5 July 2020 Natural Networks (Nano-scale Networks, Complex Networks, Bi-Fi) Natural Storage (DNA data storage) Natural Logic Natural Robotics (Molecular) Natural Security and Cryptography Natural Coding and Information Theory Thus, Natural computing is a recent branch of computer science where we are learning from the nature on how to compute with natural living things such as DNA, protein, bacteria, etc. We want to solve complex problems with the help of DNA computer or bacterial computer or chemical computer. We want to store our data on such living things. So we require molecular/natural algorithms and natural error control. We can also divide principles of computing based on physics. On one side we have computing systems based on classical physics and on the other hand we have another emerging model of quantum computing based on quantum physics. Quantum computing and Bio-molecular computing are also considered as a part of natural computing. It turns out that nature itself is a computer, computing many things from billions of years. In 1994 a cryptographer Adleman did the first (breakthrough) engineering experiment by showing how to solve Hamiltonian path problem using DNA computer. Since then many more experiments have been done and many new natural computing models have been discovered. One of the potential applications of DNA computer is Doctor in a cell by 2050. In 2004, Shapiro demonstrated a DNA computer capable of diagnosing the cancer and releasing the drug. In July 2009, scientists have shown that a bacterial computer can also solve simple Hamiltonian path problem. In June 2011, Erik Winfree has built the largest DNA computer for finding square root. In July 2012, Martin Fussenegger’s group has built single cell mammalian biocomputers. Now we also have Monkey computing, Elephant computing and so on… This course is useful for computer science students and to anyone who want to learn about natural ICT. Tentative Course Content The course provides basic overview of natural ICT and it covers basic notation of biochemistry and molecular biology that are needed to learn about DNA computing. Basic models of computing such as finite automata (FA), push-down automata (PDA), linear bounded automata (LBA) and Turing machine (TM) with corresponding languages and their relationships, Quantum Turing machine (QTM) and quantum languages, computation by circuits, thermodynamics of computation, post systems, rewriting systems, L-systems, algorithmic botany, cellular automata, block cellular automata, Adleman experiment with DNA computer, different models of DNA computation (Lipton model, Sticker model, © Manish K Gupta, 2010-2020 Visit us at http://www.guptalab.org Modified on July 20, 2020 Page 2 of 5 July 2020 DNA splicing model, DNA self-assembly, hair pin model) and complexity problems such as integer factorization, basic arithmetic etc. Overview of algorithmic self-assembly (ASA), algorithms for natural security and cryptography, Experiments in self-assembly, DNA origami (2D and 3D), Error-correction in self-assembly, Applications, Bacterial computers and data storage, Peptide computing, Membrane computing, Chemical computing, Strand Displacement Systems. Some Open Problems, Popular Software Tools: Xgrow, XTile, CadNano, Sarse, Tiamat, programming language for designing and simulating DNA circuits, playing games with DNA computers (MAYA-I & II), Synthetic biology, Morphological (Liquid) Computing. Expected Outcome The students after completing the course will get a basic overview of the emerging area of Natural ICT and other natural computing models such as DNA computing, bacterial computing, Membrane computing and Chemical computing. They will get an insight on how to visualize various natural processes as a part of natural computing and they will learn the engineering aspects of natural computing. It exposes them the natural algorithms for solving various problems using natural objects such as DNA, protein, bacteria etc and they will learn about the various available tools such as Xgrow, Xtile, CadNano, Sarse, Tiamat. They will also learn about the natural error correction schemes. Projects in the course provide firsthand research opportunities in niche and hot area to the students. There are many universities offering Master degree in Natural computing. Textbook There is no specific textbook, but the following books will be helpful. We will provide many additional materials such as videos, handouts etc during the course. There is no need to purchase any book. 1. Martyn Amos, Theoretical and Experimental DNA Computation, 2005, Springer, ISBN 3-540-65773-8 2. Gheorge Paun, Grzegorz Rozenberg and Arto Salomaa, DNA Computing-New Computing Paradigms, 1998, Springer, ISBN 3-540-64196-3 3. Sudheer Sahu and John H. Reif, DNA based self-assembly and Nan robotics, 2008 4. Cris Calude and Gheorghe Paun, Computing with Cells and Atoms: An Introduction to Quantum, DNA and Membrane Computing, 2000, CRC 5. Zoya Ignatova, Israel Martinez-Perez and Karl-Heinz Zimmermann, DNA Computing Models, Springer, 2008 6. Ehrenfeucht, T. Harju, I. Petre, D.M. Prescott and G. Rozenberg, Computing in Living Cells: Gene Assembly in ciliates, 2004, Springer 7. The Oxford handbook of membrane computing Paun G., Rozenberg G., Salomaa A., Oxford University Press, Inc., New York, NY, 2010. 696 pp. © Manish K Gupta, 2010-2020 Visit us at http://www.guptalab.org Modified on July 20, 2020 Page 3 of 5 July 2020 8. Computing with cells: advances in membrane computing, Frisco P., Oxford University Press, Inc., New York, NY, 2009. 336 pp. 9. Biological Computation (Chapman & Hall/CRC Mathematical & Computational Biology) by Ehud Lamm and Ron Unger, 2011 10. Jian-Qin Liu and Katsunori Shimohara, Biomolecular Computation for Biotechnology, 2007, ISBN-10: 1-59693-014-4, Artech House 11. Rozenberg, Grzegorz; BÃock, Thomas; Kok, Joost N. (Eds.), Handbook of Natural Computation, Springer, 2010 12. Christopher Dwyer and Alvin Lebeck, Introduction to DNA Self-Assembled Computer Design, December 2007, Artech House Publishers 13. John A. Pelesko, Self-Assembly: The Science of Things That Put Themselves Together, May 21, 2007, CRC Press. 14. Natalio Krasnogor, Steve Gustafson, David A. Pelta and Jose L. Verdegay, SYSTEMS SELF-ASSEMBLY, Hardbound, 304 pages, publication date: MAR- 2008 ISBN-13: 978-0-444-52865-0 ISBN-10: 0-444-52865-2, ELSEVIER 15. Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications (Chapman & Hall/CRC Computer & Information Science Series) [Hardcover] Leandro Nunes de Castro (Author) 16. Artificial Immune Systems: A New Computational Intelligence Approach [Paperback] Leandro Nunes de Castro (Author), Jonathan Timmis (Author) 17. Computation in Cells and Tissues: Perspectives and Tools of Thought R. Paton (Editor), Hamid Bolouri (Editor), W. Michael L. Holcombe (Editor), J. Howard Parish(Editor), Richard Tateson (Editor) 18. Self-organizing Software: From Natural to Artificial Adaptation Giovanna di Marzo Serugendo (Editor), Marie-Pierre Gleizes (Editor), Anthony Karageorgos (Editor) 19. Computability of the DNA and Cells: Splicing and Membrane Computing [Hardcover] Andrei Paun (Author) 20. Natural Computing in Computational Finance, Brabazon, Anthony; O'Neill, Michael; Maringer, Dietmar G. (Eds.) 1st Edition., 2010, 241 21. Prusinkiewicz, Przemyslaw and Aristid Lindenmayer, The Algorithmic Beauty of Plants, Springer 1990 22. Meinhardt, Hans; Przemyslaw Prusinkiewicz, Deborah R. Fowler, The Algorithmic Beauty of Sea Shells (3rd edition ed.), 2003 23. Mark Distribution (Tentative) / Grading Policy Assignments - 10% Mid Term -30% Scribe Notes-20% Project or Final Exam -40 % (one of them is optional) © Manish K Gupta, 2010-2020 Visit us at http://www.guptalab.org Modified on July 20, 2020 Page 4 of 5 July 2020 Project Policy Project has to be done in 3 parts. Part-1 (5%): Submission of 1 page abstract via LMS consisting of problem formulation. It is due in approximately 4 weeks after the start of the course. Part-2 (5%): Mid progress report (of 1 page) in another 4 weeks after part-1. Part-3 (30%): Final user manual and demo of the s/w towards the 18th week. Submission date of software to LMS will be announced later.