IT -468 Introduction to Natural Computing
Instructor
Manish K Gupta
| Room 2209 Faculty Block 2
| mankg [at] daiict.ac.in | Phone: 91-79-30510549
|
Teaching Assitant
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 inspired 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:
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 Networks (Nano-scale Networks, Complex Networks)
Natural Storage
Natural Logic
Natural Robotics (Molecular)
Natural Programming Languages (such as molecular programming)
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. Recently 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. Recently in July 2012, Martin
Fussenegger's group has built single cell mammalian biocomputers.
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), 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 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)
- Infochemistry: Information Processing at the Nanoscale, Konrad Szacilowski (Author), June 2012, Wiley.
- A New Kind of Science, Stephen Wolfram, 2002, Wolfram Press.
- A Computable Universe: Understanding and Exploring Nature as Computation, Hector Zenil (Author), May 2012, World Scientific.
- The Nature of Computation, Cristopher Moore (Author) and Stephan Mertens (Author), October 2011, Oxford.
- Natural Computing in Computational Finance, Brabazon, Anthony; O'Neill,
Michael; Maringer, Dietmar G. (Eds.) 1st Edition., 2010, 241
Mark Distribution (Tentative)/ Grading Policy
Assignments - 20%
Mid Term -30%
Attendance -10%
Projects -40 %
Project Policy
Project has to be done in 3 parts.
Part-1 (5%): Submission of 1 page abstract via Moodle 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 17th week. Submission
date of software to Moodle will be announced later.
Lectures
Monday (9:30 am -10:25 am), CEP 106
Wednesday (8:30 am -9:25 am), CEP 106
Thursday (9:30 am -10:25 am), CEP 106
Tutorials
None
Labs
None
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.
© 2010-2012 Manish K. Gupta