Talk:A* search algorithm: Difference between revisions

From Rosetta Code
Content added Content deleted
m (→‎moving into a barrier position: added another question.)
m (→‎moving into a barrier position: added comment about A* evaluating every possible move (path).)
Line 14: Line 14:


:: So if a "move into" a barrier is never shown (because there is always a lower cost solution), why have a cost (for moving into a barrier) at all?   -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 18:48, 29 January 2017 (UTC)
:: So if a "move into" a barrier is never shown (because there is always a lower cost solution), why have a cost (for moving into a barrier) at all?   -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 18:48, 29 January 2017 (UTC)

:: Also (above), you mentioned that: &nbsp; ''A* doesn't evaluate every possible move''. <br><br>However, in the Wikipedia article (link), it states: <br><br>''A* is an informed search algorithm, or a best-first search, meaning that <u>it solves problems by searching among all possible paths to the solution (goal)</u> for the one that incurs the smallest cost (least distance travelled'' (sic), ''shortest time, etc.), and among these paths it first considers the ones that appear to lead most quickly to the solution.'' &nbsp; ... &nbsp; &nbsp; (underscoring and italics added by me). &nbsp; -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 18:59, 29 January 2017 (UTC)


== grid orientation ==
== grid orientation ==

Revision as of 19:01, 29 January 2017

moving into a barrier position

How does a path   move into   a barrier position?

I see that none of the programming examples show a path (so far) that "moves into" a barrier,
else we'd be seeing a total cost for a path that exceeds   100.

Does there need to be a cost when "moving into" a barrier, since no path has (apparently) done that?

How would one show a path that   moves into   a barrier?   -- Gerard Schildberger (talk) 16:42, 29 January 2017 (UTC)

While A* does not evaluate every possible move, it does internally check the cost of moving into a barrier square. For this reason, the cost of moving into a barrier square is required. However, there is always a lower cost alternative while still moving in the correct general direction (according to the heuristic), it should never actually be part of the maze solution.
As you pointed out, the method for showing a path that moves into a barrier is left undefined. However, it should not be part of the a* solution so any method would be fine.--TimSC (talk) 16:58, 29 January 2017 (UTC)
So if a "move into" a barrier is never shown (because there is always a lower cost solution), why have a cost (for moving into a barrier) at all?   -- Gerard Schildberger (talk) 18:48, 29 January 2017 (UTC)
Also (above), you mentioned that:   A* doesn't evaluate every possible move.

However, in the Wikipedia article (link), it states:

A* is an informed search algorithm, or a best-first search, meaning that it solves problems by searching among all possible paths to the solution (goal) for the one that incurs the smallest cost (least distance travelled (sic), shortest time, etc.), and among these paths it first considers the ones that appear to lead most quickly to the solution.   ...     (underscoring and italics added by me).   -- Gerard Schildberger (talk) 18:59, 29 January 2017 (UTC)

grid orientation

It would seem that some programming examples are using a non-standard orientation of the
grid display,   with the   (0,0)   origin point in the   top-left   of the display area,   with positive
values for   X   (columns)   going downward,   instead of   going upward.

For me, it doesn't make me no never-mind no-how, but it took a wee bit of fixin' for my
programming example   (not yet posted)   to match the existing displayed grids.   -- Gerard Schildberger (talk) 16:42, 29 January 2017 (UTC)