Machine-translated by Google. Questions are authored in English.
Top

Discussion

Why is failing early better than failing late in backtracking?

  • A.Early failures are cheaper to detect than late ones
  • B.The algorithm terminates sooner when it fails early
  • C.Early failure allows the variable ordering to be changed
  • D.A failure near the root prunes a much larger subtree

Answer: D

The subtree below a node grows exponentially with its depth, so discovering an inconsistency at depth two removes vastly more work than discovering it at depth twenty. That is the whole justification for the fail first principle. Detection cost is comparable, termination follows from finding a solution rather than a failure, and reordering happens regardless. Attacking the exponential where it is largest is the same reasoning that makes move ordering matter in game search.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.