Algorithms
Algorithms are step-by-step processes that generate a solution to an AI problem.We will look at algorithms that generate routes through a game level to reach a goal, algorithms that work out which direction to move in to intercept a fleeing enemy, algorithms that learn what the player will do next, and many others.
Data structures are the other side of the coin to algorithms. They hold data in such a way that an algorithm can rapidly manipulate it to reach a solution. Often, data structures need to be particularly tuned for one particular algorithm, and their execution speeds are intrinsically linked.
You will need to know a set of elements to implement and tune an algorithm, and these are treated step by step in the text:
- The problem that the algorithm tries to solve
- A general description of how the solution works, including diagrams where they are needed
- A pseudo-code presentation of the algorithm
- An indication of the data structures required to support the algorithm, including pseudocode, where required
- Particular implementation nodes
- Analysis of the algorithm’s performance: its execution speed, memory footprint, and scalability
- Weaknesses in the approach
Some of the key algorithms in game AI have literally hundreds of variations. This article can’t hope to catalog and describe them all. When a key algorithm is described, we will often give a quick survey of the major variations in briefer terms.
0 comments :
Post a Comment