50
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: 洪洪洪 洪洪洪洪 洪洪洪洪 洪洪洪 、、、

A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem

  • 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

ExampleExample tree:

3 1 2

4

5

How to find it?

3 1 2

4

5

3

1

2

4

5

NP-hard problem!

Search problemSearch for a better solution

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)

Prüfer Decoding

• P = (3, 3, 4, 5, 4, 6)

• V = {1, 2, 3, 4, 5, 6, 7, 8}

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

LNB Decoding

• Use Prim’s algorithm with the modified cost matrix C’

NetKey: The Network Random Key Encoding

• Encode in key sequence

• Construct the permutation– 10 → 8 → 6 → 9 → 2 → 7 → 1 → 5 → 4 → 3

NetKey Decoding

• Use Kruskal’s algorithm– 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

A New Encoding for OCST

(1, 5, 2, 1, 4, 3, 2, 5)

2

4 1 5

3 2

5

87

1

9

2

4 1 5

3 2

5

87

1

9

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

An example

4

4

1

2 6

5 3

7

1

2 6

5 3

41

5 3

7

An example

1

2 6

5 3

15 3

4 7

4

1

2

5 3

7

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

Experimental results

Comparison of Locality

High value represent low degree of locality

1. Redundancy

2. Heuristic bias of encodings

Diversity of CB-TCR

Solutions with small fitness values can easily find the optimal solution

P24 B35U

ESWH

ESWOH

LNB

NetKey

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 performanceRelative high locality

Preserve the population diversity for a long generation