Optimizing genetic algorithm strategies for evolving
networksMatthew Berryman
Pleiotropy
• Single agent performing multiple tasks.
• Example 1: single protein such as p53 involved in several regulatory pathways.
• Example 2: single server performing multiple tasks such as email, web server.
Redundancy
• Multiple agents performing same task.
• Example 1: some level of redundancy between bicoid and nanos/caudual in anterior-posterior axis formation in Drosophila.
• Example 2: load-sharing web servers.
Tradeoffs and combinations
• Redundancy: high robustness, high cost.
• Pleiotropy: low robustness, low cost.
• Combine both pleiotropy and redundancy to get an optimal combination of high redundancy and low cost.
Network parameters
• Set of clients, C, and set of servers, S.• Positions of clients and servers set at
random but with minimum spacing.• Each client assigned a traffic value• Each server has a fixed amount of
traffic it can serve, Ts.• Utilization (ideally between
0.75 and 0.85) €
0 < Ti < Tmax
€
U =
Tii∈C
∑STs
Measuring redundancy and pleiotropy
• Each client i has out degree Oi = number of links out of client
• Each server j has in degree Ij = number of links into server
• Redundancy
• Pleiotropy
€
D =
Oii∈C
∑S
L =
I jj∈S
∑
C
Fitness function• F=R/P
• R = reliability, P = cost
• Minimize P, maximize R => maximize F
€
P =
w i, j( )i, j( ) w i, j( )<∞{ }
∑
di, j(n )
i, j( ) d i , j(n ) <∞{ }
∑
R = 1i, j( ) d i , j
(n ) <∞{ }
∑
Origin of the species• Mutations:
– add links, remove links from set of edges, – add servers, remove servers from set S.
• Crossover (mating): – for two networks with sets of nodes (clients and
servers), Na and Nb, and edges, and form a new network
• Selection: only the fittest (5) reproduce.• Population size is kept constant at 15 (rank
selection)
€
ε
€
εa ⊆Na2
€
εb ⊆Nb2
€
Nc = Na∪Nbεc ⊆εa∪εb
Let’s watch some sex
Previous results - stuck in a rut
ResultsLink failure probability = 0.001%
ResultsLink failure probability = 10%
Results: convergence timesVarying population size
Varying link failure probability
Conclusions and future directions
• Crossover operator allows the GA to converge much faster than mutation alone.
• Cost function improved by using Dijsktra’s algorithm: optimizing towards minimum cost for a given reliability.
• More work needed to analyze the convergence time -- use a simple network with known results, get rid of link failures and server replacement.
• Multi-objective evolutionary algorithms (multiple fitness functions
Dijkstra’s algorithm• Given an adjacency matrix, A, we
compute the distance matrix D in (min,+) matrix multiplications.
€
log n −1( )⎡ ⎤
€
A =
0 4 5
4 0 ∞
5 ∞ 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
D(2) = A2 =
0 4 5
4 0 ∞
5 ∞ 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
0 4 5
4 0 ∞
5 ∞ 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=
min(0,8,10) min(4,4,∞) min(5,∞,5)
min(4,4,∞) min(8,0,∞) min(9,∞,∞)
min(5,∞,5) min(9,∞,∞) min(10,∞,0)
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=
0 4 5
4 0 9
5 9 5
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
Alternative approach• Instead of clients, have a set of edge
routers (eg DSL router for a business), connecting a set of data streams di to a server.
€
di, j = hu t − tl( ) − hu t − tk( )( )tk ,tl( )∈T
∑
T = t1, t2( ), t3, t4( ),K ∈ R2 t1 < t2 < t3 < t4 <K{ }
xs(i) = di, j
j
∑ = m(i) + am(i)W t
x t(s) =
m(i)
li+
am(i)
lii∈S
∑ W t'
i∈S
∑
Alternative approach: in pictures• Instead of clients, have a set of edge routers
(eg DSL router for a business), connecting a set of data streams di to a server.
€
x1(s)
€
x2(s)
€
x2(t )
€
x3(t )
€
x4(t )
€
x5(t )
€
x1(t )
€
d1,1
€
d1,2
€
d1,3
Alternative fitness function• F=R/P
• R = reliability, P = cost
• Minimize P, maximize R => maximize F
€
P =m(i)
li+ aδ
m( i)
lii∈S
∑i∈S
∑
R = 1i, j( ) d i , j
(n ) <∞{ }
∑
Results: alternative cost function
Results: alternative cost function