Pleiotropy

advertisement
Optimizing genetic algorithm
strategies for evolving
networks
Matthew 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: loadsharing 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
0  Ti  Tmax
• Each server has a fixed amount of
traffic it can serve, Ts.
• Utilization (ideally between

Ti
0.75 and 0.85)
iC
U

S Ts
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
O
i
• Redundancy
• Pleiotropy
D
iC
S
I
L
j S
C
j
Fitness function
• F=R/P
• R = reliability, P = cost
• Minimize P, maximize R => maximize F
 wi, j 
P
i, j  wi, j 
d
i, j  d
R

( n)
i, j 
1
i, j  d
(n )
i, j

( n)
i, j 
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
2
2


N
servers), Na and Nb, and edges, a  N a and b
b
form a new network N c  N a  N b
c

  
a
b

• Selection: only the fittest
 (5) reproduce.
• Population size is kept constant at 15 (rank
selection) 
Let’s watch some sex
Previous results - stuck in a rut
Results
Link failure probability = 0.001%
Results
Link failure probability = 10%
Results: convergence times
Varying 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 log n 1
(min,+) matrix multiplications.
0 4 5 


A  4 0 

5  0 

0

D(2)  A 2  4

5
min( 0,8,10)

 min( 4,4,)

min( 5,,5)
0

 4

5
4 5

0 9
9 5

5 0 4 5 


0 4 0 
 0 

5  0 

4
min( 5,,5) 

min( 8,0,) min( 9,,) 
min( 9,,) min( 10,,0)

min( 4,4,)
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 
 h ut  t   h ut  t 
l
t k ,t l T
T  t1,t 2 , t 3 ,t 4 ,
k
 R2 t1  t 2  t 3  t 4 
x   di, j  m  am W t
(i)
s
(i)
(i)
j
(i)
m
x (s)

t 
iS li
am(i) '
 l Wt
i
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)
x (s)
2

(t )
1
x


d
1,1
d1,2

x (t2 )
x (t3 )
d1,3
 
x (t4 ) x (t5 )
Alternative fitness function
• F=R/P
• R = reliability, P = cost
• Minimize P, maximize R => maximize F
m (i)
P 
 a
iS li
R
1
( n)
i,
j
d


 i , j 
m (i)
 l
i
iS
Results: alternative cost function
Results: alternative cost function
Download