Introduction
Introduction
Kiran Bhowmick
Unit Description Duratio
n
2 1 Introduction to Natural Computing 05
From nature to natural computing, sample idea, Philosophy of natural computing, Natural
computing approaches, Natural Phenomena, Models, and Metaphors, From Nature to Computing and Back Again, General Concepts –
Individuals, Entities, Agents; Parallelism and Distributivity; Interactivity; Adaptation; Feedback; Self-Organization; Bottom-Up Vs
Top-Down
2 Artificial Neural Networks 06
Biological Nervous Systems, Artificial Neural Networks, Neuron Models, Architectures, Supervised learning: Perceptron algorithm,
Back Propagation Algorithm, Unsupervised learning: Self-organizing maps, ART, Reinforcement learning
3 Evolutionary Computing – Genetic Algorithms 08
Basic Principles of Genetics, Fitness Function; Selection: Selective Pressure, Random Selection, Proportional Selection, Tournament
Selection, Rank-Based Selection, Boltzmann Selection, Elitism; Reproduction Operators: Crossover operator, Mutation; Application:
Pattern Recognition, Numerical Function Optimization.
4 Swarm Intelligence: 08
Particle Swarm Optimization: Basic Particle Swarm Optimization: Global Best PSO, Local Best PSO, Velocity Components; Basic PSO
parameters, Single Solution Particle Swarm Optimization: Guaranteed Convergence PSO, Social-Based Particle Swarm Optimization,
Hybrid Algorithms, Sub-Swarm Based PSO, Multi-Start PSO Algorithms, Repelling Methods, Binary PSO; Application
5 Ant Algorithm: Simple Ant Colony Optimization, Ant Colony Optimization Meta-Heuristic, Cemetery Organization and Brood Care, 06
Division of Labor, Application: Travelling Salesman Problem
6 Artificial Immune Models: Natural Immune System: Classical view, Antibodies and 06
Antigens, White Cells, Immunity types, Network Theory, Danger Theory; Artificial Immune Models: Artificial Immune system
algorithm, classical view models, Clonal Selection Theory: CLONALG; Network Theory Models; Danger Theory Models; Application:
Intrusion Detection
Kiran Bhowmick
Books Recommended:
Text
3 Books:
1. L. N. de Castro, “Fundamentals of Natural Computing: Basic Concepts, Algorithms and Applications”, 2006, CRC Press,
ISBN-13: 978-1584886433
2. Andries P. Engelbrecht, “Computational Intelligence an Introduction”, Wiley, 2nd Edition
3. Tom Mitchell, Machine Learning, McGraw Hill, 1997, 0-07-042807-7
Reference Books:
1. D. Floreano and C. Mattiussi, “Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies”, 2008, MIT
Press, ISBN-13: 978-0262062718
2. Russell C. Eberhart, Yuhui Shi, James Kennedy, “Swarm Intelligence: The Morgan Kaufmann Series in Evolutionary
Computation”, 1st Edition, ISBN-13: 978- 1558605954
3. Sam Jones (Editor), “Bio Inspired Computing-Recent Innovations and Applications”, Clanrye International; 2 nd edition (2
January 2015), ISBN-10: 1632400812
4. Yang Xiao (Editor), “Bio-Inspired Computing and Networking”, CRC Press,
Kiran Bhowmick
4 Unit 1: Introduction to Natural Computing
Kiran Bhowmick
Unit 1: Introduction to Natural Computing
5 Natural computing: is the computational version of this process of extracting ideas from
nature to develop ‘artificial’ (computational) systems, or using natural media (e.g.,
molecules) to perform computation
Branches of Natural Computing:
Computing inspired by nature:
makes use of nature as inspiration for the development of problem solving techniques
to develop computational tools (algorithms) by taking inspiration from nature for the solution of complex
problems
The simulation and emulation of natural phenomena in computers:
a synthetic process aimed at creating patterns, forms, behaviors, and organisms that (do not necessarily)
resemble ‘life-as-we-know-it’.
Its products can be used to mimic various natural phenomena,
Increasing our understanding of nature and insights about computer models.
Pick up rule: if an ant finds a dead body, it picks it up and wanders around the arena until it finds another dead body. The probability or likelihood that
an ant picks up a dead body is inversely proportional to the number of items in that portion of the arena; that is, the more dead bodies around, the smaller
the probability it is picked up, and vice-versa.
Dropping rule: while wandering around, the loaded ant eventually finds more dead bodies in its way. The more dead bodies are found in a given region
of the arena, the higher the probability the ant drops the dead body it is carrying at that location of the arena, and vice-versa.
As a result of these very simple behavioral rules, all dead items will eventually be brought together into a single group, depending on the initial
configuration of the arena and how the rules are set up.
Question 1: what kind of problem could be solved inspired by this simple model of a natural phenomenon?
Question 2: how would you use these ideas to develop a computing tool (e.g., an algorithm) for solving the problem you specified above?
Kiran Bhowmick
Some Examples
7
Flock of Birds
Follow the leader: When we see birds flocking in the sky, it is most natural to assume that the birds ‘follow a leader’; in this picture, the one in front of
the flock.
No Global rule: There is no ‘global rule’ that can be defined so as to simulate a bird flock. It is possible, however, to generate scripts for each bird in a
simulated flock so as to create a more realistic group behavior (for example, in a computer simulation).
Question 1: describe (some of) these behavioral rules that, when applied to each bird in the flock, result in an emergent group behavior that is not
specifically defined by the individual rules
Question 2: can you extend these rules to herds of land animals and schools of fish? That is, is there a significant qualitative difference between these
various types of group behavior?
Kiran Bhowmick
Some Examples
8
Double strand of DNA
Strands of DNA: The DNA molecules contain the genetic information of all living beings on earth. It is known that this genetic
information, together with the environmental influences, determines the phenotype (expressed physical characteristics) of an individual.
Genetic engineering techniques can nowadays be used to artificially manipulate DNA so as to alter the genetic information encoded in these molecules.
For instance, DNA molecules can be denatured (separated into single strands), annealed (single strands can be ‘glued’ together to form double strands of
DNA), shortened (reduced in length), cut (separated in two), multiplied (copied), modified (e.g., new sequences inserted),
Question 1: Based on your knowledge of how standard computers (PCs) work, propose a new model of computer based on DNA strands and suggest a
number of DNA manipulation techniques that can be used to compute with molecules
Question 2: what would be the advantages and disadvantages of your proposed DNA computer over the standard computers?
Kiran Bhowmick
Natural computing could be used when:
9 • The problem to be solved is complex, i.e., involves a large number of variables or potential solutions, is highly dynamic, nonlinear, etc.
• It is not possible to guarantee that a potential solution found is optimal (in the sense that there is no better solution), but it is possible to find a quality measure
that allows the comparison of solutions among themselves.
• The problem to be solved cannot be (suitably) modeled, such as pattern recognition and classification (e.g., vision) tasks. In some cases, although it is not
possible to model the problem, there are examples (samples) available that can be used to ‘teach’ the system how to solve the problem, and the system is somehow
capable of ‘learning from examples’.
• A single solution is not good enough; that is, when diversity is important. Most standard problem-solving techniques are able to provide a single solution to a
given problem, but are not capable of providing more than one solution. One reason for that is because most standard techniques are deterministic, i.e., always use
the same sequence of steps to find the solution, and natural computing is, in its majority, composed of probabilistic methods.
• Biological, physical, and chemical systems and processes have to be simulated or emulated with realism. Euclidean geometry is very good and efficient to create
man-made forms, but has difficulty in reproducing natural patterns. This is because nature is fractal, and only fractal geometry provides the appropriate tools with
which to model nature.
• Life behaviors and phenomena have to be synthesized in artificial media. No matter the artificial media (e.g., a computer or a robot), the essence of a given
natural behavior or pattern is extracted and synthesized in a, usually,
much simpler form in artificial life systems.
• The limits of current technology are reached or new computing materials have to be sought. Nature abounds with information storage and processing systems,
and the scientific and engineering aspects of how to use these natural materials to compute are the main challenges of the third branch of natural computing:
computing with natural materials
Kiran Bhowmick
Natural Phenomena, Models, and Metaphors
10 Natural phenomena:
Approaches are rooted on and enhanced by natural plausibility
Focus is on How nature has offered inspiration and motivation for the development of these
approaches
Approaches also help us study and understand the world we inhabit,
Help us create new worlds, new forms of life, and new computing paradigms.
They hold out the hope of offering computationally sufficient accurate mechanistic accounts of
the natural phenomena they model, mimic, or study, almost always with a view of computing,
understanding, and problem solving.
They have also radically altered the way we think of and see nature; the computational beauty and
usefulness of nature.
Kiran Bhowmick
Natural Phenomena, Models, and Metaphors
11 Models:
Models are defined abstractions of real world systems or implementations of a hypothesis in order to
investigate particular questions or to demonstrate particular features of a system or a hypothesis -
Trappenberg, 2002
It corresponds to a (schematic) description of a system, theory, or phenomenon, which accounts for its
known or inferred properties and that may be used for further study of its characteristics
Models can be used to represent some aspect of the world, some aspect of theories about the world, or
both simultaneously.
The representative usefulness of a model lies in its ability to teach us something about the phenomenon it
represents.
Construction of model – requires selection of salient features and laws governing the phenomena under
investigation.
Models are simple to understand, but provide (emergent) behaviors that are surprising, interesting, useful,
and significant.
Metaphors:
The steps to construct a model are guided by Metaphor.
Kiran Bhowmick
Natural Phenomena, Models, and Metaphors
12 Metaphors:
The steps to construct a model are guided by Metaphor.
Metaphor is used to assign one thing to designate another, Characterizes one thing in terms of another
E.g. Artificial neural network is characterized on human brain
Kiran Bhowmick
From Nature to Computing and Back Again
the first step toward developing a natural computing system is to
13
To look at nature or theoretical models of natural phenomena in order to have some insights into how nature is,
works, and how it behaves
Mapping of problem to similar sort of natural phenomena
Extraction of metaphors and inspiration from nature is difficult to understand how the natural phenomena works
e.g. human brain functions, immune system etc.
Though some basic signal transmission processes might be already
known (and many other facts as well), it is still out of human reach to
fully uncover its mysteries, mainly some cognitive abilities such as hate &
love.
Can we simulate wetware with current hardware?
Why do airplanes not fly by flapping wings?
sometimes looking at nature or theoretical studies may not be sufficient to give us the necessary insight
into what could be done in computing and engineering with these phenomena
Clustering of dead bodies in ants resulted in computer algorithms for solving problems
Behavior of ants foraging for food resulted in powerful algorithms for solving combinatorial optimization
problems
Kiran Bhowmick
General Concepts
14 Individuals, Entities, and Agents
Examples - populations of individuals, insect societies, flocks of bird, schools of fish, herds of land animals,
repertoires of immune cells and molecules, networks of neurons, and DNA strands
agent is currently used to mean anything between a mere subroutine of a computer program and an
intelligent organism, such as a human being
Agent must present some kind of autonomy or identity
It must be distinguishable from its environment by some spatial, temporal or functional boundary
agent-based models are drawn on examples of biological phenomena and processes, such as social
insects and immune systems.
These systems are formed by distributed collections of interacting elements (agents) that work under no central
control. From simple agents, who interact locally following simple rules of behavior and responding to
environmental stimuli, it is possible to observe a synergistic behavior that leads to higher-level behaviors that
are much more intricate than those of individuals.
Kiran Bhowmick
Different definitions of agent:
1. “An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through
15 effectors.” (Russell and Norvig, 1995)
2. “Perhaps the most general way in which the term agent is used is to denote a hardware or (more usually) software-based computer
system that enjoys the following properties: autonomy, social ability, reactivity, and proactiveness.” (Wooldridge and Jennings, 1995)
[Summarized definition, for the full version please consult the cited reference]
3. “An autonomous agent is a system situated within and part of an environment that senses that environment and acts on it, over time, in
pursuit of its own agenda and also so as to effect what it senses in the future.” (Franklin and Graesser, 1997)
an agent can be understood as an entity endowed with a (partial) representation of the environment, capable of acting upon itself and the
environment, and also capable of communicating with other agents.
Its behavior is a consequence of its observations, knowledge, and its interactions with other agents and the environment.
Agents can be of many types, including biological (e.g., ants, termites, neurons, immune cells, birds, etc.), physical (e.g., robots), and
virtual agents (e.g., a computer algorithm, Tamagotchi, etc.),
Kiran Bhowmick
General Concepts
16 Parallelism and Distributivity
All the individuals in the population play important roles in exploring the environment and sometimes
exchanging (genetic) information, producing progenies more adapted to the life in a spatial location.
Evident in insect societies, brain processing, immune functioning, the evolution of species
In Insect societies tasks are distributed.
A colony of ants (termites, wasps, bees) has individuals assigned to various tasks, such as harvesting food, cleaning the nest, and caring for
the queen.
All insects in a colony work in parallel in a given task, but they may switch tasks when needed. For e.g. worker ants may be
recruited for battle when the nest is attacked
In the human nervous system, a huge number of neurons are involved in processing information at each time instant.
Talking while driving, watching TV while studying, hearing a name while having a conversation with someone
In immune systems, a large variety and number of cells are involved in an immune response.
When a virus infects a cell, some specialized immune cells, named T-cells, recognize fragments of this virus presented by a molecular
complex of another specialized antigen presenting cell. This recognition triggers the action of many other immune cells to the site of
infection.
Several other cells are performing the same and other processes, all at once in a distributed and parallel form.
Kiran Bhowmick
General Concepts
17 Interactivity
Interactivity is an important mean nature has to generate and maintain life.
Individual organisms interact with one another in variety of forms: reproductively, symbiotically, competitively,
in a predator-prey situation, parasitically, via channels of communication.
At a macro level, an important outcome of these interactions is a struggle for limited resources and life.
Individuals more adapted to the (local) environment tend to survive and mate thus producing more progenies and
propagating their genetic material.
Interactivity allows for the emergence of self-organized patterns.
Complex systems, organisms, and behaviors emerge from interacting components.
e.g. Knockout, damaged brain functionalities revived
Examples of interactions:
immune cells and molecules communicate with one another and foreign agents through chemical messengers and physical
contact
insects may also communicate with one another via chemical cues, dancing (e.g., bees dance to indicate where there is food
to the other bees in the nest) or physical contact (e.g., antennation)
neurons are known to be connected with one another via small portions of its axons known as synapses
Kiran Bhowmick
General Concepts
19 Feedback
Positive feedback
Negative feedback
Kiran Bhowmick
General Concepts
20 Self Organization
What is self-organization and what is not a self-organization
Characteristics of self-organization
Kiran Bhowmick