Course Description: This course provides an introduction to the field of artificial intelligence. The major topics covered will include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, and planning under uncertainty.
- Meeting Times: Monday, Wednesday, Friday, 3:00 – 3:50 pm
- First Class: Wednesday, January 2, 2013
- Location: DMP 110
- Instructor: Alan K. Mackworth
- Instructor’s Office Location: ICCS 121
- Instructor’s Office Hours: Monday 4-4:30 pm, Wednesday 4-4:30pm or by appointment
- TAs: (TA Office Hours are in the Demco Learning Centre, ICCS 150) Course Discussion Board: (the place to submit your questions and get answers, as well as see answers given to others): log into Connectusing your CWL. If you need assistance with Connect, there are number of resources available. You can access those resources athttp://elearning.ubc.ca/connect/student-resources/. If you have technical issues with Connect should contact the IT Service Centre Help Desk at 604.822.2008 or http://it.ubc.ca/contact/helpdesk.html.
- AIspace: demo applets that illustrate most of the techniques covered in class
- Prerequisites: Either (a) CPSC 221 or (b) both of CPSC 216, CPSC 220 or (c) all of CPSC 211, CPSC 260, EECE 320.
- Final exam: TBA
What do I do if I get the flu?
- Self-isolate: stay away from campus until you’re fever-free for 24 hours.
- Get a doctor’s note if you’re missing midterm or final, or if you’ll be late for an assignment.
- Follow the course on this page, and contact Alan if you have additional questions.
Grading Scheme: Evaluation will be based on a set of assignments, a midterm, and an exam. Important: you must pass the final in order to pass the course. The instructor reserves the right to adjust this grading scheme during the term, if necessary.
- Assignments — 20%
- Midterm — 30%
- Final — 50%
If your grade improves substantially from the midterm to the final, defined as a final exam grade that is at least 20% higher than the midterm grade, then the following grade breakdown will be used instead.
- Assignments — 20%
- Midterm — 15%
- Final — 65%
The assignment grade will be computed by adding up the number of points you get across all assignments, dividing this number by the number of possible points, and multiplying by 20. Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.
Submitting assignments via handin and hardcopy: Assignments are to be handed in electronically via the handin tool and in hardcopy. In order to use handin, you will need to activate your CS account (every registered student already has an account, you just need to activate it). You can activate your account on the account activation page. A printout of your assignment must also be submitted to the assignment box #4 located in room X235 on the 2nd floor of the X-wing of ICCS.
Late Assignments: Assignments are to be handed in electronically via handin and in hardcopy by 1 pm on the due date. If the assignment is late, get the hardcopy date stamped in the CS office, ICCS 201. However, every student is allotted four “late days”, which allow assignments to be handed in late without penalty on four days or parts of days during the term. The purpose of late days is to allow students the flexibility to manage unexpected obstacles to coursework that arise during the course of the term, such as travel, moderate illness, conflicts with other courses, extracurricular obligations, job interviews, etc. Thus, additional late days will NOT be granted except under truly exceptional circumstances. If an assignment is submitted late and a student has used up all of her/his late days, 20% will be deducted for every day the assignment is late. (E.g., an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points.)
How late does something have to be to use up a late day? A day is defined as a 24-hour block of time beginning at 1:00 pm on the day an assignment is due. To use a late day, write the number of late days claimed on the first page of your assignment.. Examples:
- Handing in an assignment at 4 pm on the day it is due consumes one late day.
- Handing in an assignment at 10:15 am the morning after it is due consumes one late day.
- Handing in an assignment at 1:30 pm the day after it is due consumes two late days.
Missing Deadlines or Exams: In truly exceptional circumstances, when accompanied by a note from Student Health Services or a Department Advisor, the following arrangements will be made.
- If an assignment cannot be completed, the assignment grade will be computed based on the remaining assignments. Note that such an arrangement is extremely unusual–the late day system is intended to allow students to accommodate disruptions from moderate illness without contacting the instructor.
- If the midterm is missed, its grades will be shifted to the final. This means the final will count for 80% of the final grade, and assignments will count for the remaining 20%.
- If the final is missed, a make-up final will be scheduled. This make-up final will be held as soon as possible after the regularly scheduled final.
Academic Conduct: Submitting the work of another person as your own (i.e. plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for homework and exams. Such actions will not be tolerated. Specifically, for this course, the rules are as follows:
- For assignments 1-4, you may work with one other student. That student must also be a CPSC 322 student this term, and you will both have to officially declare that you collaborated when submitting your assignment. Both of you will have to submit your assignments separately.
- You cannot work with or copy work from anyone else. You may not, under any circumstances, submit any solution not written by yourself, look at a student’s solution who is not your official partner (this includes the solutions from assignments completed in the past), or previous sample solutions, and you may not share your own work with others. All work for this course is required to be new work and cannot be submitted as part of an assignment in another course without the approval of all instructors involved.
- You may, however, discuss your solutions and design decisions with your fellow students on a high level. In other words, you can talk about the assignments, but you cannot look at or copy other people’s answers.
Violations of these rules constitute very serious academic misconduct, and they are subject to penalties ranging from a grade of zero on the current and *all* the previous assignments to indefinite suspension from the University. More information on procedures and penalties can be found in the Department’s policy on plagiarism and collaboration and in UBC regulations on student discipline. If you are in any doubt about the interpretation of any of these rules, consult the instructor or a TA!
We will be using the text Artificial Intelligence: Foundations of Computational Agents by David L. Poole and Alan K. Mackworth. The entire book is available (for free, as in beer!) in e-format at the above link. Copies are available in the UBC Bookstore and a copy is on reserve in the CS reading room. Although this text will be our main reference for the class, it must be stressed that you will need to know all the material covered in class, whether or not it is included in the readings or available on-line. Likewise, you are responsible for all the material in assigned readings, whether or not it is covered in class. If you’d like to refer to an alternate text, I recommend Russell and Norvig’s Artificial Intelligence: A Modern Approach (Third edition). I’ve arranged for a copy to be put on reserve in the CS reading room.
You can find the course schedule and lecture slides below. The schedule is tentative and will change throughout the term. Future assignment due dates are provided to give you a rough sense; however, they are also subject to change. I will try to post the slides for each lecture by 11pm the day before the lecture; this allows you to print them when you get up in the morning. I don’t promise to use exactly that version in class, but it should be very close. If I do further changes, I will post the final version after class, at the latest when I post the slides for the next lecture.
|(1) Wed, Jan 2||Intro 1: What is AI? (.pdf)||1.1-1.3||Assignment 0 out|
|(2) Fri, Jan 4||Intro 2: Representational Dimensions (.pdf)||1.4-1.5|
|(3) Mon, Jan 7||Intro 3: Applications of AI (.pdf)||1.6|
|(4) Wed, Jan 9||Search 1: Representation & Search Framework (.pdf)||3.0-3.4|
|(5) Fri, Jan 11||Search 2: BFS and DFS (.pdf)||3.5||Assignment 0 due Exercise 1, Solutions|
|(6) Mon, Jan 14||Search 3: Search with Costs & Heuristic Search (.pdf)||3.5.3, 3.6.1|
|(7) Wed, Jan 16||Search 4: Heuristic Search: A* (.pdf)||3.6||Exercise 2, Solutions|
|(8) Fri, Jan 18||Search 5: A* optimality, cycle checking (.pdf)||3.6|
|(9) Mon, Jan 21||Search 6: Iterative Deepening (IDS) and IDA* (.pdf)||3.7.3|| Assignment 1 out|
|(10) Wed, Jan 23||Search 7: Multiple Path Pruning, IDS and IDA* (.pdf)||3.7.1-3.7.3|
|(11) Fri, Jan 25||CSP 1: Branch & Bound. CSP: Intro (.pdf)||3.7 & 4.0-4.2||Exercise 3, Solutions|
|(12) Mon, Jan 28||CSP 2: Solving CSP using search (.pdf)||4.3-4.4|
|(13) Wed, Jan 30||CSP 3: Arc consistency (.pdf)||4.5||Exercise 4, Solutions|
|(14) Fri, Feb 1||CSP 4: Domain splitting (.pdf)||4.6|| Assignment 1 due|
|(15) Mon, Feb 4||CSP 5: Local search (.pdf)||4.8|| Assignment 2 out|
|(16) Wed, Feb 6||CSP 6: Stochastic local search (.pdf)||4.8||Exercise 5, Solutions|
|(17) Fri, Feb 8||CSP 7: Stochastic local search algorithms (.pdf)||4.8||roundabouts.xml|
|Mon, Feb 11||UBC closed|
|(18) Wed, Feb 13||Planning 1: Representation and Forward Planning (.pdf)||8.0, 8.1, 8,2||Exercise 6, Solutions|
|(19) Fri, Feb 15||Planning 2: Forward Planning and CSP Planning (.pdf)||8.2, 8.4||Assignment 2 due, Assignment 3 outExercise 7, Solutions|
|Feb 18-22||UBC Midterm break|
|(20) Mon, Feb 25||Planning 3: CSP Planning wrap up. (.pdf)||8.4|| |
|(21) Wed, Feb 27||Logic 1: Intro & Propositional Definite Clause Logic (.pdf)||5.1-5.2||Exercise 8, Solutions|
|(22) Fri, Mar 1||Logic 2: Proof procedures, soundness and completeness (.pdf)||5.2|
|(23) Mon, Mar 4||Logic 3: Bottom-up and Top-down Proof Procedures (.pdf)||5.2||Exercise 9, Solutions|
|Wed, Mar 6||Midterm exam|
|(24) Fri, Mar 8||Logic 4: Top-Down Procedure, Datalog and Big Picture (.pdf)||5.2, 12.3|
|(25) Mon, Mar 11||Uncertainty 1: Probability Theory: Intro (.pdf)||6.1, 6.1.1,6.1.3|
|(26) Wed, Mar 13||Uncertainty 2: Conditional Probability, Bayes Rule, Chain Rule (.pdf)||6.1.3||Assignment 3 due|
|(27) Fri, Mar 15||Uncertainty 3: Independence (.pdf)||6.2||Assignment 4 out|
|(28) Mon, Mar 18||Uncertainty 4: Bayesian networks intro (.pdf)||6.3 – 6.3.1||Exercise 10 Solutions|
|(29) Wed, Mar 20||Uncertainty 5: Independence and Inference (.pdf)||6.3.1||credit_card_fraud.xml|
|(30) Fri, Mar 22||Uncertainty 6: Variable Elimination (.pdf)||6.4.1||Exercise 11 Solutions|
|(31) Mon, Mar 25||Decision Theory 1: Uncertainty wrap-up. Single Decisions (.pdf)||6.4.1 & 9.2||newspaper.xml|
|(32) Wed, Mar 27||Decision Theory 2: Single and sequential decisions (.pdf)||9.2-9.3||Exercise 12 Solutions |
|Fri, Mar 29||UBC closed|
|Mon, Apr 1||UBC closed|
|(33) Wed, Apr 3||Decision Theory 3: Optimal policies for sequential decisions (.pdf)||9.3|| Assignment 4 due|
|(34) Fri, Apr 5||Perspectives and Final Review||Exercise 13 Solutions wii.xml|
|Thu, Apr 18||Final exam in PHRM 1101, 8:30 am – 11:00 am|
Assessing Your Own Learning
- We have created a list of learning goals for the course, which detail concrete skills you should have after mastering each of the units. The list is available via Connect.
- Exercises are ungraded practice problems to help you prepare for assignments and exams. They’re optional, but will definitely help you to master the course material. All the exercises will be put up here, with solutions, on the schedule.
Bio: Alan Mackworth
B.A.Sc., Univ. of Toronto (1966); A.M., Harvard Univ. (1967); D.Phil., Sussex Univ. (1974); Lecturer, Univ. of Toronto (1967-70); Assistant Professor, University of British Columbia (1974); Associate Professor, University of British Columbia (1979); Professor, University of British Columbia (1984); Institute Fellow, Canadian Inst. for Advanced Research.
The goal of my research program is to understand and build intelligent systems. I am particularly interested in the use of knowledge by agents who perceive, reason and act in the world. The central focus is constraint-based computational intelligence.
The development of constraint programming, which we have pioneered, has already proven useful in a wide variety of applications in robotics, vision, scheduling, simulation, diagnosis and repair. Zhang and I have recently developed the online Constraint Net model for specifying, designing, verifying, simulating, and implementing intelligent, embedded, real-time, hybrid systems, such as robots.
In our Lab for Computational Intelligence (LCI), we are building various sensor-based robotic systems. The overall framework is to characterize the knowledge that an intelligent system must have in its internal model and to show how it can acquire information about the world, integrate it into its model and then act to change the world.
We are building teams of mobile robots, with real-time visually based control systems, for experimental tasks like soccer playing, navigation and telerobotics. We proposed and built the world’s first soccer-playing robots. These systems provide a framework for driving the development of practical theories of real-time constraint-based computational intelligence. My main goal is to develop a clean theoretical and practical framework for the design and implementation of constraint-based agents.
Mackworth, A.K., “A Constraint-Based Controller for Soccer-Playing Robots”. Proceedings Int. Conf. on Intelligent Robots and Systems (IROS-98), 1998, pp. 1290-1295 (with Yu Zhang).
Mackworth, A.K., “Computational Intelligence: A Logical Approach”. Oxford University Press, New York, 1998 (with David Poole and Randy Goebel).
Mackworth, A.K., “The Dynamics of Intelligence: Constraint-Satisfying Hybrid Systems for Perceptual Agents”. Proceedings Hybrid Systems and AI, AAAI Spring Symposium Series, 1999, pp. 210-214.
Mackworth, A.K., “Constraint Nets: A Semantic Model for Dynamic System”. Theoretical Computer Science, 138, 211- 239, 1995. (With Ying Zhang).