Path finding involves finding a path from A to B. Typically we want the path to have certain properties,
such as being the shortest or to avoid going through certain obstacles. As the main aim is to think
about path finding, we focus on the common task of finding shortest paths from A to B - shortest here
means the path that has less total costs (more on this later, but given if we can travel at a constant
speed over all parts of the map, then this equates to a path that is of least distance). The path is
typically on a map (e.g., game) or a surface (e.g., robot).
Consider the map below (see Figure 1a), where we want to find a shortest path from origin point
A to destination point B. There are obstacles and impassable locations (e.g., consider them walls in a
maze, or a building one cannot enter in a game etc) that we cannot traverse (these are the block areas
in the figure). If we use Euclidean distance as the cost (so the further one travels, the more costly),
then the orange path, labelled (2), in Figure 1b is the shortest one1
. The other two are possible paths but not the shortest.
To find (shortest) paths, we need to represent this map on a computer. There are several approaches
to do so, which we will describe in the following subsection.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1Project 1The first programming project involves writing a program that parses, using recursive descent, a GUIdefinition language defined in an input