EECS 3401: Introduction to AI and Logic Programming
EECS 3401: Introduction to AI and Logic Programming
Course details
- Lecture schedule: MW, 13:00-14:30, CLH M
- Instructor's office hours: M 4:30-5:30pm, W: 12-1pm, Lassonde Bld., 3052B
- TAs:
Course description and Learning Outcomes
Artificial Intelligence (AI) is one of the oldest but also one of the most intriguing and
stimulating areas of computer science. This course is the introductory exposition to AI.
It covers, in some depth, the core subjects of current interest to AI: knowledge representation,
reasoning, intelligent agents and their modeling, acting and planning, search, neural
networks, and genetic algorithms. Other important subareas of AI, such as robotics or
computer vision, and machine learning are discussed in depth in other courses.
Logic Programming (LP) in another thread of the course. There are two reasons for its
inclusion in the course. First, LP is strongly related to the main AI subjects such as
knowledge representation and reasoning. LP languages and their extensions are extensively
studied in the context of intelligent agents and their modeling. Second, LP languages,
such as Prolog, are used as programming tools by AI research community.
The course's learning objectives are to acquire a good understanding of the main AI research
issues, problem solving methods, and techniques as well as to appreciate achievements of
AI practitioners and to understand challenges faced by them in making AI practically feasible.
Another learning objective is to introduce the students to the logic programming paradigm and
to acquire a good understanding of a special relationship between AI and LP.

Course Evaluation
- Assignment 1, 0.5%;
deadline: Oct. 2
- Assignment 2, 0.5%;
deadline: Oct. 28
- Assignment 3, 0.5%;
deadline: Nov. 11
- Assignment 4, 0.5%;
deadline: tba
- Test1, 29%;
date: Oct. 9
- Test2, 29%;
date: Nov. 13
There will be no makeup tests; if you miss a test for medical, compassionate, etc. reasons
(valid in accordance
with York Un. regulations and documented without delay), the weight of the missed test will be transferred
to the next test or final exam.
- Final Exam, 40%;
date/location: tba
- Assignment location: all assignments and their solutions will be deposited in /eecs/dept/course/2019-20/F/3401

Course Schedule (a tentative list of subjects to be covered in the course)
- week 1: course overview; AI as a computer science discipline: AI defined, objectives, current directions.
- week 2: general architecture of an AI agent, the role of knowledge representation and reasoning,
resolution-based reasoning agents (clausal propositional logic, resolution).
- week 3: Refutational principle, Robinson's theorem on resolution, level saturation algorithm, and speeding
up resolution.
Consult these lecture notes;
- week 4: Resolution for Predicate Logic (PL): PL clauses, logic programming clauses, substitutions and unifiers,
the resolution rule, refutation, refutation trees.
Consult lecture notes in the course directory.
- week 5: Resolution and Logic Programming: PROLOG
- week 6: Programming in PROLOG: programs and goals, predefined predicates, executing PROLOG programs and goals,
debugging, lists and trees.
- week 7: Planning agents, actions and plans, STRIPS planning formalism. Consult notes on AI behavior
in course directory.
- week 8: Implementation of means-ends planner in PROLOG (see Bratko's text), intelligent search (the A* algorithm).
- week 9: Neural Networks (NN): introduction (neuron, NN architectures, perceptron).
- week 10: NNs cont.: perceptron learning lgorithm, back propagation NNs and their learning algorithm,
applications.
View these videos explaining BPNN architectures:
video1 and
video2 and
- week 11: NN applications; genetic algorithms.
Course Readings
The presentation of most of the topics covered in this course has been developed using multiple sources such as textbooks,
research papers, and information about industrial applications of AI. Hence, it is strongly recommended that students take
adequate notes during lectures. However, all fundamental issues concerning these topics are covered in texts such as:
- S. Russell and P. Norvig, Artificial Intelligence: A Modern
Approach, Prentice Hall;
for more information on the textbook please dollow this link.
- I. Bratko, PROLOG Programming for Artificial Intelligence
Addison-Wesley (the 3rd edition is available from archive.org).
which are recommend for independent studies.
It is recommended that the SWI-PROLOG programming environment is used
for programming assignments. Please consult the
SWI-Prolog site for more information. SWI-PROLOG is EECS-supported (see manual pages for pl).

York University Computer Museum is Looking for Volunteers!
York University Computer Museum
(YUCoM)
is looking for student volunteers to help
with various projects from archiving documents to arranging exhibits. If you
would like to volunteer 1 hour a week of your time, 2 hours, or more,
please contact the instructor. Thanks!
|