BranchandBound

Document last modified: 

Use the lower bound as starting root-state and determine Q and state at Line 7 for 2 iterations.

  (a,c)+(a,b)+ (b,a)+(b,c)+ (c,a)+(c,e)+ (d,e)+(d,c)+ (e,c)+(e,d)  
lower bound = ⌈[   (1  +  3) +   (3  +  6) +   (1  +  2) +   (3  +  4) +   (2  +  3) ]/2⌉ = 14

Our bounding function will be to compute the sum s of the two smallest weights for each vertex that includes edges in the possible cycle.

For example, edge (a, d) must be included as weights of (a,d) and (d,a) as:

 é[(1+5)+(3+6)+(1+2)+(3+5)+(2+3)]/2⌉ =16

  (a,c)+(a,d)+ (b,a)+(b,c)+ (c,a)+(c,e)+ (d,e)+(d,a)+ (e,c)+(e,d)  
lower bound = ⌈[   (1  +  5) +   (3  +  6) +   (1  +  2) +   (3  +  5) +   (2  +  3) ]/2⌉ = 16

To reduce the state-space generated:

The state-space tree is:

  1. Node Best-First( Node root-state )

  2.   Q ← ∅

  3.   state ← root-state 

  4.   while true

  5.     if goal(state) return state 

  6.     Q ← Q + successors(state)    

  7.     if Q = | return NIL

  8.     state = EXTRACT-MIN( Q )   

  (a,c)+(a,b)+ (b,a)+(b,c)+ (c,a)+(c,e)+ (d,e)+(d,c)+ (e,c)+(e,d)  
lower bound = ⌈[   (1  +  3) +   (3  +  6) +   (1  +  2) +   (3  +  4) +   (2  +  3) ]/2⌉ = 14