Basic search: In the course, we studied depth-first, breath-first, iterative deepening and bi-directional search. Discuss the properties of these methods: speed (worst time complexity), memory (worst space complexity) and completeness. Which technique would you choose, possibly depending on characteristics of the problem. Heuristic search: In the course, we studied hill climbing, beam search, hill climbing 2 and greedy search. Briefly explain these methods. What are their properties in terms of speed (worst time complexity), memory (worst space complexity) and completeness. A* algorithm : Discuss the different aspects involved in the algorithm A*, more precisely: Explain the uniform cost technique, What is wrong with uniform cost? Explain the branch and bound idea, How can you integrate this idea in uniform cost? How to integrate heuristics? Why does this remain optimal for underestimating heuristics? What is redundant path elimination? How is this integrated in A*? (4 or 5 lines and sometimes a drawing or illustration and normally sufficient for each ot these points) Properties of A*: When is an A*-algorithm "more informed" than another A*-algorithm? Illustrate the concept with an example. Which result holds when an algorithm is more informed than another algorithm? What is the practical relevance of that? What is the monotonicity restriction? Illustrate with an example. Which result holds under monotonicity? What is the practical relevance of this result? How can we ensure monotonicity for any A*-algorithm? Advanced search techniques: IDA* What problem with A* is the motivation for introducing IDA* and SMA*? Explain how IDA* works. How does the f-bound change through the different iterations? Illustrate with some example (of your choice). Discuss the properties of IDA* (memory, speed and optimality)? Advanced search techniques: SMA* What problem with A* is the motivation for introducing IDA* and SMA*? Explain the different new steps that SMA* adds to A*: what happens when the memory is full, sequential generation of children, giving up too long paths, propagation of f-values. When does it stop? What are the properties of SMA* (time, memory and optionality)? Mini-Max Discuss the Mini-Max approache to game playing: Explain how the basic Mini-max search works. Explain the extension with Alpha-Beta pruning: - how do we get alpha-bata values? - how are these values used? - illustrate What are deep cut-offs? Illustrate. What is a perfectly ordered tree? What is known about the gain of alpha-beta (compared to mini-max)? What is the horison effect and how can you solve it? Why is iterative deepening useful in this context?