Welcome to CMPT 310, Summer 2020!¶
Welcome to CMPT 310: a survey of some of fundamental problems and techniques of artificial intelligence (AI).
The course marking scheme, along with weights and due dates for assignments, quizzes, etc. are on Canvas.
Please note a couple of things:
- We will be following the topics listed below.
- Please see the course handbook for general information about the course.
- Please be aware of the marking rules we will be following during the course, including what this course considers ethical, and unethical, behavior. Ignore this at your peril!
Assignments¶
The course marking scheme, along with weights and due dates for assignments, quizzes, etc. are on Canvas.
- Assignment 1
- Assignment 2
- Assignment 3
- Assignment 4
- Final Project: see Canvas.
Software¶
Most of the assignments will be using Python 3, and you should install the aima-python code on your computer (including the sample data sets). Follow the installation instructions on the aima-python page.
Since aima-python uses Git, it makes sense to download the code through Git. You could use a graphical tool like Sublime Merge to help with this if you like.
Some of the aima-python is written inside of Jupyter Notebooks, so you ought to install that on your system as well.
While you are welcome whatever operating system you prefer, keep in mind that all examples will be from Ubuntu Linux. Thus, we recommend that you install that latest desktop version of Ubuntu Linux on a virtual machine (such as Virtual Box).
Some assignments may also use minisat, a popular SAT solver. To install it on Ubuntu Linux, just run this at the command-line:
$ sudo apt install minisat
Course Notes¶
The following are the planned topics. The precise topics might change slightly as the course progresses, and we may spend more/less time on certain topics. The content of notes may also be changed and updated as the course progresses.
- introduction: philosophy, history, problems, approaches
- reading: chapter 1 of Norvig and Russell; notes on chapter 1
PowerPoint presentation with a few important figures in the history of AI
- reading: chapter 2 of Norvig and Russell; notes on chapter 2
- classical search
- reading: chapter 3 of Norvig and Russell; notes on chapter 3
- beyond classical search
- reading: chapter 4 of Norvig and Russell; notes on chapter 4
- constraint satisfaction problems (CSPs)
- reading: chapter 6 of Norvig and Russell; notes on chapter 6
- adversarial search
- reading: chapter 5 of Norvig and Russell; notes on chapter 5
chess presentation
- reasoning with logic
- Notes on chapter 7: Basic logical terms
- Notes on chapter 7: Propositional satisfiability
- Notes on chapter 7: Propositional theorem proving
SAT as tree-search example
- classical planning
- AI Safety
AI Safety presentation
- Video about the “Stop Button” problem
- Robert Miles videos on the paper
Concrete Problems in AI Safety
- Part 1: Avoiding Negative Side Effects. Part 1.5: Avoiding Positive Side Effects.
- Part 2: Empowerment.
- Optional: Computerphile: Stop Button Solution?. Discusses cooperative inverse reinforcement learning.
- Part 3: Reward Hacking
- Part 3.5: Reward Hacking Reloaded
- Part 4: What Can We Do about Reward Hacking?
- Part 5: Scalable Supervision
- Part 6: Safe Exploration
- a few notes on some parts of the paper “Concrete Problems in AI Safety”
- machine learning
- perceptrons and neural nets: in place of a regular lecture, we watched these videos (see the related quizzes in Canvas)
- The following topics are not covered in the course (due to time):
- notes on genetic algorithms
- introduction to natural language processing (NLP)