cmput 396   topics in cs: games, puzzles, algorithms

topics   notes   about   faq   code   asn   lec   homework  
announcements

topics

lecture notes by Sarah Hoven

about

  • intro to alg'ms/theory behind computer programs that solve puzzles (mazes, peg solitaire, etc.) or play games (chess, Go, Hex, etc.)

  • aimed at general science students, open to anyone

  • prereq: any CMPUT 2xx course

  • 396 is the first of the two-course stream 396-496 (but not a 496 prereq)

  • 496 starts winter 2017, will cover many of the ideas behind AlphaGo

FAQ

  • are there labs or seminars?     no

  • is knowing how to code a prerequisite?     no, but you will learn

  • what will the quizzes and final be like?     long answer, short answer, fill in the blank, possibly multiple choice

  • course resources?     these webnotes

  • evaluation ?     assignments, quizzes, final, cutoffs 90 85 … 40 for A+ A ... D.

  • calendar description?     (3-0-0) CMPUT 396: Topics in CS. For a general audience, an introduction to algorithmic problem solving for puzzles such as Rubik's cube or the sliding-tile puzzle, and games such as chess, Hex, Go, backgammon.

code

assignments

lectures

  • 24 alphago

  • 23 alphago

  • 22 asn5 program demos

  • 21 mcts

  • 20 mcts

  • 19 solving go

  • 18 quiz (class will start 08:20)

  • 17 quiz review, hexnotes (part2)

  • 16 solving go (tromp's 2x2 code, 2x2 proof tree), hex knowledge (hexnotes part 1, inferior cells, virtual connections)

  • 15 hex game   intro talk: no draw, 1pw, nx(n+1) short 2pw, hard

  • 14 quiz

  • 13 nim formula, checkers, hex

  • 12 nim game, memoization

  • 11 negamax, search space dag

  • 10 solving tic-tac-toe with alpha-beta negamax

  • 9 minimax, alpha-beta

  • 8 A*, sliding tile puzzle

  • 7 quiz

  • 6 sliding tile puzzle, beyond bfs: Dijkstra, A*

  • 5 maze traversal review, sliding tile puzzle, exhaustive search via bfs

  • 4 prologue review, maze traversal: walk, bfs, dfs, rmaze.py, maze.py

  • 3 go: rules, learn

  • 2 prologue

  • 1 eclass course outline, topics, prologue

homework so far