0% found this document useful (0 votes)
13 views1 page

Mine

The A* algorithm is used to find the shortest path between a start and goal node. It maintains open and closed sets of nodes, calculates the cost (g_score) of reaching each node and estimated cost (f_score) to the goal. It iteratively explores the lowest f_score node until the goal is found, returning the reconstructed path. If the goal cannot be reached, it returns failure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views1 page

Mine

The A* algorithm is used to find the shortest path between a start and goal node. It maintains open and closed sets of nodes, calculates the cost (g_score) of reaching each node and estimated cost (f_score) to the goal. It iteratively explores the lowest f_score node until the goal is found, returning the reconstructed path. If the goal cannot be reached, it returns failure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

function A*(start,goal)

closedset := the empty set // The set of nodes already evaluated.


openset := {start} // The set of tentative nodes to be evaluated,
initially containing the start node
came_from := the empty map // The map of navigated nodes.

g_score[start] := 0 // Cost from start along best known path.
// Estimated total cost from start to goal through y.
f_score[start] := g_score[start] + heuristic_cost_estimate(start,
goal)

while openset is not empty
current := the node in openset having the lowest f_score[] value
if current = goal
return reconstruct_path(came_from, goal)

remove current from openset
add current to closedset
for each neighbor in neighbor_nodes(current)
if neighbor in closedset
continue
tentative_g_score := g_score[current] +
dist_between(current,neighbor)

if neighbor not in openset or tentative_g_score <
g_score[neighbor]
came_from[neighbor] := current
g_score[neighbor] := tentative_g_score
f_score[neighbor] := g_score[neighbor] +
heuristic_cost_estimate(neighbor, goal)
if neighbor not in openset
add neighbor to openset

return failure

function reconstruct_path(came_from, current_node)
if current_node in came_from
p := reconstruct_path(came_from, came_from[current_node])
return (p + current_node)
else
return current_node

You might also like