[ By Archive-name | By Author | By Category | By Newsgroup ]
[ Home | Latest Updates | Archive Stats | Search | Usenet References | Help ]

    Search the FAQ Archives

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Single Page

Top Document: Artificial Intelligence FAQ:1/6 General Questions & Answers [Monthly posting]
Previous Document: [1-13] Glossary of AI terms.
Next Document: [1-15] I'm a student considering further study AI. What information is there for me?


[1-14] In A*, why does the heuristic have to always underestimate?



Recall that in A*, a number is assigned to each node, its f-cost.
f-cost is defined as f(n)=g(n)+h(n), where g(n) is the cost of
traveling to node n, and h(n) is the heuristic guess at traveling from
node n to the goal.  A* expands nodes based on minimal f-cost (i.e. it
looks at all the nodes it knows about but hasn't yet examined closely,
and picks the one with the smallest f(n)).  Let's look at the
following situation:

                                 +-+   
                                 |n|   
                                 +-+
       	       	       	       	/   \
			      +-+   +-+
                              |o|   |p|  
                              +-+   +-+ 
       	       	       	     / 	       \
			   +-+ 	       +-+ 	
      			   |g|---------|q|
			   +-+         +-+

n is an already expanded node, and A* is trying to decide if it wants
to expand o or p.  If g is the goal node, then o is on the shorter
path, so we want A* to pick o.  Lets assume that g(n) = 5 and the cost
between nodes is always 1.  Therefore g(o)=6 and g(p)=6.  Now lets
assume that our heuristic sometimes overestimates, so that h(o)=5,
h(p)=3 and h(q)=2. 

In this case, f(o)=g(o)+h(o) = 6+5=11
	      f(p)=g(p)+h(p) = 6+3=9,
so A* would expand p next, discovering node q.  Then it decides which
node to expand, f(o)=g(o)+h(o) = 6+5=11
		f(q)=g(q)+h(q) = 7+2=9,
so A* would expand q next, discovering g.  Then it decides which node
to expand, f(o)=g(o)+h(o) = 6+5=11
	   f(g)=g(g)+h(g) = 8+0=8,
So A* would discover node g, notice that it is a goal and return the
path n->p->q->g, which is _not_ the shortest path.

The intuition here is that the overestimate of h(o) led A* to look at
another path where the overestimate was less bad.



Top Document: Artificial Intelligence FAQ:1/6 General Questions & Answers [Monthly posting]
Previous Document: [1-13] Glossary of AI terms.
Next Document: [1-15] I'm a student considering further study AI. What information is there for me?

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Single Page


[ By Archive-name | By Author | By Category | By Newsgroup ]
[ Home | Latest Updates | Archive Stats | Search | Usenet References | Help ]


Send corrections/additions to the FAQ Maintainer:
crabbe@usna.edu, adubey@coli.uni-sb.de

Last Update July 09 2008 @ 00:12 AM

© 2008 FAQS.ORG. All rights reserved.