Vous êtes sur la page 1sur 2

Report 1 Searching algorithms

In this report I will discuss path finding algorithms, to start an algorithm is a


procedure of solving a problem, the path finding algorithms allow a computer to
find the shortest path to obtain something this can be used in a game or in real
world software. I will be talking about the A* and Dijkstras path finding
algorithm, A* is the algorithm that will be implemented into my virtual robot.
These algorithms is a method of finding out the shortest path to get to
somewhere so in my game, both the A* and Dijkstras algorithm to find the
shortest path work in near enough the same way in the fact of them both have
heuristic, deleting nodes after they are done with them and creating a graph to
visualise the path.

The A* algorithm is also known as a graph search, it consists of nodes and edges.
The nodes are connected together by the edges. There are also different types of
graphs, the first is an undirected graph, this graph is when it has edges that go
in both directions such as C->B, B->C. The next type of graph is a directed
graph, this is when the edges can go in one direction but not the other. The last
variant of graph is multigraph, this is when you have multiple edges between the
nodes, for example is we take node B and it is connected to C and D this makes
the graph multigraph.
A heuristic is like an algorithm however it isnt one; the heuristic is a possible
solution to solve a problem for which there is no algorithm. This is helpful to cut
down on searching; this is used to work out at each node how far you are away
from the end goal.
On top of the heuristic variable, we need to work out the cost at each node, this
when each node will have a cost such as 1, they will eventually add up the total
cost of how far you have come and it took to reach the end goal.
To understand the algorithm you can think of it using two lists, an open list and a
closed list. An open list containing the cells yet to be explored and a closed list
containing the cells that have already been explored. So this means when
starting the game we start with the starting cell in the open list and nothing in
the close cell. A simple formula can be used for open and closed lists which is:
f=g+h
Where G is the sum of all the total cost it took to reach the goal, H is the
heuristic function and F is the sum of them. In conclusion the A* algorithm allows
the computer to find the shortest path, in my game this will be implemented by
the algorithm finding the shortest path across the map while the player attempts
to block them or kill the mobs that spawn trying to reach the end goal.

http://www.laurentluce.com/posts/solving-mazes-using-python-simple-recursivity-and-a-search/
http://www.redblobgames.com/pathfinding/a-star/introduction.html
http://www.redblobgames.com/pathfinding/grids/graphs.html
http://heyes-jones.com/astar.php

Vous aimerez peut-être aussi