home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!wupost!uwm.edu!psuvax1!rutgers!igor.rutgers.edu!paul.rutgers.edu!dcohen
- From: dcohen@paul.rutgers.edu (Dawn Myfanwy Cohen)
- Newsgroups: comp.ai
- Subject: Re: Admissible Heuristic help
- Message-ID: <Dec.28.21.05.52.1992.26957@paul.rutgers.edu>
- Date: 29 Dec 92 02:05:52 GMT
- References: <1992Dec28.124626.23201@cs.wayne.edu>
- Distribution: na
- Organization: Rutgers Univ., New Brunswick, N.J.
- Lines: 56
-
- (Jason Leigh) writes:
-
- > If any one can give me a definition, I'd really appreciate it, i.e. what
- > does and does not make a heuristic admissible. And if you know of a book
- > where I can find this in, I'd like to know too.
-
- see Nilsson, Principles of Artificial Intelligence, 1980, p.76.
-
- "Let us say that a search algorithm is admissible if, for any graph,
- it always terminates in an optimal path from s to a goal node whenever
- a path from s to a goal node exists."
-
- Now, I think that what you probably have in mind, given that you are
- talking about "heuristic", is the A* algorithm, which is a variant on
- algorithm A...back up a couple of pages from the above quote.
-
- Algorithm A is a way to search a graph. It uses a notion of
- evaluation functions. You are trying to reach a goal node, x, from a
- current node, n, having paid a certain price to get to n, from start
- node s. You want to minimize the total cost of getting from s to x.
- That optimum total cost is given by
- f*(n) = g*(n) + h*(n)
- where g*(n) is the cost of getting from s to n and h*(n) is the cost
- of getting from n to any goal.
-
- Now, in general, you have got a handle on g*(n): you know how much it
- has already cost you to get from s to n, given that you have already
- searched from s to n. The hard part is figuring out what the optimal
- cost of a path from n to any goal node, given that you don't yet know
- where a goal node is in the graph.
-
- This is where heuristics come into the picture. You can replace h*(n)
- with your favorite estimate (heuristic) h(n) for h*(n). Now,
- depending on how close your estimate of h(n) is to h*(n), the more
- accurate will be your estimate of the total cost of going from s to x
- through n. If your estimate of the cost is accurate, then you can
- always find an optimal path exactly. If your estimate of the cost is
- almost accurate, you can probably find an optimal path exactly (or an
- almost optimal path).
-
- However, if you use an admissible heuristic, then, even if the
- estimate is not close, you are still guaranteed to find an optimal
- path (possibly by spending a lot of search time in identifying the
- path.) An admissible heuristic is one that NEVER OVERESTIMATES the
- cost of going from n to a goal node. I.e. h(n) <= h*(n) for every n
- in the graph. You can see Nilsson for a proof.
-
- --Dawn
- --
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Good Morning!
- --Dawn
-
- Send fan mail to:
- uucp: {ames,bosgd,harvard,moss}!rutgers!paul.rutgers.edu!dcohen
- arpa: dcohen@paul.rutgers.edu
-