Battle Swarm: An Evolutionary Approach to
Complex Swarm Intelligence
Russel Ahmed Apu
Marina Gavrilova
Brief Outline
• Battle Swarms
• Tactics and battle efficiency
• Swarm Intelligence: Missile Genotype Encoding
• Evolutionary strategies for battle swarms
• Experimental results and analysis
Objective:To utilize swarm based tactics & evolutionary
swarm strategies to increase tactical efficiency for offensive and defensive agents
Battle Swarms Agents
• MISSILES
• Autonomous• Limited sensory
capabilities• Limited intelligence• Single objective: Hit ship• Complex dynamic system• Behavior of one missile
effect other missiles in the swarm
• Evolutionary Strategy
• DEFENSE TURRETS
• Point Defense system• Only Visual/radar
capabilities• Limited coverage• Single Objective: Destroy
missiles • Simple rule, complex
outcome: Select and fire• Behavior and efficiency
cruicial to survival• Fixed Strategy
Defense Mechanism
Missile
Missile
Missile
Point Defense
Reaction Radius
Reaction
Actions of a Missile
Constant Thrust
Right
Up
Heading
ROLL LEFT
ROLL RIGHT
PITCH DOWN
Action Encoding Set: {LRUDNMFAXYZ}* X=Rand Y=Converge*
L= Roll Left U=Pitch Up N=NOP F=Follow* Z=Diverge*
R=Roll Right D=Pitch Down M=Memory A=Avoid*
* Discussed in the next few slides
PITCH UP
Basic Sensory Encoding and Actions
COG
Follow Target
Projection Plane
(1)
Roll to match proj(v)=proj(u)
(2)
Pitch upProj(v)
Proj(u)
Basic Sensory Encoding and Actions
COG
Avoid Target
Projection Plane
(1)
Roll to match proj(v).proj(u)=0
(2)
Pitch up
Proj(v)
Proj(u)
Target Relative Coordinate(Range, Heading, Bearing)
x y zf ,f ,f Forward Vector of missile m
Up vector of missile m
Location of the missile m
Location of the Target
m
m
m
F
u
p
T
= =
=
=
=
r
r
( )
( )
( )
( )
2x x y x z
2xx y y z
2xx z y z
f1- -ff -ff
f-ff 1- -ff=
f-ff -ff 1-
Heading, mm ph F
é ùê úê úê úê úê úê úë û
= ·
M
Mr
Range, pM TR -=
( ) ( )( )( )Bearing, mm mm mb FT p T pu u= × ·- -· ´M Mr r
Target relative: Heading
Target Relative: Bearing
COG
Projection Plane
u
PRproj
b Rproj
F
Swarm Relative Encoding
• Regulates the probability of Flocking Tendency• ‘Y’ Flock and increase tendency (probability of
Boids flocking)• ‘Z’ Diverge from flock and decrease tendency• If an agents decides to flock (prob= ), the direction is
determined using modified BOIDS
Boids flocking: From left to right rules of cohesion, separation and alignment [2].
Decision Making• Event related decision are made by the
swarm implicitly
• Avoiding Incoming fire: Ionization trail gives negative pheromone to allow flocking out of a region
• Finding Weakness in Defense: Combined usage of flocking tendency, gas and ionization pheromone trail
Basic Encoding of Missile genotype
• String of Possible Action (I.e [LYUXLY])
• Action string is circular (iterative)
• Missile DNA=Gene_String[]
• Continuous execution of the string
• Each action executed for an infinite time
• Regulates Swarm Behavior/Tendency
Encoding Basic Maneuvers
• Maintain Current Heading = [N]• Homing the Target = [F]• Ring Motion = [U] • Cork Screw = [LU], [LUMMM]• Evasive Approach = [XF], [XMMMF]• Basic Evasive Action = [A], [AMMMX]• Fall Back = [XU], [XMMMU], [AU]• Scramble = [X]
Basic Maneuvers
[N]
[A]
[U]
[F] [XF]
[LU]
Different Complex Maneuvering Tactics
• Retaliation – frontal attack• Evasive – avoid fire at all costs• Convergent approach – approach target from a
particular direction• Divergent approach – surround and approach from
different directions• Trail wind flocking –one missile leads others • Distract and draw fire
Different Complex Maneuvering Tactical strategies
(a) Diversion (b) Trail Wind Flocking
(c) Retaliation (d) Divergence
Mutating and Evolving the Missile Genotype
• Fitness: Define a fitness function for the desired action
• Crossover: Augment/concatenate Genes
{[LUMU] [AMD]} {[LUAMDMU] [LUMD] [AMDUMU] [LMDMU]…}
• Randomization: Replace arbitrary symbols with “X”… run the simulation and convert meta genes to real genes
[FFLLU] [FXLXU] {[FULLU], [FFLFU], [FNLNU], [FMLNU]} Best{[FULLU], [FNLNU]}
Induced Evolution• We can introduce certain desired behavior
in addition to natural evolution
• Step 1: Train Missiles separately to obtain certain desired behavior without any other consideration. Obtain Viral strain W=[…]
• Step 2: Infect All current Genotype with viral Strain W (crossover)
The Game: Co-evolution
1. Implement basic missile [F] and basic Turret {Select X, Fire@trajectory}
2. Adjust physical property to match– Fitness=50% (50% missiles hit the target)
3. Evolve Missiles and turrets against previous strain
4. Repeat step 3 for several Games cycles
5. If fitness falls or rises dramatically increase physical strength of opposing swarm (Missile: Acceleration, velocity, turning. Turrets: Speed of fire, number of turrets, firing frequency)
The Fitness Function: Hetero-Sexual Mating
• Use a two dimensional Fitness Function• Every missile has a masculine and a feminine fitness• Masculine: Ability to Attack• Feminine: Ability to Survive
,i iiW W= J,i iiW W= J
# of missile hitting the target# of missiles launched
# of gunshots successfully evaded# of missiles destroyed+1
i
i
W =
=J
Results
- Strategies evolved, Runtime and other aspects
Fitness Function
0
5
10
15
20
25
30
35
40
45
50
0 20 40 60 80 100
Masculine
Fem
inin
e
Randomized No Randomization
Evasive
Dispersion
DistractionSwarm: Trail Wind
Assult
Complex Tactics: Convergent Approach
• Strength in numbers
• Less exposure to incoming fire
• Increase of spatial threat
• Decrease of temporal threat
• High Efficiency
• Low evasion
• Highly Masculine
Complex Tactics: Divergent Approach• Cause more distraction and
confuse the defense system
• Less likelihood for a missile to draw fire
• Decrease of spatial threat
• Increase of temporal threat
• Lower Efficiency
• Highly Evasive
• Highly Feminine
Convergent VS Divergent Approach
• CONVERGENT• Less defense turrets• Draw less fire• Easy to shoot down
• DIVERGENT• More defense turrets• Draw more fire• Distracting and hard to
shoot down
Complex Tactics: Trail Wind Flocking
• Better than “Convergent Approach”
• Least exposure to incoming fire
• Lot of opportunity for diversion/distraction
• Decrease of spatial threat
• Decrease of average temporal threat
More Results
(a) Funnel Shaped Assault
(b) Parachute Phase 1: Forming a moth ball
(c) Parachute Phase 2: Dispersing
(d) Parachute Phase3: Forming a Head
(e) Parachute Phase 4: Trail Wind Attack
(f) Divergent Attack
More Results
Figure 11: Formation of Distraction, Organic and Deception pattern
(h) Distraction 2: Assault in progress
(g) Distraction 1: Early missiles draw fire
(i) Organic motion pattern
(j) Deception 1: Lead Assault
(k) Deception 2: Overshooting the target
(l) Deception 3: Come about and attack
More Results
See Animation Demos
Rendering and Physical Engine
• Regular physics engine will not suffice– Approximation aggravates trajectory
computation
• Construct everything from scratch– Advanced look-ahead estimation based physics
engine – Robust Rendering engine:
• Anisotropic Texture filtering • Multiple LOD based geometry rendering• Particle engine • Highly optimized exclusive API for performance• Flexibility
The Simulation Engine
• Robust design: Separation of Rendering modules from the simulation
• Implements Command Console• Runtime performance is highly efficient• For 50 missiles:
– Full quality rendering@ 50FPS !!!– Simulation runs upto 50 times faster
(FPS=2200+) is rendering is turned off (for evolutionary algorithm)
– Excellent Rendering quality (anisotropic texture mapping, particle engine)
Runtime PerformancePerformance of Different Runtime Modes
38.16
98.72
391.74
48.77
110.33
715.73
0
100
200
300
400
500
600
700
800
Mode
Fra
me
/Se
co
nd
Summary• Using Swarm Intelligence to evolve battle tactics for
– Missiles– Point Defense Turrets
• Evolutionary strategies:– Gene_String[] evolution– The novel “Induced Evolution” strategy– Co-evolutionary strategy
• Implementation: – Rendering and physical Engine– Genotype encoding– Basic maneuvers– Complex maneuvers– Integration
Thank you