AI Algorithms for Gaming

AI Algorithms for Gaming

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 05m | 284 MB

In 1997, an IBM computer named Deep Blue beat Gerry Kasparov, a world chess champion, after a six-game match. While AI technology has grown in exciting, and often revolutionary, ways since Deep Blue’s victory at the chessboard in the late 90s, many of the techniques it implemented are still relevant today. In this course, explore some of these techniques as you learn how to leverage key AI algorithms to create two-player, turn-based games that are challenging enough to keep players guessing. Instructor Eduardo Corpeño covers using the minimax algorithm for decision-making, the iterative deepening algorithm for making the best possible decision by a deadline, and alpha-beta pruning to improve the running time, among other clever approaches. Plus, he gives you a chance to try out these techniques yourself as he steps through the development of a cat trap game using Python.

Table of Contents

1 Playing against a computer is only fun when it’s challenging
2 What you should know
3 Some history as motivation
4 Different types of games
5 Tree-based decision-making
6 Time complexity of brute force approaches
7 Time complexity of chess
8 The cat trap game
9 The Python setting for the cat trap
10 Code example A random cat
11 Minimax overview
12 Minimax example
13 The minimax algorithm
14 A word on complexity
15 Code example A perfect cat in a small world
16 Alpha-beta pruning
17 The alpha-beta search algorithm
18 Code example A pruning cat
19 Depth-limited search
20 Writing good evaluation functions
21 Is alpha-beta pruning still relevant
22 Challenge Write your own evaluation function
23 Challenge solution
24 Code example A depth-limited cat
25 The iterative deepening technique
26 Is iterative deepening a waste of time
27 Code example An iteratively deepening cat
28 Is iterative deepening really that good
29 Is alpha-beta pruning really that good
30 The negamax algorithm
31 Transposition tables
32 Monte Carlo evaluation functions
33 Next steps