Branching Factor
Informal Definitions
- The branching factor is the number of successors generated by a given node.
- The effective branching factor is the number of successors generated by a "typical" node for a given search problem.
Formal Definition
-
N
: Total number of nodes processed.
-
d
: Depth at which the solution node was found.
-
b*
: Effective branching factor.
-
N = b* + (b*)2 + ... + (b*)d
Calculating b*
- No closed-form solution
- Solution 1: A Close Guess
- Solution 2: Binary Search
- Requires
N
and d
- Select an error tolerance
- Select a high and low estimate
- Average the estimates to provide a guess for
b*
- Calculate
N'
using the guess for b*
and d
- If
abs(N' - N) > error
, modify the low or high estimate accordingly
- Otherwise, it is within the error, so return the guess for
b*
Pros and Cons
- Strengths of each approach:
- Solution 1 is quicker to calculate
- Solution 2 has a provable error bound
- Weaknesses of each approach:
- Solution 1 has a relatively loose error bound
- Solution 2 is subject to floating-point overflow for large values of
d