5 common algorithms: branch Limit Method

Source: Internet
Author: User

Branch Limit Method

1. Basic description

Similar to the backtracking method, it is also an algorithm used to search for problem solutions on the solution space tree T. However, in general, the branch restriction method and the Backtracking Method have different targets.The goal of the backtracking method is to find all the solutions that meet the constraints in T., AndBranch Limit MethodThe goal is to find outA solution that meets the constraintsOr find the target function value to be reached in the solution that meets the constraints.Extremely Large or extremely small SolutionIn a senseOptimal Solution.

(1) Branch Search Algorithm

The so-called "branch" is to use the breadth-first strategy to search all branches of the e-node in sequence, that is, all adjacent nodes, and discard nodes that do not meet the constraints, add the remaining nodes to the dynamic node table. Select a node from the table as the next e-node and continue searching.

The method for selecting the next e-node is different, there are several different branch search methods.

1) FIFO search

2) LIFO search

3) priority queue-based search

(2) Branch restriction search algorithm 2. General process of the branch restriction Method

Because of the different solution objectives, the branch restriction method and backtracing method have different search methods on the solution space tree T.The Backtracking Method searches for the spatial tree T in depth-first mode., AndThe branch restriction rule searches for a spatial tree in the breadth-first or minimum-consumption-first mode..

Branch Limit MethodThe search policy is: At the expansion node, Mr. Cheng becomes all of his son nodes (branches), and then selects the next extension point from the current active node table. In order to effectively select the next extended node to accelerate the search process, a function value (Restriction) is calculated at each dynamic node, and based on the calculated function values, select the most favorable node from the current active node table as the expansion node, so that the search moves toward the branch where the solution space tree has the optimal solution, so as to find an optimal solution as soon as possible.

The branch restriction method usually searches for the spatial tree of a problem in a breadth-first or least-consumed (maximum-benefit)-First manner. ProblematicThe solution tree is an ordered tree that represents the solution space. Common solutions include the subset tree and the Arrangement tree.. When you search for the spatial tree of a problem, the branch restriction method and the Backtracking Method are different for the current extension node. In the branch restriction method, each active node has only one chance to become an extension node. Once a dynamic node becomes an extended node, all its son nodes are generated at one time. Among these son nodes, son nodes that cause infeasible or non-optimal solutions are discarded, and the other son node quilts are added to the dynamic knots table. After that, remove a node from the active node table to become the current expansion node, and repeat the above node expansion process. This process continues until the desired solution or dynamic knots table is null.

Iii. Differences between backtracking and branch Restriction

There are some problems that can be well solved by both the Backtracking Method and the branch restriction method, but others do not. Maybe we need some specific analysis-When should we use the branch restriction and when should we use backtracing?

Some differences between the Backtracking Method and the branch restriction method:

Method To search for a spatial tree
Common Data Structure node storage features common applications of storage nodes

The backtracking method first searches for all feasible subnodes of a stack's active nodes and then pops up from the stack to find all solutions that meet the constraints.

The branch limit method has the advantage of breadth first or minimum consumption. In the search queue, each node in the priority queue is only one active node to find a solution that meets the constraints or the optimal solution in a specific sense.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.