bio inspired computingdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/bio... · 2011. 4. 2. ·...

38
BIO INSPIRED COMPUTING SEMINAR REPORT Submitted by ULLAS MOHAN In partial fulfillment of the award of the degree Of BACHELOR OF TECHNOLOGY In COMPUTER SCIENCE AND ENGINEERING SCHOOL OF ENGINEERING COCHIN UNIVERSITY OF SCIENCE & TECHNOLOGY COCHIN-682 022 JULY 2008

Upload: others

Post on 24-May-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

BIO INSPIRED COMPUTING

SEMINAR REPORT

Submitted by

ULLAS MOHAN

In partial fulfillment of the award of the degree

Of

BACHELOR OF TECHNOLOGY

In

COMPUTER SCIENCE AND ENGINEERING

SCHOOL OF ENGINEERING

COCHIN UNIVERSITY OF SCIENCE & TECHNOLOGY

COCHIN-682 022

JULY 2008

Page 2: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

DIVISION OF COMPUTER ENGINEERING

SCHOOL OF ENGINEERING

COCHIN UNIVERSITY OF SCIENCE & TECHNOLOGY,

COCHIN-682 022

Certificate

Certified that this is a bonafide record of the Seminar Entitled

“BIO-INSPIRED COMPUTING”

Done by the following Student

Ullas Mohan

Of the VIIth semester,Computer Science and Engineering in the year 2008 in

partial fulfillment of the requirements to the award of Degree Of Bachelor Of

Technology in Computer Science and Engineering of Cochin University of Science

and Technology

Mr Pramod Pavithran Dr David Peter.S

Seminar Guide Head of Division

Date

Page 3: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

ACKNOWLEDGEMENT

At the outset, I thank the Lord Almighty for the grace, strength

and hope to make my endeavor a success.

I also express my gratitude to Dr. David Peter S, Head of the

Division and my Seminar Guide for providing me with adequate facilities,

ways and means by which I was able to complete this seminar. I express my

sincere gratitude to him for his constant support and valuable suggestions

without which the successful completion of this seminar would not have

been possible.

I thank Mr. Pramod Pavithran , my seminar guide for his

boundless cooperation and helps extended for this seminar. I express my

immense pleasure and thankfulness to all the teachers and staff of the

Division of Computer Engineering, CUSAT for their cooperation and

support.

Last but not the least, I thank all others, and especially my

classmates and my family members who in one way or another helped me in

the successful completion of this work

ULLAS MOHAN

Page 4: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

ABSTRACT

Biologically inspired (often hyphenated as biologically-inspired)

computing (also bio-inspired computing) is a field of study that loosely

knits together subfields related to the topics of connectionism, social

behaviour and emergence. It is often closely related to the field of artificial

intelligence, as many of its pursuits can be linked to machine learning. It

relies heavily on the fields of biology, computer science and mathematics.

Briefly put, it is the use of computers to model nature, and simultaneously

the study of nature to improve the usage of computers. Biologically inspired

computing is a major subset of natural computation.

Some areas of study encompassed under the canon of biologically inspired

computing, and their biological counterparts:

genetic algorithms ↔ evolution

emergent systems ↔ ants, termites, bees, wasps

artificial immune systems ↔ immune system

The way in which bio-inspired computing differs from traditional artificial

intelligence (AI) is in how it takes a more evolutionary approach to learning,

as opposed to the what could be described as 'creationist' methods used in

traditional AI. In traditional AI, intelligence is often programmed from

above: the programmer is the creator, and makes something and imbues it

with its intelligence. Bio-inspired computing, on the other hand, takes a

more bottom-up, decentralised approach; bio-inspired techniques often

involve the method of specifying a set of simple rules, a set of simple

organisms which adhere to those rules, and a method of iteratively applying

Page 5: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

those rules. After several generations of rule application it is usually the case

that some forms of complex behaviour arise. Complexity gets built upon

complexity until the end result is something markedly complex, and quite

often completely counterintuitive from what the original rules would be

expected to produce.

Page 6: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

TABLE OF CONTENTS

CHAPTER NO TITLE PAGE NO:

LIST OF FIGURES iii

1. INTRODUCTION 1

2. EVOLUTION ALGORITHMS 2

2.1 Components of Algorithm 5

2.1.1 Representation 6

2.1.2 Evaluation Function 7

2.1.3 Population 8

2.1.4 Parent Selection Mechanism 8

2.1.5 Mutation 9

2.1.6 Recombination 10

2.1.7 Replacement 11

2.1.8 Initialization 12

2.1.9 Termination 12

3. SWARM INTELLIGENCE 14

3.1 Introduction 14

3.2 Techniques 15

3.2.1 Ant Colony Optimization 15

3.2.2 Particle Swarm Optimization 15

3.2.3 Stochastic Diffusion Search 16

3.3 Applications 16

3.4 Ant Colony Optimization 17

3.5 Particle Swarm Optimization 19

Page 7: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

4. ARTIFICIAL IMMUNE SYSTEM 23

4.1 Immune Algorithms 24

5. CONCLUSION 28

6. REFERENCES 29

Page 8: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

-iii-

LIST OF FIGURES

NO: NAME PAGE

1. Examples Of Swarm Intelligence 14

2. Example for ant colony optimization 18

3. Particle Swarm Optimization 22

Page 9: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 1

1.INTRODUCTION

Biologically inspired computing (also bio-inspired computing) is a field of study that

loosely knits together subfields related to the topics of connectionism, social behavior

and emergence. It is often closely related to the field of artificial intelligence, as many of

its pursuits can be linked to machine learning. It relies heavily on the fields of biology,

computer science and mathematics. Biologically inspired computing is a major subset of

natural computation.

The field of biocomputation has a twofold definition: the use of

biology or biological processes as metaphor, inspiration, or enabler in developing new

computing technologies and new areas of computer science; and conversely, the use of

information science concepts and tools to explore biology from a different theoretical

perspective. In addition to its potential applications, such as DNA computation,

nanofabrication, storage devices, sensing, and health care, biocomputation also has

implications for basic scientific research. It can provide biologists, for example, with an

IT-oriented paradigm for looking at how cells compute or process information, or help

computer scientists construct algorithms based on natural systems, such as evolutionary

and genetic algorithms. Biocomputing has the potential to be a very powerful tool.

Page 10: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 2

2. EVOLUTION ALGORITHMS

As the history of the field suggests there are many different variants of

Evolutionary Algorithms. The common underlying idea behind all these techniques is the

same given a population of individuals the environmental pressure causes natural

selection (survival of the fittest) and this causes a rise in the fitness of the population.

Given a quality function to be maximised we can randomly create a set of candidate

solutions, i.e., elements of the function’s domain, and apply the quality function as an

abstract fitness measure the higher the better. Based on this fitness, some of the better

candidates are chosen to seed the next generation by applying recombination and/or

mutation to them. Recombination is an operator applied to two or more selected

candidates (the so-called parents) and results one or more new candidates (the

children).Mutation is applied to one candidate and results in one new candidate.

Executing recombination and mutation leads to a set of new candidates (the offspring)

that compete – based on their fitness (and possibly age)– with the old ones for a place in

the next generation. This process can be iterated until a candidate with sufficient quality

(a solution) is found or a previously set computational limit is reached.

In artificial intelligence, an evolutionary algorithm (EA) is a subset of

evolutionary computation, a generic population-based metaheuristic optimization

algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction,

mutation, recombination, and selection. Candidate solutions to the optimization problem

play the role of individuals in a population, and the cost function determines the

environment within which the solutions "live". Evolution of the population then takes

place after the repeated application of the above operators. Artificial evolution (AE)

describes a process involving individual evolutionary algorithms; EAs are individual

components that participate in an AE.

Evolutionary algorithms consistently perform well approximating solutions to all

types of problems because they do not make any assumption about the underlying fitness

landscape.

Page 11: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 3

Apart from their use as mathematical optimizers, evolutionary computation and

algorithms have also been used as an experimental framework within which to validate

theories about biological evolution and natural selection, particularly through work in the

field of artificial life. Techniques from evolutionary algorithms applied to the modelling

of biological evolution are generally limited to explorations of microevolutionary

processes, however some computer simulations, such as Tierra and Avida, attempt to

model macroevolutionary dynamics.

A limitation of evolutionary algorithms is their lack of a clear genotype-phenotype

distinction. In nature, the fertilized egg cell undergoes a complex process known as

embryogenesis to become a mature phenotype. This indirect encoding is believed to

make the genetic search more robust (i.e. reduce the probability of fatal mutations), and

also may improve the evolvability of the organism.

Genetic algorithm - This is the most popular type of EA. One seeks the solution of a

problem in the form of strings of numbers (traditionally binary, although the best

representations are usually those that reflect something about the problem being solved -

these are not normally binary), virtually always applying recombination operators in

addition to selection and mutation. This type of EA is often used in optimization

problems.

Genetic programming - Here the solutions are in the form of computer programs, and

their fitness is determined by their ability to solve a computational problem.

Evolutionary programming - Like genetic programming, only the structure of the

program is fixed and its numerical parameters are allowed to evolve;

Evolution strategy - Works with vectors of real numbers as representations of solutions,

and typically uses self-adaptive mutation rates;

Basically,there are two fundamental forces that form the basis of evolutionary

systems:

• Variation operators (recombination and mutation) create the necessary diversity and

thereby facilitate novelty, while

• selection acts as a force pushing quality.

Page 12: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 4

The combined application of variation and selection generally leads to improving fitness

values in consecutive populations. It is easy (although somewhat misleading) to see such

a process as if the evolution is optimising, or atleast “approximising”, by approaching

optimal values closer and closer over its course. Alternatively, evolution it is often seen

as a process of adaptation. From this perspective, the fitness is not seen as an objective

function to be optimised, but as an expression of environmental requirements. Matching

these requirements more closely implies an increased viability, reflected in a higher

number of offspring. The evolutionary process makes the population adapt to the

environment better and better.

Many components of such an evolutionary process are stochastic. During selection

fitter individuals have a higher chance to be selected than less fit ones, but typically even

the weak individuals have a chance to become a parent or to survive.For recombination

of individuals the choice of which pieces will be recombined is random. Similarly for

mutation, the pieces that will be mutated within a candidate solution, and the new pieces

replacing them, are chosen randomly. The general scheme of an Evolutionary Algorithm

can is given in a pseudo-code fashion;

BEGIN

INITIALISE population with random candidate solutions;

EVALUATE each candidate;

REPEAT UNTIL ( TERMINATION CONDITION is satisfied ) DO

1 SELECT parents;

2 RECOMBINE pairs of parents;

3 MUTATE the resulting offspring;

4 EVALUATE new candidates;

5 SELECT individuals for the next generation;

END

The representation of a candidate solution is often used to characterise different

streams. Typically, the candidates are represented by (i.e., the data structure encoding a

solution has the form of) strings over a finite alphabet in Genetic Algorithms (GA), real-

Page 13: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 5

valued vectors in Evolution Strategies (ES), finite state machines in classical

Evolutionary Programming (EP) and trees in Genetic Programming (GP).

Technically, a given representation might be preferable over others if it

matches the given problem better, that is, it makes the encoding of candidate solutions

easier or more natural. For instance, for solving a satisfiability problem the

straightforward choice is to use bit-strings of length n, where n is the number of logical

variables, hence the appropriate EA would be a Genetic Algorithm. For evolving a

computer program that can play checkers trees are well-suited (namely, the parse trees of

the syntactic expressions forming the programs), thus a GP approach is likely. It is

important to note that the recombination and mutation operators working on candidates

must match the given representation. Thus for instance in GP the recombination operator

works on trees, while in GAs it operates on strings. As opposed to variation

operators,selection takes only the fitness information into account, hence it works

independently from the actual representation. Differences in the commonly applied

selection mechanisms in each stream are therefore rather a tradition than a technical

necessity.

2.1 COMPONENTS OF ALGORITHM

EAs have a number of components, procedures or operators that must be specified in

order to define a particular EA. The most important components are:

• representation (definition of individuals)

• evaluation function (or fitness function)

• population

• parent selection mechanism

• variation operators, recombination and mutation

• survivor selection mechanism (replacement)

Each of these components must be specified in order to define a particular EA.

Furthermore, to obtain a running algorithm the initialisation procedure and a termination

condition must be also defined.

Page 14: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 6

2.1.1 Representation (Definition of Individuals)

The first step in defining an EA is to link the“real world” to the “EA world”, that is to set

up a bridge between the original problem context and the problem solving space where

evolution will take place. Objects forming possible solutions within the original problem

context are referred to as phenotypes, their encoding, the individuals within the EA, are

called genotypes. The first design step is commonly called representation, as it amounts

to specifying a mapping from the phenotypes onto a set of genotypes that are said to

represent these phenotypes. For instance, given an optimisation problem on integers, the

given set of integers would form the set of phenotypes. Then one could decide to

represent them by their binary code, hence 18 would be seen as a phenotype and 10010 as

a genotype representing it. It is important to understand that the phenotype space can be

very different from the genotype space, and that the whole evolutionary search takes

place in the genotype space. A solution – a good phenotype – is obtained by decoding the

best genotype after termination. To this end, it should hold that the (optimal) solution to

the problem at hand – a phenotype – is represented in the given genotype space. The

common EC terminology uses many synonyms for naming the elements of these two

spaces. On the side of the original problem context, candidate solution, phenotype, and

individual are used to denote points of the space of possible solutions. This space itself is

commonly called the phenotype space. On the side of the EA, genotype, chromosome,

and again individual can be used for points in the space where the evolutionary search

will actually take place. This space is often termed the genotype space. Also for the

elements of individuals there are many synonymous terms. A place-holder is commonly

called a variable, a locus (plural: loci), a position, or in a biology oriented terminology a

gene. An object on such a place can be called a value or an allele.

It should be noted that the word “representation” is used in two slightly

different ways. Sometimes it stands for the mapping from the phenotype to the genotype

space. In this sense it is synonymous with encoding, e.g., one could mention binary

Page 15: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 7

representation or binary encoding of candidate solutions. The inverse mapping from

genotypes to phenotypes is usually called decoding and it is required that the

representation be invertible: to each genotype there has to be at most one corresponding

phenotype. The word representation can also be used in a slightly different sense, where

the emphasis is not on the mapping itself, but on the “data structure” of the genotype

space. This interpretation is behind speaking about mutation operators for binary

representation, for instance

.

2.1.2 Evaluation Function (Fitness Function)

The role of the evaluation function is to represent the requirements to

adapt to. It forms the basis for selection, and thereby it facilitates improvements. More

accurately, it defines what improvement means. From the problem solving perspective, it

represents the task to solve in the evolutionary context. Technically, it is a function or

procedure that assigns a quality measure to genotypes. Typically, this function is

composed from a quality measure in the phenotype space and the inverse representation.

To remain with the above example, if we were to maximise x2 on integers, the fitness of

the genotype 10010 could be defined as the square of its corresponding phenotype: 182 =

324.The evaluation function is commonly called the fitness function in EC.This might

cause a counterintuitive terminology if the original problem requires minimisation for

fitness is usually associated with maximisation. Mathematically, however, it is trivial to

change minimisation into maximisation and vice versa.

Quite often, the original problem to be solved by an EA is an optimization

problem In this case the name objective function is often used in the original problem

context and the evaluation (fitness) function can be identical to, or a simple

transformation of, the given objective function.

Page 16: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 8

2.1.3 Population

The role of the population is to hold (the representation of) possible solutions. A

population is a multiset1 of genotypes. The population forms the unit of evolution.

Individuals are static objects not changing or adapting, it is the population that does.

Given a representation, defining a population can be as simple as specifying how many

individuals are in it, that is, setting the population size. In some sophisticated EAs a

population has an additional spatial structure, with a distance measure or a

neighbourhood relation. In such cases the additional structure has to be defined as well to

fully specify a population.

As opposed to variation operators that act on the one or two parent individuals, the

selection operators (parent selection and survivor selection) work at population level. In

general, they take the whole current population into account and choices are always made

relative to what we have. For instance, the best individual of the given population is

chosen to seed the next generation, or the worst individual of the given population is

chosen to be replaced by a new one. In almost all EA applications the population size is

constant, not changing during the evolutionary search.

The diversity of a population is a measure of the number of different solutions present.

No single measure for diversity exists, typically people might refer to the number of

different fitness values present, the number of different phenotypes present, or the

number of different genotypes. Other statistical measures, such as entropy, are also used.

Note that only one fitness value does not necessarily imply only one phenotype is present,

and in turn only one phenotype does not necessarily imply only one genotype. The

reverse is however not true: one genotype implies only one phenotype and fitness value.

2.1.4 Parent Selection Mechanism

The role of parent selection or mating selection is to distinguish among individuals based

on their quality, in particular, to allow the better individuals to become parents of the next

generation. An individual is a parent if it has been selected to undergo variation in order

Page 17: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 9

to create offspring. Together with the survivor selection mechanism, parent selection is

responsible for pushing quality improvements. In EC, parent selection is typically

probabilistic. Thus, high quality individuals get a higher chance to become parents than

those with low quality. Nevertheless, low quality individuals are often given a small,

but positive chance, otherwise the whole search could become too greedy and get stuck in

a local optimum.The role of variation operators is to create new individuals from old

ones. In the corresponding phenotype space this amounts to generating new candidate

solutions. From the generate-and-test search perspective, variation operators perform the

“generate” step. Variation operators in EC are divided into two types based on their

activity

2.1.5 Mutation

A unary3 variation operator is commonly called mutation. It is applied to one genotype

and delivers a (slightly) modified mutant, the child or offspring of it. A mutation operator

is always stochastic: its output – the child – depends on the outcomes of a series of

random choices. It should be noted that an arbitrary unary operator is not necessarily seen

as mutation. A problem specific heuristic operator acting on one individual could be

termed as mutation for being unary. However, in general mutation is supposed to cause a

random, unbiased change. For this reason it might be more appropriate not to call

heuristic unary operators mutation. The role of mutation in EC is different in various EC-

dialects, for instance in Genetic Programming it is often not used at all, in Genetic

Algorithms it has traditionally been seen as a background operator to fill the gene pool

with “fresh blood”, while in Evolutionary Pro- gramming it is the one and only variation

operator doing the whole search work.

It is worth noting that variation operators form the evolutionary implementation of the

elementary steps within the search space. Generating a child amounts to stepping to a

new point in this space. From this perspective, mutation has a theoretical role too: it can

guarantee that the space is connected. This is important since theorems stating that an EA

will (given sufficient time) discover the global optimum of a given problem often rely on

Page 18: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 10

the property that each genotype representing a possible solution can be reached by the

variation operators . The simplest way to satisfy this condition is to allow the mutation

operator to “jump” everywhere, for example, by allowing that any allele can be mutated

into any other allele with a non-zero probability. However it should also be noted that

many researchers feel these proofs

The arity of an operator is the number of objects that it takes as inputs

An operator is unary if it applies to one object as input.

Usually these will consist of using a pseudo-random number generator to generate

a series of values from some given probability distribution. We will refer to these

as “random drawings” have limited practical importance, and many implementations of

EAs do not in fact possess this property.

2.1.6 Recombination

A binary variation operator5 is called recombination or crossover. As the names indicate

such an operator merges information from two parent genotypes into one or two offspring

genotypes. Similarly to mutation, recombination is a stochastic operator: the choice of

what parts of each parent are combined, and the way these parts are combined, depend on

random drawings. Again, the role of recombination is different in EC dialects: in Genetic

Programming it is often the only variation operator, in Genetic Algorithms it is seen as the

main search operator, and in Evolutionary Programming it is never used. Recombination

operators with a higher arity (using more than two parents) are mathematically possible

and easy to implement, but have no biological equivalent. Perhaps this is why they are not

commonly used, although several studies indicate that they have positive effects on the

evolution.

The principal behind recombination is simple – that by mating two individuals with

different but desirable features, we can produce an offspring which combines both of those

features. This principal has a strong supporting case– it is one which has been successfully

applied for millennia by breeders ofplants and livestock, to produce species which give

Page 19: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 11

higher yields or have other desirable features. Evolutionary Algorithms create a number of

offspring by random recombination, accept that some will have undesirable combinations

of traits, most may be no better or worse than their parents, and hope that some have

improved characteristics. Although the biology of the planet earth, (where with a very few

exceptions lower organisms reproduce asexually, and higher organisms reproduce

sexually suggests that recombination is the superior form of reproduction, recombination

operators in EAsare usually applied probabilistically, that is, with an existing chance of

notbeing performed.It is important to note that variation operators are representation

dependent. That is, for different representations different variation operators have to

defined. For example, if genotypes are bit-strings, then inverting a 0 to a 1 (1 to a 0) can

be used as a mutation operator. However, if we represent possible solutions by tree-like

structures another mutation operator is required.

2.1.7 Survivor Selection Mechanism (Replacement)

The role of survivor selection or environmental selection is to distinguish among

individuals based on their quality. In that it is similar to parent selection, but it is used in

a different stage of the evolutionary cycle. The survivor selection mechanism is called

after having having created the offspring of the selected parents. In EC the population

size is (almost always) constant, thus a choice has to to be made on which individuals

will be allowed in the next generation. This decision is usually based on their fitness

values, favouring those with higher quality, although the concept of age is also frequently

used. As opposed to parent selection which is typically stochastic, survivor selection is

often deterministic, for instance ranking the unified multiset of parents and offspring and

selecting the top segment (fitness biased), or selecting only from the offspring (age-

biased). Survivor selection is also often called replacement or replacement strategy. In

many cases the two terms can be used interchangeably. The choice between the two is

thus often arbitrary. A good reason to use the name survivor selection is to keep

terminology consistent. A preference for using replacement can be motivated by the

skewed proportion of the number of individuals in the population and the number of

Page 20: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 12

newly created children. In particular, if the number of children is very small with respect

to the population size, e.g., 2 children and a population of 100. In this case, the survivor

selection step is as simple as to chose the two old individuals that are to be deleted to

make place for the new ones. In other words, it is more efficient to declare that everybody

survives unless deleted, and to choose whom to replace. If the proportion is not skewed

like this, e.g., 500 children made from a population of 100, then this is not an option, so

using the term survivor selection is appropriate.

2.1.8 Initialisation

Initialisation is kept simple in most EA applications: The first population is seeded by

randomly generated individuals. In principle, problem specific heuristics can be used in

this step aiming at an initial population with higher fitness. Whether this is worth the

extra computational effort or lot is very much depending on the application at hand.

There are, however, some general observations concerning this issue based on the so-

called anytime behaviour of EAs.

2.3.9 Termination Condition

As for a suitable termination condition we can distinguish two cases. If the problem has a

known optimal fitness level, probably coming from a known optimum of the given

objective function, then reaching this level (perhaps only with a given precision > 0)

should be used as stopping condition. However, EAs are stochastic and mostly there are

no guarantees to reach an optimum, hence this condition might never get satisfied and the

algorithm may never stop. This requires that this condition is extended with one that

certainly stops the algorithm. Commonly used options for this purpose are the following:

1. the maximally allowed CPU time elapses;

2. the total number of fitness evaluations reaches a given limit;

3. for a given period of time (i.e, for a number of generations or fitness

evaluations), the fitness improvement remains under a threshold value;

4. the population diversity drops under a given threshold.

Page 21: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 13

The actual termination criterion in such cases is a disjunction: optimum value hit

or condition x satisfied. If the problem does not have a known optimum, then we need no

disjunction, simply a condition from the above list or a similar one that is guaranteed to

stop the algorithm

Page 22: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 14

3.SWARM INTELLIGENCE

3.1 INTRODUCTION

Swarm intelligence (SI) is artificial intelligence based on the collective behavior of

decentralized, self-organized systems. The expression was introduced by Gerardo Beni

and Jing Wang in 1989, in the context of cellular robotic systems.

SI systems are typically made up of a population of simple agents interacting locally with

one another and with their environment. The agents follow very simple rules, and

although there is no centralized control structure dictating how individual agents should

behave, local interactions between such agents lead to the emergence of complex global

behavior. Natural examples of SI include ant colonies, bird flocking, animal herding,

bacterial growth, and fish schooling. The application of swarm principles to robots is

called swarm robotics, while 'swarm intelligence' refers to the more general set of

algorithms.

Figure 3.1 Examples of Swarm Intelligence

Swarm intelligence is the emergent collective intelligence of groups of simple

autonomous agents. Here, an autonomous agent is a subsystem that interacts with its

environment, which probably consists of other agents, but acts relatively independently

from all other agents. The autonomous agent does not follow commands from a leader, or

Page 23: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 15

some global plan . For example, for a bird to participate in a flock, it only adjusts its

movements to coordinate with the movements of its fock mates, typically its neighbors

that are close to it in the fock. A bird in a flock simply tries to stay close to its neighbors,

but avoid collisions with them. Each bird does not take commands from any leader bird

since there is no lead bird. Any bird can be in the front, center and back of the swarm.

Swarm behavior helps birds take advantage of several things including protection from

predators (especially for birds in the middle of the flock), and searching for food

(essentially each bird is exploiting the eyes of every other bird).

3.2 TECHNIQUES

Some of the techniques in swarm intelligence are illustrated below:

3.2.1 ANT COLONY OPTIMIZATION

Ant colony optimization is a class of optimization algorithms modeled on the actions of

an ant colony. Artificial 'ants' - simulation agents - locate optimal solutions by moving

through a parameter space representing all possible solutions. Real ants lay down

pheromones directing each other to resources while exploring their environment. The

simulated 'ants' similarly record their positions and the quality of their solutions, so that

in later simulation iterations more ants locate better solutions. One variation on this

approach is the bees algorithm, which is more analogous to the foraging patterns of the

honey bee.

3.2.2 PARTICLE SWARM OPTIMIZATION

Particle swarm optimization or PSO is a global optimization algorithm for dealing with

problems in which a best solution can be represented as a point or surface in an n-

dimensional space. Hypotheses are plotted in this space and seeded with an initial

velocity, as well as a communication channel between the particles[3][4]. Particles then

move through the solution space, and are evaluated according to some fitness criterion

after each timestep. Over time, particles are accelerated towards those particles within

their communication grouping which have better fitness values. The main advantage of

Page 24: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 16

such an approach over other global minimization strategies such as simulated annealing is

that the large number of members that make up the particle swarm make the technique

impressively resilient to the problem of local minima.

3.2.3 STOCHASTIC DIFFUSION SEARCH

Stochastic Diffusion Search or SDS is an agent based on probabilistic global

search and optimization technique best suited to problems where the objective function

can be decomposed into multiple independent partial-functions. Each agent maintains a

hypothesis which is iteratively tested by evaluating a randomly selected partial objective

function parameterised by the agent's current hypothesis. In the standard version of SDS

such partial function evaluations are binary resulting in each agent becoming active or

inactive. Information on hypotheses is diffused across the population via inter-agent

communication. Unlike the stigmergic communication used in ACO, in SDS agents

communicate hypotheses via a one-to-one communication strategy analogous to the

tandem running procedure observed in some species of ant. A positive feedback

mechanism ensures that, over time, a population of agents stabilise around the global-best

solution. SDS is both an efficient and robust search and optimisation algorithm, which

has been extensively mathematically described.

3.3 APPLICATIONS

Swarm Intelligence-based techniques can be used in a number of

applications. The U.S. military is investigating swarm techniques for controlling

unmanned vehicles. The European Space Agency is thinking about an orbital swarm for

self assembly and interferometry. NASA is investigating the use of swarm technology for

planetary mapping. A 1992 paper by M. Anthony Lewis and George A. Bekey[5]

discusses the possibility of using swarm intelligence to control nanobots within the body

for the purpose of killing cancer tumors. Artists are using swarm technology as a means

of creating complex interactive systems or simulating crowds. Tim Burton's Batman

Returns was the first movie to make use of swarm technology for rendering, realistically

depicting the movements of a group of penguins using the Boids system. The Lord of the

Page 25: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 17

Rings film trilogy made use of similar technology, known as Massive, during battle

scenes. Swarm technology is particularly attractive because it is cheap, robust, and

simple.

The inherent intelligence of swarms has inspired many social and political philosophers,

in that the collective movements of an aggregate often derive from independent decision

making on the part of a single individual. A common example is how the unaided

decision of a person in a crowd to start clapping will often encourage others to follow

suit, culminating in widespread applause. Such knowledge, an individualist advocate

might argue, should encourage individual decision making (however mundane) as an

effective tool in bringing about widespread social change.

The use of Swarm Intelligence in Telecommunication Networks has also been

researched, in the form of Ant Based Routing. This was pioneered separately by Dorigo

et al and Hewlett Packard in the mid-1990s, with a number of variations since. Basically

this uses a probabilistic routing table rewarding/reinforcing the route successfully

traversed by each "ant" (a small control packet) which flood the network. Reinforcement

of the route in the forwards, reverse direction and both simultaneously have been

researched: backwards reinforcement requires a symmetric network and couples the two

directions together; forwards reinforcement rewards a route before the outcome is known

(but then you pay for the cinema before you know how good the film is). As the system

behaves stochastically and is therefore lacking repeatability, there are large hurdles to

commercial deployment.

3.4 ANT COLONY OPTIMIZATION

The ant colony optimization algorithm (ACO), introduced by Marco

Dorigo in 1992 in his PhD thesis, is a probabilistic technique for solving computational

problems which can be reduced to finding good paths through graphs. They are inspired

by the behavior of ants in finding paths from the colony to food.In the real world, ants

(initially) wander randomly, and upon finding food return to their colony while laying

down pheromone trails. If other ants find such a path, they are likely not to keep traveling

Page 26: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 18

at random, but to instead follow the trail, returning and reinforcing it if they eventually

find food.

Over time, however, the pheromone trail starts to evaporate, thus reducing its

attractive strength. The more time it takes for an ant to travel down the path and back

again, more time the pheromones have to evaporate. A short path, by comparison, gets

marched over faster, and thus the pheromone density remains high as it is laid on the path

as fast as it can evaporate. Pheromone evaporation has also the advantage of avoiding the

convergence to a locally optimal solution. If there were no evaporation at all, the paths

chosen by the first ants would tend to be excessively attractive to the following ones. In

that case, the exploration of the solution space would be constrained.Thus, when one ant

finds a good (i.e. short) path from the colony to a food source, other ants are more likely

to follow that path, and positive feedback eventually leads all the ants following a single

path. The idea of the ant colony algorithm is to mimic this behavior with "simulated ants"

walking around the graph representing the problem to solve.

Figure 3.2 Example for Ant colony optimization

Ant colony optimization algorithms have been used to produce near-optimal

solutions to the traveling salesman problem. They have an advantage over simulated

Page 27: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 19

annealing and genetic algorithm approaches when the graph may change dynamically;

the ant colony algorithm can be run continuously and adapt to changes in real time. This

is of interest in network routing and urban transportation systems.

ACO algorithms are usually applied to discrete (combinatorial) optimization

problems. Assuming that the problem to be optimized can be represented by a graph, the

general ACO algorithm can be described as given below:.

1. Initialization: assign the same initial pheromone value to each edge of the graph, and

randomly place an ant in a location of the search space.

2. Population loop: for each ant, do:

2.1 Probabilistic transition rule: according to a given probabilistic transition rule, move

ant over the space so that a solution to the problem is built.

2.2 Goodness evaluation: evaluate the goodness of the solution obtained by this ant.

2.3 Pheromone updating: update the pheromone level of each edge by reinforcing good

solutions.Reduce the pheromone level of each edge (evaporation).

3. Cycle: repeat Step 2 until a given convergence criterion is met.

3.5 PARTICLE SWARM OPTIMIZATION

The particle swarm optimization algorithm was introduced to study social

and cognitive behavior, but it has been largely applied as a problem-solving technique in

engineering and computer science. There are two main versions of the PSO algorithm: a

binary and a real-valued version. With the exception of the representation, the two

versions of the algorithm are very much the same, thus only the real-valued (most

popular) version will be discussed here.

The particle swarm approach assumes a population of individuals

represented as binary strings or real-valued vectors – particles, which suffer an iterative

procedure of adaptation to their environment. It also assumes that these individuals are

social, what implies that they are capable of interacting with other individuals within a

given neighborhood. There are two main types of information available to each

individual of the population. The first is their own past experiences, and the second is the

Page 28: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 20

knowledge about how individuals around them have performed. The authors likened

these two types of information to the individual learning and cultural transmission.

Individuals tend to be influenced by its success along its past history and also by the

success of any individual in its neighborhood, i.e., with which it interacts. To these

‘schemes of interactions’ between individuals, the authors termed sociometric principles.

Individuals can interact with each other in a number of ways. The simplest form is a

binary interaction, where the individual interacts with its two nearest neighbors. Any

number k of nearest neighbors can be used. If the number of nearest neighbors is less

than the total number of individuals in the population, then this sociometric principle is

called lbest, else (if k = N) it is called gbest. Conceptually, gbest connects all the

individuals together, what means that its social interaction is maximal. In contrast, lbest

results in a local neighborhood for the individual. The authors claim that the binary

particle swarm algorithm can be interpreted as a qualitative or quantitative social

optimization algorithm, while the real valued (continuous) version of PSO is a truly

numeric optimization algorithm. In the latter version, the PSO searches for optima in Rn,

where n is the dimension of the search space. The continuous version of PSO assumes

individuals as points in a space, and the change over time is represented as movements of

the points, now defined as particles. A psychological system is viewed as an information

processing function, and each coordinate of a particle in the search space corresponds to a

psychological measure. Forgetting and learning are viewed respectively, as an increase or

a decrease in the value of a given coordinate.

Assume that the position of a particle i is given by xi and its velocity by vi.

The velocity is a vector of numbers that are added to the position coordinates of the

particle in order to move it throughout the search space along the iterations (t is the time

index): xi(t) = xi(t−1) + vi(t) (1) The social-psychological theory used as inspiration to

envelop the PSO algorithm suggests that individuals oving along a sociocognitive space

should be influenced by their own previous behavior and by the successes of its

neighbors. It is important to note that neighborhood is related to the topologic space that

defines the sociometric structure of the population, not to the distance between

individuals in the parameter space. In both versions (binary and continuous) of the

Page 29: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 21

algorithm, a neighborhood is defined for each individual based on its position in the

topological population array. The population array is usually implemented as a ring

structure, with the last member being a neighbor of the first one. As the particles are

moving in the space, the direction of movement is a function of its current position and

velocity, the location of the individual’s current best success pi, and the best position

found by any member of the neighborhood pg: xi(t) = f(xi(t−1), vi(t−1), pi, pg) The

change vi in the trajectory of a particle is a function of the difference between the

individual’s previous best and current positions, and the difference between the

neighborhood’s best and the current individual’s position. The formula for changing

velocity assumes continuous variables:

vi(t) = vi(t−1) + ϕ1(pi − xi(t−1)) + ϕ2(pg − xi(t−1)) (3)

In order to avoid that this system explodes when the particles’ oscillations become too

large, the velocity of the particles is damped by a factor Vmax:

if vid > Vmax, then vid = Vmax. (4)

if vid < −Vmax, then vid = −Vmax. (5)

The general PSO algorithm is summarized below:.

1. Initialization: randomly initialize a population of particles.

2. Population loop: for each particle, do:

2.1 Goodness evaluation and update: evaluate the goodness’ of the particle. If its

goodness is greater than its best goodness so far, then this particle becomes the best

particle found so far.

2.2 Neighborhood evaluation: if the goodness of this particle is the best among all its

neighbors, then this particle becomes the best particle of the whole neighborhood.

2.3 Determine vi: apply equation (3).

2.4 Particle update: apply the updating rule given by equation (1).

3. Cycle: repeat Step 2 until a given convergence criterion is met

Page 30: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 22

Figure 3.3 Particle Swarm Optimization

Page 31: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 23

4.ARTIFICIAL IMMUNE SYSTEM

Artificial immune systems (AIS) have been defined as adaptive systems

inspired by the immune system and applied to problem solving. In a simplified form, to

design an AIS it is necessary to choose an appropriate shape-space for the components of

the system, one or more affinity measure(s), and an immune algorithm. The shape-space

is a formalism used to create abstract (‘artificial’) representations for the components of

the immune system. The ‘shape’ of an immune cell or molecule corresponds to all the

features required to quantify interactions between the cell or molecule and the

environment, and also with other elements of the system.

There are four main types of shape-spaces: Euclidean or real-

valued, Hamming, Integer, and Symbolic. In Euclidean shape-spaces the elements of the

system are represented as real-valued vectors. In Hamming shapespaces the elements of

the system are attribute strings built out of a finite alphabet. In Integer shape-spaces, cells

and molecules are represented as integer values. (Note that Integer shape-spaces are a

particular case of Hamming shape-spaces.) Symbolic shape-spaces use different types of

attributes to represent a single element, for example, an integer value and a string such as

‘color’. There are two main types of interactions that can be performed by an element of

an artificial immune system. One is the interaction with the environment. For example,

an AIS can be used as a pattern recognition tool, thus the ‘artificial immune cells’ are

used to recognize a set (or sets) of ‘artificial antigens’ (patterns). In this case, the degree

of recognition, known as the affinity between the immune cell and the antigen, is

measured via a function that quantifies the strength of the match between the two. If we

assume that two cells interact to the extent their ‘shapes’ are similar, then a similarity

measure can be used according to the shape-space adopted. As an example, assume an

immune cell with the following shape Ab = [1,0,0,0,1] in a binary Hamming shape-space,

and an antigen with the following shape Ag = [0,1,1,1,1]. If affinity is directly

proportional to their similarity, then the expression L − Hamming distance is a suitable

measure to quantify immune recognition, where L is the length of the string. Their

Page 32: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 24

affinity in this case is Aff = 5 − 4 = 1. There are several types of affinity measures, which

usually vary according to the shape-space adopted, which by itself is usually defined by

the problem in hand. The last ‘building block’ of artificial immune systems corresponds

to the immune algorithms. There are a number of different algorithms that can be applied

to many domains, from data analysis to autonomous navigation. These immune

algorithms were inspired by works on theoretical immunology and several processes that

occur within the immune system. They can be classified as population-based and

network-based immune algorithms. In population-based algorithms, the elements of the

system are not connected with each other, meaning that they only interact directly with

the environment.

Interactions with other elements of the system can only be

performed indirectly, via, for example, a reproductive operator. In network-based AIS by

contrast, some (or all) elements of the system are interconnected. This way, there are two

levels of interaction within this system: with the environment and with other elements in

the system.

4.1. IMMUNE ALGORITHMS

In order not to overload the text with descriptions of several immune

algorithms, the focus will be given to two population-based AIS (negative and clonal

selection algorithms), and to two types of network-based AIS (continuous and discrete

immune networks). The main role played by the immune system is to protect our

organisms against infectious diseases (caused by viruses, bacteria, etc.), and to eliminate

debris and malfunctioning cells. To perform these functions, the immune system has to

be able to distinguish between our own cells (known as self) and those elements that do

not belong to the organism itself (known as nonself). One of the processes by which the

immune system differentiates self from nonself (self/nonself discrimination) is termed

negative selection. This gave rise to the negative selection algorithm. After distinguishing

between self and nonself, the immune system has to perform an immune response in

order to eliminate the nonself substances. Clonal selection is the name given to a theory

Page 33: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 25

that explains how the immune cells and molecules cope with invading nonself elements,

known as antigens.

Assuming that the set of self elements is known,the

standard negative selection algorithm aims at generating another set of immune cells,

known as detectors, that recognizes any cell (pattern) but those belonging to the self set.

The algorithm is summarized below

1. Initialization: randomly generate a number of candidate detectors (attribute strings).

2. Censoring: while a set of detectors of a given size has not yet been produced, do:

2.1 Affinity evaluation: determine the affinity between every self and a candidate

detector.

2.2 Selection: if the candidate detector recognizes any element of the self this candidate

is eliminated. Else, place this candidate detector in the detector set.

3. Monitoring: after the set of detectors has been generated, monitor a new set of self for

any variation. It means that if any element of the detector set matches an element of the

new self-set, then a nonself element was detected.

The theory known as clonal selection is used to

explain how the immune system ‘fights’ against an antigen. When a bacterium invades

our organism, it starts multiplying and damaging our cells. One form the immune system

found to cope with this replicating antigen was by replicating the immune cells successful

in recognizing and fighting against this disease-causing element. Those cells capable of

recognizing the antigen reproduce themselves asexually in a way proportional to heir

degree of recognition: the better the antigenic ecognition, the higher the number of

offspring (clones) generated. During the process of cell division (reproduction),

individual cells suffer a mutation that allows them to become more adapted to (increase

affinity with) the antigen recognized: the higher the affinity of the parent cell, the lower

the mutation they suffer. Assuming in this case a set of antigens to be recognized, a basic

clonal selection algorithm, named CLONALG, works as shown below:

1. Initialization: randomly initialize a repertoire (population) of attribute strings (immune

cells).

2. Population loop: for each antigen, do:

2.1 Selection: select those cells whose affinities with the antigen are greater.

Page 34: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 26

2.2 Reproduction and genetic variation: generate copies of the immune cells: the better

each cell recognizes the antigen, the more copies are produced. Mutate (perform

variations) in each cell inversely proportional to their affinity: the higher the affinity, the

smaller the mutation rate.

2.3 Affinity evaluation: evaluate the affinity of each mutated cell with the antigen.

3. Cycle: repeat Step 2 until a given convergence criterion is met.

According to the immune network theory, immune cells have portions of

their receptor molecules that can be recognized by other immune cells in a way similar to

the recognition of an invading antigen. This results in a network of communication

(recognition) between immune cells. When an immune cell recognizes an antigen or

another immune cell, it is stimulated. On the other hand, when an immune cell is

recognized by another immune cell, it is suppressed. The sum of the stimulation and

suppression received by the network cells, plus the stimulation by the recognition of an

antigen corresponds to the stimulation level S of a cell, as described by Equation 6:S =

Nst − Nsup + As, (6)where Nst corresponds to the network stimulation, Nsup is the

network suppression, and As corresponds to the antigenic stimulation.

The general immune network algorithm is given below:

1. Initialization: initialize a network of immune cells.

2. Population loop: for each antigen, do:

2.1 Antigenic recognition: match network cells against the antigen.

2.2 Network interactions: match network cells against network cells.

2.3 Metadynamics: introduce new cells into the network and eliminate useless ones

(based on a certain criterion).

2.4 Stimulation level: evaluate the stimulation level of each network cell taking into

account the results of the previous steps (Equation (6)).

2.5 Network dynamics: update the network’s structure and free parameters according to

the stimulation level of individual cells.

3. Cycle: repeat Step 2 until a given convergence criterion is met.

The stimulation level of an immune cell is going to determine its probability of

reproduction and genetic variation. There are two main types of immune network models:

Page 35: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 27

continuous and discrete. Continuous immune networks have their repertoires of cells

governed by one or more sets of ordinary differential equations (ODE), each of which

corresponds to the variation in number and affinity of a given immune cell. Discrete

immune networks are governed by a difference equation that is used in an iterative

procedure of adaptation controlling the number and affinities of individual cells.

Page 36: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 28

CONCLUSION

We can conclude that even the simplest of these natural intelligences can

achieve complex information processing and computational tasks that current artificial

intelligences find very challenging. We have seen the extent to which biological systems

such as neurons, brains, insects, and insect colonies have influenced the design of

artificial intelligences and our understanding of what intelligence actually is. In addition

we learnt how biological processes such as evolution and co evolution can be harnessed

to automatically produce solutions to challenging problems in AI as well as more

generally in computer science, and how biological phenomena such as flocking can

inspire algorithms in computer science.

Evolutionary algorithms have been successfully applied to a variety of optimization

problems such as wire routing, scheduling, traveling salesman, image processing,

engineering design, parameter fitting, computer game playing, knapsack problems, and

transportation problems. Ant colony algorithms help find solutions to routing problems.

They give more flexible adaptation to failures and network congestion and use only local

knowledge for routing and avoid costly communication of state to all network nodes.

Applications of artificial immune systems include computer security, monitoring network

services, distinguishing between spam n non spams, detecting viruses and malicious self

propagating codes.

Therefore Biologically inspired computing could allow the creation of new machines

with promising characteristics such as fault-tolerance, self-replication or cloning,

reproduction, evolution, adaptation and learning, and growth

Page 37: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also

Bio Inspired Computing

Division Of computer science, SOE, CUSAT 29

REFERENCES

1.www.cs.comp/lecture_slides.pdf

2.www.wikipedia.org

3.www.tech4all.com

4.www.biologicalcomputing.com

5. informatics.indiana.edu/rocha/i-bic/

Page 38: BIO INSPIRED COMPUTINGdspace.cusat.ac.in/jspui/bitstream/123456789/2615/1/Bio... · 2011. 4. 2. · Biologically inspired (often hyphenated as biologically-inspired) computing (also