Instructor:  Mikhail Soutchanski.  
Email:  mes (at) cs (dot) [university name] (dot) ca (write cps822 in "Subject" to bypass spam filters)  
Web page:  www.scs.ryerson.ca/mes/courses/cps822/  
Office:  Computing and Engineering Bldg, 245 Church Street, ENG275  
Office Hours:  Tuesday, 12:0013:00 (email to make an appointment) or over Skype/Hangouts on Monday (email me about time) 

TA/GA:  Hadi Qovaizi is available in ENG217 on Monday only from 11am1pm
(his desk is in the middle row, it is the closest to the door). Email: hqovaizi (at) scs (dot) ryerson (dot) ca  
Lectures: 
Section  Activity  Day  Start Time  End Time  Room 
001  Class  Tuesday  15:10  18:00  POD368 
Office Hour  Tuesday  12:10  13:00  ENG275 
This course starts with basic introduction to mathematical logic: prepositional logic and first order logic. The students are expected to learn a professional logical jargon and concepts that will help them to work on a higher level of abstraction. This logical language serves to provide a formal specification that facilitates a correct implementation in one of the programming languages. Moreover, using logical specification, it becomes possible to formulate interesting, general and realistic AI research problems that cannot be stated in other terms. After that, we review the most important results in this research area, and then focus on modern developments. We will discuss the compromises involved in providing useful logical representations that allow reasoning about actions to remain computationally tractable. There are some limits imposed by computational tractability; we will mention what we can do when trying to develop efficient AI implementations.
The assignments will include problem solving exercises, but one of the assignments on planning may include also running a benchmark problem using the stateoftheart planners and doing comparison with a simple planner that was explained in CPS721.
Topics include: the situation calculus, the projection problem (whether
a given state can be reached after executing a given sequence of actions
when initial states are not known completely),
regression (reasoning backwards), progression (reasoning forward), the frame,
and ramification problems, the precondition and successor state axioms,
planning, execution monitoring, reasoning about effects of continuous
and concurrent processes extended in time, identifying an actual cause of
an observed effect from logs of events that happen during the run of a system.
It was long time
recognized that actions have not only direct, but also indirect effects, and in
many cases, have no effect on most of the features characterizing application
domains. For example, pressing an electric switch button has a direct effect
on the button  it becomes pressed  but also has an indirect effect, e.g.,
lights turn on. It turns out that chains of mutual dependencies leading to
indirect effects may be quite complicated.
We may consider representations developed to specify noneffects
succinctly and to reason about indirect effects correctly. For the latter
purpose, representations based on causality turned out to be most successful.
We may explore some of the recent results about using causality to compile
implicit indirect effects into explicit effects.
If time permits, the course may include several optional advanced topics
including complex actions and procedures, their applications to cognitive
robotics, stochastic actions and related computational problems.
This course provides necessary and sufficient background for the students who would like
to be involved in research on reasoning about actions in artificial intelligence.
Graduate students may be asked to complete a term project in addition to work expected from undergraduate students and/or do inclass presentation. For the graduate students who choose to do a project, some of the home work assignments might be optional if they have similar background from another university. Otherwise, for graduate students, the final grade is based on 80% of marks for assignments and exams, and 20% on the project (possibly including inclass presentation).
ACADEMIC MISCONDUCT
Committing academic misconduct, such as plagiarism and cheating,
will trigger academic penalties including failing grades,
suspension and possibly expulsion from the University.
As a Ryerson student, you are responsible for familiarizing yourself
with the
Student Code of Academic Conduct.
Remarking Policy
Tentative Course Calendar (subject to change: all changes will be announced in class)
Course Work  Due Date  Grade Value (%) 
Assignment 1 (in two parts) 


Assignment 2 (in two parts) 


Assignment 3 


Midterm test 


Assignment 4 


Assignment 5 




Second Exam 



The total mark is the sum of marks for assignments, midterm and the final exam. If the total mark is less than 50%, then the grade F is assigned.