Conference PaperPDF Available

Bio inspired computing techniques - an overview

Authors:

Abstract

Traditional computing techniques are good but still they require some advancements for handling complex problems, they are not good at handling hard problems, pattern recognition, robust sensitive etc. So by using biological concepts with traditional techniques we can handle different kinds of complex problems and can improve good robustness and understandability too. Here we introduced bio inspired computing techniques elaborately, purpose and usage and computational methods applied, applications and limitations are also.
Bio inspired computing techniques- an over view
Abstract:
Traditional computing techniques are good
but still they require some advancements for
handling complex problems, they are not
good at handling hard problems, pattern
recognition, robust sensitive etc. So by using
biological concepts with traditional
techniques we can handle different kinds of
complex problems and can improve good
robustness and understandability too. Here
we introduced bio inspired computing
techniques elaborately, purpose and usage
and computational methods applied,
applications and limitations are also.
Introduction to Bio inspired computing
Present days the computer revolution changed
human societies in a ways such as the
communication, transportation, Industrial
production, administration, writing,
bookkeeping , technological advances, sciences
,entertainment. The existing traditional
hardware and software can not fulfill all the
needs and failed to solve some of the problems.
The main drawbacks of traditional techniques
are well defined but computational hard
problems such as NP hard problems (Travelling
salesman problem), action response planning
(Chess playing), intelligent human machine
interaction, natural language understanding,
real world autonomous robots, management and
understanding. The main alternatives are Bio-
Computing that is simulation of biological
mechanisms, Quantum computing and DNA
based computing. The major foundations of bio
inspired computing are natural sciences,
complexity theory, adaptive algorithms and
artificial life.
Bio inspired computing
Bio-Inspired Computing lies within the realm
of Natural Computing, is a field to perform
research that is concentrated on both biology as
an inspiration for solving complex
computational problems and the use of the
natural world experiences to solve real world
problems. The research scope is increasing in
this field because nowadays the world is facing
more and more complex, large, distributed and
non-structured systems, at the same time,
people notice that the simple structures and
organizations in nature are capable of handling
most complex systems and tasks easily. Bio-
inspired computing is a field for handling
complex problems using computational
methods. The goal is to produce efficient tools
with high robustness, flexibility, scalability and
they can interface effectively with humans. It is
a field which is related Biology, Computer
Science, Informatics, Cognitive Science, and
robotics .Here we design computers and
programs based on ideas and concepts from
biology and traditional methods like parallel
and distributed processing, evolution,
emergence and self/ non-self recognition. The
main advantages of bio inspired computing are
robust, scalable, adaptable, flexible, and also
decentralized, with many relatively simple
individual units that act and interact locally, as a
global information processing and
coordination .By using the advantageous
properties of biological systems we can design
and improve computer architectures, systems
(networks),algorithms, programs etc.[1].
Bio inspired computing related to Artificial
Intelligence
Bio-inspired computing is a field of study that
is related to the topics of connectionism, social
behavior and emergence. It is closely related to
the field of artificial intelligence and linked to
machine learning. It also based on the fields of
biology, computer science and mathematics. It
is the use of computers to model natural things,
and simultaneously the study of nature.
Biologically-inspired computing is a major
group of natural computation. The way how this
bio-inspired computing differs from artificial
intelligence (AI) is in how it implements
evolutionary approach to learning, which is
opposite to creationist methods used in artificial
Intelligence. In AI, intelligence is programmed
from where the programmer is the creator,
creates something and implements it with
intelligence. Bio-inspired computing, takes a
more bottom-up and a decentralized approach.
Bio-inspired techniques have the method of
specifying a set of small set of rules and a set of
simple organisms which tie up to those rules,
and iteratively applying those rules. After more
number of generations of rule application it is
usually the situation where some types of
complex behavior arise.[2][3][4][5].
Applications and limitations
The major applications of bio inspired
computing are Robotics in AI, process
optimization, telecommunications,
entertainment etc. The major limitations are the
biology makes compromises between different
goals, biology sometimes fails, some natural
mechanisms are not well understood and well-
defined problems can be solved by better
means.
The major topics of bio inspired computing are
as follows.
1. Artificial neural networks
2. Genetic algorithms
3. Swarm intelligence and Swarm robotics
4. Particle swarm optimization
5. Ant colony optimization
6. Genetic programming
7. Membrane computing
7. Cellular automata
8. Computer immune systems
9. DNA Computing
10. Quantum Computing.
Now we will see all the above given techniques.
Artificial networks
Neural networks are designed by the Inspiration
of the working of the brain. These networks has
parallel & distributed processing (PDP)
architecture and inspired by the working of the
brain these are large collection of processing
units (neurons) and local connections between
units. There is no central control processing
unit. In neural networks the information is
processed in a parallel and distributed way.
They are capable of performing complex
computations, including universal
computations. They are also capable of
“learning” mechanism by changing the relative
strengths of connections between neurons.
The Human Brain
Human brain is organized about 100 billion
neurons which is equivalent to 10X10 10 number
of neurons. Each neuron is connected to up to
10,000 others. These are organized into
compartments called lobes.
The real neuron
The artificial neuron
w1j
w2j
w3j
wnj
Σ
ϕ
X1
X2
X3
Xn
Activation
Activation function
Transfer function
Threshold
weights
inputs
The main types of neural networks are
feed forward neural networks,
feed backward networks and
the combination of both.
The basic neuron models are
MC culloch – pitts model,
perceptron model,
adaline model.
The main applications of neural networks are
1. Function approximation
2. Regression
3. Classification
4. Hand written character recognition
5. Biometrics (fingerprint, iris, voice, etc)
6. Robotics [4]
Genetic algorithms
All living organisms consist of cells. In each
cell there is the same set of chromosomes. They
are strings of DNA and serves as a model for
the whole organism. A chromosome has genes
and blocks of DNA. Each gene encodes a
particular protein. Each gene encodes a trait,
as color of eyes. Possible settings for a trait are
called alleles. Each gene has its own position in
the chromosome and it is called locus. The set
of complete genetic material (all chromosomes)
is called genome. Particular set of genes in
genome is called genotype. The genotype is
developed and formed after birth base for the
organism's phenotype, its physical and mental
characteristics, such as eye color, intelligence
etc .Genetic algorithms are inspired by Darwin's
theory about evolution.. Genetic algorithms
were formally introduced in the United States in
the 1970th decade by John Holland at University
of Michigan. The continuing performance
improvements of computational systems made
up of attractive for some types of optimization.
In particular, genetic algorithms work efficient
on mixed (continuous & discrete),
combinatorial problems. They are less
susceptible to getting 'stuck' at local optima
than compared to gradient search methods. But
they are computationally expensive. To use a
genetic algorithm, we must represent a solution
to our problem as a genome (or chromosome).
The genetic algorithm then creates a population
a set of solutions and applies genetic operators
like mutation and cross over to evolve the
solutions in order to find the best one(s).
The three most important things of using
genetic algorithms are:
(1) Definition of the objective function,
Net
input
(2) Definition and implementation of the
genetic representation, finally
(3) Definition and implementation of the
genetic operators.
o Scaling
o Selection
o Crossover
o Mutation
Once these three have been defined, the generic
genetic algorithm should work fairly well.
Beyond that we can try many different
variations to improve performance, find
multiple optima (species - if they exist), or
parallelize the algorithms. [6]
Swarm Intelligence
Swarm Intelligence (SI) is the property of a
system in which the collective behaviors of
unsophisticated agents interacting locally with
their environment cause coherent functional
global patterns to emerge. It provides a basis
with which it is possible to explore collectively
solve the problems without centralized control
or the provide a global model. A swarm has
been defined as a set of mobile agents which
are used to communicate directly or indirectly
by acting on their local environment with each
other, and which carry out a distributed problem
solving collectively. The body can have swarm
of cells and tissues which, unlike the swarms of
bees or ants, stick relatively firmly together.
However, the swarm of cells which constitute a
human body is a very different type of swarm
compared to that of the social insects. Unlike
the bee society the body swarm is not built on
ten thousand nearly identical units. Rather it
should be seen as a swarm of swarms, like a
huge swarm of more or less overlapping
swarms of very different kinds. The minor
swarms are swarm-entities, so we can get a
hierarchy of swarms. At all levels swarms are
engaged in distributed problem solving based
on an infinitely complicated web of semantic
interaction patterns in which the end can only
be explained through reference to the actual
history of the body system, evolution.[7][8][9].
Particle swarm optimization
Particle swarm optimization (PSO) is a
population based stochastic optimization
technique developed by Dr. Eberhart and Dr.
Kennedy in 1995, inspired by social behavior of
bird flocking or fish schooling.PSO shares
many similarities with evolutionary
computation techniques such as Genetic
Algorithms (GA). The system is initialized with
a population of random solutions and searches
for optima by updating generations. Unlike GA,
PSO has no evolution operators such as
crossover and mutation. In PSO, the potential
solutions, called particles, fly through the
problem space by following the current
optimum particles. Each particle keeps track of
its coordinates in the problem space which are
associated with the best solution (fitness) it has
achieved so far. (The fitness value is also
stored.) This value is called pbest. Another
"best" value that is tracked by the particle
swarm optimizer is the best value, obtained so
far by any particle in the neighbors of the
particle. This location is called lbest. when a
particle takes all the population as its
topological neighbors, the best value is a global
best and is called gbest [10][11].
Ant Colony Optimization
ACO is a class of algorithms, whose first
member, called Ant System, was initially
proposed by Colorni, Dorigo and Maniezzo.
The main underlying idea, loosely inspired by
the behavior of real ants, is that of a parallel
search over several constructive computational
threads based on local problem data and on a
dynamic memory structure containing
information on the quality of previously
obtained result. The collective behavior
emerging from the interaction of the different
search threads has proved effective in solving
combinatorial optimization (CO) problems.
[12][13][14]. In recent years, the interest of the
scientific community in ACO has risen sharply.
In fact, several successful applications of ACO
to a wide range of different discrete
optimization problems are now available. The
large majority of these applications are to NP-
hard problems; that is, to problems for which
the best known algorithms that guarantee to
identify an optimal solution have exponential
time worst case complexity. The use of such
algorithms is often infeasible in practice, and
ACO algorithms can be useful for quickly
finding high-quality solutions. Other popular
applications are to dynamic shortest path
problems arising in telecommunication
networks problems. The number of successful
applications to academic problems has
motivated people to adopt ACO for the solution
of industrial problems, proving that this
computational intelligence technique is also
useful in real-world applications. [15][16].
Genetic programming
In artificial intelligence, genetic programming
(GP) is an evolutionary algorithm-based
methodology inspired by biological evolution to
find computer programs that perform a user-
defined task. It is a specialization of genetic
algorithms (GA) where each individual is a
computer program. It is a machine learning
technique used to optimize a population of
computer programs according to a fitness
landscape determined by a program's ability to
perform a given computational task. Genetic
programming is a branch of genetic algorithms.
The main difference between genetic
programming and genetic algorithms is the
representation of the solution. Genetic
programming creates computer programs in the
lisp or scheme computer languages as the
solution. Genetic algorithms create a string of
numbers that represent the solution. Genetic
programming uses four steps to solve problems.
1) Generate an initial population of random
compositions of the functions and terminals of
the
Problem (computer programs).
2) Execute each program in the population and
assign it a fitness value according to how well it
solves the problem.
.
3) Create a new population of computer
programs.
i) Copy the best existing programs.
ii) Create new computer programs by
mutation.
iii) Create new computer programs by
crossover.
4) The best computer program that appeared in
any generation, the best-so-far solution, is
designated as the result of genetic programming
[17] [18].
Swarm robotics
Swarm robotics is a new approach to the
coordination of multi robot systems which
consist of large numbers of mostly simple
physical robots. It is supposed that a desired
collective behavior emerges from the
interactions between the robots and interactions
of robots with the environment. This approach
emerged on the field of artificial swarm
intelligence, as well as the biological studies of
insects, ants and other fields in nature, where
swarm behavior occurs. The research of swarm
robotics is to study the design of robots, their
physical body and their controlling behaviors. It
is inspired but not limited by the emergent
behavior observed in social insects, called
swarm intelligence. Relatively simple
individual rules can produce a large set of
complex swarm behaviors. A key-component is
the communication between the members of the
group that build a system of constant feedback.
The swarm behavior involves constant change
of individuals in cooperation with others, as
well as the behavior of the whole group. Unlike
distributed robotic systems in general, swarm
robotics emphasizes a large number of robots,
and promotes scalability, for instance by using
only local communication. That local
communication for example can be achieved by
wireless transmission systems, like radio
frequency or infrared.[20][21].
Membrane computing
Membrane computing is an area of computer
science aiming to abstract computing ideas and
models from the structure and the functioning
of living cells, as well as from the way the cells
are organized in tissues or higher order
structures. In short, it deals with distributed and
parallel computing models, processing multi
sets of symbol-objects in a localized manner
(evolution rules and evolving objects are
encapsulated into compartments delimited by
membranes), with an essential role played by
the communication among compartment s (with
the environment as well). Of course, this is just
a rough description of a membrane system
hereafter called P system of the very basic
type, as many different classes of such devices
exist. The essential ingredient of a P system is
its membrane structure, which ca n be a
hierarchical arrangement of membranes, like in
a cell (hence described by a tree), or a net of
membranes (placed in the nodes of a graph),
like in a tissue, or in a neural net. The intuition
behind the notion of a membrane is that from
biology, of a three–dimensional vesicle, but the
concept itself is generalized/idealized to
interpreting a membrane as a separator of two
regions (of the Euclidean space), a finite
“inside” an d an infinite “outside”, also
providing the possibility of a selective
communication among the two regions. The
variety of suggestions from biology and the
range of possibilities to define the architecture
and the functioning of a membrane-based-
multiset-processing device are practically
endless and already the literature of
membrane computing contains a very large
number of models. Thus, membrane computing
is not a theory related to a specific model, it is a
framework for devising compart mentalized
models. It is a computing model based on how
chemicals in a living cell interact and cross
membranes. This method can be used for
optimization techniques, parallel model of
computation, Biological ideas used and parallel
& distributed processing [19].
Cellular automata
Cellular Automata (CA) are very simple
computational systems that produce very
complex behaviour, including `lifelike’
reproduction. Cellular automata are discrete,
abstract computational systems that have
proved useful both as general models of
complexity and as more specific representations
of non-linear dynamics in a variety of scientific
fields. Firstly, CA are (typically) spatially and
temporally discrete: they are composed of a
finite or denumerable set of homogeneous,
simple units, the atoms or cells. At each time
unit, the cells instantiate one of a finite set of
states. They evolve in parallel at discrete time
steps, following state update functions or
dynamical transition rules: the update of a cell
state obtains by taking into account the states of
cells in its local neighborhood (there are,
therefore, no actions at a distance). Secondly,
CA are abstract, as they can be specified in
purely mathematical terms and implemented in
physical structures. Thirdly, CA are
computational systems: they can compute
functions and solve algorithmic problems.
Despite functioning in a different way from
traditional, Turing machine-like devices, CA
with suitable rules can emulate a universal
Turing machine, and therefore compute, given
Turing's Thesis, anything computable. The
mark of CA consists in their displaying
complex emergent behavior, starting from
simple atoms deterministically following
simple local rules. Because of this, CA attracts
a growing number of researchers willing to
study pattern formation and complexity in a
pure, abstract setting. This entry provides an
introduction to CA focusing on some of their
philosophical applications: these range from the
philosophy of computation and information
processing, to philosophical accounts of
reduction and emergence in metaphysics, and
debates in fundamental physics. CAs, as we
will see, are also very useful for
explaining/simulating biological pattern
generation and other behaviours. Ii is a
decentralized spatially extended system and it
can be used for.[19].
ostudying pattern formation
oas an alternative to PDE modeling
oparticle-based simulations
ostudying emergence
Computer Immune Systems
Natural immune systems protect animals from
dangerous foreign pathogens, including
bacteria, viruses, parasites, and toxins. Their
role in the body is analogous to that of
computer security systems in computing.
Although there are many differences between
living organisms and computer systems, we
believe that the similarities are compelling and
could point the way to improved computer
security.
[25]. Four examples of how we are applying
ideas from immunology to today's computer
security problems are a host based intrusion-
detection method, a network based intrusion-
detection system, a distributable change-
detection algorithm, and a method for
intentionally introducing diversity to reduce
vulnerability. The analogy with immunology
contributes an important point of view about
how to achieve computer security, one that can
potentially lead to systems built with quite
different sets of assumptions, biases, and
organizing principles than in the past. Computer
security based on the working of the human
immune system. They can be used for:
ointrusion detection
odetection of virus infection
ogeneral computer security.
Quantum computing
The combination of physics, mathematics and
computer science, quantum computing has
developed in the past two decades from a
visionary idea to one of the most fascinating
areas of quantum mechanics. The recent
excitement in this lively and speculative
domain of research was triggered by Peter Shor
(1994) who showed how a quantum algorithm
could exponentially “speed-up” classical
computation and factor large numbers into
primes much more rapidly (at least in terms of
the number of computational steps involved)
than any known classical algorithm. Shor's
algorithm was soon followed by several other
algorithms that aimed to solve combinatorial
and algebraic problems, and in the last few
years theoretical study of quantum systems
serving as computational devices has achieved
tremendous progress. Common belief has it that
the implementation of Shor's algorithm on a
large scale quantum computer would have
devastating consequences for current
cryptography protocols which rely on the
premise that all known classical worst-case
algorithms for factoring take time exponential
in the length of their input. Consequently,
experimentalists around the world are engaged
in tremendous attempts to tackle the
technological difficulties that await the
realization of such a large scale quantum
computer. But regardless whether these
technological problems can be overcome
(Unruh 1995, Ekert and Jozsa 1996, Haroche
and Raimond 1996), it is noteworthy that no
proof exists yet for the general superiority of
quantum computers over their classical
counterparts.[20][21].A quantum computer is
any device that exploits quantum mechanical
phenomena to run algorithms where as DNA
computing is a form of computing which uses
DNA and molecular biology, instead of the
traditional silicon-based computer technologies.
David DiVincenzo, of IBM, listed the following
requirements for a practical quantum computer:
oscalable physically to increase the
number of qubits
oqubits can be initialized to arbitrary
values
oquantum gates faster than decoherence
time
oTuring-complete gate set
oqubits can be read easily
DNA computing
DNA computing, literally, is the use of DNA
(Deoxyribose Nucleic Acid) molecules, which
encode genetic information of all the living
things, in computers. This is accomplished in a
suspended solution of DNA, where certain
combinations of DNA molecules are interpreted
as a particular result to a problem encoded in
the original molecules present. DNA computing
is one of the fastely growing fields in both
Computer Science and Biology. It is highly
interdisciplinary area incorporating the research
results of computer scientists and biologists.
Dr. Leonard Aldeman is a pioneer of DNA
computing where he got his solution to solve
Hamiltonian Path Problem using DNA strands.
DNA computing is useful because it has a
capacity where the current electronics-based
computers don’t have: its massively parallel
nature. DNA can carry out computations slowly
and DNA computers can perform a large
number of calculations simultaneously; means
on the order of 10^9 calculations per ml of
DNA per second. This capability of multiple co
temporal calculations immediately applies to
itself to several classes of problems in which a
modern electronic computer could never even
approach solving. To give an idea of the
difference in time, a calculation that would take
10^22 modern computers parallelly working to
complete in the span of one human's life would
take one DNA computer only 1 year to
complete.
The Deoxyribonucleic Acid has the following
things
oContains four different bases A, T, G, C
oBases are complimentary and are
responsible for the formation of the
double helix.
The major Strengths of DNA computing are
oFaster than classical computer systems
oGreater storage capacity
oMassive parallelism
oLightweight
o1Lb gives us more computing power
than all the computers ever made.[22]
[23].
References
1. Bio inspired Computing the evolving
scenario Computer Society of India by
Atchutsankar S.Nair,Sunita
.P.,Rani.J.R.,Aswathi B.L.
2. Biologically Inspired Computing
www.macs.hw.uk/dwcorne
3. Bio inspired Artificial Intelligence
theories,methods and technologies by
Dario Floreano and Claudio Mattussi
MIT press 659 pp 290 illus September
2008.
4. en.wikipedia.org/wiki/bio-inspired-
computing.
5. http://www.obitko.com/tutorials/genetic
algorithms/biological-background.php
6. http://lancet.mit.edu/~mbwall/presentati
ons/IntroToGAs
7. http://www.swarmintelligence.org/
8. http://www.sce.carleton.ca/netmanage/to
ny/swarm.html
9. http://www.molbio.ku.dk/MolBioPages/
abk/PersonalPages/Jesper/Swarm.html
10. A. Colorni, M. Dorigo, and V.
Maniezzo, Distributed optimization by
ant colonies,Proceedings of ECAL'91,
European Conference on Artificial Life,
Elsevier Publishing, Amsterdam, 1991.
11. M. Dorigo, Optimization, learning and
natural algorithms, Ph.D. Thesis,
Politecnico diMilano, Milano, 1992
12. M. Dorigo, V. Maniezzo, and A.
Colorni, The ant system: an
autocatalytic optimizingprocess,
Technical Report TR91-016, Politecnico
di Milano (1991).
13. M. Dorigo, G. Di Caro & L.M.
Gambardella(1999). Ant Algorithms for
Discrete Optimization. Artificial Life,
5(2):137-172.
14. .Artificial Ants as a Computational
Intelligence Technique Marco Dorigo,
Mauro Birattari, and Thomas St¨utzle
Universit ´ e Libre de Bruxelles,
BELGIUM
15. Ant Colony Optimization Vittorio
Maniezzo, Luca Maria Gambardella,
Fabio de Luigi M. Dorigo, Ant colony
optimization web page,
16. http://iridia.ulb.ac.be/mdorigo/ACO/AC
O.html
17. http://www.geneticprogramming.com/T
utorial/index.html
18. http://en.wikipedia.org/wiki/Genetic_pr
ogramming
19. http://en.wikipedia.org/wiki/Swarm_rob
oti
20. www.macs.hw.ac.uk/~dwcorne
21. Stanford Encyclopedia philosophy
http://plato.stanford.edu/entries/cellul
ar-automata/
22. Petros GkourasasQuantum vs. DNA
ComputingIn search for new computing
methods
.http://www.casi.net/D.BioInformatics1/
D.Fall2000ClassPage/DC2/dc2.htm
23. http://www.casi.net/D.BioInformatics1/
D.Fall2000ClassPage/DC2/dc2.htm
pgkouras@uwo.ca
.
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.