Reading material referenced:

The course textbook "Programming game AI by example" [1], "AI techniques for game programming" [2], scans on TRACS, course notes,

For the final exam the students should be able to:

- Know the pseudocode for DFS and BFS algorithms (scan "BFS and DFS by Peled")

- Know the psuedocode for Dijkstra's shortest-path algorithm (scan "Dijkstra from CLR")

- Be able to apply Dijkstra's algorithm to a given graph (based on the example in textbook [1], pp.233-236)

- Know the difference between A* and Dijkstra's algorithm ([1] pp. 241-243)

- Know relative advantages/weaknesses of DFS/BFS vs Dijkstra vs A*

- Know the principle of operation (algorithm) of the genetic algorithm approach ([2]: p. 99)

- Know the structure of a neural network, how it can be useful as a function approximator ([2]: pp. 238-252)

- Know how a genetic algorithm can be applied to updating the weights of a neural network ([2]: pp. 256-257)

- Know how a backpropagation algorithm can be applied to updating the weights of a neural network ([2]: pp. 296-301)