CSCI 373: Artificial Intelligence

WILLIAMS COLLEGE, FALL 2022

Artificial Intelligence (AI) has become part of everyday life, but what is it, and how does it work? This course introduces theories and computational techniques that serve as a foundation for the study of artificial intelligence. Potential topics include the following: problem solving by search, logic, planning, constraint satisfaction problems, reasoning under uncertainty, probabilistic graphical models, and automated learning. 

BASIC INFO

Professor: Mark Hopkins, mh24@williams.edu

Class Schedule: MWF 9-950am, Schow 30B

Office Hours (starting 12 Sept): M 110-3pm, Th 2-4pm, Su 5-7pm (all in TCL 307)

Textbook: Artificial Intelligence: A Modern Approach (4th edition) by Stuart Russell and Peter Norvig. Williams Bookstore should have it in stock. If ordering online, make sure to get the newest (4th) edition.

Syllabus: downloadable here

UPCOMING DEADLINES

  • Mon, Dec 5 at 11pm: Youdoku, Part Two (submit through Github Classroom)
  • Fri, Dec 9 at 9am: Exam 3
  • Wed, Dec 14 at 11pm: Minesweeper (submit through Github Classroom)

 

LECTURE NOTES

  1. State Spaces: (pdf)
  2. Uninformed Search: (pdf)
  3. Analysis of Search: (pdf)
  4. Minimax: (pdf)
  5. Expectimax: (pdf)
  6. Heuristic Search: (pdf)
  7. Heuristics: (pdf)
  8. Probability: (pdf)
  9. Bayesian Networks: (pdf)
  10. Exact Inference in Bayesian Networks: (pdf)
  11. Exponential Distributions (e.g. the normal distribution): (pdf)
  12. Markov Decision Processes: (pdf)
  13. Passive Reinforcement Learning: (pdf)
  14. Active Reinforcement Learning: (pdf)
  15. Language and Semantics: (pdf)
  16. Propositional Logic: (pdf)
  17. Propositional Inference: (pdf)
  18. Resolution: (pdf)
  19. DPLL: (pdf)
  20. First-Order Logic: (pdf)

 

PROJECT LINKS

  1. Wordle (due Sat, Oct 15 at noon): (get the assignment)
  2. Turbo Coding (due Wed, Nov 16 at 11pm): (get the assignment)
  3. Minesweeper (due Wed, Dec 14 at 11pm): (get the assignment)

 

ASSIGNMENT LINKS

  1. Blocks (due Mon, Sep 19 at 11pm): (assignment) (solution)
  2. 8 Out of 10 Cats Does Search (due Mon, Sep 26 at 11pm): (assignment) (solution).
  3. Pacman 1 (due Wed, Oct 5 at 11pm): (get the assignment). This assignment may be done either individually or jointly with your Project 1 partner. Important: You only need to do either Pacman 1 or Pacman 2. If you do both, then the extra credit will be applied to your final homework grade for the class (but you cannot exceed 100%). 
  4. Pacman 2 (due Wed, Oct 5 at 11pm): (get the assignment). This assignment may be done either individually or jointly with your Project 1 partner. Important: You only need to do either Pacman 1 or Pacman 2. If you do both, then the extra credit will be applied to your final homework grade for the class (but you cannot exceed 100%). 
  5. Bloodlines 1 (due Mon, Oct 24 at 11pm): (assignment) This assignment may be done either individually or jointly with your Project 2 partner. Your Project 2 partner must be different from your Project 1 partner.
  6. Bloodlines 2 (due Mon, Oct 31 at 11pm): (assignment) This assignment may be done either individually or jointly with your Project 2 partner.
  7. The Squid and the Whale (due Mon, Nov 7 at 11pm): (assignment) This assignment may be done either individually or jointly with your Project 2 partner.
  8. Youdoku, Part One (due Mon, Nov 21 at 11pm): (assignment) This assignment may be done either individually or jointly with your Project 3 partner.
  9. Youdoku, Part Two (due, Mon, Dec 5 at 11pm): (assignment) This assignment may be done either individually or jointly with your Project 3 partner. It is a double-point homework (i.e. it counts for twice the value of a regular homework). Start early and work through it methodically.

 

VIDEOS

  1. Github Classroom Walkthrough: (mp4)

 

SCHEDULE

Sep 9: Course Information Session

Sep 12: Search Spaces (slides A1) (slides A2)

Prior to lecture, please read: AIMA 3.1, 3.2

Sep 14: Uninformed Search and Breadth-First Search (slides A3) (slides A4) (slides A5)

Prior to lecture, please read: AIMA 3.3 (intro), 3.3.1-3.3.2, 3.4.1

Sep 16: Uniform-Cost Search and Depth-First Search (slides A6) (slides A7) (slides A8) (slides A9)

Prior to lecture, please read: AIMA 3.3.3, 3.4.2, 3.4.3

Sep 19: Analysis of Search and Iterative Deepening (slides A10) (slides A11) (slides A12)

Prior to lecture, please read: AIMA 3.3.4, 3.4.4, 3.4.6

Sep 21: Multiplayer Games and Minimax (slides A13) (slides A14) (slides A15)

Prior to lecture, please read: AIMA 5.1, 5.2, 5.3

Sep 23: Alpha-Beta Pruning (slides A16)

No additional reading should be necessary. We will be unpacking AIMA 5.2.3, 5.3.1, and 5.3.2.

Sep 26: Evaluation Functions and Expectimax (slides A17) (slides A18)

Prior to lecture, please read: AIMA 5.5.

Sep 28: Heuristic Search (slides A19) (slides A20)

Prior to lecture, please read: AIMA 3.5.1, 3.5.2.

Sep 30: Admissible Heuristics (slides A21)

Prior to lecture, please read: AIMA 3.6

Oct 3: Exam 1 (solution)

The exam will be distributed in Schow 30B at the start of class. I will remain in Schow 30B during class time to answer clarification questions, but you do not have to remain in Schow 30B. You have until 11pm to complete the exam. Please submit your completed exam either to me personally, or to my mailbox on the first floor of TCL. The exam must be done without consulting anyone else or the general Internet, however you may consult your own notes, the textbook, my provided lecture notes, and my provided lecture slides.

Oct 5: Exam 1 Review

Oct 7: Probability and Conditional Independence (slides B1) (slides B2) (slides B3)

Prior to lecture, please read: AIMA 12.1-12.5

Oct 12: Bayesian Networks (slides B4)

Prior to lecture, please read: AIMA 13.1, 13.2.1, 13.2.2, 13.2.4

Oct 14: Mountain Day

Oct 17: Variable Elimination (slides B5)

Prior to lecture, please read: AIMA 13.3.1, 13.3.2

Oct 19: Complexity of Variable Elimination (slides B6) (slides B7)

Prior to lecture, please read: AIMA 13.3.3

Oct 21: The Junction Tree Algorithm (slides B8) (slides B9)

Prior to lecture, please read: AIMA 13.3.4

Oct 24: Probability of Continuous Variables (slides B10)

Prior to lecture, please read: AIMA 13.2.3, Appendix A.3

Oct 26: Kalman Filters (slides B11)

Optional reading: AIMA 14.1, 14.2, 14.4

Oct 28: Markov Decision Processes (slides B12) (slides B13)

Prior to lecture, please read: AIMA 17.1 (intro), 17.1.1

Oct 31: Value Iteration (slides B14)

Prior to lecture, please read: AIMA 17.1.2, 17.2.1

Nov 2: Passive Reinforcement Learning (slides B15)

Prior to lecture, please read: AIMA 22.1, 22.2

Nov 4: Active Reinforcement Learning (slides B16)

Prior to lecture, please read: AIMA 22.3

Nov 7: Artificial Intelligence for Health Care (discussion)

Prior to lecture, please read the following two articles: (Grote and Berens, 2020), (Ross and Swetlitz, 2017)

Nov 9: Exam 2

The exam will be distributed in Schow 30B at the start of class. I will remain in Schow 30B during class time to answer clarification questions, but you do not have to remain in Schow 30B. You have until Thursday at 9am to complete the exam. Please submit your completed exam either to me personally, or to my mailbox on the first floor of TCL. The exam must be done without consulting anyone else or the general Internet, however you may consult your own notes, the textbook, my provided lecture notes, and my provided lecture slides.

Nov 11: Exam 2 Review

Nov 14: Truth Table Inference (slides C1) (slides C2) (slides C3)

Prior to lecture, please read: AIMA 7.1, 7.2

Nov 16: Propositional Logic (slides C4) (slides C5)

Prior to lecture, please read: AIMA 7.3, 7.4

Nov 18: Conjunctive Normal Form (slides C6) (slides C7)

Prior to lecture, please read: AIMA 7.5 (only the prologue, and the part of 7.5.2 that discusses Conjunctive Normal Form).

Nov 21: Entailment and Satisfiability (slides C8) (slides C9) (slides C10)

No additional reading.

Nov 28: Resolution (slides C11) (slides C12) (slides C13)

Prior to lecture, please read: AIMA 7.5.2

Nov 30: DPLL (slides C14)

Prior to lecture, please read: AIMA 7.6.1, 7.6.3

Dec 2: Binary Decision Diagrams (slides C15)

No additional reading.

Dec 5: First-Order Logic (slides C16)

Prior to lecture, please read: AIMA 8.1, 8.2

Dec 7: Exam 3 Practice (practice questions) (solutions)

Dec 9: Exam 3

The exam will be distributed in Schow 30B at 9:30am (by Jeannie). You have until Saturday at 930am to complete the exam. Please submit your completed exam to my mailbox on the first floor of TCL. The exam must be done without consulting anyone else or the general Internet, however you may consult your own notes, the textbook, my provided lecture notes, and my provided lecture slides.