# IT468/F2011

### From OpenWetWare

## IT -468 Introduction to Natural Computing

**Instructor**

Room 2209 Faculty Block 2 DA-IICT Gandhinagar | mankg [at] computer.org | Phone: 91-79-30510549 |

** Course Wiki
**

**Overview**

In the last 50 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 lies 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
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:

- ICT inspired by Nature
- ICT by Natural objects
- Nature as ICT (natural information processing)

ICT inspired by Nature, in particular, computing inspired by nature has played a leading
role in developing many new algorithms for solving engineering problems. The second area
of ICT by Natural objects is quite recent and dates back to 1987 when Thomas Head
proposed mathematical framework for computing by biological objects. However the real
breakthrough came in 1994, when Adleman a cryptographer actually solved a problem in
graph theory with bunch of DNA molecules in wet lab, giving a birth to DNA computing.
The third area is most challenging where we want to discover the principles of how nature is
doing ICT ? All these three areas have tremendous potential for applications. Natural ICT
includes the following new and emerging areas:

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. Recently in July 2009, scientists have shown that a bacterial computer can also solve simple Hamiltonian path problem. More recently in June 2011, Erik Winfree has built the largest DNA computer for finding square root.

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, DNA splicing model, DNA self assembly, hairpin 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).

**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 first hand research opportunities in niche and hot area to the students. There are many universities offering Master degree in Natural computing.

**Text Book**

There is no specific text book but the following books will be helpful. We will provide many additional material such as videos, handouts etc during the course.

- Martyn Amos, Theoretical and Experimental DNA Computation, 2005, Springer, ISBN 3-540-65773-8
- Gheorge Paun, Grzegorz Rozenberg and Arto Salomaa, DNA Computing-New Computing Paradigms, 1998, Springer, ISBN 3-540-64196-3
- Sudheer Sahu and John H. Reif, DNA based self assembly and Nan robotics, 2008
- Cris Calude and Gheorghe Paun, Computing with Cells and Atoms: An Introduction to Quantum, DNA and Membrane Computing, 2000, CRC
- Zoya Ignatova, Israel Martinez-Perez and Karl-Heinz Zimmermann, DNA Computing Models, Springer, 2008
- Ehrenfeucht, T. Harju, I. Petre, D.M. Prescott and G. Rozenberg, Computing in Living Cells: Gene Assembly in ciliates, 2004, Springer
- The Oxford handbook of membrane computing Paun G., Rozenberg G., Salomaa A., Oxford University Press, Inc., New York, NY, 2010. 696 pp.
- Computing with cells: advances in membrane computing, Frisco P., Oxford University Press, Inc., New York, NY, 2009. 336 pp.
- Biological Computation (Chapman & Hall/CRC Mathematical & Computational Biology) by Ehud Lamm and Ron Unger, 2011
- Jian-Qin Liu and Katsunori Shimohara, Biomolecular Computation for Biotechnology, 2007, ISBN-10: 1-59693-014-4, Artech House
- Rozenberg, Grzegorz; BÃƒock, Thomas; Kok, Joost N. (Eds.), Handbook of Natural Computation, Springer, 2010
- Christopher Dwyer and Alvin Lebeck, Introduction to DNA Self-Assembled Computer Design, December 2007, Artech House Publishers
- John A. Pelesko, Self Assembly: The Science of Things That Put Themselves Together, May 21, 2007, CRC Press.
- 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
- Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications (Chapman & Hall/CRC Computer & Information Science Series) [Hardcover] Leandro Nunes de Castro (Author)
- Artificial Immune Systems: A New Computational Intelligence Approach [Paperback] Leandro Nunes de Castro (Author), Jonathan Timmis (Author)
- 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)
- Self-organizing Software: From Natural to Artificial Adaptation Giovanna di Marzo Serugendo (Editor), Marie-Pierre Gleizes (Editor), Anthony Karageorgos (Editor)
- Computability of the DNA and Cells: Splicing and Membrane Computing [Hardcover] Andrei Paun (Author)
- Natural Computing in Computational Finance, Brabazon, Anthony; O'Neill, Michael; Maringer, Dietmar G. (Eds.) 1st Edition., 2010, 241

**Mark Distribution**

Assignments - 10%

Mid Term -20%

Scribes -10%

Projects -30 %

Final- 30%

For updated information about the course please visit the course webpage at http://www.guptalab.org/mankg/public_html//WWW/courses/ncf10/courseinfo.shtml
For course tweets follow us at http://twitter.com/guptalab
For any further information feel free to contact the instructor.