Heuristics

Tiles

Click on tiles to change them.

Engine

Result
0 iterations
0 total cost

# labs.boramalper.org/a-star

Visualisation of A* pathfinding algorithm.

## What?

This application finds the optimum (i.e. the cheapest) path from green tile to the red tile, where vertices are respresented as tiles, using A* pathfinding algorithm with various user-selectable heuristics.

Explored tiles are colored green and the frontier is colored blue, both transparently.

## How?

The cost of moving from one tile to another (i.e. the weight of the edge) is found by calculating the arithmetic mean of the weights of the two tile; if movement is diagonal, the average is multiplied with $\sqrt{2}$. The blocked tiles (colored with black) are impossible to pass through. Choose a tile type and use your mouse to change tile type.

Click on Start button to initialize the engine; you cannot alter the tiles afterwards until you Stop the engine. You can click on Finish button to see the result immediately, or move a few steps forward to observe the execution of the algorithm.

## Heuristics

To be admissible, all of the heuristics assumes that all tiles have the default type.

• Chebyshev (Diagonal)

Chebyshev, also known as diagonal, distance is a metric defined on a vector space where the distance between two vectors is the greatest of their differences along any coordinate dimension.

https://en.wikipedia.org/wiki/Chebyshev_distance (accessed on 21-Jul-2016)

• Euclidean

Euclidean distance, also known as "Pythagorean metric", is a metric where the distance between two vectors is the square root of the sum of square of the difference of their Cartesian coordinates.

• Manhattan

Manhattan distance is a metric where the distance between two vectors is the sum of the absolute differences of their Cartesian coordinates.

https://en.wikipedia.org/wiki/Taxicab_geometry (accessed on 21-Jul-2016)

• Octile

Octile distance is a metric used to calculate the distance where diagonal movement is also possible, with the cost of moving diagonally is $\sqrt{2}$ times of moving between adjacent tiles. It is the sum of the cost of the shortest diagonal path starting from start tile until reaching the same column or row with the goal tile, and the cost of the remaining straight path.

## Notices

This application is created as a support material for the Internal Assessment of Mert Bora ALPER in mathematics as a part of International Baccalaureate Diploma Programme .

Source code of this application is deliberately obfuscated to prevent any copyright claims. If you are from IBO, please contact me at m.boraalper@uwcdilijan.org or bora@boramalper.org to get the original source code.