CSCI 377: Artificial Intelligence
REED COLLEGE, FALL 2020
An introduction to the construction of software systems that emulate intelligent behavior. Topics include knowledge representation, reasoning under uncertainty, logic, planning, and algorithmic strategies for large-scale combinatorial search. Students will explore these topics with a series of implementation projects. Prerequisite: Computer Science 382.
BASIC INFO
Professor: Mark Hopkins, hopkinsm@reed.edu
Class Schedule: MWF 1215-105pm (Section 1, Performing Arts 320), MWF 135-225pm (Section 2, Performing Arts 320), MWF 310-4pm (Section 3, online at https://zoom.us/j/3344875668).
Office Hours: M 10-1130am, WF 4-5pm (all by appointment, sign up here, the Zoom meeting link is here).
Textbook: Artificial Intelligence: A Modern Approach (4th edition) by Stuart Russell and Peter Norvig. Make sure to get the newest (4th) edition!
Syllabus: downloadable here
LECTURE NOTES
- Language and Semantics (Sep 4): (pdf)
- Propositional Logic (Sep 9, 11): (pdf)
- Propositional Inference (Sep 14, 16): (pdf)
- Resolution (Sep 18, 21, 23): (pdf)
- DPLL (Sep 25, 28, 30): (pdf)
- Search Spaces (Oct 2): (pdf)
- Uninformed Search (Oct 7, 9, 12): (pdf)
- Heuristic Search (Oct 14): (pdf)
- Heuristics (Oct 16): (pdf)
- Analysis of Search (Oct 21, 23): (pdf)
- Minimax (Oct 26): (pdf)
- Expectimax (Oct 28): (pdf)
- Markov Decision Processes (Nov 6, 9, 11, 13): (pdf)
- Passive Reinforcement Learning (Nov 16): (pdf)
- Active Reinforcement Learning (Nov 18): (pdf)
- Bayesian Networks (Nov 30, Dec 2): (pdf)
- Exact Inference in Bayesian Networks (Dec 4, 7): (pdf)
LECTURE VIDEOS
- Propositional Logic (Sep 2): (video1) (video2) (video3)
- Language and Semantics (Sep 4): (video1) (video2)
- Propositional Logic, continued (Sep 9): (video4) (video5)
- Propositional Logic, continued (Sep 11): (video6)
- Propositional Inference (Sep 11): (video1)
- Propositional Inference, continued (Sep 14): (video2) (video3)
- Propositional Inference, continued (Sep 16): (video4) (video5)
- Resolution (Sep 18): (video1)
- Resolution, continued (Sep 21): (video2) (video3)
- Resolution, continued (Sep 23): (video4) (video5)
- Conversion to CNF (Sep 25): (video)
- DPLL (Sep 25): (video1)
- DPLL, continued (Sep 28): (video2) (video3)
- DPLL, continued (Sep 30): (video4) (video5)
- Search Spaces (Oct 2): (video1) (video2) (video3)
- Uninformed Search (Oct 7): (video1) (video2)
- Uninformed Search, continued (Oct 9): (video3) (video4) (video5)
- Uninformed Search, continued (Oct 12): (video6) (video7) (video8)
- Heuristic Search (Oct 14): (video1) (video2)
- Heuristic Search, continued (Oct 16): (video3)
- Heuristics (Oct 16): (video1)
- Analysis of Search (Oct 21): (video1) (video2) (video3)
- Analysis of Search (Oct 23): (video4)
- Minimax (Oct 26): (video1) (video2)
- Minimax, continued (Oct 28): (video3) (video4)
- Expectimax (Oct 28): (video1)
- Alpha Beta Pruning (Oct 30): (video1) (video2)
- Markov Decision Processes (Nov 6): (video1)
- Markov Decision Processes, continued (Nov 9): (video2) (video3) (video4)
- Markov Decision Processes, continued (Nov 11): (video5) (video6) (video7)
- Markov Decision Processes, continued (Nov 13): (video8)
- Passive Reinforcement Learning (Nov 16): (video1) (video2)
- Active Reinforcement Learning (Nov 18): (video1) (video2)
- Active Reinforcement Learning, continued (Nov 20): (video3)
- Bayesian Networks (Nov 30): (video1) (video2) (video3)
- Bayesian Networks, continued (Dec 2): (video4) (video5) (video6)
- Bayesian Networks, continued (Dec 4): (video7) (video8)
- Bayesian Networks, continued (Dec 7): (video9) (video10) (video11)
PROJECT LINKS
Project 0 (Sudoku):
- Part 1 (due Wednesday, Sep. 9, start of class, through Gradescope): (pdf) (solution)
- Part 2 (due Monday, Sep. 14 at noon, through Gradescope): (pdf) (solution)
- Part 3 (due Wednesday, Sep. 16 at noon, through Github Classroom): (github classroom) (solution)
- Part 4 (due Friday, Sep. 18 at noon, through Github Classroom): (github classroom) (solution)
- Part 5 (due Monday, Sep. 21 at noon, through Github Classroom): (github classroom) (solution)
- Part 6 (due Friday, Sep. 25 at noon, through Github Classroom): (github classroom) (solution)
- Part 7 (due Monday, Sep. 28 at noon, through Github Classroom): (github classroom)
- Part 8 (due Wednesday, Sep. 30 at noon, through Github Classroom): (github classroom) (solution)
- Part 9 (due Friday, Oct. 2 at noon, through Github Classroom): (github classroom)
- Part 10 (due Wednesday, Oct. 7 at noon, through Github Classroom): (github classroom) (solution)
Project 1: Search
Due Monday, October 19 at noon, through Github Classroom: https://classroom.github.com/a/duWdO4Tp
Project 2: Multiagent Search
- Due Wednesday, November 4 at noon, through Github Classroom: https://classroom.github.com/a/nfmA740f
Project 3: Reinforcement Learning
- Due Monday, November 30 at noon, through Github Classroom: https://classroom.github.com/a/CEbUQlcj
SCHEDULE
Aug 31: Introduction
- Reading (optional): AIMA (Artificial Intelligence: A Modern Approach) Ch. 1
Sep 2: Truth Tables
- Reading: AIMA (Artificial Intelligence: A Modern Approach) 7.1 and 7.2
- Reading (optional): AIMA Chapters 1 and 2.
- Homework (due Saturday, Sep. 5 anytime, through Gradescope): (pdf)
Sep 4: Language and Meaning
Sep 9: Propositional Logic
- Reading: AIMA 7.3 and 7.4
- Homework (due Friday, Sep. 11 at noon, through Gradescope): (pdf) (solution)
Sep 11: Propositional Inference
- Reading: None (but catch up on the reading if you haven’t yet read up to 7.4)
- Homework (due Monday, Sep. 14 at noon, through Gradescope): (pdf) (solution)
Sep 14: Propositional Inference
- Reading: AIMA 7.5
- Homework (due Wednesday, Sep. 16 at noon, through Github Classroom): https://classroom.github.com/a/mwsc-ovW
- If you haven’t used Github Classroom before, the following guide may help: https://github.com/Mark-Hopkins-at-Reed/csci-378/blob/master/admin/github.md
Sep 16: Propositional Inference
- Reading: No additional reading. Review previous AIMA and/or lecture notes if desired.
- Homework (due Friday, Sep. 18 at noon, through Github Classroom): https://classroom.github.com/a/CNutnM6X
Sep 18: Resolution
- Reading: Review AIMA 7.5.
- Homework (due Monday, Sep. 21 at noon, through Github Classroom): https://classroom.github.com/a/LTjC4hf3
Sep 21: Soundness of Resolution
- Reading: None
- Homework: None, though Sudoku 6 is due Friday.
Sep 23: Completeness of Resolution
- Reading: None
- Homework (due Friday, Sep. 25 at noon, through Github Classroom): https://classroom.github.com/a/TxMxLnYs
Sep 25: DPLL
- Reading: AIMA 7.6
- Homework (due Monday, Sep. 28 at noon, through Github Classroom): https://classroom.github.com/a/OkvIlc9w
Sep 28: DPLL
- Reading: Review AIMA 7.6, if you haven’t already.
- Homework (due Wednesday, Sep. 30 at noon, through Github Classroom): https://classroom.github.com/a/NU3yd8U8
Sep 30: DPLL
- Reading: Review lecture notes on DPLL.
- Homework (due Friday, Oct 2 at noon, through Github Classroom): https://classroom.github.com/a/gHepY4ve
Oct 2: Search Spaces
- Reading: AIMA 3.1
- Homework: None
Oct 5: Exam 1 (Logic)
Oct 7: Uninformed Search
- Reading: None
- Homework: None
Oct 9: Uninformed Search
- Reading: AIMA 3.2-3.4, and review lecture notes on Search Spaces.
- Homework: None
Oct 12: Uninformed Search
Oct 14: Heuristic Search
- Reading: AIMA 3.5, and review lecture notes on Uninformed Search.
- Homework (due Friday, Oct. 16 at noon, through Gradescope): (pdf) (solution)
Oct 16: Heuristics
- Reading: AIMA 3.6.
- Homework: Pacman Project 1 is due on Monday at noon.
Oct 19: Pacman 1 Review
Oct 21: Analysis of Search
- Reading: No additional reading, but review AIMA 3.4-3.6.
- Homework (due Friday, Oct. 23 at noon, through Gradescope): (pdf) (solution)
Oct 23: Iterative Deepening/Multiplayer Games
- Reading: AIMA 5.1
- Homework: None
Oct 26: Minimax
Oct 28: Minimax/Expectimax
- Reading: AIMA 5.4, 5.5
- Homework (due Wednesday, Oct 28 at noon, through Gradescope): (pdf) (solution)
Oct 30: Alpha Beta Pruning
- Reading: AIMA 5.3
- Homework: Study for Monday’s exam!
Nov 2: Exam 2 (Search)
Nov 4: Pacman 2 Review
Nov 6: Markov Decision Processes
- Reading: None
- Homework (due Monday, Nov 9 at noon, through Gradescope): Available via Gradescope. The lecture notes on Markov Decision Processes (slides 1 through 4) should be sufficient reading material for this homework. (solution)
Nov 9: Markov Decision Processes
- Reading: None
- Homework: None
Nov 11: Value Iteration
- Reading: AIMA 17.1.1, 17.1.2, 17.2.1
- Homework (due Friday, Nov 13 at noon, through Gradescope): Available via Gradescope.
Nov 13: Convergence of Value Iteration
- Reading: None
- Homework: None
Nov 16: Passive Reinforcement Learning
- Reading: AIMA 22.1, 22.2
- Homework: None
Nov 18: Active Reinforcement Learning
- Reading: AIMA 22.3, 22.4
- Homework: None
Nov 20: Active Reinforcement Learning
- Reading: None
- Homework: Project 3 is due on the Monday after the break!
Nov 30: Automating Probabilistic Reasoning
- Reading: AIMA 12.1-12.5
- Homework (due Wednesday, Dec 2 at noon, through Gradescope): Available via Gradescope.
Dec 2: Bayesian Networks
- Reading: AIMA 13.1-13.2
- Homework (due Friday, Dec 4 at noon, through Gradescope): Available via Gradescope.
Dec 4: Bayesian Network Inference
- Reading: AIMA 13.3
- Homework (due Monday, Dec 7 at noon, through Gradescope): Available via Gradescope.
Dec 7: Algorithmic Analysis of Variable Elimination
- Reading: Review the posted lecture notes on Variable Elimination.
- Homework: Study for Thursday’s exam!