UNIVERSITY OF CALGARY Bio-Inspired Collective Decision

UNIVERSITY OF CALGARY
Bio-Inspired Collective Decision Making Algorithms in Multiagent System
From Low- to High-Cognition Algorithms
by
Hichem Zakaria Aichour
A THESIS
SUBMITTED TO THE FACULTY OF GRADUATE STUDIES
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DEGREE OF MASTER OF SCIENCE
DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING
CALGARY, ALBERTA
APRIL, 2014
c Hichem Zakaria Aichour 2014
Abstract
At the beginning, this thesis proposes an algorithm inspired by ant’s scout-and-recruit for
foraging providing a low-cognition algorithm to rescue civilians in distress and explaining
how it could be achieved. Being low-cognition algorithm, this algorithm is characterized by
having minimal computation and communication between the agents of the MAS as well as
being applicable for large scale environment due to its inspiration from ants.
Then, an algorithm inspired by human’s conformity is provided which is considered a
high-cognition algorithm. This algorithm is applied to a rescue mission that is simulated
using RoboCup Rescue Simulator. Being high-cognition algorithm, this algorithm is characterized by having heavy computation and communication made by the agents of the MAS.
Finally, the conformity algorithm is integrated on top of the scout-and-recruit algorithm
to enhance its performance. While the low-cognition part insures its applicability to large
scale, the high-cognition algorithm pushes the agents to make smarter decisions enhancing
the overall system performance.
ii
Acknowledgements
At the beginning, I would like thank Allah the most Merciful the most Gracious for helping
me in completing this thesis and without His help it would have never been possible.
Secondly, I would like to thank Dr. Henry Leung for the extensive suggestions, advices,
guidance and experience that helped in shaping this thesis and make it reach this level. Being
my supervisor in this thesis, he made sure that all work is properly made with excellence
and he was always there for giving an expert opinion to keep the momentum.
As well, I would like to thank my parents for their continuous prayers to me as well as
motivating me to purse higher education and supporting me with everything they can.
Also, I would like to thank my professors Dr. Alejandro Ramirez-Serrano, Dr. Chi-Tsun
Cheng, Dr. Chris Macnab, again Dr. Henry Leung, and Dr. Peter Hoyer from UofC for
providing me with the necessary tools to help me excel in both this thesis and my Master
courses.
In addition to that, I would like to thank Dr. Abdulrahman Al-Ali, Dr. Armin Ebrelin,
Dr. Ayman Elhag, Dr. Mohammad Al-Jarrah, Dr. Nasser Qaddoumi, and Dr. Rached
Dhaouadi from AUS for preparing me to be a successful master student through their mentorship and advices.
I would like to also thank my team-mates in the research team who shared with me
the good and bad (stressful) moments of the past two years. Thank you Achinta, Chatura,
Dasola, Jack, Martin, Nuwan, Pristley, Simon, Siva, and Sumona.
Finally, a special thank to my mother who accepted that I leave her for the past two
years with her heart hurting for me being away for that long.
iii
Table of Contents
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Integrating Low- and High-Cognition Algorithms . . . .
1.2.2 Human-Like . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Multi Agent System . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Multiagent Learning . . . . . . . . . . . . . . . . . . . .
2.1.3 Intelligent Agent Design . . . . . . . . . . . . . . . . . .
2.2 Collective Decision Making Algorithms . . . . . . . . . . . . . .
2.2.1 Animal-Inspired . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Human-Inspired . . . . . . . . . . . . . . . . . . . . . . .
3
Ant Foraging . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Environment Model . . . . . . . . . . . . . . . . . . . . .
3.2.2 Agent Model . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Algorithm Design . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Overall Proposed CDM Algorithm . . . . . . . . . . . .
3.3.2 Description of Proposed CDM Algorithm . . . . . . . . .
3.4 Algorithm Analysis . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Centralized Decision Making Algorithm . . . . . . . . . .
3.5.2 Max–Min Ant System . . . . . . . . . . . . . . . . . . .
3.5.3 Effect of Environment Size on Runtime of Algorithm . .
3.5.4 Effect of Scout Agents on the Effectiveness of Algorithm
3.5.5 Neglecting Decision Time . . . . . . . . . . . . . . . . .
4
Conformity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Algorithm Design . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Make Conformity Decision . . . . . . . . . . . . . . . . .
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
iii
iv
vi
vii
ix
x
1
3
4
4
5
6
9
11
12
12
12
14
17
20
21
27
31
33
34
34
36
38
38
41
49
53
53
55
56
58
60
62
64
65
66
4.2.2 Update Variables . . . . . . . . . . . . . . . . . . . . . . .
4.3 Application: RoboCup Rescue Simulator . . . . . . . . . . . . . .
4.3.1 Agents of RCRS . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Using RCRS as an Application for Proposed Algorithm . .
4.3.3 Rescue Agent Design . . . . . . . . . . . . . . . . . . . . .
4.3.4 Initial Values of Conformity Vectors . . . . . . . . . . . . .
4.4 Algorithm Analysis . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Effect of Conformity Coefficients . . . . . . . . . . . . . .
4.4.2 Effect of Gain Decrement . . . . . . . . . . . . . . . . . .
4.4.3 Effect of Consistency Coefficient . . . . . . . . . . . . . . .
4.5 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Conformity Vectors Initialization . . . . . . . . . . . . . .
4.5.2 Conformity Vector Update . . . . . . . . . . . . . . . . . .
4.5.3 Conformity Coefficients . . . . . . . . . . . . . . . . . . . .
4.5.4 Gain Decrement . . . . . . . . . . . . . . . . . . . . . . . .
4.5.5 Remarks regarding Coefficients . . . . . . . . . . . . . . .
4.5.6 Effect of Adding Conformity Layer to Single-Agent Design
5
Integration of Low-Cognitive and High-Cognitive Algorithms . . .
5.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Environment Model . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Agent Model . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Algorithm Design . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Overall Proposed CDM Algorithm . . . . . . . . . . . . .
5.3.2 Description of the proposed CDM Algorithm . . . . . . . .
5.4 Algorithm Analysis . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Conformity Coefficients . . . . . . . . . . . . . . . . . . . .
5.5.2 Effect of Environment Size . . . . . . . . . . . . . . . . . .
6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
Appendix 1: Pseudo Code . . . . . . . . . . . . . . . . . . . . . .
A.1 Ant Foraging . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Conformity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Integration of Low-Cognitive and High-Cognitive Algorithms . . .
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
72
76
77
78
80
82
84
84
86
86
87
88
92
96
99
100
100
102
104
106
106
107
109
109
112
115
117
117
121
124
126
134
134
137
141
List of Tables
1.1
Features of Rescue and Soccer [1] . . . . . . . . . . . . . . . . . . . . . . . .
7
3.1
Algorithm for each Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.1
4.2
4.3
4.4
List of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Effect of Conformity Coefficients on the Performance of the Rescue Agent . . 85
Test Cases Results for Gain Decrement . . . . . . . . . . . . . . . . . . . . 99
Results of Paris1 from RoboCup Rescue Simulation League, First Day, 2013 [2]101
5.1
Algorithm for each Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
vi
List of Figures, Illustrations, Other Graphics
2.1
2.2
2.3
Historical Events Leading to the Establishment of MAS [3] . . . . . . . . . .
Animal-Inspired CDM Techniques . . . . . . . . . . . . . . . . . . . . . . . .
Sherif Experiment in 1936 [4] . . . . . . . . . . . . . . . . . . . . . . . . . .
13
22
29
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
Example of Connected Planar Graph for Ant Foraging (mv = 20)
Scout Agent Design using Logic-Based Approach . . . . . . . . .
Ant-Foraging-Inspired CDM . . . . . . . . . . . . . . . . . . . . .
Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity Diagram for Search . . . . . . . . . . . . . . . . . . . . .
Activity Diagram for Update Scout Graph . . . . . . . . . . . . .
Example of How to Update the Track Density . . . . . . . . . . .
Activity Diagram for Recruit . . . . . . . . . . . . . . . . . . . . .
Activity Diagram for Rescue . . . . . . . . . . . . . . . . . . . . .
Effect of Environment Size . . . . . . . . . . . . . . . . . . . . . .
Effect of Percentage of Scout Agents . . . . . . . . . . . . . . . .
Neglecting Decision Time . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
38
39
40
41
43
46
47
48
57
58
61
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
Agent Design using Behaviour-Based Approach . . . . . . . .
Activity Diagram for making conformity decision . . . . . . .
~ . . .
Example of How to Compute Effective Advisory Vector Ω
Block Diagram for Obtaining the Probability Vector ~η . . . . .
Example of How to Make the Conformity Decision . . . . . . .
Screen-shot of RoboCup Rescue Simulator . . . . . . . . . . .
Rescue Agent Design using Behaviour-Based Approach . . . .
Map of Paris in RoboCup Rescue Simulator . . . . . . . . . .
Results for the two methods of initializing Authority Vector . .
Results for the two methods of initializing Trust Vector . . . .
Results for the two methods of initializing Consistency Vector
Results for the three methods of updating Trust Vector . . . .
Results for the three methods of updating Consistency Vector
Effect of Trust Coefficient . . . . . . . . . . . . . . . . . . . .
Effect of Self Dependency Coefficient . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
68
70
71
72
76
80
87
89
90
92
93
95
96
98
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
Example of Connected Planar Graph (mv = 20) . . .
Scout Agent Design using Hybrid Approach . . . . .
All agents start at the Refuge . . . . . . . . . . . . .
Advisers communicating with Scout Agents . . . . .
Use Case Diagram . . . . . . . . . . . . . . . . . . .
Activity Diagram for Scout . . . . . . . . . . . . . . .
Effect of Trust Coefficient on performance . . . . . .
Effect of Authority Coefficient on performance . . . .
Effect of Self Dependency Coefficient on performance
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
106
109
110
111
111
113
118
119
121
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.10 Effect of Environment Size on the performance of Centralized, Ant-Foraging,
Proposed Algorithms, and MMAS . . . . . . . . . . . . . . . . . . . . . . . . 122
viii
List of Algorithms
A.1 Search Algorithm for the Scout . . . . .
A.2 Updating Scout’s Graph Representation
A.3 Recruiting . . . . . . . . . . . . . . . . .
A.4 Rescuing Civilian . . . . . . . . . . . . .
A.5 Explore . . . . . . . . . . . . . . . . . .
A.6 Make Conformity Decision . . . . . . . .
A.7 Update Variables . . . . . . . . . . . . .
A.8 Remove Blockades . . . . . . . . . . . .
A.9 Extinguish Fire . . . . . . . . . . . . . .
A.10 Save Person . . . . . . . . . . . . . . . .
A.11 Walk Around . . . . . . . . . . . . . . .
A.12 Scout . . . . . . . . . . . . . . . . . . . .
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
134
135
136
136
137
138
139
139
139
140
140
141
List of Symbols, Abbreviations and Nomenclature
Symbol
Definition
MAS
Multiagent System
CDM
Collective Decision Making
AI
Artificial Intelligence
DAI
Distributed Artificial Intelligence
GO-MAS
Goal Oriented Multiagent System
ACO
Ant Colony Optimization
MMAS
Max–Min Ant System
UML
Unified Modeling Language
OO
Object-Oriented
OOAD
Object-Oriented Analysis and Design
RCR
RoboCup Rescue
RCRS
RoboCup Rescue Simulator
GIS
Geographical Information System
UAV
Unmanned Ariel Vehicle
UGV
Unamnned Ground Vehicle
SAR
Search and Rescue
UofC
University of Calgary
x
Chapter 1
Introduction
For more than million years, nature has been developing ingenious solutions to its problems
characterized by the creatures of the world trying to survive in their environment. As it is
important not to reinvent the wheel, it is highly recommended for researchers nowadays to
contemplate upon the ways and means by which the nature has solved the different difficulties
facing it over the history of earth and projecting those ways and means to their respective
fields of expertise. In fact, many technologies that are used nowadays were initially inspired
by animals. Bar-Cohen and Breazeal [5] give several examples of such technologies including
tweezers which were originally inspired by the bicker of birds, various aerodynamic parts of
aircrafts which were inspired by the shape of seeds, and more recently the proposal of having
a tumbleweed-shaped vehicle that could traverse large areas of Mars using wind instead of
power consuming mechanism.
Considering the number of different species that inhabit earth with different shapes and
sizes from the smallest ant to the largest elephant, there is a lot of room for inspiration.
Therefore, why shall we learn only from our mistakes only? We shall rather learn from
the mistakes of those animals and transfer their molded experience into the new fields of
research.
Multiagent System (MAS) is one of these new fields as it was only formed in the second
half of the last century (Section 2.1 gives more detail about MAS). Because of its infancy
as a well-defined independent field, it lacks the adequate experience that is associated with
other well-established fields. Because of that, bio-inspired algorithms in the field of MAS
can help mitigate the amount of work required to enhance this field. Mainly, in this thesis,
Collective Decision Making (CDM) algorithms in social animals and human being are the
1
main bio-inspired algorithms considered.
When studying CDM in social animals and human (Section 2.2 gives more detail about
low-cognition and high-cognition Bio-Inspired CDM), the differences in complexity between
low-cognition social species, such as insects, and high-cognition social species, such as human
being, are found to be significant. The distinction between low-cognition and high-cognition
species is defined as it is made by Conradt and Roper [6] where the low-cognition is attributed
to species that require less communication and decision making/planing for their collective
decision making (referred to as Combined Decision in this case) and the high cognition is attributed to species that require more communication and decision making/planing for their
collective decision making (referred to as Consensus Decision in this case). Even though
each of these species deal with different set of difficulties, it could be noticed that there is
a substantial difference in the attitude of these two types of species. While low-cognition
social animals tend to have much less communication and decision making/planning before
coming up with a solution, human beings on the other hand, as a high-cognition creature,
take pride in planning each move. A good example would be building home/nest. In ants,
the colony is built without the need of any blueprints or proper planning; however, building
a house demands a long process requiring experts including civil engineers, electrical engineers, architects, and other professionals. They all follow a scheme planned long before even
buying the required equipments and raw materials. In addition to that, the process requires
substantial amount of formal communication among these experts in order to finally build
the house.
Whether it is low-cognition or high-cognition species, the field of MAS has a lot to learn
from all these creatures’ methods and techniques that have been perfected through out the
course of earth history till it reached this point. Not only that, researchers in MAS shall also
try to synthesis these ideas and techniques in order to even get a better outcome if that is
possible. With such mentality, the MAS field can have major advances to cover up the fact
2
that it is relatively new field of study. Also, this shall help in making our lives as human
beings much easier, more efficient and productive, and less stressful which would enhance
our quality of life. This thesis shall talk about this integration of low- and high-cognition
bio-inspired CDM algorithms in MAS.
1.1 Objective
In this thesis, the main objective is to build a link between low- and high-cognition CDM
algorithms that are applied to MAS. The hypothesis of this thesis is that the performance
of low-cognition bio-inspired algorithms could become faster for large environments by integrating high-cognition bio-inspired algorithm with it.
As it is shown in Section 1.2.1, the literature in MAS mainly presents either high-cognition
CDM algorithms or low-cognition CDM algorithms without giving consideration to MAS
where agents have varying level of intelligence. In such cases, the importance of the hypothesis presented in this chapter is shown as it links between these agents with different
capacities providing a system with better performance
Since a high-cognition algorithm provides faster way of achieving the outcome due to its
high intelligence, it is predicted that integrating it on top of a low cognition algorithm would
enhance the speed of the low cognition algorithm which would prove the hypothesis.
Testing the proposed hypothesis is done in two stages. Firstly, both a low- and highcognition CDM algorithms are presented. This presentation includes the various aspect of
development and implementation. The algorithms to be developed shall have a common
goal which promotes for a cooperative action within the MAS. Then, the high-cognition
algorithm is integrated on top of the low-cognition algorithm showing how that would result
in a faster overall performance. The results of testing are shown in Chapter 5 where the
integration takes place and the results are compared to that of Chapter 3 where the original
low-cognition algorithm is presented.
3
1.2 Motivation
Moving to the motivation behind this thesis, it is important to understand the circumstances
that pushed the writer to make his/her decisions. This shall help in understanding the point
that is being raised and how it should be dealt with. As Wooldridge [3] puts it: “It is very
often hard to understand what people are doing until you understand what their motivation
is.” This section shall illustrate the motivation behind this thesis. Regarding this thesis,
the general motivation behind choosing bio-inspired algorithms was the fact that there are
over millions of creatures around us. Those creatures have astonishing ways of dealing with
difficult situations. Some of these difficult situations are similar to the ones faced by MAS. It
would be wise to try projecting those ideas into this field which should greatly enhance it and
therefore enhance the well-being of human beings. That was the main motivation behind
choosing bio-inspired CDM algorithms. Aside from that general motivation that pushed us
into the direction of bio-inspired algorithms, there are other motivations that shaped the
direction which this thesis took.
1.2.1 Integrating Low- and High-Cognition Algorithms
Starting with the first motivation, the idea of integrating different ideas that come from
different backgrounds in order to produce a productive system is very intriguing. Sometimes,
looking in a one-dimension doesn’t really solve the problem one faces. Therefore, researchers
tend in many cases to bring different ideas from different fields and integrate them with
each other resulting in a system that proves that 1 + 1 > 2, in certain situations, as its
productivity is more than the simple summation of its integrated components. This idea
is referred to as “The whole is greater than the sum of its parts” and several researchers
emphasized it including Zimmermann et al. [7], Tanaka et al. [8], Makadok [9], and Allen
[10]. According to Pennington [11], this idea is formally referred to as the Gestalt Approach.
Focusing on the topic discussed in this thesis, existing bio-inspired algorithms in literature
4
suffers from this one-dimensionality when it comes to low- and high-cognition. In most of
the cases, it is either assumed all the agents of the MAS to be highly intelligent with good
communication capabilities [12, 13, 14], or it is the other way around [15, 16, 17, 18]. How
about systems that are consisting of both? Shouldn’t these systems be focused at?
For example, in the recent Calgary flood, all the city worked together in order to limit
the effects of this catastrophe. The people of the city could be thought of as MAS. While the
city had volunteers who are merely normal citizens with no experience and training on how
to deal in such situations, there are also rescue teams made of experts from police officers
to ambulance team. Such variety in capabilities forced the people of the city to choose a
certain way in dealing with the situation. Projecting that into MAS, it could be the case
that there are expert agents and naive agents. This was one of the main motivations of this
thesis. Even though the work presented does not provide a direct way of how to solve the
Calgary flood situation, the focus on rescue missions (it will be further discussed in section
1.3) was mainly inspired by the flood.
1.2.2 Human-Like
Applying human attributes in MAS is an important motivation for this thesis. Since the
beginning of their existence as independent fields, robotics and artificial intelligence were
always compared to human. Brooks [19] states that the main goal for artificial intelligence
when it first started was to replicate human level intelligence in a machine. Also, one of
the early artificial intelligent issues was to create an agent that can win the world champion
in chess. IBM Deep Blue was able to achieve this goal in the year 1997 [20]. Serving this
motivation, one of the algorithms presented in this thesis is actually inspired by human
psychology, namely: conformity which is presented in Chapter 4. Through this psychosocial
phenomenon, the proposed MAS shall have human-like characteristics.
5
1.3 Application
The famous author of the well-known Hitchhiker’s Guide to the Galaxy books, Douglas
Adams, predicted in a BBC radio program that processors will be as cheap and common as
the grains of sand. Regarding this quote, Michael Wooldridge [3] commented that the main
difficulty with reaching such level is not how to connect this huge number of processors;
rather, it is how to build a software that would be capable of reaching the anticipated potential of such large scale processors. He added that MAS is perceived as the best candidate.
From such statement, it could be seen that it is important when talking about MAS to keep
an application in mind since this field offers a lot of possibilities for real-life applications.
Now, applications of MAS vary from pure software applications, to robotics related applications. Based on the work presented in this thesis, several applications could deploy the
proposed system of this thesis. However, it was a must to focus on one application in order
to keep the thesis focused. In the decision process of choosing this one application, two
candidates were proposed which are soccer games and rescue missions. In order to weigh
these two applications, let’s start by a general description of each one.
The first application is soccer game. The soccer game is a well-known team game. It
consists of two teams where each team consists of 11 players. This game is played in a
rectangular field where each team has a goal on two opposing sides of the rectangle. The
objective of the game is to score more goals on the opposing team by putting a spherical
ball into the goal of the opponent team. The team scoring more goals in 90 minutes is the
winning team. For testing the proposed system, a soccer simulator can be used to test the
proposed algorithm. There are several simulators that are available online (most of them are
free) which were designed for the purpose of testing artificial intelligent learning algorithms
in multi-agent context. One of these simulators can be used to test the proposed algorithm.
The second application is rescue missions. Mainly, this application is inspired by real-life
disasters. This application mainly consists of a single team performing rescue missions in
6
order to limit the losses from a certain catastrophe. These rescue missions include rescuing
civilians in distress, removing blockades, extinguishing fires, and other similar rescue actions.
The main opponent in the case of rescue missions is the environment itself. As for the testing
part of the proposed system using this application, simulators for this kind of application
are available as well. Each simulator can have its own totally different problem definition
giving a variety of options. A suitable simulator can be used to test the proposed algorithm.
In order to choose from one of these two applications, it is important to look at the
features of each application. Kitano and Tadokoro [1] did that comparison and the result is
shown in Table 1.1.
Number of Agents
Agents in the Team
Logistics
Long-Term Planning
Emergent Collaboration
Hostility
Real Time
Information Access
Representation
Control
Rescue
100 or more
Heterogeneous
Major Issue
Major Issue
Major Issue
Environment
Seconds-Minutes
Very Bad
Hybrid
Distributed/Semi-central
Soccer
11 per team
Homogeneous
No
Less Emphasized
No
Opponent Players
Milliseconds
Reasonably Good
Non-symbolic
Distributed
Table 1.1: Features of Rescue and Soccer [1]
By examining these features with the requirements to test the proposed MAS, it was
found that rescue missions would be a better application as it has more emphasis on planing,
emergent collaboration, and logistics. As well, since the proposed algorithms are required to
be tested on large-size-MAS, soccer game wouldn’t be suitable application as it only provides
11 agents.
In addition to that, it is important to pick the application that has more importance in
real-life. It is with no doubt that rescue missions are more important in real life than soccer
game. There is a huge effort lately in this application because of its potential to save human
lives. In hazard, unknown areas, it is hard to send a human being to seek for specific object
7
or to save another human being. Thus, MAS can play an important role in replacing humans
to limit casualties. Applying the proposed algorithm on a rescue mission would be a good
idea since it would help in developing this area which, as Sycara [12] describes it, has noble
goal, reduces casualties, and saves human beings.
8
1.4 Terminology
One of the major disadvantages when talking to people from different backgrounds that
different disciplines have different meanings for the same term. While agent in intelligence
might refer to a spy, an agent in MAS carries a totally different meaning1 . This thesis cites
different disciplines including Biology, Psychology, Sociology, AI, MAS, and others. Not
only that, within the same field, sometimes the same term has different meaning. In MAS,
an agent might be perceived as a physical entity by a robotics researcher while it is not
necessarily the case for a website developer. In order to avoid confusion that might arise
from using terms that are defined differently, this section shall remove any ambiguity in
order to understand the proper definition adopted in this thesis.
• MAS : Multi Agent System in this thesis is defined as Michael Wooldridge [3] has defined
it in his book named An Introduction to Multiagent Systems. It is defined as systems
that are composed of multiple interacting computing elements known as Agents. Thus,
the proposed algorithms are not restricted only to physical systems such as group of
robots; it is also extended to include other areas such as networks. However, we will be
focusing in this thesis on physical systems without loosing the sense of generality.
• Agent: Agent is defined in [3] as a computer system that is situated in some environment
and both autonomous (to some extent) and interactive with other components of the
system. Also, as stated in [21], an agent can be modelled by the following 4-tuple
A = hSit, Act, Dat, fA i where Sit defines the set of all situations that an agent can be
in, Act defines the set of all actions that the agent can perform, Dat defines the set of
all possible inner data of the agent, and fA defines a function that decides on the action
among Act that should be performed based on the inner data Dat and situation Sit of
the agent.
1
this example is an exaggeration that was intended in order to clarify the distant differences in terminologies between different disciplines
9
• CDM : Collective Decision Making is defined by Parker and Zhang [22] as an emergent
system level decision that results from the joint intention of the different agents of the
MAS to reach a common goal or perform a certain task.
• UML: Unified Modelling Language is defined by Barclay and Savage [23] as a diagrammatic notation for describing OOAD by visualizing, specifying, constructing, and documenting software systems.
• Graph: A graph is defined in [24, 25] as a set of vertices and edges G = (V, E) where
each edge in the graph connects two vertices in the graph.
• Time Complexity: Time Complexity of an Algorithm, as defined by Cormen et al. [25],
is a function of the input size of the algorithm that gives a quantization of the amount
of time the algorithm requires to finish its computation.
• Space Complexity: Space Complexity of an Algorithm, as defined by Cormen et al. [25],
is a function of the input size of the algorithm that gives a quantization of the amount
of memory the algorithm requires to perform its computation.
• Conformity: The term Conformity discussed in this thesis is a behaviour that is taken
from the field of Social Psychology. Bordens and Horowitz [4] define Conformity as “a
social influence process that involves modifying behaviour in response to real or imagined
pressure from others rather than in response to a direct request or order from another”.
• Trust: The term Trust is defined in both MAS and Social Psychology. Since Trust is
mainly linked to Conformity in this thesis (Chapter 4), the Social Psychology definition
is the one adopted. Bierhoff and Vornefeld [26] define trust as the “reliance upon information received from another person (entity) about uncertain environmental states and
their accompanying outcomes in a risky situation”.
10
1.5 Thesis Outline
This thesis presents at the beginning an ant foraging algorithm, and conformity algorithm.
Then, it shows how the ant foraging algorithm could be enhanced by adding to it the conformity algorithm. All the steps for the design and implementation of both algorithms in
addition to their integration is shown in this thesis. Description of all these steps is presented
in the next five chapters as explained below.
Chapter 2 starts by providing a literature review about the concepts and topics studied
in this thesis. These topics include Multi Agent System and Collective Decision Making
Algorithms (with focus on bio-inspired CDM algorithms). Following the literature review
chapter, chapters 3, 4, and 5 present three algorithms for CDM. In order to make the thesis
easier to read, these chapters will be divided in the same way. In this way, after reading
one of these chapters, reading the remaining chapters will be easier to follow as they use
the same standard. Each chapter starts with a problem definition introducing the problem
that the proposed algorithm of that chapter would solve. After that, a section dedicated for
modelling the system is presented in order to build a steady ground upon which the algorithm
could be built. After that, the algorithm design is presented and explained followed by a
section for algorithm analysis. Finally, a section showing results of experiments for each
algorithm is given. Chapter 3 describes the low-cognition algorithm which was inspired
by ant foraging technique. Chapter 4 describes the high-cognition algorithm which was
inspired by conformity. Chapter 5 integrates the high-cognition algorithm on top of the lowcognition algorithm showing how doing that would enhance the low-cognition algorithm.
Finally, chapter 6 includes some concluding remarks.
11
Chapter 2
Literature Review
2.1 Multi Agent System
2.1.1 History
Artificial Intelligence (AI), as defined by Dr. Nils Nilsson [27], is “the activity devoted to
making machines intelligent” with intelligence being “the quality that enables an entity to
function appropriately and with foresight in its environment,”. AI has long roots in the
history of mankind. The idea of creating an Artificial Intelligent System (or a robot) has
lingered for long time in the imagination of philosophers, inventors, and scholars since ancient
Greek. However, as mentioned by Floreano and Mattiussi [28], this idea came to life only in
the last century when John McCarthy in 1956 formally established AI as a research area in
a meeting he organized with other researchers. Since that time, a huge deal of development
has been made especially in single agent. However, by the end of the last century, scientists
started to realize that a single agent is not capable to perform many tasks due to its limited
resources. Also, by observing the human society and how organizations are made to augment
the performance of the individual human, scientists and researchers started to study the field
of MAS. In MAS, different individual agents are designed to work together in order to achieve
a certain goal. There are three main advantages of MAS as stated by Nilsson [27]:
1. First of all, MAS provides a better solution in the sense that either it uses fewer
resources (with time being one of the resources) compared to how the system would
work if the individual agents are to work independently, or it achieves more of the
goal if the goal is quantitative. In other words, the collective achievement is higher
than the sum of possible individual achievements.
12
2. Secondly, through synergy among different agents, goals that were not possible to be
achieved by individual agents would be achievable.
3. The third advantage is that MAS by its nature relies on distributed control scheme.
In some problems and tasks, using a centralized control scheme can be out of question due to several factors (time restriction, resources restriction, and etc.) In these
situations, MAS steps forward as a legitimate solution to the problem.
Figure 2.1 shows some of the historical events that lead to the establishment of the MAS.
Figure 2.1: Historical Events Leading to the Establishment of MAS [3]
13
2.1.2 Multiagent Learning
Stone and Veloso [29] define Multiagent Learning as the intersection of MAS and Machine
Learning where learning is done by one agent (or several) and this learning is only possible
because several agents are present. From this definition it could be seen that Multiagent
Learning could happen to only a single agent; still, it is considered Multiagent Learning.
The key aspect here is that the learning is only possible because of the existence of several
agents. This is especially beneficial if the learned behaviour would facilitate two events:
1. The possibility of learning more individual-level behaviours by the agents of the system (including the agent learning itself)
2. The possibility of performing additional system-level behaviours
When dealing with single agent, the prediction of all the scenarios that could face the
agent is nearly impossible in most of the cases. In MAS, predicting these different scenarios
becomes out of question. Therefore, learning is an essential feature of MAS and it comes in
two forms as stated by Alonso et al. [30]:
1. The first form of multiagent learning is considered to be an emergent feature where
learning happens only in the micro-level (single-agent learning). This form is used
because Machine Learning has considered single-agent learning for a long time; on
the other hand, MAS is recently coming into the picture.
2. The second form of learning is social learning where each agent adapts to new situations with a sense of awareness of other existing agents.
Alonso et al. [30] further discuss the different categories of single-agent learning where
they divide it into reactive learning and logic-based learning. In reactive learning, agents
simply choose their actions in such a way to maximize the reward (or minimize the punishment) that they would get judging based on their previous actions (and the rewards they
14
got from them). Because of this simplistic method, reactive learning is beneficial in learning
rapidly from changes in environment. However, that simplicity results in non-optimal actions
as well as non-trivial representation of knowledge in complicated environments. Alferes et
al. [31] state that in order to have a good representation of knowledge, logic-based learning would work much better; however, it suffers from being time-consuming. Logic-based
learning provides a good learning methodology for MAS with static knowledge. In cases of
dynamic environments, logic-based learning suffers tremendously in time. Alonso et al. [30]
proposes that a combination of both reactive and logic-based learning would better solve the
learning dilemma in complex MAS.
For several years, supporters of each form of multiagent learning provided their logical
deduction on why their method is better. Using purely single-agent learning techniques in
MAS would result in reaching a non-optimal solution. Alonso et al. [30] point out that
this happens as a result of ignoring a very important fact which is the existence of other
agents in the system. Stone and Veloso [29] disagree with that. They state that even if
the agent ignores the other agents in the system, they will still be part of the environment.
As each agent affects the environment around it, single-agent learning could still work for
multiagent learning in implicit context. Disagreeing with Stone’s and Veloso’s tendency to
lean toward applying single-agent learning techniques, Sycara [32] states that through singleagent learning, it is not guaranteed that local-decisions would result in global benefit to the
whole system. As a result of that, coherent among agents becomes an important aspect
in learning. He further supports social learning as the future of multiagent learning. This
battle between single-agent learning supporters [29, 33, 34] and social learning supporters
[30, 32, 32, 27] kept going for about 15 years from the beginning of the 1990s until mid 2000s.
For the past 10 years, researchers, such as Sen and Airiau [35], Montes de Oca and Stützle
[36], De Oca et al. [37], Hoen et al. [38], and Guerra-Hernández and Ortiz-Hernández [39],
started to incline more toward social learning for multiagent learning.
15
Commenting on this tendency toward moving to social learning for multiagent learning,
Nilsson [27] states that many researches nowadays in multiagent learning reflect the basic
motivation of creating the field of AI. This motivation was to project human life into robots.
He further explains that social learning, in this case, is used nowadays as it projects human
society into MAS. The field of MAS brings the idea of society in the picture of AI agents.
In MAS, it is not only important to study the intelligence of a single system, but it is also
important to study the social intelligence of the whole system. Because of that, Sycara [32]
states that MAS is not as it used to be related only to the field of AI and Robotics. Social
Science fields like psychology, sociology, and economy are now as well related to MAS. Scientists and researchers in MAS field try to get benefit from these well-established, old-known
fields in applying or linking their findings with MAS topics, and social learning is one of these
topics. Alonso et al. [30] states that in social learning, theories from social science fields
such as game theory, inheritance learning, observational learning, and contagious behaviour
are emulated in artificial context and tested for validation.
16
2.1.3 Intelligent Agent Design
When discussing MAS, it is important to understand the different ways of designing intelligent agents in the literature. At the beginning of the 1970s, the main school of thought
in building artificial intelligence was the logic-based approach. It is mainly credited to
McCarthy and his student Hayes who popularized it after publishing their paper “Some
philosophical problems from the standpoint of artificial intelligence” [40]. In this paper,
they build the foundation of the logic-based approach which defines the intelligent system
to have the following four characteristics:
1. It has an adequate model of the world
2. It has the capability to answer different questions concerning the word based on its
built model
3. It has the capability to gain more information about the world if needed
4. It has the capability to perform tasks in order to fulfil its goals subject to its physical
constraints
Hayes would go further to be the main advocate of this methodology and defending it
in his publications such as “In defence of logic” [41]. In this paper, he states that all the
criticism around the logic-based approach is missing the important aspect of it which is
the semantic theory it provides. One of the main advantages of the logic-based approach
is that it provides a good medium, through its semantic theory, to compare formalisms.
Another advantage of the logic-based approach is that (and as seen in the first point of the
four characteristics of intelligent system as defined by McCarthy and Hayes) it provides a
representation of the world which is helpful in many applications.
However, this logic-based approach was soon to be criticized by many scientists and
researchers. As stated by Wooldridge [3], one of the main critics of the logic-based approach
17
was Rodney Brooks who started a new school of thought which is the behaviour-based
approach. Brooks presented the basis of his proposed philosophy in two papers published
in the early 1990s which are “Intelligence without Representation” [19] and “Intelligence
without Reason” [42]. In these two papers, he criticizes two main aspects of the logicbased approach. He proposes that, unlike what the logic-based supporters claim, intelligent
behaviour can be realized without representation of the world and without explicit abstract
reasoning. In the case of logic-based approach, a representation of the world is to be formed
first (using the sensory data); then, a computing element shall process this model, and finally
perform tasks through its actuators. What Brooks [19] suggests is that instead of having
this sequential layers, intelligent entities could be designed using parallel layers where each
layer should be fully tested before augmenting it with the next layer. For example, while
building a Robot, the first step would be to implement an obstacle avoidance layer. After
fully testing that layer, another layer should be added which gives, for example, a goal
position to be reached, and so on. As Brooks [43] states, what made the behaviour-based
approach gets popularized is that it was backed by successful attempts already published
for robots that were developed using this approach even before the formalization of this
approach. In addition to that, its simplicity, robustness, and elegance were another reasons
for its acceptance by the scientific community. In addition to all that, we believe that the
main reason it was popularized is that it offers the developer a sense of achievements when
finishing each layer. Once a layer is developed, the robot could move in the environment and
perform the behaviours specified by the developed layers. On the other hand, the robot could
not move in the logic-based approach until all the three components (sensory, computation,
and actuation) are developed and integrated.
As stated by Wooldridge [3], due to this on going battle between supporters of each
approach, another group of researchers came to the conclusion that a hybrid methodology
should be utilized. For example, Ferguson [44] proposes the Touring Machines architecture
18
which is an integration of the reactive architecture (behaviour-based approach) and the
deliberative architecture (logic-based approach). Other examples of such hybrid architectures
include planner-reactor architecture proposed by Lyons and Hendriks [45] and InteRRaP
architecture proposed by Müller [46].
19
2.2 Collective Decision Making Algorithms
A MAS usually faces several difficulties while it is acting in its environment. In order
to overcome those difficulties, it is required from the components of the system (agents)
to choose among several (finite or infinite) set of actions. This decision making can be
done either by a central agent (centralized-MAS) or each agent might choose its own action
(distributed-MAS). In this thesis, the main interest is distributed-MAS. Since each agent
is supposed to choose its own action, it is of importance to the system as a whole that its
components (agents) act cooperatively in order to reach an optimal state by the system as a
whole. This cooperative process requires what is called Collective Decision Making (CDM)
where agents collectively decide, explicitly or implicitly, on a method/plan for solving the
difficulty/problem faced by the system.
As it could be implied from the title of the thesis, the main focus is on Bio-Inspired CDM
which are CDM techniques inspired by human beings and/or social animals.
Animal-inspired CDM algorithms are characterized by their simplicity and low-to-medium
cognition. This fact comes from the low role of logic and planning in animals where most
of the actions are based on instincts. In addition to that, their method of communication is
less sophisticated as compared to the method of communication in human being. Because
of that, CDM tends in most of animal-inspired cases to be emerging behaviour On the other
hand, human-inspired CDM algorithms involve more logic, planning, decision making, and
communication. This reflects the high-cognition of human being. As a result of that, CDM
tends in most of the human-inspired cases to be planned behaviour
20
2.2.1 Animal-Inspired
Animal realm has been source of inspiration to human being in running many tasks and in
developing many new ideas since dawn of history. It also helped in the development of several
CDM algorithms. In most of the cases, those algorithm are inspired by insects (honey bee,
cockroach, ant), birds (pigeons), or mammals (primates) that tend to live in social groups.
Zappala [47] states that one of the first trials to use animal-inspired CDM in MAS was a
simulation made by Reynolds in the late 1980’s when he simulated the flocking behaviour of
birds.
Collective Decision Making has high importance in social animals. Decisions such as
nest choice, direction of immigrating in winter, and many others are of vital importance and
might result in the extinction of the whole group if wrong decision is made. Additionally, it
is important for a consensus to be reached so that the group stays together and doesn’t fall
apart. Zappala [47] points out that studies show that a great deal of advantage is achieved
by living in groups. Examples of such advantages include the African wild dogs which hunt
better in herds and the Savannah baboons which achieve safety by living in large groups.
Conradt and Roper [6] classify the ways of reaching a collective decision that ensure the
survival of a group of animals into two classes. The first class usually is made by animals
that have medium level of cognition which is called “Consensus Decision”. In Consensus
Decision, members of the group communicate with each other and reach a final decision
before acting. The second class usually is characterized by being made of individuals with
low level of cognition. This class of decision making is called “Combined Decision” in which
each member of the group makes a decision without communicating with other members;
however, its decision is based on the perceived behaviours of other members of the social
group. Figure 2.2 shows the different animal-inspired CDM techniques.
21
Figure 2.2: Animal-Inspired CDM Techniques
Consensus Decision
Conradt and Roper [6] define Consensus Decision as an animal Collective Decision Making
technique where the decision is agreed upon by the group members. In consensus decision
making, all members of the group should abide by the outcome of the decision; however, the
decision makers (members of the group who participate in the process of making decision)
might be the whole group which is called equally shared consensus decision, subset of the
group which is called partially shared consensus decision, or a leader who makes the decision
which is called unshared consensus decision.
In equally shared consensus decision, it is important to make sure that conflict of interest
by different members is solved. Conradt and Roper [48] explain that animals solve this
conflict of interest by setting a threshold for a certain activity, and once the number of
supporters is more than the threshold, the activity is pursued. Based on the threshold, this
voting system is divided into sub-majority where threshold is less than half, majority where
threshold is exactly half, or super-majority where threshold is more than half. This method
22
can be applied to MAS. A simple voting can be made and communicated among the agents
of the system, and once the threshold is met, the certain activity is performed. The voting is
propagated among the agents by broadcasting the votes from one agent to another. Conradt
and Roper [48] state that in the case of animals, it is possible that members of the group
cheat in the propagation phase. Nevertheless, in MAS, it can be guaranteed that such action
will not happen purposely (it could happen unintentionally through error in communication
for example) by not allowing agents to propagate false information. However, it is noted that
in large scale multi agent system, it might be impractical to make a vote as it would take long
time. This latency effect would be even more severe if the system is supposed to act fast.
In addition to that, it might happen that sometimes, no way of communication is present
among all the agents which would make propagating votes impossible at certain instances.
Therefore, it is noted that equally shared consensus can only be applied to relatively small
groups where communication among all agents is permitted and there is enough time to
perform the voting. Sueur et al. [49] state that equally shared consensus yield better results
for the group as a whole compared to partially shared consensus and unshared consensus.
In partially shared consensus decision, only a subset of the group makes the decision
and then the final decision is shared with other members. Conradt and Roper [6] state
that methods to select the decision makers in this kind of consensus decision vary from one
species to another. In birds, experienced birds navigate the rest of the flock for the best travel
route. In deer, studies show that adult-males tend to decide on the time of migrating. In
bees, around 5% of the population scouts for resources; then, they get back to the swarm and
communicate with other members of the group by dancing. In all these cases, agreement
on the decision happens through voting (just like equally shared consensus) among those
decision makers. As it could be seen, decision makers can be either experienced members,
demographic subset, or informed members. Partially shared consensus can be applied in
MAS in similar manner. The decision makers among the MAS can be selected as the ones
23
with most experience in the system, a predefined set of agents, or the agents which have
the most knowledge in the subject of interest. Then, among members of the chosen subset,
voting can be made to get the final decision.
In unshared consensus decision, a leader would make the decision and all the group
would follow that decision. Similar to partially shared consensus, decision maker selection
varies. The decision maker can be chosen as the one that has the most knowledge about
the decision to be made. Also, it can be chosen as the one that makes the decision which
maximizes the well-being of the herd. Lusseau and Conradt [50] state that bottlenose dolphin
use this method of choosing the leader when initiating a side flop or upside-down lobtails.
As well, the decision maker itself can be fixed which is called consistent leadership or can
vary which is called variable leadership as stated in [6]. Unshared consensus decision can
be applied to MAS by setting a leader-agent. In this case, the decision making becomes
centralized. However, unlike general centralized decision making, the leader can vary (i.e.
variable leadership) based on the situation in order to insure that the best decision is made.
One of the main benefits of this algorithm is that no complex arithmetic is required by most
of the system (except the leader) in decision making. Therefore, the action can happen faster
and with less energy consumption. However, in MAS where communication takes time, the
time taken to propagate the decision makes it impractical to use this method. As well, the
leader-agent must have the ability to withstand the energy-demand that it requires as it has
high energy demand (to both make decision and communicate it with other agents).
Combined Decision
Conradt and Roper [6] define Combined Decision as an animal Collective Decision Making
technique where each member of the group makes its own decision; however, that decision
is made based on the behaviour/actions of the other perceived members of the group. As it
could be seen from the definition, combined decision does not require main communication
forms. Each agent would make the decision based on observation rather than communication
24
with others. Also, it does not include arguing and negotiating. Because of that, this method
is used by most of the insects. Since insects have lower cognition, this method meets their
physiological restrictions in communication and computation. Also, as insects society is
characterized by being large in scale, this method proves to be better as it requires less
amount of communication. In fact, Zappala [47] states that most of the animal-inspired
CDM applied to Multi Agent System originates from combined decision techniques. This
happens mainly because combined decision techniques have the ability to be applied to
large groups. In addition to scalability, combined decision techniques require low level of
communication which makes it more energy efficient.
In combined decision, self-organizing is very important to achieve the final decision. Selforganizing is defined by Sueur and Deneubourg [51] as “a process in which patterns at the
global level of a system emerge solely from numerous interactions among lower level components of the system”. Several self-organizing techniques exist in nature and many of them
have been imitated either by simulators or by small robots. Parker and Zhang [22] have replicated one of these techniques and applied it to MAS. This technique is summarized by its
three main steps which are research, recruitment, and committing. It has been inspired by a
special type of ants called Leptothorax albipennis. A simpler self-organizing technique called
aggregation has also been realized by small robots. Besides its simplicity, it is very useful
as it allows an efficient information propagation. A robot-model of aggregation made by
cockroach Blattella germanica in selecting rest place is made by Garnier et al. [52]. As well,
aggregation can result in division of labour through simple self-organizing at the local level
of agents without a global planning as stated in [16, 17]. Another self-organizing technique
is called symmetry breaking. This technique is mainly used when two or more solutions (Ex:
two possible nest positions) are found. It is noted that a significant majority of the members/agents decide on one place which helps in preventing the swarm/system from getting
divided. Several insects (cockroach, honeybees, and ants) use this technique and it has been
25
replicated with small robots by Hamann et al [18]. Additionally, the defensive behaviour of
honeybees is considered as well a type of self-organizing that is called amplification process.
This defensive mechanism is as well replicated by Millor et al [53].
All these examples show the importance of nature in the field of MAS as it has a substantial role in making it move forward faster. Some of the problems faced by researchers
for the last century has faced animals since they first existed on this earth. Learning from
nature and projecting the methodologies used by animals can help the field of MAS (and
other similar fields) to grow faster.
26
2.2.2 Human-Inspired
Similar to its importance to animals, collective decision making is essential in human society.
It ranges from collective decisions made by countries (Ex: Allies and Axis countries in World
War 2) to simple decisions made by family members (Ex: choosing a restaurant for dinner).
However, human society is considered more complex than animal society; as a result, the
CDM algorithms in the case of human tends to be more complex and require more cognition.
With the current advancement in MAS, it is still infeasible to replicate most of the human
CDM; as a result, fewer attempts (as compared to Animal-Inspired CDM in MAS) have
been made to fully replicate them. However, several concepts of human CDM have been
replicated in a simplistic way in MAS.
Trust
One of the most investigated human-inspired CDM is Trust. In human society, trust is
essential. As the trust toward a person increases, a human being would tend to agree with
the proposed ideas by that person more. Macarthur [54] proposes a way of projecting this
social phenomenon into MAS. In his proposed method, CDM can be achieved where each
agent has a certain trust attribute for all other agents. Through the experience gained
by interacting with agents, trust and reputation parameters are computed which helps in
deciding the nature of interaction with the same agent in the future. As an agent tends to
give productive advices, its trust would increase which would result in a higher probability to
aggregate to its decision. However, even in the cases where trust is lower, several strategies
can be followed. Burnett et al. [13] suggest to overcome such difficulties through giving
explicit incentives, monitoring, or giving reputational incentives.
Leadership
Another human-inspired CDM is the idea of leadership whether it is implicit leadership or
explicit leadership. It is noted that in human society certain members of a social group (Ex:
27
friends) tend to have a leadership characteristic that makes the other members of the group
implicitly follow their decisions without that being explicitly appearing. Yu et al. developed
a model for this implicit leadership and applied it to MAS [14].
Conformity
As discussed earlier, linking human society and Artificial Intelligence has resulted in a great
deal of development in the field of MAS especially in learning. This thesis tries to project
one of the attributes of the human society, which is conformity, into MAS.
Cialdni and Goldstein [55] state that through conformity, it could be noted the members
of the society change their behaviour to match the behaviours of others around them. It
was noticeable to researchers, psychologists, sociologist, and philosophers that people have
this tendency to imitate each other from a long time. Bikhchandani et al. [56] mention
different quotes showing the existence of the concept of conformity for a long time. In 1514,
Machiavelli, Italian philosopher, quoted: “Men nearly always follow the tracks made by
others and proceed in their affairs by imitation.” In 1955, Eric Hoffer, modern philosopher,
talked about conformity saying: “When people are free to do as they please, they usually
imitate each other. A society which gives unlimited freedom to the individual, more often
than not attains a disconcerting sameness”.
Even though the concept of conformity has been recognized for hundred years by now,
it was experimentally proven and added to the field of psychology only in the last century.
Bordens and Horowitz [4] state that Muzafer Sherif is considered by many to be the first
one to formally study conformity in 1936. In his classical experiment which makes use of
the auto-kinetic effect phenomenon (perceiving a stationary light as moving), the subjects
of the experiment were asked to estimate the movement of stationary light in inches while
in groups. Figure 2.3 shows the results of the experiment and as it could be seen, the group
ended up conforming with each other to one solution.
One of the basic causes of conformity is the fact that people in a certain society tend
28
Figure 2.3: Sherif Experiment in 1936 [4]
to face similar situations. Because of this similarity, they would tend to make the same
choices. Also, another cause of conformity is that people tend to save their time and effort
by not analysing the certain situation for long; instead, they would just imitate others who
were seen in similar situation. This concept is referred to as Observational Learning by
Bikhchandani et al. [56]. In addition to that, based on Cialdini and Goldstein [55], social
acceptance comes as one of the most reasons for conformity.
Tennen [57] explains the basic background of conformity categorization in his book “Personality and Social Psychology”. Through the studies of Deutsch & Gerard in 1955 as well as
Kelley in 1952, conformity was divided into two categories: normative influence and informational influence. In normative influence conformity, individuals modify their behaviours
to match the others based on implicit rules of society (or any group of people) which are
formally known as norms. For example, people conform with each other in wearing formally
to conferences. Even though there is no rule against wearing casually, individuals choose to
wear formally abiding by the norms. On the other hand, in informational influence confor-
29
mity, individuals take the opinion of other members of the group as a source of information.
The amount of trust an individual has for the group affects the level of conformity of that individual. An example of informational influence conformity would be choosing a restaurant.
Generally, people perceive popular restaurants better than unpopular even if it contradicts
with their own prior information.
30
Chapter 3
Ant Foraging
Among all social animals which inspired researchers to develop new algorithms and methods
in CDM, ants are one of the most inspiring, used, and cited in MAS. The way ants interact
in their colony was the source of inspiration of many algorithms in artificial intelligent. How
ants manage to survive, forage, interact, and stay together in spite of the large number of
ants in the colony and limited cognition and communication made them of great interest to
scientists. Many of those scientists were able to developed several algorithms that imitate or
at least inspired by ants such as Ant Colony Optimization (ACO) [58], Division of Labour
[59], Ant Routing [60], Ant Foraging [61, 62], and self-assembly [63].
The algorithm proposed in this chapter is mainly inspired by the way ants forage. Basically, ants forage through the basic concept of scout and recruit. As explained by Biesmeijer
and De Vries [64] and Howard et al. [65], some of the ants in the colony are genetically born
to have scout capabilities which make them more suited for finding new sources of food (and
in some cases, new colony position in case the original position was flooded). Those scouts
search for possible food locations around the ant colony and once they find a food resource,
they go back to the colony and the second part of the foraging starts which is recruiting.
Scouts start recruiting ant-workers which would lead to the third and final state of foraging
which is collecting food. Once the scouts recruit workers, ant-scouts show the ant-workers
the way to the food resource; then, the workers would bring back the food to the ant colony
to reserve it for the winter season.
What is important about ant-foraging is that very minimal amount of communication
(compared to the size of the ant society) is required in order to find food and collect it back
to the colony. As explained earlier about combined decision (Section 2.2.1), the collective
31
decision making is made in insects through the individual observing the environment or the
behaviour of other individuals. In the case of ants foraging, Saffre and Simaitis [66] states
that ants dispose pheromone and through this pheromone the other ants will be able to
decide where to go. The existence of a certain pheromone in the environment would help
scouts in deciding how to explore and get back to the colony. As well, it helps the ant workers
to know the path to the food resource and back to the colony.
In this chapter, ant foraging is projected on rescue missions. Instead of searching for
resources as it is the case in ant foraging, the proposed MAS shall search for civilians in
distress. In the same way ants gather their resources in the ant colony, the proposed MAS
shall move all civilians to the refuge in order to take care of them and ensure their safety.
The remainder of this chapter shall explain how ant foraging is projected and used in rescue
missions.
32
3.1 Problem Definition
The problem to be solved is a rescue mission characterized by the following points:
• A set of agents Υ which has a partition1 consisted of the set S with ns agents (representing Scout Agents) and the set R with nr agents (representing Rescue Agents)
• A set of positions V with mv positions on the plane
• A set of roads E with me roads, where each road connects two distinct positions
v1 , v2 ∈ V
• Two distinct roads e1 , e2 ∈ E could intersect only at position v ∈ V
• Any two positions v1 , v2 ∈ V are reachable from each other
• For each agent a ∈ Υ, the initial position is the same and is called Refuge
• Each position v ∈ V has a certain number of civilians in distress cv
• cv for any given position is either zero or positive integer
• Each agent a ∈ R can save only one civilian in distress by taking it to the Refuge
The proposed algorithm should enable the Rescue Agents R to save all civilians in distress
with the help of Scout Agents S. Once all civilians are saved, all agents return to the Refuge
and the algorithm terminates.
1
partition of a set X is a collection of mutually disjoint non-empty sets whose union is the set X
33
3.2 Modeling
In this section, a model for both the environment and agents acting upon the environment
is provided. Using the following clearly defined modelling, the proposed algorithm of this
chapter could be understood easily.
3.2.1 Environment Model
Starting with the environment, by carefully studying the problem definition, a Connected
Planar Graph is chosen to model the environment for the following reasons:
• The set of positions V could be modelled as the set of vertices of the graph
• The set of roads E connecting positions could be modelled as the set of edges of the
graph that connect the vertices
• Since the set of positions V consists of positions on the plane, and any two distinct
roads e1 , e2 ∈ E intersect only at position v ∈ V , planar graph2 would serve the
purpose better than general graph.
• Since any two positions v1 , v2 ∈ V are reachable from each other, connected graph3
would serve the purpose better than general graph
• Movement of agent a ∈ Υ from one position to another could be modelled as moving
from one vertex of the graph to another using the edges
• The graph could be augmented by cv for each vertex to represent the civilians in
distress at the vertex representing the position of those civilians
From the above points, it could be seen that Connected Planar Graph could model the
environment fulfilling the conditions of the problem definition as stated in section 3.1.
2
3
Planar Graph: A graph that could be drawn on the plane with no two edges crossing each other [24]
Connected Graph: A graph where any two vertices are connected with some path [24]
34
In the literature, different types of graphs were considered including General Graph [67],
Connected Graph [68, 69], Planar Graph [70], and DAG [71]. Follow is the reason why they
were not used to model the environment based on the given problem definition.
• General Graph: The general graph does not guarantee that any two vertices are
reachable from each other. As stated in section 3.1, two positions v1 , v2 ∈ V are
reachable from each other. Based on that, this rule is not guaranteed with general
graph.
• Connected Graph: The connected graph does not guarantee that its vertices and edges
could be drawn on the plane with no two edges crossing each other which does not
satisfy one of the rules stated in the problem definition. This rule is that any two
distinct roads e1 , e2 ∈ E intersect only at position v ∈ V
• Planar Graph: Similar to the general graph, planar graph doesn’t guarantee that any
two vertices are reachable from each other
• DAG: Directed Acyclic Graph by definition implies that if there exist a path from
u to v; then, there is no path from v to u. Since all agents start from one specific
position which is the Refuge (assuming this would be u), once they move to reach
another position (assuming this would be v) that has civilians in distress, they will
not be able to go back to the Refuge. This presents a conflict with the purpose of the
proposed algorithm which is to move civilians back to the Refuge
Based on the above reasons, Connected Planar Graph is used to model the environment.
An example of connected planar graph can be seen in Figure 3.1.
Agents shall start their movement at the first vertex which represents the Refuge. Starting
at Refuge, agents will be able to move from one vertex of the graph to another using the
edges of the graph. Also, the civilians in distress are to be placed on the vertices.
35
4
3
2
5
19
14
20
6
Refuge
12
1
16
15
13
7
18
11
17
10
8
9
Figure 3.1: Example of Connected Planar Graph for Ant Foraging (mv = 20)
3.2.2 Agent Model
For the agents a ∈ Υ, role-based modelling is used. Agents are modelled by having only two
agent roles, namely: scout and rescue agents. Since the proposed algorithm in this chapter is
inspired from ants foraging, these two roles are analogous to the two roles of ants in foraging
which are scout and worker, respectively. A more realistic ant colony model should include
queen, soldier, and male agent roles; however, since these roles are not included in foraging
(which is the focus of the algorithm presented in this thesis), they are neglected. The scout
agent role represents the set S of ns agents. The rescue agent role represents the set R of nr
agents. As stated by Stegh et al. [21], agents of the system shall be further modelled using
the 4-tuple (Situation, Action, Data, Function).
The scout agent can be modelled by the following 4-tuple:
As = hSits , Acts , Dats , fAs i
(3.1)
The scout agent can be in two main situations (Sits ) which are being in a previously
visited position, or being in a new position. There are three actions (Acts ) that the scout
agent can do, namely: exploring new roads, going to previously visited positions, or recruiting
rescue agents. As for the data (Dats ) that a scout agent shall possess, it includes several
36
data which are:
• A list of all visited positions and roads (i.e. The portion of the Graph traversed so
far)
• The current position and the previous position
• Adjacency list for each position knowing the roads visited/traversed already
• The number of civilian in distress cv at each position
• Whether it has been flagged (another scout is recruiting rescue agents for it)
• Certain characteristic data for each vertex to distinguish it from other vertices using
the agent sensors
• A list that shows the first edge that should be traversed to go from each vertex to
another.
Knowing the situation (Sits ) and data (Dats ), the scout agent can decide which action
to perform based on function (fAs ) which algorithm is described in section 3.3.
On the other hand, the rescue agent can similarly be modelled by the following 4-tuple:
Ar = hSitr , Actr , Datr , fAr i
(3.2)
The rescue agent is characterized by its simplicity compared to the scout agent. For the
rescue agent, it has one of two situation (Sitr ) which are either carrying a civilian or not.
As for actions (Actr ), a rescue agent can follow a recruiter, follow tracks, and drop or pick
civilian. The rescue agent has two data (Datr ), which are being recruited or not (boolean)
and the type of track to follow. Finally, knowing the data (Datr ) and situation (Sitr ) faced
by the rescue agent, there is a function fAr that specifies what action (Actr ) should the
rescue agent perform.
37
3.3 Algorithm Design
After defining the problem and modelling the environment and agents, it is time to explain
the algorithm design. For the design of the proposed system in this chapter, McCarthy’s
and Hayes’ logic-based approach (refer to Section 2.1.3) is used. As stated by McCarthy and
Hayes [40], the system is divided into three basic processes. The first process is to update
the representation of the environment. This first process is also known as the epistemological
part. The second process is to compute a solution for the given problem. The third process
is to make the decision based on the computed solution. The second and third processes are
known as the heuristic part. Figure 3.2 shows the design of the Scout Agent.
Figure 3.2: Scout Agent Design using Logic-Based Approach
3.3.1 Overall Proposed CDM Algorithm
The proposed CDM algorithm shall be summarized by the following four points:
1. Search: Enable all a ∈ S to move from vi ∈ V to vi+1 ∈ V where vi 6= vi+1 and
v0 =Refuge using road e ∈ E searching for civilians in distress
2. Recruit: Once a position v ∈ V with cv > 0 is reached, x returns to Refuge to recruit
a non-empty set of agents Re ⊆ R then take them to position v
3. Rescue: Enable agent a ∈ Re to rescue civilians in distress by taking them to the
Refuge
4. Once all positions v ∈ V have cv = 0, all agents a ∈ Υ should return to the Refuge
and the algorithm ends
38
Using the modelling provided in Section 3.2, the general idea of the proposed CDM could
be shown in Figure 3.3. Full description of the proposed algorithm is in the following section.
(a) All agents start at the Refuge
(b) Scout Agents start exploring
(c) Scout Agent goes back to recruit Rescue
Agent
(d) Scout take Rescue Agent to the Civilian in
Distress
(e) Rescue Agent performs the rescue mission
Figure 3.3: Ant-Foraging-Inspired CDM
39
One of the basic three criteria of OOAD is to be use-case driven (the other two are
architecture centric and iterative and incremental). As defined by Barclay and Savage [23],
use-case is an interaction between the system of interest and one of its users. This criteria
of OOAD is represented by what is called Use Case Diagram. Based on the four points
summarizing the proposed CDM algorithm of this chapter, Figure 3.4 shows the Use Case
Diagram of the proposed MAS.
Figure 3.4: Use Case Diagram
From the Use Case Diagram, it could be seen that the proposed system has three main
use cases (with the forth one, Update Scout Graph, included in one of the main use cases
which is Search) which are to Search, Recruit, and Rescue.
For each of the four use cases, a pseudo code is provided in the appendix. Table 3.1
shows the link between each algorithm and its corresponding use case.
Algorithm
Algorithm A.1: MoveS
Algorithm A.2: UpdateSG
Algorithm A.3: Recruit
Algorithm A.4: Rescue
Use Case
Search
Update Scout Graph
Recruit
Rescue
Table 3.1: Algorithm for each Use Case
40
3.3.2 Description of Proposed CDM Algorithm
First of all, this section starts by focusing on the scout agent explaining the algorithm it
uses in order to perform its task. As shown in Figure 3.4, the scout agent is involved in two
main use cases which are Search and Recruit.
Starting with the Search use case, this is considered to be the main intelligent activity
that the scout agent performs. This is true because the Recruit use case does not require
lots of computation as compared to the Search use case. In order to build this use case for
the scout agent, the logic-based approach explained in Section 2.1.3 shall be used. Because
of that, the Search use case could be divided into three components: Sensory, Computation,
and Actuation. Figure 3.5 shows the activity diagram for Search use case.
Figure 3.5: Activity Diagram for Search
From the activity diagram, it could be seen that the scout should first decide whether it
is in a new position or not. This is important in order to update Sits . As mentioned earlier
in Section 3.2.2, the action Acts to be chosen depends on Sits . Therefore, whenever a scout
41
reaches a certain vertex, it first retrieves the raw data ∆s of that position using its sensors:
∆s = SensorData()
(3.3)
Once raw data is collected, it should be checked whether the current position has been
previously visited or not. If those data doesn’t match any of the data of the previously
visited vertices, it is known for sure that the scout is in a newly visited vertex. Therefore,
the raw data ∆s is inserted in the list of data (Data[V ]) in order to know this position when
visited again.
The second step would be to ensure that the inner data Dats is updated. This is important
in choosing the proper action Acts as mentioned in Section 3.2.2. Current vertex vcur and
previous vertex vpre are modified based on the following equations:
vpre = vcur
vcur =
(3.4)





FindPos(∆s )
if ∆s ∈ Data[V ]




|V
otherwise
[G]| + 1
(3.5)
Where FindPos(∆s ) returns the vertex number which data matches ∆s .
After modifying its current and previous vertices depending on the result of raw data
checking, the scout should augment the graph saved in its data in order to incorporate the
newly visited vertex and/or traversed edge. This update of the inner data Dats is considered
as a sub-use case which is Update Scout Graph use case as shown in Figure 3.4. For this subuse case, Figure 3.6 shows the activity diagram for Update Scout Graph use case describing
how this sub-use case is performed.
As shown in the activity diagram, for augmenting the graph with new information, scout
agent first checks whether the traversed edge e has been traversed before or not. If it was
traversed, there is nothing to update which means the Update Scout Graph use case should
42
Figure 3.6: Activity Diagram for Update Scout Graph
terminate and the Search use case should complete. In the case of new edge, the algorithm
proceeds by inserting the edge e in the Edge List E[G] for future reference. After that, the
algorithm checks if the current vertex vcur is visited for the first time or not. If that is the
case, the new vertex is inserted in the list of vertices V [G]. Also, paths from all existing
vertices to the new one are defined with the previously visited vertex being the intermediate
as follow:
∀vi ∈ V [G] − vcur
d(vcur , vi ) = d(vi , vcur ) = d(vi , vpre ) + length(e)
(3.6)
nxt(vi , vcur ) = nxt(vi , vpre )
(3.7)
nxt(vcur , vi ) = e
(3.8)
Where d(u, v) is the shortest distance between vertex u and vertex v, and nxt(u, v) is the
edge at u to be chosen in order to start moving through the shortest path from u to v.
If the current vertex vcur is not new and the distance between the previous and the current
vertices (i.e. length(e)) is less than the previously calculated through other paths, this means
that the traversed edge will result in modification for best paths between different vertices
43
(at least between the current and previously visited vertex). Then, the paths between all
vertices are modified in two steps. First, the distance between current vertex vcur and all
other vertices will be ensured to be the shortest with the previous vertex vpre as the possible
intermediate vertex as shown in the following equation:
∀vi ∈ V [G]
if d(vi , vpre ) + d(vpre , vcur ) < d(vi , vcur )
d(vcur , vi ) = d(vi , vcur ) = d(vi , vpre ) + d(vpre , vcur )
(3.9)
nxt(vi , vcur ) = nxt(vi , vpre )
(3.10)
nxt(vcur , vi ) = e
(3.11)
Second, the graph is further updated by taking all two pairs of vertices and assuming the
current vertex as an intermediate vertex checking whether it makes the path shorter or not
as shown in the following equation:
∀vi , vj ∈ V [G]
if d(vi , vcur ) + d(vcur , vj ) < d(vi , vj )
d(vi , vj ) = d(vi , vcur ) + d(vcur , vj )
(3.12)
nxt(vi , vj ) = nxt(vi , vcur )
(3.13)
nxt(vj , vi ) = nxt(vj , vcur )
(3.14)
Moving back to the Search use case, after modifying Dats , scout agent checks whether
the current position vcur has civilians in distress or not as well as checking whether another
scout is already recruiting for it. If it has civilians and no scout is recruiting for it, the scout
should flag it for itself (so that no other scout tries to recruit for it) and then go back to the
44
Refuge and recruit for this current position to get the civilians in it back to the Refuge. The
recruiting algorithm is to be explained shortly after finishing with the searching algorithm. If
the current position doesn’t have civilians or it is flagged by another scout, the scout should
complete scouting in other positions searching for civilians in distress.
In order to complete exploring the environment, scout agent shall decide on the next
edge to be traversed. In this proposed algorithm, the method of choosing the next edge
is a variation of the Max–Min Ant System algorithm proposed by Stützle and Hoos [72].
It should be noted at this point that each scout should have a unique track which is a
replacement for pheromone in the case of ants. When a scout traverse a path e, it updates
the density of its track in that path (the update method will be explained shortly). The
decision of which edge to go next depends on the tracks seen at each edge. The edge is
chosen randomly based on the following probability function:
1
τe τei2
Nei
Pei = P
Nj
Nei =
(3.15)
(3.16)
Where Pei is the probability of scout i taking path e, τei is the density of tracks made by
scout i over path e, and τe is average density of tracks. τei is squared in order to increase
the exploration possibility of the scout to go to places where its track density is less (which
increases the possibility of visiting new positions). The density of track τei of scout i over
path e shall be updated and follow you may find how this update is done.
At the beginning, the operator [x]ab is defined as follow:
[x]ab =





a





if x > a
b








x
45
if x < b
otherwise
(3.17)
Using this operator, the track density τei of scout i over path e is updated as follow:





[(1 − ϕ)τei
τei = 

+ τ0 ]ττmax
min


[(1 − ϕ)τei ]ττmax
min
if scout i passes over path e
(3.18)
otherwise
where ϕ ∈ (0, 1] is the track decay coefficient, τ0 is the incremental value of track density
as the scout passes by it, and τmax and τmin are upper and lower limits for the track density.
Figure 3.7 shows an example of how the track densities of two edges are updated when
traversed by two scout agents.
(a) Initial Values for Track Density for Each Edge
(b) Updated Track Densities for Each Edge
Figure 3.7: Example of How to Update the Track Density
The track decay coefficient ϕ controls the time delay before a certain path is perceived
46
as non-traversed. Higher values of ϕ makes the track density decay faster. Based on the
nature of the environment, this value shall be selected. In environments changing rapidly,
higher values of ϕ are desirable. In environments that are more stable, lower values of ϕ are
more desirable.
Moving to the next use case, as explained before, after augmenting the graph with the
traversed edge e and/or newly visited vertex, if the current vertex vcur is not flagged and has
civilians in distress, the scout moves to the second use case which is the Recruit use case.
Figure 3.8 shows the activity diagram for Recruit use case.
Figure 3.8: Activity Diagram for Recruit
As it could be seen in activity diagram, scout agent moves back to the Refuge in order
to recruit rescue agents to save civilians. Once the scout is at the Refuge, it keeps waiting
for vacant rescue agents to recruit them. Once it recruits rescue agents, the scout directs
the recruited rescue agents Re to the position of the civilians so that rescuing action take
place.
As for the rescue agents, they are considered to be reactive agents. They are mainly
involved in two use cases: Recruit and Rescue. However, rescue agents are merely waiting
47
to be recruited in the Recruit use case. Their main functionality is in the Rescue use case.
The activity diagram of this use case is shown in Figure 3.9.
Figure 3.9: Activity Diagram for Rescue
As shown in the activity diagram, the recruited rescue agents shall follow the scout to
the position of the civilians in distress. As long as cv > 0, the recruited rescue agents shall
keep going back and forth between the position of the civilians and the Refuge until all
civilians are saved (i.e. cv = 0). In that case, they would return to the Refuge and wait to
be recruited by another scout agent.
48
3.4 Algorithm Analysis
Now that the proposed algorithm is fully explained, it is time to move to analyse its performance and effectiveness. Performance of an algorithm is characterized in two main ways:
Time Complexity and Space Complexity. Time Complexity is the time required for an algorithm to run as a function of its input size. Big O notation will be used for analysing the
time complexity of the algorithm. Space Complexity is the memory needed for an algorithm
as a function of its input size. As well, the space complexity will be analysed using the Big
O notation. On the other hand, effectiveness of the proposed algorithm is to be tested by
comparing it with two other algorithms (Centralized and the Max–Min Ant System).
Starting with the time complexity of the proposed system, it could be seen first that
recruiting and rescuing both run in O(1) in terms of decision making. The first algorithm
(recruiting) simply requires from the scout to go back to the colony and recruit. On the
other hand, the second algorithm (rescue) requires from the rescue agent to proceed with
rescuing civilians going back and forth between the position of the civilians and the Refuge
without much of decision making. Therefore, the main algorithm based on which the overall
time complexity of the proposed algorithm depends is the scouting for civilians in distress
(i.e. Search use case).
From the description of the search algorithm as specified in Section 3.3.2, it should be
possible to obtain the time complexity of the proposed algorithm. The first computational
process for the scout agent in the Search use case is to check if the current vertex vcur has
been visited before or not. This check can be done using proper data structure (Ex: Balanced
Binary Search Tree) in O(lg mv ). The second computational process is to ensure that the
inner data Dats is updated. The main bottleneck of this process is the augmentation of
the graph representation inside Dats . As specified in Section 3.3.2, this is done first by
checking whether the traversed edge e has been traversed before or not. This check could be
performed using proper data structure (ex: balanced binary tree) in O(lg me ). The main part
49
of augmenting the graph is the update of the distance d(u, v) between all pairs of vertices.
Since all pairs are to be considered, the overall time complexity for augmenting the graph
with new information is O(lg me + m2v ). From all that, it could be concluded that the overall
time complexity of the Search use case is O(lg mv + lg me + m2v ). As it was said above, the
overall time complexity of the proposed algorithm depends on the time complexity of the
Search use case; therefore, the overall time complexity of the proposed algorithm could be
reduced to:
T (mv ) = O(m2v )
(3.19)
As for Space Complexity, it can be noted that the rescue agent saves only the shape of
the track it follows which gives a space complexity for the rescue agent equal to O(1). On
the other hand, the scout agent is required to save information about vertices and edges
already visited which makes the overall space complexity of the scout agent O(mv + me ).
For connected planar graphs (As specified in Section 3.2.1, the environment in this algorithm
is modelled as a connected planar graph), Euler Formula states that:
mv − me + mf = 2
(3.20)
where mf is the number of faces (regions on a plane that are bounded by edges of the
planar). Following is the proof of Euler Formula as stated by Bondy and Murty [24]:
Euler Formula could be proven by induction on mf . Let’s start with mf = 1. Since the
graph is connected, it means that no loop should be formed (otherwise, two faces will be
formed). This means that for mf = 1, the connected planar graph is in fact a tree4 . By
definition, tree has me = mv − 1; therefore, for mf = 1, Euler formula holds. Now, let’s
suppose that Euler’s Formula holds for all connected planar graphs with mf < n and G be
a connected planar graph with n ≥ 2. Choose an edge e of G that is not a cut edge5 ; then,
4
5
Tree is a connected graph with no loop
Cut edge is an edge which removal makes the graph disconnected
50
G − e is a connected planar graph with n − 1 faces since the two faces separated by e will
be joined (choosing a cut edge is not permitted as it would result in a disconnected planar
graph). By the induction hypothesis:
mv (G − e) − me (G − e) + mf (G − e) = 2
(3.21)
and using the following relations:
mv (G − e) = mv (G)
(3.22)
me (G − e) = me (G) − 1
(3.23)
mf (G − e) = mf (G) − 1
(3.24)
mv (G) − me (G) + mf (G) = 2
(3.25)
It could be induced that:
Which proves Euler’s Formula. From Euler’s Formula, Bondy and Murty [24] deduced
the following equation with the proof shown after it:
me ≤ 3mv − 6
(3.26)
In order to prove this equation, two facts should be used. To begin with, let’s call the
number of edges surrounding a face the degree of that face. The first fact is that in a
connected planar graph, each face has a degree of at least 3; therefore, the summation of
the degrees of faces should be at least equal to 3 times the mf . The second fact is that
the summation of the degrees of faces is equal to twice the number of edges since each edge
is counted twice (once for each face of the two faces it separates). From that, it could be
51
concluded that:
3mf ≤ 2me
(3.27)
By rearranging Euler’s Formula: mf = me − mv + 2. By substituting for mf in the above
inequality and with a little algebra, it could be proven that:
me ≤ 3mv − 6
(3.28)
Because of that, it could be concluded that O(me ) = O(mv ). This would mean that the
overall space complexity of the proposed algorithm is:
S(mv ) = O(mv )
52
(3.29)
3.5 Results and Discussion
In order to understand the effectiveness of the proposed algorithm, it would be helpful to
compare it with two other algorithms. In this case, the two algorithms to be compared
with the proposed algorithm is a centralized decision making algorithm and the Max–Min
Ant System (MMAS) proposed by Stützle and Hoos [72]. The proposed algorithm was
implemented as well as these two algorithms. Several test cases were created and given as
input for all these algorithms (in some cases, the test cases were only given as input for
the proposed algorithm and the centralized algorithm as it is shown in Section 3.5.4 and
3.5.5). The results of each test case were noted and graphs of these results are presented in
this section for further discussion. The section starts by explaining the centralized and the
MMAS algorithms implemented.
3.5.1 Centralized Decision Making Algorithm
In the centralized decision making algorithm, all data perceived by scouts are to be sent
to a centralized brain that coordinates the movement of both rescue agents and scouts.
Rescue agents and scouts in this case simply act based on the commands received from the
centralized brain with no decision making done at their level. Since the decision is made by
a centralized brain that decides the optimal decision based on all the data perceived so far, it
is guaranteed that the overall solution that results from the algorithm would be an optimal
solution with no redundancy as opposed to the case of proposed algorithm. The redundancy
in the proposed algorithm arises from the fact that a scout might go to search in an area that
has been searched before by another scout. However, because of the probabilistic function
(Equation 3.16) which gives more chance for a given scout to choose paths that haven’t been
traversed, the overall movement of scouts and rescue agents are near-optimal in the proposed
ant-foraging algorithm.
However, there is another important aspect to be noticed. As shown in Section 3.4, the
53
part that includes the most amount of computation is updating the scout graph which has
O(m2v ). In the case of the centralized algorithm, if the fastest All Pair Shortest Path which
is known as Floyd-Warshall is used for the centralized algorithm, that would run in O(m3v )
as stated by Cormen et al. [25]. In this algorithm, for each two vertices, a third vertex is
considered as an intermediate vertex between them and the minimum distance is calculated
based on that as shown in the following equations:
∀vi , vj ∈ V [G]
vopt = argmin(d(vi , vk ) + d(vk , vj ))
vk
d(vi , vj ) = d(vi , vopt ) + d(vopt , vj )
nxt(vi , vj ) = nxt(vi , vopt )
(3.30)
(3.31)
(3.32)
Because of the loop over all possible different three vertices (the source vi , sink vj , and
intermediate vk ), this algorithm is cubic. However, since information is given dynamically
while the MAS is running, the algorithm could be optimized so that it runs in:
Tc (mv , ns ) = O(m2v ns )
(3.33)
where ns is the number of scouts.
This could be done by only considering the positions of the scouts as intermediate vertices vk instead of considering all vertices. Additionally, the centralized algorithm requires
an additional time spent in communication as each agent should receive information from
the centralized decision making unit. As it could been seen, even though the proposed algorithm might not be optimal, it still runs fast enough considering big scale graph (i.e. large
environment) where the time to decide and the amount of communication affect the performance more than the actual movement of the agents. This analysis shall be further tested
in Section 3.5.3.
54
3.5.2 Max–Min Ant System
As for the Max–Min Ant System, instead of using scouts and rescue agents, all agents in the
system shall be rescue agents. They shall move in the environment by simply choosing their
next traversed edge through an algorithm similar to the one presented in Section 3.3.2 for
choosing the next edge. Each agent shall be in one of two states, either exploring or rescuing.
The rescue agent shall be at the beginning in the exploring state searching for civilians in
distress. Once a civilian in distress is found, the agent shall move to the second state which
is rescuing by taking the civilian back to the Refuge. When exploring, the probability Pexp−ei
of choosing a path e by agent i is given using the following equation:
Pexp−ei = Pei
(3.34)
Where Pei is as defined in Equation 3.16.
When rescuing, the probability Pres−ei of choosing a path e by agent i is given using the
following equation:
Pres−ei = 1 − Pei
(3.35)
Using these two probabilities, rescue agent shall know which path to choose while being
in each of the two possible states (Exploring or Rescuing).
Comparing the MMAS with the proposed algorithm, it is noted first that one main
advantage of the MMAS is that it has space complexity of O(1) since all agents are rescue
agents. However, this comes at a cost which is that no scouts are present to guarantee the
best paths are taken when a civilian is found. Based on that, it could be concluded that
when time is a constrain, it is preferable to use the proposed algorithm. However, in cases
where time is not of a major concern and cost of agents is the important factor, the MMAS
algorithm would be a better candidate as it cuts on scout agents.
55
3.5.3 Effect of Environment Size on Runtime of Algorithm
It could be seen from Section 3.5.1 that one major improvement of the proposed algorithm
over the centralized decision making algorithm is that it makes decision faster, and it requires
less amount of communication. Therefore, this section compares this aspect of the proposed
algorithm as opposed to the centralized algorithm. Also, it helps in testing the hypothesis
that the proposed system is always faster than the MMAS (As stated in Section 3.5.2). The
test cases list for testing the effect of the environment size was made of different test cases
subject to the following criteria:
• Increasing number of vertices (i.e. bigger graph/environment) from a test case to
another.
• The smallest test case has mv = 100 and the largest test case has mv = 10, 000.
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv ) in
all test cases for all three algorithms.
• The number of scout agents is kept as 10% of the total number of agents for all
the test cases in the centralized and proposed algorithm (MMAS doesn’t have scout
agents).
• Each algorithm runs until 90% of the civilians in distress are saved and the time
required to do that is collected.
• Since the proposed algorithm and the MMAS algorithm are probabilistic, both algorithms are to be run 20 times for each test case and the median time of each test case
should be selected as the result of that test case.
Following the above guidelines, the obtained results are shown in Figure 3.10 (Note that
for better visualization of data, the independent variable is in log-space).
56
Figure 3.10: Effect of Environment Size
Based on the theory discussion in Section 3.5.1, it is expected that for smaller environment, the centralized algorithm should be faster than the proposed algorithm since the
decision making is negligible compared to the time it requires to perform the rescue mission.
Since the centralized algorithm is optimal, the movement of the agents is minimized which
results in a faster overall result. However, as the graph increases, it is expected that the
proposed algorithm becomes faster because it includes less amount of communication and
less time for decision making. As it could be seen, the results matched the expectation
where around mv = 2000, the proposed algorithm starts to run faster than its counter-part
centralized algorithm.
Also, regarding the MMAS, it could be seen that the proposed algorithm is always faster
than the MMAS. As it was stated in Section 3.5.2, the importance of the MMAS algorithm
comes when the cost of agents is more important that the run time of the algorithm since it
provides the cheapest system.
57
3.5.4 Effect of Scout Agents on the Effectiveness of Algorithm
After checking the effect of the environment size, it is important to check the effect of
the number of scout agents on the running time of algorithms that have scout agents (i.e.
centralized and proposed).
The test cases list for testing the effect of the environment size was made of different test
cases subject to the following criteria:
• The number of vertices is kept constant mv = 2000
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv ) in
all test cases for both algorithms.
• Each algorithm runs until 90% of the civilians in distress are saved and the time
required to do that is collected.
• Since the proposed algorithm is probabilistic, it is to be run 20 times for each test
case and the median time of each test case should be selected as the result of that
test case.
Following the above guidelines, the obtained results are shown in Figure 3.11.
Figure 3.11: Effect of Percentage of Scout Agents
58
From the analysis developed in Section 3.5.1, it is known that increasing the number of
scouts would increase the time required for planning actions in the centralized algorithm;
therefore, it is expected that as the number of scout agents increases, the running time of the
centralized algorithm should increase. As for the effect of that on the proposed algorithm, it
is important to first notice that the ns has no effect on the decision making as it is in O(m2v ).
However, as a result of increasing the percentage of scout agents, the proposed algorithm
has the potential to increase its running time as their will be fewer rescue agents. However,
as a result of having more scouts, the proposed algorithm has the potential to be faster
as well since agents will get to different parts of the graph in fewer time. Based on that,
it could be seen that this is an optimization problem to find the most optimal percentage.
Unfortunately, since the problem statement discussed in this thesis assumes that the number
of vertices as unknown at the beginning of the algorithm (environment is not known prior to
the algorithm run), there is no much use for optimizing the percentage. As it could be seen,
after certain percentage, the time isn’t much affected in the case of the proposed algorithm.
On the other hand, increasing the amount of scouts helps a lot in the case of the centralized
algorithm as expected.
59
3.5.5 Neglecting Decision Time
As could be seen, when the size of the graph (environment) increases, the proposed algorithm
runs much faster. The main reason behind that as explained is that the distribution of
decision makes it faster to decide where to go by each agent. Now, in order to check the
optimality of the decision, we would like to ignore the time to take the decision and focus
on the time to execute the algorithm. As explained in Section 3.5.1, it is expected that the
centralized algorithm would be faster as it guarantees optimality. The test case for testing
the effect of neglecting decision time were subject to the following criteria:
• The number of vertices is kept constant mv = 2000
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv ) in
all test cases for both algorithms.
• The test case is run until 90% of civilians in distress are carried to the Refuge
• Since the proposed algorithm is probabilistic, it is to be run 20 times and the case
which provides the median performance at the end of its runtime is considered for
the comparison.
Following the above guidelines, the obtained results are shown in Figure 3.12
60
Figure 3.12: Neglecting Decision Time
As it could be seen, the centralized algorithm runs faster than the proposed algorithm
when neglecting the decision time. The gap at the beginning is not big. However, as more
vertices are traversed, the centralized algorithm becomes dominating as it doesn’t go over
vertices that has already been visited. As well, this graph shows the effectiveness of the
proposed algorithm as it manages to fill this shown gap by having better decision time.
Finally, this graph shows that the proposed algorithm is near optimal as the difference
between them is not significant.
61
Chapter 4
Conformity
In recent years, there is a growing interest among the artificial system society in getting ideas
from social science disciplines such as psychology, economy, sociology, and management. Of
course, the field of MAS among all fields under AI is the one with most interest in such
disciplines as there is similarity between the social aspect of these disciplines and the implied
society in MAS among the different agents. Concepts such as trust and reputation (from
psychology), game theory (from economics), norms (from sociology), and division of labour
(from management) are having popularity nowadays in the field of MAS.
In this chapter, the main focus will be one concept from psychology which is conformity.
Conformity is one of the major concepts that helped human beings in maintaining living
in a group. Tennen et al. [57] state that without conformity, forming a human group and
keeping it intact would never be achievable. If members of a social group (whether group of
friends or countries) were not to conform with each other, the social group would fall as it
won’t be able to keep its members living together once facing decisions. It is the nature of
human beings to have unique personalities which would lead to deferences in preference, yet
with conformity, members of the group end up agreeing on certain decisions (especially the
ones based on which the existence and continuity of the group depends).
It is noted that conformity can have different causes as well as elements that affect it. In
the course of this chapter, conformity is considered to be affected by four main attributes
which are stated in Cialdini’s and Trost’s [73] study of the factors affecting Conformity:
• Trust: Conformity in its essence depends mainly on trust as human beings would
not conform with those who are not trustworthy. Therefore, trust is a main attribute
when applying conformity to MAS.
62
• Authority: Even though conformity depends on real and/or imagined pressure from
others rather than actual orders, human beings tend to identify leaders for themselves
whether explicitly or implicitly. Humans are more inclined to conform with those
authorities (Ex: Parents) even if they do not match ones opinion. Therefore, authority
is a main attribute when applying conformity to MAS. Quinn and Schlenker [74]
emphasized this point and indicated that people tend to conform with individuals to
whom they are answerable in order to gain their approval.
• Consistency: Being of high intellect, human being knows that following the opinion
of an adviser would be fruitful only if it was followed for relatively longer period. It
could be noticed that an individual tend to conform with the same people for a while
before changing believes and stop following their advises. Therefore, consistency is a
main attribute when applying conformity to MAS.
• Self Dependency: Human beings defer in their self dependency and reluctance to
conformity. There are certain individuals who are more likely to refuse conformity
and stick to their own opinion. Therefore, Self Dependency is a main attribute when
applying conformity to MAS.
There are other attributes that affect conformity in human beings; however, for the time
being, only these four attributes will be considered in the proposed conformity algorithm.
Future work could include more attributes.
In this chapter, an algorithm is presented that takes its main concept from the theory
behind conformity (Presented in Section 2.2.2). The complete description of this algorithm
is presented in this chapter. For the purpose of testing the proposed algorithm, the disaster
management simulator RoboCup Rescue Simulator is used.
63
4.1 Problem Definition
For this chapter, the problem to be solved is enhancing the performance of existing MAS by
integrating to it a high-cognition CDM algorithm based on conformity in human being. The
existing MAS is characterized by the following points:
• It is a GO-MAS. In other words, there is a specific quantifiable goal for the MAS
• The MAS has a set of na agents acting as advisers.
• These advisers provide advises to other agents on the best strategies to be used in
order to reach the desirable goal
The hypothesis given in this chapter is that adding this conformity algorithm to the
existing MAS shall enhance its performance. This hypothesis is tested by comparing the
performance of the existing MAS before and after integrating the conformity algorithm.
There are two important aspects of this problem definition. Firstly, it requires a conformity algorithm that is generic and applicable to various areas. This promotes an algorithm
with a certain level of abstraction which makes it useful in different applications. Secondly,
based on this problem definition, this chapter shall develop the first conformity-inspired
CDM algorithm in MAS.
64
4.2 Algorithm Design
Now that the problem statement has been clearly defined, it is time to explain the algorithm
design. In the proposed algorithm of this chapter, Brooks’ behaviour-based approach (refer to
Section 2.1.3) is used. Using this approach means that the agent is designed of several layers
on top of each other. Each layer has the responsibility of performing a specific behaviour of
the agent connecting its sensing to action. The main advantage of choosing the behaviourbased approach is that it provides the ability to build a conformity layer that could be easily
added to the design of already developed agents. This idea is shown in section 4.3.3 of
this chapter where the conformity layer is added to the rescue agent model of the RoboCup
Rescue Simulator. Figure 4.1 shows the agent design in this chapter.
Figure 4.1: Agent Design using Behaviour-Based Approach
As it could be seen in Figure 4.1, the requirement of the proposed algorithm is to add
two layers to the design of the agent of interest. These two layers are:
1. Communication Layer which is responsible for the communication between the agent
and its advisers
2. Conformity Layer which provides the agent with the conformity decision based on
the algorithm that will be further described below
65
The main importance of adding these two layers is to enhance the performance of the
agent. Using the conformity decision provided by the Conformity Layer, the agent should
be able to enhance its performance. This Algorithm Design section should further show the
basic algorithm used to reach this conformity decision.
The conformity layer in the proposed algorithm has two main parts: Make Conformity
Decision and Update Variables
4.2.1 Make Conformity Decision
At the beginning, since there are many variables that will be used while explaining the
algorithm, it would be beneficial to have them all listed. Table 4.1 includes a list of the
variables that will be used in this section. While explaining each part of the algorithm, these
variables will be further explained.
Variables
Agent Decision
Suggestion Vector
Decision Vector
Trust Vector
Authority Vector
Consistency Vector
Effectiveness Vector
Advisory Vector
Effective Advisory Vector
Probability Vector
Trust Coefficient
Authority Coefficient
Self Dependency Coefficient
Effectiveness Coefficient
Gain Coefficient
Gain Decrement
Consistency Coefficient
Final Decision
Symbol
κ
~
Φ
~
D
~τ
~
Θ
~
Ψ
µ
~
χ
~
~
Ω
~η
α
β
γ
σ
λ
ζ
ξ
Table 4.1: List of Variables
To begin with, as stated in the beginning of this chapter, conformity is modelled based
66
on four main attributes: Trust, Authority, Consistency, and Self Dependency. Also, in the
problem definition in Section 4.1, it was noted that the system has na advisers (A). While
the last attribute (Self Dependency) is mainly dependent on the agent itself, the first three
attributes depend mainly on the advisers. Based on that, an agent in the proposed algorithm
~ and Consistency Vector Ψ
~ each with
has three vectors: Trust Vector ~τ , Authority Vector Θ,
length na . These three vectors are called Conformity Vectors. Each value in the trust vector
~τ represents the agent’s probability of trusting the corresponding adviser. Similarly, each
~ represents the probability of each adviser being the authority
value in the authority vector Θ
~ represents the probability
of the given agent. Also, each value in the consistency vector Ψ
of the agent to follow the corresponding adviser because it was followed before. Note that
all these three vectors are normalized (i.e. the summation of probability of each vector is
always 1). These three vectors would represent their respective attribute. In addition to
these vectors, the agent has a Self Dependency Coefficient γ in order to represent the last
considered attribute in conformity. This coefficient represents the probability of the agent
depending mainly on its decision instead of conforming with the suggestions by advisers.
With these definitions of different variables in mind, it is possible now to explain how
to reach a conformity decision by an agent applying the algorithm proposed in this chapter.
Figure 4.2 shows the activity diagram of this decision making process.
As shown in the activity diagrams, the first step is to get the suggested actions from the
advisers. This action is performed by the communication layer which has the responsibility
of communicating with the advisers. By consulting with the advisers, the agent would obtain
~ representing the advices of advisers.
a Suggestion Vector Φ
Then, the agent retrieves the decision made at the Single-Agent Layer(s). This decision
is called Agent Decision κ. In case of loss of communication or any malfunction in the
Communication or the Conformity Layers, the agent can complete performing its actions
using κ. This is one of the main advantages of using the behaviour-based approach.
67
Figure 4.2: Activity Diagram for making conformity decision
~ the agent can obtain the
Adding the Agent Decision κ to the Suggestion Vector Φ,
~ as shown in the following equation:
Decision Vector D
 
κ
~ =
 
D
 
~
Φ
(4.1)
~ represents a decision that could be chosen to
Each element of the Decision Vector D
perform a certain action by the agent. It has one of two forms:
~
D(i)
=





Perform




null
a
An advise to perform action a
(4.2)
If no suggestion was given
The next step in getting the conformity decision is to check whether advisers actually
~ =
gave suggestions (i.e. Φ
6 null). If no adviser gave any suggestion, the conformity decision is
considered to be the Agent Decision κ. Otherwise, some computations should be performed
~ to be chosen.
in order to determine which element of the Decision Vector D
At this point, there are three Conformity Vectors. Each one of these three vectors
provides different probability for accepting the advise made by each adviser based on different
68
attribute (Trust, Authority, and Consistency). Instead of dealing with each of the Conformity
Vectors on its own, it would beneficial to fuse them together into one vector which would
help us to determine the probability of accepting the advise given by certain adviser.
Based on Rosenberg [75], the attributes affecting the conformity of a human being are
found to be additive. Because of that, Conformity Vectors are fused together into one vector
called Advisory Vector χ
~ as shown in the following equation.
~ + (1 − α − β)Ψ
~
χ
~ = α~τ + β Θ
:α+β ≤1
(4.3)
Based on Tennen et al. [57], each human puts different weight to each of the attributes
affecting conformity. While some people tend to conform with others based on Trust, others
conform based on authority. Projecting this concept into the proposed algorithm, Trust Coefficient α and Authority Coefficient β are used to know the contribution of each conformity
vector on the final Advisory Vector χ
~ . In order to ensure that the Advisory Vector χ
~ is
~ would be (1 − α − β).
normalized, the coefficient associated with Consistency Vector Ψ
Trust Coefficient α, Authority Coefficient β, and Self Dependency Coefficient γ are called
Conformity Coefficients.
~
However, it could be the case that not all advisers provide advices (in that case, Φ(i)
=
null where i is the ID of the adviser that didn’t provide an advise). Therefore, it is important
to modify the Advisory Vector χ
~ to have only positive probabilities for the advisers which
give advises (they are called Effective Advisers). For such cases, the following Effectiveness
Vector µ
~ Φ is defined as:





1
~
if Φ(i)
6= null



0
~
if Φ(i)
= null
µ
~ Φ (i) = 
(4.4)
Then, an Effectiveness Coefficient σ is defined which is the inverse of the summation of
69
~
the probabilities of the effective advisers (Φ(i)
6= null) as shown in the following equation:
σ=
χ
~>
1
×µ
~Φ
(4.5)
From the Effectiveness Vector µ
~ Φ and the Effectiveness Coefficient σ in addition to the
~ is obtained as shown in the following
Advisory Vector χ
~ , the Effective Advisory Vector Ω
equation:
~ = diag(~µΦ ) × σ~
Ω
χ
(4.6)
Where diag(~µΦ ) represents an na ×na matrix with diagonal elements equal to the elements
of µ
~ Φ and off-diagonal elements equal to zero.
While diag(~µΦ ) ensures that the probabilities of the effective advisers are the only ones
to be considered (others will become zero), σ ensures that the Effective Advisory Vector
is normalized. Figure 4.3 shows an example that summarizes how the Effective Advisory
~ is computed for an agent with three advisers.
Vector Θ
~
Figure 4.3: Example of How to Compute Effective Advisory Vector Ω
70
~ that helps in deciding on which
At this point, the algorithm has a probability vector (Ω)
~ considers
decision to choose among the advises. However, the Effective Advisory Vector Ω
~ and does not consider the Agent Decision
only the decisions in the Suggestion Vector Φ
κ. Therefore, the algorithm calculates the Probability Vector ~η by augmenting the Self
~ as shown in the following
Dependency Coefficient γ to the Effective Advisory Vector Ω
equation.


γ



~η = 


~
(1 − γ)Ω
(4.7)
~ with (1 − γ) ensures that the Probability
Multiplying the Effective Advisory Vector Ω
Vector ~η is normalized. Figure 4.4 shows the block diagram for obtaining the Probability
Vector ~η
Figure 4.4: Block Diagram for Obtaining the Probability Vector ~η
Once ~η is calculated, it is used to choose the decision to be executed from the Decision
~ based on each decision’s probability which would result in obtaining the Final
Vector D
Decision ξ. This Final Decision ξ is the conformity decision. Figure 4.5 shows an example
that summarizes how the conformity decision is made for an agent with four advisers.
71
Figure 4.5: Example of How to Make the Conformity Decision
Once the Final Decision ξ is made, it is sent to the Single-Agent Layer(s) in order to be
performed.
4.2.2 Update Variables
The next part of the proposed algorithm is to update the conformity vectors based on the
performance of the chosen conformity decision.
The first vector to be updated is the Trust Vector ~τ . As stated by Cialdini and Trost
[73], trust is mainly dependent on whether performing the last string of actions was beneficial to the human performing it or not. This affects the trust in two ways. Firstly, as
the performance of the human becomes better, the human trust to those currently trusted
increases regardless of whether they actually helped in the increase of performance or not.
Secondly, trust of those whose suggestion was performed increases (or decreases) as well
based on the increase (or decrease) of the performance of the human being. Because of that,
72
~ that match the Final Decision
it is important to know the decisions in Decision Vector D
ξ. At the beginning, the number of effective decisions would be calculated Nξ . Effective
~ that match the Final Decision ξ. This
decisions are the decisions in the Decision Vector D
number could be calculated using the following equation:
Nξ = µ
~>
~ξ
ξ ×µ
(4.8)
Where µ
~ ξ is defined as Effectiveness Vector and it could be calculated as follow:
µ
~ ξ (i) =





1
~
D(i)
=ξ




0
~
D(i)
6= ξ
(4.9)
Once the number of effective decisions Nξ and the Effectiveness Vector µ
~ ξ are calculated,
it is time to update Trust Vector ~τ . The following equation show how the Trust Vector ~τ is
updated.
~τnew = ~τold + λ[(~τold −
|
{z
~τ
∆
1
1~
1
1) + ( µ
~ξ −
(~1 − µ
~ ξ ))]
na
Nξ
na − Nξ
}
|
{z
~ξ
∆
(4.10)
}
In section 4.5.2, two other methods for updating the Trust Vector ~τ are provided and the
reason of choosing this method among the three proposed methods shall be highlighted.
It could be seen from the update equation of ~τ that there are two components that
~ τ depends mainly on the previous state of the trust and how
update it. The first one ∆
1
much each probability is away from the average
(Note that the summation of elements
na
~ τ will be zero based on that). The second component ∆
~ ξ depends mainly on the last
of ∆
~
performed decision where each performed suggestion (i.e. D(i)
= ξ) gets an equal positive
1
~
probability
and each non-performed suggestion (i.e. D(i)
6= ξ) gets an equal negative
Nξ
1
probability
so that the overall summation of probabilities would be zero ensuring
na − Nξ
that ~τ stays normalized. Finally, the coefficient λ is called Gain Coefficient and it has the role
73
of replicating the perception of achievement of the human being. As this coefficient increases,
it means that the performed decision was effective. Lower values (possibly negative) implies
that the last string of performed actions were not effective which would reduce the trust on
the agents currently trusted and increase it on those who were less trustworthy. The Gain
Coefficient λ gets updated based on the following equation:
λnew =





λold




1
− Didn’t perform effective action in the last step
(4.11)
Performed effective action in the last step
As it could be seen, if the agent doesn’t perform any effective decision for a while, λ
would drop below zero (the speed of drop depends on the Gain Decrement ) which would
result in reducing trust on the currently trusted advisers (the ones with probability greater
1
) since their advices were not much productive.
than average:
N
~ In this model
Moving to the second Conformity Vector which is the Authority Vector Θ.
of conformity, authority is not assumed to be modified. Once the value for the Authority
~ is assigned at the beginning of the algorithm, it remains the same.
Vector Θ
~ future value of consistency depends mainly on two
As for the Consistency Vector Ψ,
aspects. The first aspect is its current state. Since the current state of consistency depends
on the history of consistency, it affects the future value of consistency to keep that aspect
of history present. The second aspect is the decisions performed in the last step. Once a
decision suggested by an adviser is performed, there would be more tendency for the human
being to be consistent with advises provided in the future by the same adviser. Based on
~
that the following equation is used to update the Consistency Vector Ψ:
~ new = (1 − ζ)Ψ
~ old + ζ 1 µ
Ψ
~ξ
Nξ
(4.12)
Similar to the Trust Vector update, Section 4.5.2 provides two other methods for updating
~ and the reason for choosing this method among the three proposed
Consistency Vector Ψ
74
methods shall be highlighted.
The coefficient ζ is called the Consistency Coefficient, and as it could be seen from the
~
equation, it determines the effect of the current decision in modifying Ψ.
With that, the conformity vectors are updated and the Conformity Layer is ready to go
back to the first step which is to calculate the next conformity decision.
75
4.3 Application: RoboCup Rescue Simulator
With the Conformity-inspired algorithm fully explained, it is important to put it in practice
and show how it works in a specific application. For the reasons discussed in section 1.3, the
application is chosen to be rescue missions. In this chapter, RoboCup Rescue Simulator is
used to test the proposed algorithm. Figure 4.6 shows a screen-shot of the simulator.
Figure 4.6: Screen-shot of RoboCup Rescue Simulator
Kitano and Tadokoro [1], the founders of RoboCup Rescue, say that the main purpose
of this Search-and-Rescue simulator is to help in achieving simulation MAS that could be
further expanded to real-time decision support systems that provide the best search-andrescue strategies. Because of this end-goal in mind, several aspects of real-life rescue missions
are taken into consideration such as: fire, disruption of roads, movements of refugees, status
of victims, and heterogeneous rescue agents.
76
4.3.1 Agents of RCRS
RoboCup Rescue Simulator provides heterogeneous agents where each type of agents has a
certain role in the disaster simulation with different capabilities. These differences should be
taken into consideration while planning the course of action of the simulated MAS to ensure
the proper response of each type of agents. These agents include:
1. Acting Agents: Agents which role include both gathering information about the environment as well as acting upon it by performing different tasks.
(a) Rescue Agents: Acting Agents which role is to deal with the catastrophe that
occurs to limit the loses in lives and properties.
i. Police Force: Rescue Agents which role is to remove blockades from the
roads ensuring ease of movement for other agents as well as accessing
blocked positions.
ii. Fire Bridge: Rescue Agents which role is to extinguish fire.
iii. Ambulance Team: Rescue Agents which role is to help buried or burned
acting agents by taking them to the a special position v (Refuge).
(b) Civilians: Acting Agents which role is to just walk around in the environment
and call for help once in distress (i.e. buried or burned).
2. Observer Agents: Agents which role is to observe the environment without acting
upon it. The way of observing the environment is by communicating with other
acting information and gathering information from them.
77
4.3.2 Using RCRS as an Application for Proposed Algorithm
In summery, the problem to be solved in the RoboCup Rescue Simulator is a rescue mission
characterized by the following points:
• A set of agents Υ (representing Acting Agents) which has a partition1 consisted of
four sets: P with np agents (representing Police Force Agents), F with nf agents
(Representing Fire Bridge Agents), M with nm agents (Representing Ambulance
Team Agents), and C with nc agents (Representing Civilian Agents)
• A set of agents A with na agents (Representing Observer Agents)
• A set of positions V with mv positions on the plane
• A set of roads E with me roads, where each road connects two distinct positions
v1 , v2 ∈ V
• Two distinct roads e1 , e2 ∈ E could intersect only at position v ∈ V
• Any two positions v1 , v2 ∈ V are reachable from each other
• Each agent a ∈ Υ has life-point LPa representing their health (0 = dead)
• Some e ∈ E might have blockade that prevent agents a ∈ Υ from traversing it
• Some position v ∈ V might be set on fire which would burn any agent a ∈ Υ that is
at that position by reducing its LPa
• Each agent a ∈ P can remove blockades where the speed of blockade removal doesn’t
depend on the number of agents removing blockades
• Each agent a ∈ F can extinguish fires where the speed of fire extinguishing is linearly
proportional to the number of agents extinguishing fire
1
partition of a set X is a collection of mutually disjoint non-empty sets whose union is the set X
78
• Each agent a1 ∈ M can save one agent a2 ∈ Υ at a time by taking it to a special
v ∈ V called Refuge before LPa2 = 0
• Each agent ar ∈ P ∪ F ∪ M and agent aa ∈ A can communicate with each other
wirelessly with a probability Pxy of message reaching its destination that is inversely
proportional to the distance between them
• Each agent a ∈ C moves randomly in the environment and calls for help once in
distress
Give this characterization of RoboCup Rescue Simulator, it is possible to use the simulator
to test the Conformity-inspired algorithm presented in this chapter. The proposed algorithm
of this chapter should enable the Rescue Agents P ∪F ∪M to perform their respective rescue
missions with the aid of the Observer Agents A (considered as advisers) which provide them
with advises on the best way to perform the rescue mission.
79
4.3.3 Rescue Agent Design
For the rescue agent design, Brooks’ behaviour-based approach (refer to Section 2.1.3) is
used. As stated by Brooks [19], the system is to be designed by dividing it into layers.
A layer in this case is an activity producing sub-system. This means that each layer is
responsible fully for a complete behaviour of the system connecting its sensing to action.
Figure 4.7 shows the design of the Rescue Agent.
Figure 4.7: Rescue Agent Design using Behaviour-Based Approach
The main advantage of choosing this design approach is that with the completion of each
layer, a complete working system is achieved. For example, once the Autonomous Layer
is completed, the rescue agent is capable of moving around in the environment. With the
addition of the Rescue Layer, the agent is capable of performing as well rescue mission.
With the addition of the Navigation Layer, the agent is capable of planing its action and
calculating the best action to perform in order to perform the rescue mission. With the
addition of the Communication Layer, the agent is able to communicate with the observer
agents. Finally, adding the Conformity Layer makes the agent able to perform the conformity
action proposed in this chapter.
80
Another major importance of choosing this design is to make the proposed Conformity
Layer generic. This means that it could be easily used for different applications as it does
not depend solely on the problem definition provided in this Chapter. This will be shown in
Chapter 5 where this layer shall be added to the proposed system of Chapter 3.
The layers shown in Figure 4.7 have the following functionality:
• Single-Agent Layers: These layers provide an intelligent agent that would be capable
of performing the rescue mission without coordinating with other agents in the system
– Autonomous Layer: This layer is responsible for providing the movement functionality of the Intelligent Agent.
– Rescue Layer: This layer is responsible for providing the rescue functionality
of the Intelligent Agent.
– Navigation Layer: This layer is responsible for providing a global goal for the
Intelligent Agent by specifying how it should navigate in the environment and
where it should go.
• MAS Layers: These layers provides the intelligent agent with a sense of awareness of
the other agents present in the system. These layers are responsible for the collective
decision making of the proposed MAS.
– Communication Layer: This layer is responsible for the communication between the agent and other agents (Advisers).
– Conformity Layer: This layer is responsible for performing the conformity
action proposed in this chapter.
The main concern of this Chapter is the last layer as it is the one providing the conformity
actions.
81
4.3.4 Initial Values of Conformity Vectors
After finishing Algorithm Design, one noticeable thing about Conformity Vectors would be
the fact that their initial values were not addressed. The main reason of not discussing the
initial values of the conformity vectors is that they depend on the application used. Since
this section provides an overview of an application to be used for the proposed algorithm,
the initial values of the conformity vectors could be discussed at this point.
~ there are different ways for this vector to
First of all, let’s start with Authority Vector Θ,
be initialized; however, it is noted that this vector would never be modified. Therefore, its
value should be carefully selected especially if the Authority Coefficient β is high. As stated
in the problem definition in Section 4.3.2, advisers are assigned positions2 in the environment
and as the rescue agent moves away from the advisers, the probability of messages between
them being successfully delivered decreases. This fact means that advisers shall have more
information about the area closer to them as compared to areas far. Because of that, these
positions of observer agents with respect to the position of the Rescue Agent will be used to
~ so that the advisers closer to the initial position of the Rescue Agent has more
initialize Θ
~ where i represents the
probability. The following equation represents the initial value of Θ
id of the Rescue Agent, j represents the id of the Adviser, and d(i, j) represents the distance
between the Agent i and Adviser j:
~ i (j) = 1 − P d(i, j)
Θ
na
k=1 d(i, k)
(4.13)
The distance is defined as the Cartesian distance:
d(i, j) =
q
(xi − xj )2 + (yi − yj )2
(4.14)
~
There are two main reasons for choosing such initial condition for Θ:
2
In fact, these positions are the positions of Refuge, Police Station, Fire Station, and/or Ambulance
Central in the RoboCup Rescue Simulator.
82
1. It assigns each Rescue Agent to the part of the environment at which it started. This
happens mainly because the closer adviser will keep advising it to perform rescue
missions in its neighbourhood
2. The nearest adviser knows the most about the neighbourhood which would enhance
the performance of the system at the start
Even though such initial condition would result in some agents being stuck to a certain portion of the environment, this issue could be solved by modifying the Conformity
Coefficients which will be discussed soon.
Moving to the next conformity vector which is Trust Vector ~τ . In general, ~τ ’s values
could be simply initialized randomly since the update function of the ~τ shall modify it to a
desirable value at the steady state level. However, to enhance the performance of the system
~ so that agents
at the start, it would be initialized to the same value of the Authority Vector Θ
would conform with advisers closer to them which know more about the neighbourhood of
the rescue agent.
~ it could be initialized
As for the third conformity vector which is Consistency Vector Ψ,
randomly as well and let it update itself. However, initializing it randomly could result in
following commands of adviser that is far away which commands it to move to another neighbourhood to perform a rescue mission while there are available rescue missions closer. This
is especially disadvantageous if the Consistency Coefficient ζ low which results in keeping
the effect of the initial random assignment for longer period. Instead, just like the Trust
~ ensuring that the
Vector ~τ , a better choice would be to initialize it to the same value of Θ
closer adviser is followed.
83
4.4 Algorithm Analysis
Now that the proposed algorithm has been fully explained and an application of it has been
described, the next step is to analyse the algorithm and make some remarks about what
affect its performance. This section provides an analysis about the different design choices
that could be made when implementing the algorithm for the described application. Section
4.5 shall provide the test results that would further prove the given analysis.
4.4.1 Effect of Conformity Coefficients
To begin with, let’s start with discussing the Conformity Coefficients and how they affect
the performance of the system.
Starting with the first Conformity Coefficient which is Trust Coefficient α, giving α
low values would affect the overall system by making the agent has the tendency to follow
advises from advisers that have not given productive advises in the past. This would result
in reducing the performance of the Rescue Agent. On the other hand, increasing the value of
α results making the agent more eager to explore the environment. In fact, it is noted that
the Trust Vector is the one responsible for exploring the environment; therefore, increasing
its coefficient would result in encouraging the agent to explore new possibilities.
Moving to the second Conformity Coefficient which is Authority Coefficient β, giving
β low values would result in leaving neighbourhoods which were safe for a while vacant of
Rescue Agents as those agents wouldn’t find it beneficial to stay there based on the other
variables. In those cases, only Authority Vector will force the Rescue Agents to go back to
those neighbourhoods On the other hand, having a high value for β would result in the agent
being stuck at its initial neighbourhood which would be dis-satisfactory in cases where that
neighbourhood doesn’t require much focus with other places having more disasters.
Also, if α + β is given low value, this means that the agent would depend mainly on the
Consistency Vector. This is highly non-desirable since this means that the agent would just
84
keep following the orders of one adviser which is the one initially followed. In a similar way,
if α + β is given high value, this means that Consistency Vector has very low effect in the
decision process of the agent. This could lead to wasting lots of time switching conformity
from one adviser to another without commitment which results in losing both objectives set
by the two advisers.
The third and last Conformity Coefficient is the Self Dependency Coefficient γ. Having
low values for γ would result in simply ignoring ones decision which is not of great impact.
However, having a high γ would badly affect the performance of the system since advices
will be ignored and the agent would depend more on the Agent Decision κ. The proposed
MAS was built so that the advices of the Adviser Agents carry way more benefits compared
to the benefits of the self decisions.
Table 4.2 summarizes the effects of the Conformity Coefficients on the performance of
the Rescue Agent.
Variables
α
β
α+β
γ
Low Value
Agent might follow advisers that
don’t give productive advises
Agent avoid neighbourhoods that
were found to be safe for a while
even if disaster happens in them
later
Agent follows the orders of the
first adviser only
Agent ignores its decision κ
High Value
Agent has more tendency to explore the environment
Agent remains in its initial neighbourhood
Agent keeps moving from one adviser to another without giving
time to follow one adviser’s suggestions
Agent ignores the suggestions of
the advisers
Table 4.2: Effect of Conformity Coefficients on the Performance of the Rescue Agent
85
4.4.2 Effect of Gain Decrement
With the analysis of Conformity Coefficients performed, it is time to move to analyse the
effect of the Gain Decrement on the performance of the proposed MAS. has the role of
decrementing the Gain Coefficient λ when the goal of the agent is not being achieved (in this
case, performing rescue missions). Giving a high value for results in losing trust very fast
which affects the overall system negatively. Similarly, having low value for will also affect
the system negatively since it would result in keeping the trust almost the same even after
long time without achieving the goal of the agent. A proper value for would depend on the
environment as it would require a small value for environments with fewer rescue missions
and especially if they are large environments. On the other hand, with small environment
that has many rescue missions, giving a high value would be desirable. In most of the
other cases where the environment is average in size with average number of rescue missions
it would be effective to give a value that is not too high and not too low.
4.4.3 Effect of Consistency Coefficient
Finally, the last coefficient to study how its value affects the performance of the proposed
algorithm is the Consistency Coefficient ζ. Giving ζ large values means that the consistency
would depend largely on the last decision without much inclusion for previous decisions.
This is of course not desirable in most of the cases as it is important to keep track of the last
string of decisions rather than just the last decision. Also, giving ζ low values would result
~ robust to changes with few emphasis of last performed
in making the Consistency Vector Ψ
action which means it loses its sense of consistency. In fact, because of that and in order
to ensure consistency remains in the system, ζ shouldn’t be allowed to have small values.
~ would lose its meaning due to this inherited robustness
Otherwise, Consistency Vector Ψ
with small values of ζ.
86
4.5 Results and Discussion
Moving to the last part of this chapter, it is time to run some simulations and obtain some
rigid results using RoboCup Rescue Simulator. For the sake of consistency, one map will be
used for all simulations which is the map of Paris provided by the RoboCup Rescue Simulator.
This map of Paris will be divided into four counties which will help in running simulation
and obtaining results. Figure 4.8 shows the map of Paris specifying the four counties of the
city (NE, NW, SE, and SW ).
Figure 4.8: Map of Paris in RoboCup Rescue Simulator
As it could be seen, the map has nine advisers3 with one being in NE, one in NW, four
in SE, and three in SW.
3
advisers are represented by the 5 refuges, police office, 2 hospitals, and fire station
87
4.5.1 Conformity Vectors Initialization
As discussed earlier in Section 4.3.4, there could be different initial values for the Conformity
Vectors. Based on these initial conditions, performance of the agent will be different.
~ two methods for initializing it were tested. The
Starting with the Authority Vector Θ,
first method is the one specified in Equation 4.13. The second method is specified in the
following equation:
~ i (j) =
Θ





1
j = argmink (d(i, k))




0
otherwise
(4.15)
In other words, the second method sets the probability of the closest adviser to 1 and all
the others to zero. To test these two methods, each one of them was implemented and the
results were collected after running each one of them on 40 test cases having the following
criteria:
• 10 cases had one adviser nearby (Initial position is in NE or NW)
• 30 cases had three advisers nearby (Initial position is in SE or SW)
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
The number of rescue missions performed in 100 seconds were recorded for the 40 test
cases. From these recorded numbers, the median4 was used as the expected number of rescue
missions in 100 seconds for each method. Figure 4.9 shows the results of simulation.
It is noted that the median performance for the first 10 cases was almost the same
with 7 rescue missions performed in 100 seconds for the first method and 6 rescue missions
performed in 100 seconds for the second method. The main reason behind this outcome is
4
median is used instead of mean since it is robust to outliers
88
Figure 4.9: Results for the two methods of initializing Authority Vector
that the values for the non-close advisers will be small using the first method. With all the
advisers being far except one, the Authority Vector for both methods were close. However,
the difference happened in the remaining 30 test cases which had more than one adviser near
the agent. In those test cases, the median for the first method was 16 rescue missions in 100
seconds with only 10 rescue missions in 100 seconds for the second method. This would be
expected since obliging the agent to only one adviser as an authority is not effective given
that more than one adviser is in a close proximity. Based on that, the first method was
adopted in the proposed system.
After that, it is time to test the Trust Vector ~τ and the effect of its initial condition. In
the case of ~τ , two methods as well were tested. The first method is the is to have the Trust
~ The second method was to keep all probabilities
Vector ~τ equal to the Authority Vector Θ.
89
equal to each other as shown follow:
~τi (j) =
1
na
(4.16)
To test these two methods, each one of them was implemented and the results were
collected after running each one of them on 20 test cases having the following criteria:
~ follows Equation 4.13
• Initialization of Θ
~ is set equal to the initial value of Θ
~
• Initialization of Ψ
• α = 0.33, β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
The number of rescue missions performed in the first (0-100 sec) and second (100-200 sec)
100 seconds were recorded for the 20 test cases. From these recorded numbers, the median
was used and Figure 4.10 shows the results of simulation.
Figure 4.10: Results for the two methods of initializing Trust Vector
90
It is noted that the median of performance for both methods is almost the same in
the second interval [100sec - 200sec] which is 21 rescue missions for the first method and
22 rescue missions for the second method. However, in the first 100 seconds, there is a
substantial difference. The first method had a median of 15 rescue missions while the second
method had only 7 rescue missions. These results could be understood by the fact that trust
eventually gets stabilized and doesn’t depend anymore on the initial test case. However, at
the beginning of simulation, it highly depends on the initial condition. With the trust in the
first method giving advantage to nearby advisers, it outperformed its competition. Based
on that, the first method was adopted in the proposed system.
~ two methods as well were tested. The first method
Finally, for the Consistency Vector Ψ,
~ equal to the initial value of Θ.
~ The second method is the same
is to have the initial value of Ψ
as the second method for the initialization of Trust vector which is to have equal probability
1
). To test these two methods, each one of them was implemented
for all advisers (i.e.
na
and the results were collected after running each one of them on 20 test cases having the
following criteria:
~ follows Equation 4.13
• Initialization of Θ
~
• Initialization of ~τ is set equal to the initial value of Θ
• α = 0.33, β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
The number of rescue missions performed in the first (0-100 sec) and second (100-200 sec)
100 seconds were recorded for the 20 test cases. From these recorded numbers, the median
was used and Figure 4.11 shows the results of simulation.
It is noted that in the first 100 seconds, the performance of the first method was better
by 6 more rescue missions with 21 rescue missions while it is almost the same for the second
100 seconds. As for the reason of this result, it is the same as in ~τ . Based on that, the first
method was adopted in the proposed system.
91
Figure 4.11: Results for the two methods of initializing Consistency Vector
4.5.2 Conformity Vector Update
After testing different methods for initializing the Conformity Vectors, this section provides
testing for different methods for the update functions of the Conformity Vectors.
Starting with the Trust Vector ~τ , three methods were tested. The first method is the one
provided by Equation 4.10. The second method is provided by the following equation:
~τ
~τnew = ~τold + λ∆
(4.17)
This method only includes the first aspect of performance effecting trust. The first
aspect as specified in Section 4.2.1 is that as the performance of the agent becomes better,
the probability of trusting the ones trusted at the moment increases. The third method is
to have the following update function:
~ξ
~τnew = ~τold + λ∆
92
(4.18)
This method only includes the second aspect of performance effecting trust. The second
aspect as specified in Section 4.2.1 is that trust on those whose suggestion was performed
increases (or decreases) based on the increase (or decrease) of the performance of the agent.
To test these three methods, each one of them was implemented and the results were
collected after running each one of them on 20 test cases having the following criteria:
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
The number of rescue missions performed in 100 seconds were recorded and the median
was used as the expected value of rescue missions per 100 seconds. Figure 4.12 shows the
result of simulation.
Figure 4.12: Results for the three methods of updating Trust Vector
93
It is noted here how the first method is better than the two other proposed methods. One
important disadvantage that could be seen in the second method is that after a while, the
trust vector becomes uniformly distributed. This mainly happens because of the dependency
1
which pushes the Trust
of ∆τ on how much each probability is away from the average
na
Vector to stabilize at the uniform distribution. Based on that, the first method was adopted
in the proposed system.
~ three methods for updating Ψ
~ were
Moving to the update of the Consistency Vector Ψ,
tested. The first method is the one provided by Equation 4.12. The second method is
provided by the following equation:
~ new = 1 µ
Ψ
~ξ
Nξ
(4.19)
This method simply ignores the previous value of the consistency and cares only about
the currently performed action. The third method is to have the following update function:
~ new = χ
Ψ
~
(4.20)
This method simply uses the Advisory Vector χ
~ as the updating value. Since χ
~ represents
the current probability of accepting each adviser, it follows that it could be used as the
updating value for the Consistency Vector to ensure a consistency in the next step with the
current probability vector.
To test these three methods, each one of them was implemented and the results were
collected after running each one of them on 20 test cases having the following criteria:
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
94
The number of rescue missions performed in 100 seconds were recorded and the median
was used as the expected value of rescue missions per 100 seconds. Figure 4.13 shows the
result of simulation.
Figure 4.13: Results for the three methods of updating Consistency Vector
It is noted in this figure that the second method is the worst method with only five
rescue missions performed in 100 seconds. The main reason is that history is not taken
into consideration when making decision; rather, it is only the last action performed is the
one used. As for the other two methods, they both provide good candidates with the first
method outrunning the third method by few rescue mission. Based on that, the first method
was adopted in the proposed system.
95
4.5.3 Conformity Coefficients
Moving to the Conformity Coefficients, it is time to check the effects of α, β, and γ on the
performance of the system.
Starting with Trust Coefficient α, different values of α were given to the scout agents.
For each value, a list of 20 test cases was used to test the effect of varying α. This list of
test cases has the following criteria:
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• β = 0.33, γ = 0.2, = 0.1, ζ = 0.5
The proposed algorithm was run, and the number of test cases where the agent leaves
the starting county was recorded. Figure 4.14 shows the result of these test cases.
Figure 4.14: Effect of Trust Coefficient
96
It is noticed that the agent moved from its starting county to another one only 3 out of
20 test cases for a low α of 0.05. However, in all these 3 cases, the agent remained close to
the boarder of the original county. This obviously proves what was suggested earlier which is
that Trust Vector is the one responsible for exploring the environment. Therefore, reducing
α results in less probability for exploring the environment by the given agent.
Moving to the second coefficient which is the Authority Coefficient β, 10 test cases were
run where β for all agents was given a low value (β = 0.05). Also, in these 10 cases, the
starting county doesn’t have any rescue mission for the first 100 seconds. It was noticed
that after 200 seconds, any Civilian that gets in distress in that county would never be
saved. Also, all fires would not be extinguished. All these results support the fact that β is
important in keeping all counties safe by keeping some agents in them.
Lastly, for Self Dependency Coefficient γ, different values of γ were given to the scout
agent. For each value, a list of 20 test cases was used to test the effect of varying γ. This
list of test cases has the following criteria:
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, = 0.1, ζ = 0.5
For each value, the algorithm was run over the list of test cases. The median number
of rescue missions performed in 100 seconds was recorded. Figure 4.15 shows the result of
these test cases.
97
Figure 4.15: Effect of Self Dependency Coefficient
From the figure, it could be seen that the agent with low γ (0.2) outperformed the one
with high γ (0.8). With low γ, agents in the median were able to perform 18 rescue missions
in 100 seconds while they were only able to perform 5 rescue missions in 100 seconds in the
case of high γ. This proves that it is important for the agent to depend mainly on advices
rather than its own decision which could be achieved by reducing the value of γ.
98
4.5.4 Gain Decrement
In this section, some experiments on the value of Gain Decrement are performed. Different
values of were given to the scout agent. For each value a list of 60 test cases was used to
test the effect of varying . This list of test cases has the following criteria:
• 20 test cases included high density of available rescue missions
• 20 test cases included medium density of available rescue missions
• 20 test cases included low density of available rescue missions
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, γ = 0.2, ζ = 0.5
For each value of , the algorithm was run over the list of test cases. The median number
of rescue missions performed in 100 seconds for each type of density was recorded. The
results are presented in Table 4.3.
Mission Density
High Density
Medium Density
Low Density
High ( = 0.3)
21 rescue/100 sec
8 rescue/100 sec
1 rescue/100 sec
Medium ( = 0.1)
17 rescue/100 sec
10 rescue/100 sec
2 rescue/100 sec
Low ( = 0.01)
13 rescue/100 sec
7 rescue/100 sec
5 rescue/100 sec
Table 4.3: Test Cases Results for Gain Decrement One important thing to note which is that 0.3 is considered a high value for . It is not
part of the interest of the agent to keep the Gain Coefficient λ oscillating with larger values;
therefore, a small value as 0.3 would be considered high. Also, as it could be seen, it is
important to choose the proper value of that would match the density of missions in the
environment in order to ensure the highest performance.
99
4.5.5 Remarks regarding Coefficients
From the above results, it could be concluded that the agents of the proposed MAS should
have different coefficients. This in fact reflects the nature of human society. Each person
comes with different attributes. These different attributes results in what is called society.
While some people are better in engineering and science majors with their logical left brain
performing really well, there are those who are better in arts majors with their imaginative
right brain being of major use to them. Similarly, in the proposed MAS, while some agents
might have higher Authority Coefficient resulting in them staying most of the time at the
neighbourhood of their starting position, there are those agents with high Trust Coefficient
resulting in them searching for new places that are under hazard or agents in distress.
Diversity is the main strength of MAS as it creates several benefits such as division of labour
and synergy.
4.5.6 Effect of Adding Conformity Layer to Single-Agent Design
In this last section of Results and Discussion, the hypothesis of this chapter shall be tested.
As specified in section 4.1, the purpose of the proposed conformity-inspired algorithm is to
enhance the performance of existing MAS. In order to test this hypothesis, the RoboCup
Rescue Simulator was used where an algorithm for the single-agent layers shown in figure
4.7 was designed. The algorithm simply makes the rescue agent perform its rescue mission
without coordination with other rescue agents. On top of these single-agent layers, the
communication and conformity layers were added and the performance of the new system is
compared to the original one.
One of the beneficial features of RoboCup Rescue Simulator is that it provides a score
for the algorithm used at the end of the disaster simulation. This score reflects two attributes: the number of rescued civilians including their life points (LPa ) and the percentage
of destruction that happened to the buildings due to fire. This score calculated by the sim-
100
ulator shall be used to compare the performance of of the MAS before and after adding the
conformity layer.
In order to have a better understanding of how the conformity-based and single-agentbased systems act as compared to other systems developed by other researchers, the data
from first day of RoboCup Rescue Simulation League, 2013 [2] were extracted and added
to the comparison. Table 4.4 shows the scores of the single-agent algorithm and conformity
algorithm as they compare with the results of the teams that participated in the RoboCup
Rescue Simulation League, 2013.
Team/Algorithm
GUC ArtSapience
MRL
Poseidon
S.O.S.
MinERS
Apollo-Rescue
CSU-YUNLU
Conformity Algorithm
ZJUBase
Ri-one
RoboAKUT
LTI-Agent-Rescue
Single-Agent Algorithm
anct rescue2013
NAITO-Resuce2013
Score
117.63
117.62
114.59
114.59
108.54
102.53
97.50
89.81
85.48
81.46
77.96
77.39
62.13
26.34
26.34
Table 4.4: Results of Paris1 from RoboCup Rescue Simulation League, First Day, 2013 [2]
As it could be seen from Table 4.4, adding the proposed conformity layer to the developed
single-agent layers enhanced its score from 62.13 to 89.81. This enhancement proves the
hypothesis mentioned in section 4.1. In fact, this hypothesis shall be further proven in
Chapter 5 as the conformity layer is added to the system developed in Chapter 3 to enhance
its performance.
101
Chapter 5
Integration of Low-Cognitive and High-Cognitive
Algorithms
In his famous book which laid the foundation of Cognitive Psychology [76] as an independent
discipline, Neisser defined cognition to be “all the processes by which the sensory input is
transformed, reduced, elaborated, stored, recovered, and used”. Andrade and May [77] emphasized that these processes of cognition consists of four major stages which are perception,
memory, language, and thought. Depending on the being using cognition, these processes
can vary from low-cognitive procedures in insect societies such as ants to high-cognitive procedures characterized mainly by the most intelligent being known in earth, human. To put
this categorization under the light of the four major stages of cognition, low-cognitive creatures have limited perception of their environment in addition to having a limited memory.
Also, communication (which is part of language) in those creatures have very primitive level
of sophistication as well as lacking in intellect (which is part of thought). On the other hand,
high-cognitive creatures, specifically human, can even augment their perception through the
use of technology such as radar, cameras, and sensors. Also, their memory capability is
distinctively advanced adding to their sophisticated methods of communication. And above
all, human intellect is the one thing that made him superior over all other creatures.
Moving to the bio-inspired algorithms in multiagent system, these algorithms are often
characterized by the being from which it was inspired. For example, Chapter 3 talks about an
ant-inspired collective decision making algorithm. Since it is inspired by ants, it could be seen
that it involves low-cognition reflecting the species from which it was inspired. Low-cognition
in this algorithm could be seen by the limited amount of computation in the Rescue Agents
in addition to the very limited amount of communication. Also, Rescue Agents have a very
102
limited memory. On the other hand, Chapter 4 talks about a conformity based collective
decision making algorithm. Inspired by conformity in human being who is known for its
high dependency on cognition, this algorithm is considered a high-cognition algorithm. This
high-cognition feature could be seen when looking at the Rescue Agents which make lots of
computation before actually making a final decision. Also, Rescue Agents get involved in
lots of communication with Advisers before making any decision.
The objective of this chapter will be to integrate these two low- and high-cognition
algorithms into a single algorithm that brings the best from the two worlds. In order to give
a clear goal for the proposed integrated algorithm, the task to be performed by the MAS in
this chapter will be a rescue mission. The agents of the MAS shall rescue some civilians in
distress by searching for them first and then taking them to a safe location. The following
section gives a proper Problem Definition.
103
5.1 Problem Definition
The problem definition of this chapter is the same as the one in Chapter 3 with the addition
of communication and conformity action presented in Chapter 4. The proper full definition
of the problem is given below.
The problem to be solved is a rescue mission characterized by the following points:
• A set of agents Υ which has a partition1 consisted of the set S with ns agents and
the set R with nr agents
• A set of agents A with na agents
• A set of positions V with mv positions on the plane
• A set of roads E consisting of me roads, where each road connects two distinct
positions v1 , v2 ∈ V
• Two distinct roads e1 , e2 ∈ E intersect only at position v ∈ V
• Any two positions v1 , v2 ∈ V are reachable from each other
• For each agent a ∈ Υ, the initial position is the same and is called Refuge
• Each position v ∈ V has a certain number of civilians in distress cv
• cv for any given position is either zero or positive integer
• Each agent a ∈ R can save only one civilian in distress at a time by taking it to the
Refuge
• For each two agents as ∈ S and aa ∈ A, they can communicate with each other
wirelessly with a probability Pxy of message reaching its destination that is inversely
proportional to the distance between them
1
partition of a set X is a collection of mutually disjoint non-empty sets whose union is the set X
104
The proposed algorithm should enable the Rescue Agents R to save all civilians in distress
with the help of Scout Agents S and advisers A who provide the scouts with advises. Once
all civilians are saved, all agents Υ return to the Refuge and the algorithm terminates.
105
5.2 Modeling
In order to better understand the proposed algorithm of this chapter as well as building a
ground upon which the algorithm could be explained, this section shall provide a model for
both the environment and agents acting upon the environment as well as interacting with
each other.
5.2.1 Environment Model
Since both algorithms to be integrated which were explained in the previous two chapters
used the same model for environment which is Connected Planner Graph, this chapter’s
algorithm shall as well use Connected Planner Graph as a model for the environment. Section
3.2.1 discusses the reasons behind choosing this model as well as showing why other models
were not used. Figure 5.1 shows an example of the Connected Planar Graph which is the
same as in Chapter 3.
4
3
2
5
19
14
20
6
12
Refuge 1
16
15
13
7
18
11
17
10
8
9
Figure 5.1: Example of Connected Planar Graph (mv = 20)
106
5.2.2 Agent Model
Moving to the agent modelling, from the Problem Definition, it could be seen that there are
three types of agents, namely:
1. S → Scout Agent
2. A → Advisor Agents
3. R → Rescue Agent
Starting with Scout Agent, it could be modelled in the same way agents have been
modelled so far which is using the 4-tuple (Situation, Action, Data, Function). The following
equation shows the model of Scout Agent:
As = hSits , Acts , Dats , fAs i
(5.1)
Scout agent can be in two main situations (Sits ) which are being in a previously visited
vertex or being in a new vertex. As for the actions that As can perform, there are three
actions Acts which are: traverse a new edge, traverse an already traversed edge, or recruit
rescue agents. Furthermore, As has many inner data Dats including: a list of visited vertices
and edges, current and previous position, adjacency list of traversed vertecies, and conformity
vectors and coefficients. Given these situations Sits and Dats , the function fAs specifies the
action Acts that As would perform.
Moving to the second agent, Advisor Agent can in the same way be modelled by the
following 4-tuple
Aa = hSita , Acta , Data , fAa i
(5.2)
Since the advisor agent is not situated in the environment, the possible situations Sita
is actually empty. As for the possible actions of Aa , there is a single action Acta which is to
107
give advice to scout agents. Finally, inner data Data includes a list of environment vertecies
and edges, positions of scout and rescue agents, and position of civilians in distress. Finally,
using the inner data Data , Aa decides on the advises to be sent using the function fAa .
As for the third and last agent of the system, Rescue Agent can be modelled by the
following equation
Ar = hSitr , Actr , Datr , fAr i
(5.3)
Similar to the worker agent from Chapter 3, rescue agent is characterized by its simplicity
as it represents the low-cognition part of the proposed MAS. Rescue agent can have one of
two situations Sitr which are either carrying civilian or not carrying one. As for its possible
actions, Ar can have one of four actions Actr which are to follow track, follow recruiter, and
load or unload civilian. In addition to that, the inner data Datr of Ar is simply represented
by the agent recruiting it and the track it shall follow. Finally, using Sitr and Datr , Ar
decides on the Actr to be performed using fAr .
108
5.3 Algorithm Design
By finishing the modelling of the environment and the agents of the system, it is time now to
move to the Algorithm Design where the proposed algorithm shall be explained and outlined.
For the design of the proposed system in this chapter, a hybrid of the logic-based approach
presented in Chapter 3 and the behaviour-based approach presented in Chapter 4 shall be
used. Figure 5.2 shows the design of the Scout Agent S.
Figure 5.2: Scout Agent Design using Hybrid Approach
5.3.1 Overall Proposed CDM Algorithm
The proposed CDM algorithm shall be summarized by the following five points:
1. Scout: Enable all a ∈ S to move from vi ∈ V to vi+1 ∈ V where vi 6= vi+1 and
v0 =Refuge using road e ∈ E searching for civilians in distress
2. Recruit: Once a position v ∈ V with cv > 0 is reached, x returns to Refuge to recruit
a set of agents Re ⊆ R with Re 6= ∅ then take them to position v
3. Rescue: Enable agent a ∈ Re to rescue civilians in distress by taking them to the
Refuge
4. Conformity: Enable agent aa ∈ A to advice agent as ∈ S on the best way to explore
the plane
109
5. Once all positions v ∈ V have cv = 0, all agents a ∈ Υ should return to the Refuge
and the algorithm ends
Each position in the plane (which is represented by a vertex on the Connected Planar
Graph) shall be given an associated xy-coordinate to specify its position with reference to a
fixed reference point. This shall help in calculating the probability Pxy stated in the problem
definition. Both Rescue Agents (R) and Scout Agents (S) would start from the first position
which is the Refuge as it could be seen in Figure 5.3.
Figure 5.3: All agents start at the Refuge
By exploring the vertecies of the graph, Scout Agents can locate civilians in distress and
recruit a subset of the Rescue Agents called Recruited Agents (Re) in order to perform the
rescue mission. In addition to that, advisers A shall communicate with the scout agents in
order to advise them regarding the best ways to search for civilians in distress as shown in
Figure 5.4.
110
Figure 5.4: Advisers communicating with Scout Agents
From the problem statement in Section 5.1, three actors upon the system could be identified: S (Scout Agent), R (Rescue Agent), and A (Adviser Agent). Combining that with
the five points summarizing the proposed CDM algorithm of this chapter, Figure 5.5 shows
the Use Case Diagram of the proposed MAS.
Figure 5.5: Use Case Diagram
111
It could be seen from the Use Case Diagram that the proposed system takes aspect of
scout and worker from the Ant-Foraging algorithm including the Recruit and Rescue use
cases from it. As well, the proposed system takes the aspect of having Adviser Agent to the
Scout Agent using the Make Conformity Decision use case from the Conformity algorithm.
By modifying the Scout Agent to have advises from the Adviser Agent, it implies that the
scout shall have the capability of doing heavy computation similar to the ones done by the
Police Force, Fire Bridge, and Ambulance Team from Chapter 4.
For each of the use cases presented in Figure 5.5, a detailed pseudo code shall be provided
in the appendix. Table 5.1 shows the link between each use case and its corresponding
algorithm.
Algorithm
Algorithm
Algorithm
Algorithm
Algorithm
A.12: Scout
A.6: ConformityDecision
A.3: Recruit
A.4: Rescue
Use Case
Scout
Make Conformity Decision
Recruit
Rescue
Table 5.1: Algorithm for each Use Case
From Table 5.1, it could be seen that actually three use cases are taken directly from
the previous two chapters. As it could be seen from all of the above, the proposed system
clearly integrates both systems of the previous two chapters.
5.3.2 Description of the proposed CDM Algorithm
First of all, as it could be seen from the Use Case Diagram of the proposed system, there
are three main actors upon the system: Scout Agent, Rescue Agent, and Adviser Agent. The
main idea proposed here is that Scout Agents are supposed to be a high-cognition agents.
Scouts are able to do lots of computation as well as having lots of memory to save data about
their environment. In addition to that, scout agents depend their decisions mainly upon their
communication with the adviser agents. Also, there are the Adviser Agents which could be
though of as centralized brains that gather information from scouts and then give them
112
advices on the best way to perform their tasks. Finally, there are the Rescue Agents which
can only perform simple rescue tasks without much computational and they are supposed
to be the largest in terms of numbers.
Now starting with the Scout Agents, they have two main functionalities which are to
scout and to recruit. Starting with their scout agent which represents the Scout use case,
Figure 5.6 shows its activity diagram.
Figure 5.6: Activity Diagram for Scout
From the activity diagram, it could be seen that the scout agent starts by checking
whether civilians in distress exist in the current position or not. If the current position holds
no civilians in distress (i.e. cv = 0) it moves on to make its own decision which is in the
same way presented in Chapter 3. Making the personal decision in this case represents the
logic-base layer of the hybrid approach used in this chapter (refer to Figure 5.2). In case of
loss of communication or any malfunction in the communication or the conformity layer, the
scout agent can complete performing its actions using this personal decision. In the next step
of scouting, the scout agent communicates with the adviser agents of the system in order
to decide on the conformity decision which represents the sub-use case Make Conformity
113
Decision. The method for making this conformity decision is presented in Section 4.2.1.
After that, scout moves on and execute the conformity decision deciding on which edge
to choose next. Finally, the scout agent updates the conformity vectors in the same way
presented in Section 4.2.1 in order to be ready for the next iteration.
Now from this proposed algorithm, it could be seen how it is an integration of the previous
two chapters. While the personal decision is made in the same way of the Ant-Foraging CDM
algorithm presented in Chapter 3, making the final decision after consulting with advisers is
done in the same way of the Conformity CDM algorithm presented in Chapter 4.
On the other hand, if a civilian in distress is found at the current position vcur , the
scout shall perform its second main functionality which is to recruit. This recruit action is
presented in Section 3.3.2. With that, the general algorithm for scouting is described.
As for the Advisor Agent, it mainly receives data from Scout Agents about the environment through the communication layer of the proposed agent design in Figure 5.2. Then, it
provides advices to scouts on the best way to perform their tasks. The methodology based
on which adviser agent gets this decision is the same as the centralized decision making
algorithm of Section 3.5.1.
Finally, moving to the third agent, Rescue Agent has a very simple role which is just to
carry the civilians in distress to the Refuge in order to save their lives which represents the
Rescue use case. The method for performing this rescue action is presented in Section 3.3.2
while explaining the use case with the same name (Rescue use case).
114
5.4 Algorithm Analysis
After explaining the overall proposed system which is an integration of the low- and highcognition systems proposed in the previous two chapters, it is time to analyse it.
To begin with, the time and space complexity of the proposed system shall be analysed.
Similar to Chapter 3, both space and time complexity for the proposed system will be
analysed using Big O notation.
Starting with the Time Complexity, since the rescue agents perform only rescue missions
reactively, they do not affect the overall time complexity of the system. Based on that, the
time complexity of the proposed algorithm is mainly dependent on the scout agent. As it
could be seen in the use case diagram of Figure 5.5, scout agent is involved in two use cases
which are Scout and Recruit. For the Recruit use case and as it could be seen in the activity
diagram of Figure 3.8, recruiting does not require any computation. Scout agent simply
goes to the Refuge and recruit rescue agents; therefore, the time complexity of the system is
dependent only on the Scout use case.
As it could be seen in Figure 5.6, Scout use case has four stages: Make Own Decision,
Make Conformity Decision, Execute Decision, and Update Conformity Vectors. For the
Make Own Decision, as stated in Section 3.4, the time complexity of this part is O(m2v ). As
for the Make Conformity Decision, from Section 4.2.1, it could be seen that all calculations
require only the to be performed na times which represents the length of the vectors used.
Execute Decision does not have any effect on the time complexity as it simply performs the
conformity decision. Finally, for the Update Conformity Vectors, it requires as well O(na )
which represents the length of the vectors to be updated. Combining all that, this means
that the Time Complexity of the overall proposed system is:
T (mv , na ) = O(m2v + na )
(5.4)
From Equation 3.19 and 5.4, it could be seen that the time complexity of the integrated
115
algorithm is bigger than the time complexity for the Ant-Foraging algorithm; however, for
large environments (i.e. mv is high), the time complexity for both systems become the same
in terms of decision making. Because of the conformity layer, the movement of the scout
agents shall be more optimal. This increase in optimality of movement is because of the
adviser agents which provide the scout agents with suggestions for better ways to traverse
the environment.
As for the Space Complexity, since Scout Agents use the same representation of the
system proposed in Chapter 3 with the addition of conformity vectors/coefficients, the space
complexity of the proposed system depends on equation 3.29 which is O(mv ) adding to that
the space added by the conformity vectors. Since the space added by the conformity vector
is linear to the number of advisers, the addition of the conformity vectors is represented by
the space complexity O(na ). From that all, it could be concluded that the overall system
has a Space complexity of:
S(mv , na ) = O(mv + na )
(5.5)
Since the algorithm integrates as well the conformity vectors/coefficients from Chapter 4,
it could be seen that issues such as choosing the initial value of conformity vectors as well as
the values of the different coefficients affect the general performance of the proposed MAS.
Refer to section 4.4 for a complete description on how these choices might affect the Scout
Agent.
116
5.5 Results and Discussion
Moving to the last section of this chapter, it is time to present the results of tests and
discussions about the proposed MAS. In order to do that, several test cases were created
and given as input to the algorithm in order to test the proposed system. The results of
these test cases were noted and presented in this section.
5.5.1 Conformity Coefficients
Now, it is time to check the effect of α, β, and γ on the proposed system.
Starting with the Trust Coefficient α, different values of α were given to the scout agents
with the lowest being 0.2 and the highest being 0.8 in increments of 0.2. For each value,
a list of test cases was used to test the effect of varying α. This list of test cases has the
following criteria:
• The size of the graph is kept the same mv = 2000
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv )
• The number of scout agents is kept as 10% of the total number of agents
• Since the proposed algorithm is probabilistic, the algorithm is run 20 times for each
test case and the time required for the algorithm to rescue 90% of the civilians is
recorded
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• β = 0.2, γ = 0.2, = 0.1, ζ = 0.5
For each value of α, the median time required for the algorithm to rescue 90% of the
civilians is used as the expected value. The results of the experiment could be found in
Figure 5.7.
117
Figure 5.7: Effect of Trust Coefficient on performance
It is noticeable that with the increase of α the system gives a better performance. This
happens because it is important for the proposed system to explore new vertecies to find
civilians as fast as possible. As it has been discussed in Section 4.4.1, increasing α helps in
making that possible which means decreasing the overall time of system.
Moving to the Authority Coefficient β, different values of β were given to the scout agents
with the lowest being 0.2 and the highest being 0.8 in increments of 0.2. For each value,
a list of test cases was used to test the effect of varying β. This list of test cases has the
following criteria:
• The size of the graph is kept the same mv = 2000
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv )
• The number of scout agents is kept as 10% of the total number of agents
• Since the proposed algorithm is probabilistic, the algorithm is run 20 times for each
test case and the time required for the algorithm to rescue 90% of the civilians is
recorded
~ follows Equation 4.13
• Initialization of Θ
118
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.2, γ = 0.2, = 0.1, ζ = 0.5
For each value of β, the median time required for the algorithm to rescue 90% of the
civilians is used as the expected value. The results of the experiment could be found in
Figure 5.8.
Figure 5.8: Effect of Authority Coefficient on performance
It could be seen that increasing β has a reverse effect (as compared to α). For high values
of β the system requires a very high amount of time to perform the task. This happens as
a result of the proposed system. First of all, the Authority Vector is responsible for making
the agent stays near the neighbourhood where it initially starts. Due to that, agents remain
searching at the same place extensively even after all civilians in distress were found. The
issue with the problem statement of this chapter is that no new rescue missions are formed
during the course of action other than the ones present at the beginning of the simulation.
Therefore, it is disadvantageous for the agent to stay at its initial neighbourhood Secondly,
based on the problem statement of this chapter, all agents start from the same position.
This means that all agents will be stuck on the same neighbourhood leaving other civilians
in distress from further vertecies without help. Because of that all, it could be concluded
119
that β of the proposed system shall be minimized in order to enhance the overall proposed
system in this chapter.
Moving to the Self Dependency Coefficient γ, different values of γ were given to the scout
agents with the lowest being 0.2 and the highest being 0.8 in increments of 0.2. For each
value, a list of test cases was used to test the effect of varying γ. This list of test cases has
the following criteria:
• The size of the graph is kept the same mv = 2000
• The number of agents is kept equal to the number of vertices (i.e. ns + nr = mv )
• The number of scout agents is kept as 10% of the total number of agents
• Since the proposed algorithm is probabilistic, the algorithm is run 20 times for each
test case and the time required for the algorithm to rescue 90% of the civilians is
recorded
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.33, β = 0.33, = 0.1, ζ = 0.5
For each value of γ, the median time required for the algorithm to rescue 90% of the
civilians is used as the expected value. The results of the experiment could be found in
Figure 5.9.
As it could be seen, the results of the proposed algorithm is similar to the results from
Section 4.4.1. Similar to what was said in Section 4.4.1, it is important to keep γ low in order
to make use of the advices provided to the scout agent. Having high value for γ would result
more dependence on the Agent Decision κ. The advices provided by the Adviser Agents
carry way more benefits compared to self decision.
120
Figure 5.9: Effect of Self Dependency Coefficient on performance
5.5.2 Effect of Environment Size
In section 3.5.3, the effect of the environment size was addressed and tested for both the
ant-foraging algorithm, the centralized algorithm, and MMAS. In this section, the effect of
environment size is tested using the same test cases given at that section.
Based on that, it could be understood that there are three algorithms that shall be tested
against the algorithm presented in this chapter.
It could be noted that each of these algorithms gives different answer in terms of optimality of agent movement. Whereas the centralized algorithm insures that scouts move
optimally since the central processing unit has all the information, the MMAS algorithm
produces the least optimal solution with reference to agents movement. However, the time
required for the system to reach its goal doesn’t depend only on the movement of the agents,
it depends as well on the decision making time. Therefore, this experiment is carried out in
order to see at which range of input each algorithm would be optimal for usage (in terms of
both decision time and agents movement).
The same test cases list of Section 3.5.3 was used to test the effect of environment size
on the proposed algorithm of this section while adding the following extra criteria (refer to
Section 3.5.3 to find the list of criteria for the original test cases list) that are specific for
121
the proposed algorithm of this chapter:
• The number of adviser agents is kept as 10% of the number of vertecies in the proposed
algorithm of this chapter.
~ follows Equation 4.13
• Initialization of Θ
~ are set equal to the initial value of Θ
~
• Initialization of ~τ and Ψ
• α = 0.6, β = 0.2, γ = 0.2, = 0.1, ζ = 0.5
Figure 5.10 shows the results of the test cases list.
Figure 5.10: Effect of Environment Size on the performance of Centralized, Ant-Foraging,
Proposed Algorithms, and MMAS
From Figure 5.10, it could be seen that the centralized is considered the best until mv =
1000. This is because at that relatively small space, the decision making doesn’t take lots of
time which makes the centralized algorithm better as it produces a better plan for traversal
of the environment for the MAS. On the other hand, for larger than mv = 1000, the effect
122
of the decision making time starts to kick-in which makes the proposed integrated algorithm
faster. It is noted that the proposed algorithm remains faster than ant foraging over all test
cases. This happens mainly because of two reasons. Firstly, the proposed algorithm gives
a better traversal of the environment as the advisers gather information for the different
scouts and advice them to the better way of performing the goal of the system as opposed
to the ant-foraging which doesn’t have this feature. Secondly, even though the time to
make decision for the proposed system is longer, with only 10% advisers, the effect of na is
very small compared to m2v making both algorithms have almost the same Time Complexity
in terms of decision making. This makes the proposed algorithm always faster than the
ant-foraging algorithm.
As it could be seen in the result of this experiment, the hypothesis that this thesis
started with has been proven. By integrating the low-cognition bio-inspired CDM algorithm
proposed in Chapter 3 and the high-cognition bio-inspired CDM algorithm proposed in
Chapter 4, the resulting algorithm yielded a system that performs faster than its individual
components in large scale (in this case: mv > 1000). Adding the conformity layer to the
ant-foraging MAS has enhanced its performance making it faster in achieving its goal.
123
Chapter 6
Conclusion
With a field that is as new as MAS, it is important to make use of ideas from other already
established fields. In this way, the development of MAS can take a steeper learning curve
enhancing its level even more than how it would have normally moved. Of course, the best
place to look at inspiration would be nature. For million years, creatures in the nature
has been perfecting their techniques to face the difficulties through all the different phases
that earth passed by until the point we are living in right now. It is extremely beneficial
to contemplate on these techniques and gets benefit from them as we have done in this
thesis. In this thesis, we were able to see how low- and high-cognition algorithms could be
implemented by looking closely at how creatures act in the nature.
For the low-cognition algorithm, ant’s scout-and-recruit was utilized to build a similar
algorithm that is to be applied in MAS. Chapter 3 shows the full description of how to
achieve the proposed system from design to testing. UML design was used for the design
phase as well as providing a pseudo code of the proposed algorithm. For improvement over
this proposed algorithm, wireless communication could be added in order to limit the time
spent going back to the colony for recruiting.
On the other hand, for high-cognition algorithm, human’s psychology was the main
source of inspiration. Particularly, it was conformity that made the high-cognition algorithm
possible to achieve. For the purpose of this thesis, conformity was only limited to four
aspects which were Trust, Authority, Consistency, and Self Dependency. For a more realistic
algorithm as well as improving the proposed algorithm, more aspects could be added and
further testing could be done based on that. In the same way as in the ant-foraging algorithm,
this algorithm was also explained from design to testing showing the effect of tuning the
124
variables of the system and analysing how that would affect the performance. All this is
specified in Chapter 4.
Finally, these two bio-inspired were integrated showing an example of how to mix a lowand high-cognition algorithm. Chapter 5 shows proposed integrated MAS emphasizing how
it gets each component from one of the previous two chapters. In this chapter, we could see
how the proposed system outperforms its two components as it both gets the applicability
to large scale systems from its low-cognition part as well as enhancing its performance from
the high-cognition part.
Future work shall include as well applying the conformity proposed system to Wireless
Sensor Network. In addition to that, the conformity algorithm shall be modified to take
care of cases when the advisers provide false advises. For that purposes, strategies presented
by Burnett et al. [13] to overcome cases where Trust is low shall be taken into consideration. Also, the self dependency coefficient could be made as a variable depending on the
trustworthiness of the adviser agents.
All in all, this thesis shows how the nature will always have new things to impress us
with it. All it takes from us is look from the right angle to capture its beauty. Of course,
nature beauty is not only limited to its visual, but also it includes its marvellous ways of
dealing with difficulties and surviving.
125
Bibliography
[1] H. Kitano and S. Tadokoro, “RoboCup Rescue: A Grand Challenge for Multiagent and
Intelligent Systems.,” AI Magazine, vol. 22, no. 1, p. 39, 2001.
[2] F. Faraji, L. G. Nardin, A. Modaresi, N. Ito, M. Goebelbecker, and S. Malakouti,
“RoboCup Rescue Simulation League,” 2014.
[3] M. Wooldridge, An Introduction to MutliAgent Systems. John Wiley and Sons, 2nd
editio ed., 2009.
[4] K. S. Bordens and I. A. Horowitz, Social Psychology. Lawrence Erlbaum Associates,
2nd ed., 2002.
[5] Y. Bar-Cohen and C. Breazeal, “Biologically Inspired Intelligent Robotics,” in Smart
Structures and Materials, pp. 14–20, 2003.
[6] L. Conradt and T. J. Roper, “Consensus decision making in animals.,” Trends in ecology
& evolution, vol. 20, pp. 449–56, Aug. 2005.
[7] G. R. Zimmermann, J. Lehar, and C. T. Keith, “Multi-target therapeutics: when the
whole is greater than the sum of the parts,” Drug discovery today, vol. 12, no. 1, pp. 34–
42, 2007.
[8] J. W. Tanaka, J. B. Kay, E. Grinnell, B. Stansfield, and L. Szechter, “Face recognition in
young children: When the whole is greater than the sum of its parts,” Visual Cognition,
vol. 5, no. 4, pp. 479–496, 1998.
[9] R. Makadok, “Doing the right thing and knowing the right thing to do: Why the whole
is greater than the sum of the parts,” Strategic Management Journal, vol. 24, no. 10,
pp. 1043–1055, 2003.
126
[10] P. M. Allen, “Evolution: Why the whole is greater than the sum of the parts,” in
Ecodynamics, pp. 2–30, Springer, 1988.
[11] D. C. Pennington, Social Cognition. London, GBR: Routledge, 2000.
[12] K. Sycara, “Team Coordination of Cyber Agent Human and Robotic Teams: Urban
Search and Rescue and UAV Control,” Monitoring, Security and Rescue Techniques in
Multiagent Systems, p. 24, 2004.
[13] C. Burnett, T. J. Norman, and K. P. Sycara, “Trust Decision-Making in Multi-Agent
Systems,” in Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence, pp. 115–120, 2011.
[14] C.-h. Yu, J. Werfel, and R. Nagpal, “Collective Decision-Making in Multi-Agent Systems by Implicit Leadership,” in Proceedings of the 9th International Conference on
Autonomous Agents and Multiagent Systems (AAMAS 2010), no. Dc, pp. 1189–1196,
2010.
[15] S. Garnier, J. Gautrais, M. Asadpour, C. Jost, and G. Theraulaz, “Self-Organized
Aggregation Triggers Collective Decision Making in a Group of Cockroach-Like Robots,”
Internation Society for Adaptive Behavior, vol. 17, pp. 109–133, Mar. 2009.
[16] W. Agassounon and A. Martinoli, “A Macroscopic Model of an Aggregation Experiment
using Embodied Agents in Groups of Time-Varying Sizes,” in IEEE Conference on
System, Man and Cybernetics (SMC), pp. 250–255, 2002.
[17] E. Bonabeau, G. Theraulaz, and J. L. Deneubourg, “The synchronization of
recruitment-based activities in ants.,” Bio Systems, vol. 45, pp. 195–211, Mar. 1998.
[18] H. Hamann, T. Schmickl, H. Worn, and K. Crailsheim, “Analysis of Emergent Symmetry
Breaking in Collective Decision Making,” Neural Computing & Applications, vol. 21,
no. 2, pp. 207–218, 2012.
127
[19] R. A. Brooks, “Intelligence without representation,” Artificial intelligence, vol. 47, no. 1,
pp. 139–159, 1991.
[20] Robocup, “A Brief History of RoboCup,” 2012.
[21] J.-p. Stegh, J. Denzinger, H. Kasinger, and B. Bauer, “Improving the Efficiency of
Self-Organizing Emergent Systems by an Advisor,” in EASe 2010, pp. 63–72, 2010.
[22] C. A. C. Parker and H. Zhang, “Collective Decision Making: A Biologically Inspired
Approach to Making Up All of Your Minds,” in Proceedings of 1st IEEE Int’l Conference
on Robotics and Biomimetics (ROBIO 2004), 2004.
[23] K. Barclay and J. Savage, Object-oriented Design with UML and Java. ButterworthHeinemann, 2003.
[24] A. Bondy and U. Murty, Graph Theory. Springer, 2008.
[25] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithm. Cambridge, MA: The MIT Press, 2nd editio ed., 2001.
[26] H.-W. Bierhoff and B. Vornefeld, “The social psychology of trust with applications in
the Internet,” Analyse & Kritik, vol. 26, no. 1, pp. 48–62, 2004.
[27] N. J. Nilsson, The Quest for Artificial Intelligence. 2010.
[28] D. Floreano and C. Mattiussi, Bio-Inspired Artificial Intelligence: Theories, Methods,
and Technologies. The MIT Press, 2008.
[29] P. Stone and M. Veloso, “Towards collaborative and adversarial learning: A case study
in robotic soccer,” International Journal of Human-Computer Studies, vol. 48, no. 1,
pp. 83–104, 1998.
[30] E. Alonso, M. D’Inverno, D. Kudenko, M. Luck, and J. Noble, “Learning in multi-agent
systems,” The Knowledge Engineering Review, vol. 16, pp. 277–284, Feb. 2002.
128
[31] J. Alferes, P. DellâĂŹAcqua, E. Lamma, J. Leite, L. Pereira, and F. Riguzzi, “A logic
based approach to multi-agent systems,” ALP Newsletter, vol. 14, no. 3, pp. 5–32, 2001.
[32] K. P. Sycara, “Multiagent Systems,” AI Magazine, vol. 19, no. 2, pp. 79–92, 1998.
[33] C. Claus and C. Boutilier, “The dynamics of reinforcement learning in cooperative
multiagent systems,” in AAAI/IAAI, pp. 746–752, 1998.
[34] G. Weiß, “Learning to coordinate actions in multi-agent systems,” in IJCAI-93, vol. 311316, (Chambery, FR), pp. 311–316, 1993.
[35] S. Sen and S. Airiau, “Emergence of Norms through Social Learning,” in IJCAI,
pp. 1507–12, 2007.
[36] M. A. Montes de Oca and T. Stützle, “Towards incremental social learning in optimization and multiagent systems,” in Proceedings of the 2008 GECCO conference companion
on Genetic and evolutionary computation, pp. 1939–44, ACM, 2008.
[37] M. A. M. De Oca, T. Stützle, K. Van den Enden, and M. Dorigo, “Incremental social
learning in particle swarms,” IEEE Transactions on Systems, Man, and Cybernetics,
Part B: Cybernetics, vol. 41, no. 2, pp. 368–384, 2011.
[38] P. J. Hoen, K. Tuyls, L. Panait, S. Luke, and J. A. La Poutre, “An overview of cooperative and competitive multiagent learning,” in Proceedings of the First international conference on Learning and Adaption in Multi-Agent Systems, pp. 1–46, Springer-Verlag,
2005.
[39] A. Guerra-Hernández and G. Ortiz-Hernández, “Toward BDI sapient agents: Learning
intentionally,” in Toward Artificial Sapience, pp. 77–91, Springer, 2008.
[40] J. McCarthy and P. Hayes, Some philosophical problems from the standpoint of artificial
intelligence. Stanford University, 1968.
129
[41] P. Hayes, “In defence of logic,” in Proceedings of the Fifth International Joint Conference
on Artificial Intelligence, pp. 559–565, 1977.
[42] R. A. Brooks, “Intelligence Without Reason,” in International Joint Conference on
Artificial Intelligence, pp. 569–595, 1991.
[43] R. A. Brooks, Cambrian Intelligence. Cambridge, MA: MIT Press, 1999.
[44] I. A. Ferguson, TouringMachines: An architecture for dynamic, rational, mobile agents.
PhD thesis, University of Cambridge, 1992.
[45] D. Lyons and A. Hendriks, “A practical approach to integrating reaction and deliberation,” in Proceedings of the 1st International Conference on AI Planning Systems
(AIPS), pp. 153–162, 1992.
[46] J. P. Müller, “The design of intelligent agents: a layered approach,” in Intelligent Agent
Systems Theoretical and Practical Issues, pp. 1–26, Springer, 1997.
[47] J. Zappala, Multi-agent Simulation of Group Decision Making in Animals. PhD thesis,
University of Nottingham, 2008.
[48] L. Conradt and T. J. Roper, “Democracy in animals: the evolution of shared group
decisions.,” Proceedings. Biological sciences / The Royal Society, vol. 274, pp. 2317–26,
Sept. 2007.
[49] C. Sueur, J.-L. Deneubourg, and O. Petit, “From Social Network (Centralized vs. Decentralized) to Collective Decision-Making (Unshared vs. Shared Consensus),” PLoS
ONE, vol. 7, p. e32566, Feb. 2012.
[50] D. Lusseau and L. Conradt, “The emergence of unshared consensus decisions in bottlenose dolphins,” Behavioral Ecology and Sociobiology, vol. 63, pp. 1067–1077, 2009.
130
[51] C. Sueur and J.-L. Deneubourg, “Self-Organization in Primates: Understanding the
Rules Underlying Collective Movements,” International Journal of Primatology, vol. 32,
no. 6, pp. 1413–1432, 2011.
[52] S. Garnier, C. Jost, J. Gautrais, M. Asadpour, G. Caprari, and G. Theraulaz, “Collective
Decision-Making by A Group of Cockroach-Like Robots,” in IEEE Swarm Intelligence
Symposium (SISâĂŹ05), pp. 233–240, 2005.
[53] J. Millor, M. Pham-Delegue, J. L. Deneubourg, and S. Camazine, “Self-organized defensive behavior in honeybees.,” in Proceedings of the National Academy of Sciences of
the United States of America, vol. 96, pp. 12611–5, Oct. 1999.
[54] K. Macarthur, “Trust and Reputation in Multi-Agent Systems,” Tech. Rep. December,
2007.
[55] R. B. Cialdini and N. J. Goldstein, “Social Influence: Compliance and Conformity,”
Annual Review of Psychology, vol. 55, pp. 591–621, 2004.
[56] S. Bikhchandani, D. Hirshleifer, and I. Welch, “Learning from the Behavior of Others: Conformity, Fads, and Informational Cascades,” Journal of Economic Perspectives,
vol. 12, no. 3, pp. 151–170, 1998.
[57] H. Tennen, J. M. Suls, and I. B. Weiner, Personality and social psychology. John Wiley
& Sons, Inc., 2013.
[58] M. Dorigo, M. Birattari, and T. St, “Ant Colony Optimization: Artificial Ants as
a Computational Intelligence Technique,” IEEE Computational Intelligence Magazine,
no. November, pp. 1556–603, 2006.
[59] T. H. Labella, M. Dorigo, and J.-L. Deneubourg, “Division of labor in a group of robots
inspired by ants’ foraging behavior,” ACM Transactions on Autonomous and Adaptive
Systems, vol. 1, pp. 4–25, Sept. 2006.
131
[60] P. Purkayastha and J. S. Baras, “Convergence results for ant routing algorithms via
stochastic approximation,” ACM Transactions on Autonomous and Adaptive Systems
(TAAS), vol. 8, no. 1, pp. 3:1–3:34, 2013.
[61] L. A. Panait and S. Luke, “Ant Foraging Revisited,” in Artificial Life IX, pp. 569–574,
2004.
[62] L. A. Panait and S. Luke, “Learning Ant Foraging Behaviors,” in Ninth International
Conference on the Simulation and Synthesis of Living Systems ALIFE9, 2004.
[63] E. Tuci, R. Groß, V. Trianni, F. Mondada, M. Bonani, and M. Dorigo, “Cooperation
through self-assembly in multi-robot systems,” ACM Transactions on Autonomous and
Adaptive Systems (TAAS), vol. 1, no. 2, pp. 115–150, 2006.
[64] J. C. Biesmeijer and H. de Vries, “Exploration and exploitation of food sources by
social insect colonies: a revision of the scout-recruit concept,” Behavioral Ecology and
Sociobiology, vol. 49, pp. 89–99, Jan. 2001.
[65] J. J. Howard, L. M. Henneman, G. Cronin, J. a. Fox, and G. Hormiga, “Conditioning
of scouts and recruits during foraging by a leaf-cutting ant,Atta colombica,” Animal
Behaviour, vol. 52, pp. 299–306, Aug. 1996.
[66] F. Saffre and A. Simaitis, “Host selection through collective decision,” ACM Transactions on Autonomous and Adaptive Systems, vol. 7, pp. 1–16, Apr. 2012.
[67] M. Kaur and K. Singh, “Solving Digital Circuit Layout Problem based on Graph Partitioning Technique: A Glance,” International Journal of Advanced Research in Computer
Engineering & Technology, vol. 2, no. 6, pp. 2200–2204, 2013.
[68] Y. He, S. C. Hui, and Y. Sim, “A novel ant-based clustering approach for document
clustering,” in Information Retrieval Technology, pp. 537–544, Springer, 2006.
132
[69] A. Ahuja and A. Pahwa, “Using ant colony optimization for loss minimization in distribution networks,” in Proceedings of the 37th Annual North American Power Symposium,
pp. 470–474, IEEE, 2005.
[70] J. Buhl, J. Gautrais, J. Louis Deneubourg, P. Kuntz, and G. Theraulaz, “The growth
and form of tunnelling networks in ants,” Journal of theoretical biology, vol. 243, no. 3,
pp. 287–298, 2006.
[71] J. J. Corner and G. B. Lamont, “Parallel simulation of UAV swarm scenarios,” in
Proceedings of the 36th conference on Winter simulation, pp. 355–363, 2004.
[72] T. Stützle and H. H. Hoos, “MAX-MIN ant system,” Future generation computer systems2, vol. 16, no. 8, pp. 889–914, 2000.
[73] R. B. Cialdini and M. R. Trost, “Social influence: Social norms, conformity and compliance,” in The handbook of social psychology (D. T. Gilbert, S. T. Fiske, and G. Lindzey,
eds.), ch. 21, pp. 151–192, New York: McGraw-Hill, 4 ed., 1998.
[74] A. Quinn and B. R. Schlenker, “Can accountability produce independence? Goals as
determinants of the impact of accountability on conformity,” Personality and Social
Psychology Bulletin, vol. 28, no. 4, pp. 472–483, 2002.
[75] L. Rosenberg, “Group size, prior experience, and conformity.,” The Journal of Abnormal
and Social Psychology, vol. 63, no. 2, p. 436, 1961.
[76] S. K. Reed, Cognition: Theory and Applications. Cengage Learning, 7th ed., 2007.
[77] J. Andrade and J. May, Cognitive Psychology. BIOS Scientific Publishers, 2003.
133
Appendix A
Appendix 1: Pseudo Code
A.1 Ant Foraging
Algorithm A.1 Search Algorithm for the Scout
Require: e: Last Traverse Edge
function MoveS(e)
∆s ← SensorData()
pre ← cur
if ∆s 6∈ Data[V ] then
5:
cur ← |V [G]| + 1
UpdateSG(e)
Data(cur) ← ∆s
Adj(cur) ← AvailablePaths(∆s )
else
10:
cur ← FindPos(∆s )
UpdateSG(e)
end if
IsFlagged(cur) ← Taken(∆s )
cv (cur) ← AmountOfCiv(∆s )
15:
if !IsFlagged(cur) & cv (cur) > 0 then
SetFlag()
Recruit(cur)
else
e ← nxtEdge(∆s )
20:
GoTo(e)
end if
end function
134
. sensor data of envi.
. First time in this position
. give cur a non-used value
. Not taken by another scout
. to indicate that position is taken
Algorithm A.2 Updating Scout’s Graph Representation
Require: e: Last Traversed Edge
function UpdateSG(e)
if e ∈ E[G] then
return
end if
5:
insert e in E[G]
dis ← length of e
if cur 6∈ V [G] then
insert vertex cur in V [G]
for each vertex u ∈ V [G] do
10:
d(cur, u) ← d(u, cur) ← d(u, pre) + dis
nxt(u, cur) ← nxt(u, pre)
nxt(cur, u) ← e
end for
d(pre, cur) ← d(cur, pre) ← dis
15:
nxt(pre, cur) ← nxt(cur, pre) ← e
else if d(pre, cur) > dis then
d(cur, pre) ← d(pre, cur) ← dis
nxt(cur, pre) ← nxt(pre, cur) ← e
for each vertex u ∈ V [G] do
20:
if d(u, pre) + d(pre, cur) < d(u, cur) then
d(u, cur) ← d(cur, u) ← d(u, pre) + d(pre, cur)
nxt(u, cur) ← nxt(u, pre)
nxt(cur, u) ← e
end if
25:
for each vertex v ∈ V [G] do
if d(u, cur) + d(cur, v) < d(u, v) then
d(u, v) ← d(u, cur) + d(cur, v)
nxt(u, v) ← nxt(u, cur)
nxt(v, u) ← nxt(v, cur)
30:
end if
end for
end for
end if
end function
135
. e = edge(pre,cur)
. edge traversed before
. First time to reach cur
Algorithm A.3 Recruiting
Require: r: position of civilians
function Recruit(r)
while cur 6= 1 do
GoTo(nxt(cur, 1))
pre ← cur
5:
cur ← FindPos(data)
end while
repeat
SendRecMsg()
until Recruited()
10:
while cur 6= r do
GoTo(nxt(cur, r))
pre ← cur
cur ← FindPos(data)
end while
15: end function
. position 1 is the Refuge
. Wait until a Rescue agent is free
. Take rescie agent to civilian position
Algorithm A.4 Rescuing Civilian
Require: t: unique value for each track
function Rescue(t)
FollowRecruiter()
while there is food do
PickCivilian()
5:
FollowTrackBack(t)
PutCivilian()
FollowTrack(t)
end while
FollowTrackBack(t)
10: end function
136
A.2 Conformity
Algorithm A.5 Explore
Require: cur: Current position
Require: pre: Previous position
function Explore(cur, pre)
κ ← PersonalDecision(cur, pre)
. From the Navigation Layer
if κ.random then
. κ was randomly selected
2
~
~
ξ ← ConformityDecision(κ, α, β, γ , ~τ , Θ, Ψ)
. γ is squired to reduce its
value
5:
else
~ Ψ)
~
ξ ← ConformityDecision(κ, α, β, γ, ~τ , Θ,
end if
Execute(ξ)
~ ξ)
UpdateVariables(D,
. Send Decision to Autonomous Layer to Execute it
10: end function
137
Algorithm A.6 Make Conformity Decision
Require: κ: Agent Decision
~ Ψ:
~ Conformity Coefficients/Vectors
Require: α, β, γ, ~τ , Θ,
Ensure: ξ: Decision
~ Ψ)
~
function ConformityDecision(κ, α, β, γ, ~τ , Θ,
N ← ~τ .length
~ ← ListenToAdvices()
Φ
. From the Communication Layer
~
D(1) ← κ
5:
sum ← 0
for i = 1 to N do
~ + 1) ← Φ(i)
D(i
~
~
χ
~ (i) ← α~τ (i) + β Θ(i)
+ (1 − α − β)Ψ(i)
~
if Φ(i)
6= null then
10:
sum ← sum + χ
~ (i)
end if
end for
if sum = 0 then
. No advices received
return κ
15:
end if
σ ← 1/sum
~η (1) ← γ
for i = 1 to N do
~
if Φ(i)
6= null then
~
20:
Ω(i) ← σ~
χ(i)
else
~
Ω(i)
←0
end if
~
~η (i + 1) ← (1 − γ)Ω(i)
25:
end for
p~(1) ← 0
. partial sum of ~η
for i = 2 to N + 1 do
p~(i) = p~(i − 1) + ~η (i − 1)
end for
30:
r ← Rand()
. random number ∈ [0, 1] with uniform probability distribution
lo ← 1
hi ← N + 1
while lo 6= hi do
. binary search for the choosen decision
mid ← d(lo + hi)/2e
35:
if r > p~(mid) then
lo ← mid
else
hi ← mid − 1
end if
40:
end while
~
return D(lo)
end function
138
Algorithm A.7 Update Variables
~ Decision Vector
Require: D:
Require: ξ: Final Decision
~ ξ)
function UpdateVariables(D,
~
N ← D.length
Nξ ← 0
for i = 1 to N do
~
5:
if D(i)
= ξ then
Nξ ← Nξ + 1
µ
~ ξ (i) ← 1
else
µ
~ ξ (i) ← 0
10:
end if
end for
if PerformedRescue(ξ) then
. Returns true if ξ was a rescue mission
λ←1
else
15:
λ←λ−
end if
for i = 1 to N do
1
~ ξ (i) − N −N
(1 − µ
~ ξ (i)))]
~τ (i) ← ~τ (i) + λ[(~τ (i) − N1 ) + ( N1ξ µ
ξ
~ new (i) ← (1 − ζ)Ψ
~ old (i) + ζ 1 µ
~ ξ (i)
Ψ
Nξ
20:
end for
end function
Algorithm A.8 Remove Blockades
Require: cur: Current position
function RemoveBlockade(cur)
while Blockade(cur) 6= 0 do
Clear()
end while
5: end function
Algorithm A.9 Extinguish Fire
Require: cur: Current position
function ExtinguishFire(cur)
while Fire(cur) 6= 0 do
Extinguish()
end while
5: end function
139
Algorithm A.10 Save Person
Require: cur: Current position
Require: ID: Person ID
function SavePerson(cur, ID)
while PersonBuried(ID) do
UnburyPerson(ID)
end while
5:
LoadPerson(ID)
GoToRefuge()
UnloadPerson()
end function
Algorithm A.11 Walk Around
function WalkAround()
while Burning() or Buried() do
SOS()
end while
5:
if InAmbulance() then
StayIdol()
else
WalkRandomly()
end if
10: end function
140
A.3 Integration of Low-Cognitive and High-Cognitive Algorithms
Algorithm A.12 Scout
Require: cur: Current position
Require: pre: Previous position
function Scout(cur, pre)
if FoundCivilian(cur) then
Recruit()
else
5:
κ ← PersonalDecision(cur, pre)
~ Ψ)
~
ξ ← GetAdvice(κ, α, β, γ, ~τ , Θ,
Execute(ξ)
~ ξ)
UpdateVariables(D,
end if
10: end function
141
. Similar to Algorithm A.1