Consistent Heuristic
In computer science, a consistent (or monotone) heuristic function is an estimated path cost to a goal for a search that approximates the actual path cost in an incremental way without taking any step back. Formally, for every node N and every successor P of N generated by any action a, the estimated cost of reaching the goal from N is no greater than the step cost of getting to P plus the estimated cost of reaching the goal from P. In other words:
- and
where
-
- h is the consistent heuristic function
- N is any node in the graph
- P is any descendant of N
- G is any goal node
- c(N,P) is the cost of reaching node P from N
A consistent heuristic is also admissible, i.e. it never overestimates the cost of reaching the goal (the opposite however is not always true!). This is proved by induction on, the length of the best path from node to goal. By assumption, where denotes the cost of the shortest path from n to the goal. Therefore,
- ,
making it admissible. ( is any node whose best path to the goal, of length m+1, goes through some immediate child whose best path to the goal is of length m.)
However, an admissible heuristic, can be made into a consistent heuristic, through the following adjustment:
(Known as the pathmax equation.)
Read more about Consistent Heuristic: Consequences of Monotonicity
Famous quotes containing the word consistent:
“The fact that behavior is normal, or consistent with childhood development, does not necessarily make it desirable or acceptable...Undesirable impulses do not have to be embraces as something good in order to be accepted as normal. Neither does childrens behavior that is unacceptable have to be condemned as bad, in order to bring it under control.”
—Elaine Heffner (20th century)