Computational methods
This page describes computational methods which can be used to solve problems.
-
Backtracking
-
Backtracking is an algorithm (usually recursive) that methodically checks every path and builds a solution based on the correct paths.
-
If an invalid path is found, the algorithm backtracks to the previous stage and visits an alternate path.
-
An example of backtracking is the depth-first search algorithm used for searching binary trees.
-
Data mining
-
Data mining is a technique to spot patterns and correlation in large sets of data.
-
By spotting patterns and trends, predictions about the future can be made.
-
Heuristics
-
Heuristics are educated guesses used when it is unfeasible to compute all eventualities.
-
By using an educated guess,
the problem can be solved with a "good enough" result, although it is not 100% accurate.
-
Heuristics are used in the A* algorithm. An estimate for the distance to each node is given.
This speeds up the process of finding a fast route to the end point.
-
Performance modelling
-
Performance modeling involves testing a program using mathematical models with different operating systems.
-
This method is used to test safety-critical computer systems, for example, programs used to fly planes.
Performance modelling can be used to test the capabilities of a system without the risks involved with real world testing.
-
Pipelining
-
Pipelining is a process used to develop projects.
The program is split into modules and which are developed in parallel with separate teams.
-
Typically, the output of one process becomes the input of another process, similar to a production line.
-
Visualisation
-
Visualisation is the presentation of data in a way which is easier to understand
-
Examples are graphs, trees, charts, tables and matrices.