A* algorithm is a feasibility and quickly search method for path finding problems.

Here is the 8-Pizzle example for describe the algorithm.

In computer science, A* (pronounced "A star") is a best-first, graph search algorithm that finds the least-cost path from a given initial node to one goal node (out of one or more possible goals).

It uses a distance-plus-cost heuristic function (usually denoted f(x)) to determine the order in which the search visits nodes in the tree. The distance-plus-cost heuristic is a sum of two functions: the path-cost function (usually denoted g(x), which may or may not be a heuristic) and an admissible "heuristic estimate" of the distance to the goal (usually denoted h(x)). The path-cost function g(x) is the cost from the starting node to the current node.

Since the h(x) part of the f(x) function must be an admissible heuristic, it must not overestimate the distance to the goal. Thus for an application like routing, h(x) might represent the straight-line distance to the goal, since that is physically the smallest possible distance between any two points (or nodes for that matter).

The algorithm was first described in 1968 by Peter Hart, Nils Nilsson, and Bertram Raphael. In their paper, it was called algorithm A. Since using this algorithm yields optimal behavior for a given heuristic, it has been called A*.

To get more detail information,you may checkout the Wikipedia.

2 意見:

    On 2010年1月8日 凌晨2:11 匿名 提到...

    給你一個鼓勵.................................................

     
    On 2010年11月12日 上午9:46 匿名 提到...

    Great article Thank

    you so much!

     

Blogger Templates by Blog Forum