1
$\begingroup$

For search algorithms with heuristic functions, performance of heuristic functions are measured by effective branching factor ${b^*}$ which involves total nodes expanded ${N}$ and depth of the solution ${d}$. I'm not able to find out how different values of ${d}$ affect the performance keeping same ${N}$. Put another way, why not use just the ${N}$ as the performance measure instead of ${b^*}$?

$\endgroup$
1
$\begingroup$

As you found $N$ is the number of nodes that are expanded. The cost of expansion of each node is equal to the number of children of that node. Hence, we use $b^*$ for each node. In other words, the total number of nodes that are involved in the expansion process is $N \times b^*$.

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ @ OmG - Why not ${N}$ since you agreed that the cost solely depends on ${N}$? $\endgroup$ – KGhatak Nov 24 '19 at 17:03
  • $\begingroup$ @KGhatak because the total number of expanded node is $N \times b^*$. $\endgroup$ – OmG Nov 24 '19 at 17:27
  • 1
    $\begingroup$ @ OmG - Not sure if this is the right understanding. Can you provide some reference for it! Just think, we calculated expected ONLY when we don't know for sure. If we know actual N, there is no need to estimate/guess (aka Expected value of) N. What say! $\endgroup$ – KGhatak Nov 25 '19 at 4:36
  • $\begingroup$ @KGhatak Unfortunately I don't know which part is confusing for you. In the search, we expand $N$ nodes, and each node has $b^*$ children at most. Hence, the complexity is related to $N$ and $b^*$. Now, suppose we do not apply $b^*$ in the complexity, and another algorithm try to search and expand $N$ nodes to find the solution, but the branching factor of the current algorithm would be $2^{b^*}$! Which of them will be a better algorithm in terms of complexity? $\endgroup$ – OmG Nov 25 '19 at 10:22
  • $\begingroup$ @ OmG - Let me put it in a different way. Two algorithms, say 1 and 2, try to solve a problem. Their respective values are ${N_1}, {b_1^*}, {N_2}$, and ${b_2^*}$ such that ${N_1b_1^*}={N_2b_2^*}$. Which algorithm is efficient given ${N_1>N_2}$. Would you pls explain! $\endgroup$ – KGhatak Nov 25 '19 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.