|
SMA * or Simplified Memory Bounded A * is a shortest path algorithm based on the A * algorithm. The main advantage of SMA * is that it uses a bounded memory, while the A * algorithm might need exponential memory. All other characteristics of SMA * are inherited from A *. == Process == Like A *, it expands the most promising branches according to the heuristic. What sets SMA * apart is that it prunes nodes whose expansion has revealed less promising than expected. The approach allows the algorithm to explore branches and backtrack to explore other branches. Expansion and pruning of nodes is driven by keeping two values of for every node. Node stores a value which estimates the cost of reaching the goal by taking a path through that node. The lower the value, the higher the priority. As in A * this value is initialized to , but will then be updated to reflect changes to this estimate when its children are expanded. A fully expanded node will have an value at least as high as that of its successors. In addition, the node stores the value of the best forgotten successor. This value is restored if the forgotten successor is revealed to be the most promising successor. Starting with the first node, it maintains OPEN, ordered lexicographically by and depth. When choosing a node to expand, it chooses the best according to that order. When selecting a node to prune, it chooses the worst. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「SMA*」の詳細全文を読む スポンサード リンク
|