Upload
booker
View
20
Download
1
Embed Size (px)
DESCRIPTION
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem. Sang-Moon Soak Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜. Outline. OCST problem Evolutionary Algorithm 4 kinds of encodings for the Spanning tree Proposed encodings & evolutionary algorithm design Experiment & conclusion. - PowerPoint PPT Presentation
Citation preview
A New Evolutionary Approach for the Optimal CommunicationSpanning Tree Problem
Sang-Moon Soak
Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜
Outline
OCST problem
Evolutionary Algorithm
4 kinds of encodings for the Spanning tree
Proposed encodings & evolutionary algorithm design
Experiment & conclusion
Outline
OCST problem
Evolutionary Algorithm
4 kinds of encodings for the Spanning tree
Proposed encodings & evolutionary algorithm design
Experiment & conclusion
Speaker: 洪嘉涓
OCST Problem
Goal: a spanning tree with minimum communication cost
dT(i, j): distance between i and j on TR(i, j): communication requirements
associated with each pair of nodese.g. # of telephone calls between two cities
Evolutionary Algorithm
One kind of local search
Genetic algorithmthe most popular type of EA
Uses some mechanisms inspired by biological evolution
Reproduction, mutation, recombination, natural selection, survival of the fittest
Add some random mechanism
Evolutionary Algorithm
Population: Start with k randomly generated individuals (i.e. states)
Individual: each is represented as a string over a finite alphabetFitness function: evaluation of the “goodness” of a given state.
A successor is generated by combining two parents from the current population.Produce the next generation of states by selection, crossover, and mutation
Chapter 4 Local Search, Jane Hsu, Artificial Intelligent, 2006
Evolutionary Algorithm
2 4 7 4 8 5 5 2
3 2 7 5 2 4 1 1
2 4 4 1 5 1 2 4
3 2 5 4 3 2 1 3
3 2 7 5 2 4 1 1
2 4 7 4 8 5 5 2
3 2 7 5 2 4 1 1
2 4 4 1 5 1 2 4
24
20
16
11
Initial population
fitness function
selection cross-over mutation
3 2 7 4 8 1 5 2
2 4 7 5 2 4 1 1
3 2 2 5 2 1 2 4
2 4 4 1 5 4 1 7
4 8 5 5 23 2 7
5 2 4 1 12 4 7
2 4 4 1 5 4 1 1
3 2 7 5 2 1 2 4
next generation
Chapter 4 Local Search, Jane Hsu, Artificial Intelligent, 2006
Evolutionary Algorithm
Initialize the population
Evaluate initial population
Repeat
Perform competitive selection
Apply genetic operators to generate new
solutions
Evaluate solutions in the population
Until some convergence criteria is satisfied
OCST Use EA
3 1 2
4
5
3 1 5 2 5 1 4
Encode spanning tree to a stringGenerate valid initial populationDesign selection methodDesign crossover and mutation operator
To generate new spanning tree
Evaluate the cost
OCST Use EA
3
1
2
4
5
3 1 5 2 4 1 5
1 4 5 2 5 3 1
3 4 5 1 2 5 4
…Encode spanning tree to a stringGenerate valid initial populationDesign selection methodDesign crossover and mutation operator
To generate new spanning tree
Evaluate the cost
OCST Use EA
3 1 5 2 4 1 5
1 4 5 2 5 3 1
3 4 5 1 2 5 4…
3 1 5 2 4 1 5
4 3 4 5 1 2 5
…
Encode spanning tree to a stringGenerate valid initial populationDesign selection methodDesign crossover and mutation operator
To generate new spanning tree
Evaluate the cost
OCST Use EA
3 1 5 2 4 1 5
4 3 4 5 1 2 5
…
3 1 5 2 1 2 5
4 3 4 5 4 1 5
…
3 1 5 2 1 2 4
4 3 4 5 2 1 5
…Encode spanning tree to a stringGenerate valid initial populationDesign selection methodDesign crossover and mutation operator
To generate new spanning tree
Evaluate the cost
OCST Use EAEncode spanning tree to a stringGenerate valid initial populationDesign selection methodDesign crossover and mutation operator
To generate new spanning tree
Evaluate the cost
3 1 5 2 1 2 4
4 3 4 5 2 1 5
…
3 1 5 2 4 1 3
3
1
2
4
5 3
1
2
4
5
3
1
2
4
5
Cost = 86
Cost = 75 Cost = 93
better solutions!!
Outline
OCST problem
Evolutionary Algorithm
4 kinds of encodings for the Spanning tree
Proposed encodings & evolutionary algorithm design
Experiment & conclusionSpeaker: 陳麗徽
Encodings for the Spanning Tree
• Prüfer:– The Prüfer Encoding
• LNB:– The Link and Node Biased Encoding
• NetKey: – The Network Random Key Encoding
• ES:– The Edge Set Encoding
Prüfer
• Vertex set is {1, 2 ,3, 4, 5, 6, 7, 8}
• Encode in Prüfer sequence– 6 3 2 5 4 1 (a line)– 5 6 3 2 1 8– 1 1 1 3 3 3 (two-star)– 1 1 1 1 1 1 (star)
LNB: The Link and Node Biased Encoding
• Encode in the bias value
• Decode by calculating the modified cost function
– Cmax is the maximum link cost
– b(i, j) is the link bias associated with the edg
e from i to j
– bi is the node bias associated with node i
NetKey: The Network Random Key Encoding
• Encode in key sequence
• Construct the permutation– 10 → 8 → 6 → 9 → 2 → 7 → 1 → 5 → 4 → 3
ES: The Edge Set Encoding
• Degree constrained minimum spanning tree
• ES with heuristic (ESWH)
• ES without heuristic (ESWOH)
• Encode in edge set– {(a, c), (c, d), (b, d), (d, e)}
Evolutionary Algorithm Design: Crossover and Mutation
• Prüfer– Mutation: Swap
• LNB– Crossover: One-Point– Mutation: Random Perturbation
• NetKey– Crossover: Uniform– Mutation: Swap
• ES– Crossover: KruskalRST– Mutation: Edge Insertion
Outline
OCST problem
Evolutionary Algorithm
4 kinds of encodings for the Spanning tree
Proposed encodings & evolutionary algorithm design
Experiment & conclusionSpeaker: 李振宇
A New Encoding for the OCST
Each spanning tree is encoded as a string of length 2(N-1)Each elements is in the range [1, N]Each adjacency pair in the string represents an edge in G Defines the possible edge set on the spanning tree
How to decode the string?
Cycle-Free Tree Construction RoutineAdd edges that do not induce a cycle
Cycle-Breaking Tree Construction Routine
Add edges one by one, on cycle remove the edge with the largest cost.
Cycle-Breaking Tree Construction Routine
• E = {(N1, N2), (N2, N3), …, (N2n-2, N2n-1)}• U = {1,2,…,n}, T={ }• For i = 1..2n-2
• Remove (Ni, Ni+1) from E• If Ni and Ni+1 not in U, put (Ni, Ni+1) into T and remove
Ni, Ni+1 from U• If Ni is in U but Ni+1 is not, put (Ni, Ni+1) in T and
remove Ni+1 from U• If both Ni and Ni+1 are not in U and (Ni, Ni+1) is in T, do
nothing• If both Ni and Ni+1 are not in U and (Ni, Ni+1) is not in
T, add (Ni, Ni+1) into T and find out the largest edge in the cycle to remove
Theorem 1
Any string of 2(N-1) node identifiers, which contains each node at least once, encodes a valid spanning tree when using CB-TCR
Each node appears in the string and will be added into TOnce a node is added, it is not removedAs cycle induced, some edge is removed from T to ensure cycle-free property
Theorem 2
Given any spanning tree on N nodes, there is a string of at most 2(N-1) node identifiers which, when using CB-TCR, encodes precisely that tree
Use induction – construct tree of n nodes from tree of n-1 nodes by adding an edge with leaf node on the tree
When k = 2, the tree could be encoded in a string of length 2
Theorem 2 (cond.)
Assume the when k = n, each n-node spanning tree could be generated by a string of length at most 2(n-1) without any edge removal in the tree-construction process
At k = n+1, choose a leaf node y and its adjacency node x. If (a, x) is some edge in the representation of remaining n nodes, replace (a, x) by (a, x, y, x) to form a new string
The new string has length at most
2(n-1) + 2 = 2n
Evolutionary Algorithm Design
How to do reproduction and crossover in the new coding scheme?
Reproduction: Real World Tournament Selection (RWTS)
Crossover: Adjacent Node Crossover (ANX)
Real World Tournament SelectionScore each string and give higher score ones more probability to matePair each 2 strings in the last generation and choose the floor(m/2) higher score ones to be the “level 1 winner”Pair “level i winner” and choose the higher score ones to generate “level i+1” winner
Real World Tournament Selection (cond.)
Algorithm RWTS• i = { }• for i = 1, 2, …• Generate level i winner and put it into I• if |level i winner| == 1 then break• If |I| < m, copy level i winner multiple times
to fill up the slots.
Adjacent Node Crossover
Construct the offspring in string format element-wise one by oneStarting from some node c, check parent A1 and A2 for nodes adjacent to c, choose one from them to get the next node
Define Aij be the set of nodes adjacent to
j of tree Ai
Adjacent Node Crossover
Build adjacent map A1t and A2
t
Select starting point c randomly, O1 = c
For i = 2 ..N
S <- A1c ∩ A2
c, V <- A1c A∪ 2
c
If S is not empty then choose
p = argmin_{j in S} d(c, j)
remove p from A1and2c
remove c from A1and2p
Adjacent Node Crossover
else if V is not empty then choose
p = argmin_{j in V} d(c, j)
remove p from A1or2c
remove c from A1or2p
else
random choose a valid p
Oi <- p, c <- p
Some notes
Is the generated tree is always a valid spanning tree?
Not necessary!
Some node may not be traversed at all!
Solve it by post-processing to repair this
Outline
OCST problem
Evolutionary Algorithm
4 kinds of encodings for the Spanning tree
Proposed encodings & evolutionary algorithm design
Experiment & conclusionSpeaker: 黃怡靜
Experiment
Each algorithm repeat 20 times
Use published benchmark instances
Symbol defineGap:
Gen: mean # of generations to achieve best sol
Time: cost time of achieving best sol
Opt: # of trials that find best sol
Locality and Diversity
LocalityPhenotype distance:Mutation innovation (MI)
Compare with mutant and its parent
DiversityThe relation between phenotype and fitness distanceFitness distance
Comparison of Locality
High value represent low degree of locality
1. Redundancy
2. Heuristic bias of encodings