Sunteți pe pagina 1din 28

CT002-3-2

AI Methods

Swarm Intelligence, technique


and application-I

Learning outcomes
To describe an agent in AI
To explain the swarm techniques based on animal
behavior
To understand the concept of colony, optimization
problems and the benefits of swarm intelligence

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

WHAT IS ARTIFICIAL INTELLIGENCE?

John McCarth, who coined the term defines it as "the


science and engineering of making intelligent
machines."

Artificial Intelligence (Al) is the intelligence of machines


and the branch of computer science which aims to create it.

The study and design of intelligent agents, which is a


system that perceives its environment and takes actions
which maximize its chances of success.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

What is a Swarm?

Is the collective behavior of decentralized, self-organized systems,


natural or artificial. The concept is employed in work on artificial
intelligence.
A loosely structured collection of interacting agents
Agents:
Individuals that belong to a group (but are not necessarily
identical)
They contribute to and benefit from the group
They can recognize, communicate, and/or interact with each
other
The instinctive perception of swarms is a group of agents in motion
but that does not always have to be the case.
A swarm is better understood if thought of as agents exhibiting a
collective behavior

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Introduction
Bonabeau has defined swarm intelligence as
any attempt to design algorithms or distributed problem-solving
devices inspired by the collective behaviour of social insect colonies
and other animal societies [1]

Term swarm in general refer to any restrained


collection of interacting agents or individuals
Two fundamental concepts self-organization and
division of labour, are necessary and sufficient
properties to obtain swarm intelligent behaviour
CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Example of Swarm

group foraging of social insects


cooperative transportation
division of labour
nest-building of social insects
collective sorting and clustering
Why SI interesting in IT ?
distributed system of interacting autonomous agents
goals: performance optimization and robustness
self-organized control and cooperation (decentralized)
division of labour and distributed task allocation
indirect interactions
CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Swarm Intelligence (SI)


An artificial intelligence (AI) technique based on the
collective behavior in decentralized, self-organized
systems.
Generally made up of agents who interact with each
other and the environment.
No centralized control structures.
Based on group behavior found in nature.
It does not arise from a rationale choice
It does not arise from an engineering finalized analysis
No one and nothing in the system says: I will do that
because this will lead to a specific behavior of the system
So, intelligence seems to magically emerge
CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

The emergent collective


intelligence of groups of
simple agents.
(Bonabeau et al, 1999)

Some algorithms using SWARM

Ant
colony
optimization (ACO)
is
a
class
of optimization algorithms modeled on the actions of an ant colony.
ACO methods are useful in problems that need to find paths to goals.
Artificial 'ants simulation agents locate optimal solutions by moving
through a parameter space representing all possible solutions.
Natural 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.
Artificial bee colony algorithm (ABC) is a meta-heuristic algorithm
and simulates the foraging behaviour of honey bees. The ABC
algorithm has three phases:
employed bee - onlooker bee - scout bee.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Some algorithm using SWARM

ABC in the employed bee and the onlooker bee phases, bees
exploit the sources by local searches in the neighbourhood of the
solutions selected based on deterministic selection in the employed
bee phase and the probabilistic selection in the onlooker bee phase.
The algorithm has a well-balanced exploration and exploitation
ability.
Artificial immune systems (AIS) concerns the usage of abstract
structure and function of the immune system to computational
systems, and investigating the application of these systems towards
solving computational problems .
AIS is a sub-field of Biologically inspired computing, and natural
computation, with interests in Machine Learning and belonging to
the broader field of Artificial Intelligence.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Some algorithm using SWARM

Particle
swarm
optimization (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 ndimensional space.
Hypotheses are plotted in this space and seeded with an
initial velocity, as well as a communication channel between the
particles.
Particles then move through the solution space, and are evaluated
according to some fitness criterion after each timestep.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Examples of Swarms in Nature:

Swarms build colonies and work in a coordinated manner - yet no single


member of the swarm is in control.

Termites build giant structures.


Ants manage to find food sources quickly and efficiently.
Flocks of birds coordinate to move without collision.
Schools of fish fend off predators and move as one body

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Swarm Intelligence
Solves optimization problems

Swarm

optimization imitates human or insects social


behavior.
Individuals interact with one another while learning from
their own experience, and gradually move towards the
goal.
It is easily implemented and has proven both very effective
and quick when applied to a diverse set of optimization
problems.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Bees

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Colony cooperation

Regulate hive temperature

Efficiency via Specialization:


division of labour in the colony

Communication : Food sources


are exploited according to
quality and distance from the
hive

Problem Solving using programmed solutions

Termites

Cone-shaped outer walls


and ventilation ducts
Brood chambers in central
hive
Spiral cooling vents
Support pillars

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Self-organization in a termite simulation

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Ants
Organizing highways to and
from their foraging sites by
leaving pheromone trails
Form chains from their own
bodies to create a bridge to
pull and hold leafs together
with silk
Division of labour between
major and minor ants

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Bird Flock

Fish School

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Why do animals swarm?


To forage better
To migrate
As a defense against predators

Termites swarm to build colonies


Birds swarm to find food
Bees swarm to reproduce
Social Insects have survived for millions of
years

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Social Insects
Problem solving benefits include:
Flexible
Robust
Decentralized
Self-Organized

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Summary of Insects

The

complexity
and
sophistication
of
Self-Organization is carried out with no clear leader

What we learn about social insects can be applied to the


field of Intelligent System Design

The

modeling of social insects by means of


Self-Organization can help design artificial distributed
problem solving devices. This is also known as Swarm
Intelligent Systems.

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Swarm Intelligence in Theory

An In-depth Look at Real Ant Behaviour

Interrupt The Flow

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

The Path Thickens!

The New Shortest Path

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Adapting to Environment Changes

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

How can we design SI systems?


The 3 steps processes -

Identification of analogies: in swarm biology and IT


systems
Understanding: computer modeling of realistic swarm
biology
Engineering: model simplification and tuning for IT
applications

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Some observations...
Nest-building in social wasps

Group defense in honey bees

CE00371-1:CT002-3.5-2
Introduction to(Artificial
Software Development
Intelligence

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Ants
Why are ants interesting?

Ants solve complex tasks by simple local means


Ant productivity is better than the sum of their single activities
Ants are grand masters in search and exploitation
Which mechanisms are important?

Cooperation and division of labour


Adaptive task allocation
Work stimulation by cultivation
Pheromones
CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Q&A

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

Next Topic
SWARM II
Details understand on Swarm concept:
a) Self organization
b) Division of labor
c) Reproduction
d) Foraging
e) etc
Discuss ABC algorithm
Study of Stimergy in SWARM intelligence

CE00371-1: Introduction to Software Development

CT002-3.5-2 AI-Methods

Problem Solving using programmed solutions

S-ar putea să vă placă și