Heuristic Functions
Oracle function
-
e(n) = g(n) + h(n)
-
n is a node in the search tree
-
g(n) is the distance from the root to the node
-
h(n)is the real distance from the node to a minimum-depth goal node
Heuristic function
-
e(n) = g(n) + h'(n)
-
h'(n) is an estimate of h(n)
- If
h'(n) is zero, how does the search behave?
Heuristic Adequancy
- An evaluation function is heuristically adequate if it
always finds a goal node at the minimum depth from the start node.
- What if
h'(n) > h(n) for some n?
- What if
h'(n) ≤ h(n) for all n? (An admissible heuristic)
- Best-first search plus an admissible heuristic is called A*
Monotonicity (or Local Admissibility)
- Let
n1 and n2 be
search nodes, such that n2 is a successor of
n1 after applying an action a.
- Let
d(n1, a, n2) be the distance
from n1 to n2 when
a is applied.
- Two properties establish monotonicity:
-
h(goal) = 0
-
h(n1) - h(n2) ≤ 1
Informedness
Given two heuristics h'(n) and h''(n), if:
- For all
n, h'(n) ≤ h''(n)
- There exists
n such that h'(n) < h''(n)
- For all
n, h''(n) ≤ h(n) (i.e., h''(n) is monotonic)
then we conclude that h''(n) is better informed than
h'(n).