A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem - PowerPoint PPT Presentation

About This Presentation
Title:

A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem

Description:

A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: – PowerPoint PPT presentation

Number of Views:151
Avg rating:3.0/5.0
Slides: 51
Provided by: Evel60
Category:

less

Transcript and Presenter's Notes

Title: A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem


1
A New Evolutionary Approach for the Optimal
CommunicationSpanning Tree Problem
  • Sang-Moon Soak
  • Speaker ???????????????

2
Outline
  • OCST problem
  • Evolutionary Algorithm
  • 4 kinds of encodings for the Spanning tree
  • Proposed encodings evolutionary algorithm
    design
  • Experiment conclusion

3
Outline
  • OCST problem
  • Evolutionary Algorithm
  • 4 kinds of encodings for the Spanning tree
  • Proposed encodings evolutionary algorithm
    design
  • Experiment conclusion

Speaker ???
4
OCST Problem
  • Goal a spanning tree with minimum communication
    cost
  • dT(i, j) distance between i and j on T
  • R(i, j) communication requirements
  • associated with each pair of nodes
  • e.g. of telephone calls between two cities

5
Example
Example tree
6
How to find it?
  • NP-hard problem!
  • Search problem
  • Search for a better solution

7
Evolutionary Algorithm
  • One kind of local search
  • Genetic algorithm
  • the 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

8
Evolutionary Algorithm
  • Population Start with k randomly generated
    individuals (i.e. states)
  • Individual each is represented as a string over
    a finite alphabet
  • Fitness 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
9
Evolutionary Algorithm
next generation
fitness function
24
2 4 7 4 8 5 5 2
3 2 7 5 2 4 1 1
3 2 7 4 8 1 5 2
20
3 2 7 5 2 4 1 1
2 4 7 4 8 5 5 2
2 4 7 5 2 4 1 1
16
2 4 4 1 5 1 2 4
3 2 7 5 2 4 1 1
3 2 2 5 2 1 2 4
11
3 2 5 4 3 2 1 3
2 4 4 1 5 1 2 4
2 4 4 1 5 4 1 7
Initial population
selection
cross-over
mutation
Chapter 4 Local Search, Jane Hsu, Artificial
Intelligent, 2006
10
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

11
OCST Use EA
  • Encode spanning tree to a string
  • Generate valid initial population
  • Design selection method
  • Design crossover and mutation operator
  • To generate new spanning tree
  • Evaluate the cost

3 1 5 2 5 1 4
12
OCST Use EA
  • Encode spanning tree to a string
  • Generate valid initial population
  • Design selection method
  • Design crossover and mutation operator
  • To generate new spanning tree
  • Evaluate the cost

13
OCST Use EA
  • Encode spanning tree to a string
  • Generate valid initial population
  • Design selection method
  • Design crossover and mutation operator
  • To generate new spanning tree
  • Evaluate the cost

14
OCST Use EA
  • Encode spanning tree to a string
  • Generate valid initial population
  • Design selection method
  • Design crossover and mutation operator
  • To generate new spanning tree
  • Evaluate the cost

15
OCST Use EA
  • Encode spanning tree to a string
  • Generate valid initial population
  • Design selection method
  • Design crossover and mutation operator
  • To generate new spanning tree
  • Evaluate the cost

Cost 93
Cost 75
Cost 86
better solutions!!
16
Outline
  • OCST problem
  • Evolutionary Algorithm
  • 4 kinds of encodings for the Spanning tree
  • Proposed encodings evolutionary algorithm
    design
  • Experiment conclusion

Speaker ???
17
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

18
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)

19
Prüfer Decoding
  • P (3, 3, 4, 5, 4, 6)
  • V 1, 2, 3, 4, 5, 6, 7, 8

20
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
    edge from i to j
  • bi is the node bias associated with node i

21
LNB Decoding
  • Use Prims algorithm with the modified cost
    matrix C

22
NetKey The Network Random Key Encoding
  • Encode in key sequence
  • Construct the permutation
  • 10 ? 8 ? 6 ? 9 ? 2 ? 7 ? 1 ? 5 ? 4 ? 3

23
NetKey Decoding
  • Use Kruskals algorithm
  • 10 ? 8 ? 6 ? 9 ? 2 ? 7 ? 1 ? 5 ? 4 ? 3

24
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)

25
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

26
Outline
  • OCST problem
  • Evolutionary Algorithm
  • 4 kinds of encodings for the Spanning tree
  • Proposed encodings evolutionary algorithm
    design
  • Experiment conclusion

Speaker ???
27
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

28
How to decode the string?
  • Cycle-Free Tree Construction Routine
  • Add 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.

29
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, Ni1) from E
  • If Ni and Ni1 not in U, put (Ni, Ni1) into T
    and remove Ni, Ni1 from U
  • If Ni is in U but Ni1 is not, put (Ni, Ni1) in
    T and remove Ni1 from U
  • If both Ni and Ni1 are not in U and (Ni, Ni1)
    is in T, do nothing
  • If both Ni and Ni1 are not in U and (Ni, Ni1)
    is not in T, add (Ni, Ni1) into T and find out
    the largest edge in the cycle to remove

30
A New Encoding for OCST
  • (1, 5, 2, 1, 4, 3, 2, 5)

5
1
5
1
4
1
5
4
1
5
2
7
2
7
8
8
3
2
3
2
9
9
31
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 T
  • Once a node is added, it is not removed
  • As cycle induced, some edge is removed from T to
    ensure cycle-free property

32
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

33
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 n1, 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

34
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)

35
Real World Tournament Selection
  • Score each string and give higher score ones more
    probability to mate
  • Pair 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 i1 winner

36
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 lt m, copy level i winner multiple times to
    fill up the slots.

37
Adjacent Node Crossover
  • Construct the offspring in string format
    element-wise one by one
  • Starting 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

38
Adjacent Node Crossover
  • Build adjacent map A1t and A2t
  • Select starting point c randomly, O1 c
  • For i 2 ..N
  • S lt- A1c n A2c, V lt- A1c ? A2c
  • If S is not empty then choose
  • p argmin_j in S d(c, j)
  • remove p from A1and2c
  • remove c from A1and2p

39
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 lt- p, c lt- p

40
An example
41
An example
42
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

43
Outline
  • OCST problem
  • Evolutionary Algorithm
  • 4 kinds of encodings for the Spanning tree
  • Proposed encodings evolutionary algorithm
    design
  • Experiment conclusion

Speaker ???
44
Experiment
  • Each algorithm repeat 20 times
  • Use published benchmark instances
  • Symbol define
  • Gap
  • Gen mean of generations to achieve best sol
  • Time cost time of achieving best sol
  • Opt of trials that find best sol

45
Locality and Diversity
  • Locality
  • Phenotype distance
  • Mutation innovation (MI)
  • Compare with mutant and its parent
  • Diversity
  • The relation between phenotype and fitness
    distance
  • Fitness distance

46
Experimental results
47
Comparison of Locality
  1. Redundancy
  2. Heuristic bias of encodings

High value represent low degree of locality
48
Diversity of CB-TCR
Solutions with small fitness values can easily
find the optimal solution
49
ESWH
ESWOH
LNB
NetKey
P24
B35U
50
Conclusion
  • The optimal solution of the OCST problem is
    biased towards the MST
  • Propose a new encoding CB-TCR, and use EA with
    RWTS strategy in addressing the OCST problem
  • CB-TCR has better performance
  • Relative high locality
  • Preserve the population diversity for a long
    generation
Write a Comment
User Comments (0)
About PowerShow.com