Head (vessel): Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
 
en>Glane23
Copyedit (minor)
Line 1: Line 1:
Andera is what you can call her but she never truly favored that title. I've usually cherished living in Mississippi. My working day occupation is an invoicing officer but I've currently utilized for an additional 1. As a woman what she really likes is style and she's been doing it for quite a whilst.<br><br>Feel free to surf to my web-site [http://kjhkkb.net/xe/notice/374835 psychic phone]
In the study of [[shortest path problem|path-finding problems]] in [[artificial intelligence]], a '''consistent''' (or '''monotone''') [[heuristic function]] is a function that estimates the distance of a given state to a goal state, and that is always at most equal to the estimated distance from any neighboring vertex plus the step cost of reaching that neighbor.
 
Formally, for every node ''N'' and every [[Successor_(graph_theory)#Direction|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:
: <math>h(N) \leq c(N,P) + h(P)</math> and
: <math>h(G) = 0.\,</math>
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 heuristic|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 <math>m</math>, the length of the best path from node to goal. By assumption, <math>h(N_m) \leq h^*(N_m)</math>, where <math>h^*(n)</math> denotes the cost of the shortest path from ''n'' to the goal. Therefore,
:<math>h(N_{m+1}) \leq c(N_{m+1}, N_m) + h(N_m) \leq c(N_{m+1}, N_m) + h^*(N_m) = h^*(N_{m+1})</math>,
making it admissible. (<math>N_{m+1}</math> is any node whose best path to the goal, of length m+1, goes through some immediate child <math>N_{m}</math> whose best path to the goal is of length m.)
 
However, an admissible heuristic <math>h</math>, can be made into a consistent heuristic, <math>h'</math>, through the following adjustment:
: <math> h'(P) \gets \max(h(P), h(N) - c(N,P)) </math>
(Known as the pathmax<ref name="Russell 1995">{{cite book
| first = Stuart
| last = Russell
| coauthors = Peter Norvig
| title = Artificial intelligence: a modern approach
| publisher = Prentice-Hall
| year = 1995
| isbn = 0-13-103805-2
}}</ref> equation.)
 
==Consequences of monotonicity==
[[File:Heuristics Comparison.png|thumb|250px|Comparison of an admissible but inconsistent and a consistent heuristic evaluation function.]]
Consistent heuristics are called monotone because the estimated final cost of a partial solution, <math>f(N_j)=g(N_j)+h(N_j)</math> is monotonically non-decreasing along the best path to the goal, where <math>g(N_j)=\sum_{i=2}^j c(N_{i-1},N_i)</math> is the cost of the best path from start node <math>N_1</math> to <math>N_j</math>.  It's necessary and sufficient for a heuristic to obey the [[triangle inequality]] in order to be consistent.<ref>{{cite book
| first = Judea
| last = Pearl
| title = Heuristics: Intelligent Search Strategies for Computer Problem Solving
| publisher = Addison-Wesley
| year = 1984
| isbn = 0-201-05594-5
}}</ref>
 
In the [[A* search algorithm]], using a consistent heuristic means that once a node is expanded, the cost by which it was reached is the lowest possible, under the same conditions that Dijkstra's algorithm requires in solving the [[shortest path problem]] (no negative cost cycles).  In fact, if the search graph is given cost <math>c'(N,P)=c(N,P)+h(P)-h(N)</math> for a consistent <math>h</math>, then A* is equivalent to best-first search on that graph using Dijkstra's algorithm.<ref name="Russell 1995"/>  In the unusual event that an admissible heuristic is not consistent, a node will need repeated expansion every time a new best (so-far) cost is achieved for it.
 
==References==
<references/>
 
[[Category:Heuristics]]

Revision as of 19:55, 1 February 2014

In the study of path-finding problems in artificial intelligence, a consistent (or monotone) heuristic function is a function that estimates the distance of a given state to a goal state, and that is always at most equal to the estimated distance from any neighboring vertex plus the step cost of reaching that neighbor.

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[1] equation.)

Consequences of monotonicity

Comparison of an admissible but inconsistent and a consistent heuristic evaluation function.

Consistent heuristics are called monotone because the estimated final cost of a partial solution, is monotonically non-decreasing along the best path to the goal, where is the cost of the best path from start node to . It's necessary and sufficient for a heuristic to obey the triangle inequality in order to be consistent.[2]

In the A* search algorithm, using a consistent heuristic means that once a node is expanded, the cost by which it was reached is the lowest possible, under the same conditions that Dijkstra's algorithm requires in solving the shortest path problem (no negative cost cycles). In fact, if the search graph is given cost for a consistent , then A* is equivalent to best-first search on that graph using Dijkstra's algorithm.[1] In the unusual event that an admissible heuristic is not consistent, a node will need repeated expansion every time a new best (so-far) cost is achieved for it.

References

  1. 1.0 1.1 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  2. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534