1 / 11

Chapter 8: Branch and Bound

Chapter 8: Branch and Bound. Branch and Bound. The term “ branch and bound ” refers to all state space search methods in which all children of the E-node are generated before any other live node can becomes the E-node.

solstice
Download Presentation

Chapter 8: Branch and Bound

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 8: Branch and Bound Branch and Bound The term “branch and bound” refers to all state space search methods in which all children of the E-node are generated before any other live node can becomes the E-node. Graph search strategies in which the exploration of a new node cannot begin until the node currently being explored is fully explored: BFS (queue) D-Search(stack)

  2. Chapter 8: Branch and Bound FIFO search: BFS like state space search: list of live nodes is a first-in-first-out(FIFO) list, or, a queue. LIFO search: D-search like state space search: list of live nodes is a last-in-first-out (LIFO) list, or, a stack. Bounding functions are used to help avoiding the generation of subtree that do not contain and answer node.

  3. Chapter 8: Branch and Bound 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 B B B B B B 18 19 20 21 22 23 24 25 26 27 28 29 B B B B B B B B B 30 Answer node

  4. Chapter 8: Branch and Bound LC Search In both LIFO and FIFO branch and bound, the selection rule for the next E-node is rather rigid and in a sense ‘blind’. The selection rule does not give any preference to a node that has a very good chance of getting the search to an answer node quickly. The search for an answer node can often be speeded up by using an “intelligent” ranking function,ĉ(.), for live nodes the next E-node is selected on the basis of this ranking function.

  5. Chapter 8: Branch and Bound 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 B B B B B B 18 19 20 21 22 23 24 25 26 27 28 29 B B B B B B B B B 30 Answer node

  6. Chapter 8: Branch and Bound If in the 4-queens example, we use a ranking function that assigns node 30 a better rank than all other live nodes, then node 30 will become the E-node following node 29. The ideal way to assign ranks would be on the basis of the additional computational effort (or cost) needed to reach an answer node from the live node.

  7. Chapter 8: Branch and Bound For any node x, this cost could be (or “ideal” cost functions) • 1. the number of nodes in the subtree x that need to be generated before an answer node is generated, or • 2. it could be the number of levels the nearest answer node (in the subtree x) is from x.

  8. Chapter 8: Branch and Bound If the cost measure (1) is used, then the search would always generate the minimum number of nodes every branch and bound algorithm must generate. If the cost measure (2) is used, then the only nodes to become E-node are the nodes on the path from the root to the nearest answer-node.

  9. Chapter 8: Branch and Bound The difficulty with using either of these “ideal” cost functions is that computing the cost of a node will usually involve a search of the subtree x for an answer node. Hence, by the time the cost of a node is determined, that subtree has been searched and there is no need to explore x again. Therefore the search algorithm usually rank nodes based only on an estimate ĝ(.), of their cost.

  10. Chapter 8: Branch and Bound Let ĝ(.) be an estimate of the additional effort needed to reach an answer node from x. Node x is assigned a rank using function ĉ(.) such that ĉ(.) = f(h(x)) + ĝ(x) where h(x) is the cost of reaching x from the root and f(.) is any non decreasing function.

  11. Chapter 8: Branch and Bound End of Chapter 8

More Related