CS580 - Introduction to AI (Spring 2016)
Information
-
Instructor: Amarda
Shehu amarda\AT\gmu.edu
TA: Xiaosheng Li xli22\AT\gmu.edu
Class Place and Time: Innovation Hall 204, W 4:30-7:10 pm
TA Office Hours: ENGR #5321, R 3:00-5:00 pm
Instructor Office Hours: ENGR #4422, W 2:30-4:30 pm
Description
-
This is a foundational course in Artificial Intelligence (AI), which
is the discipline of designing intelligent computer systems. The
undercurrent of the topics covered in this course is how to design and
analyze autonomous agents that process information, plan, and execute
actions in the presence of constraints, limited information, and
limited computational resources. Central questions will be addressed:
(1) How can agents effectively make decisions in fully/partially observable, adversarial environments?
(2) How can agents adapt their actions by learning from experience in changing environments?
The set of topics covered in this course will closely follow the
chapters in the Russell & Norvig textbook. They include uninformed,
informed, heuristic, and adversarial search, constraint satisfaction
(chapters 3-6), knowledge representation and first-order logic
(chapters 7-9), planning and knowledge representation(chapters 10-12),
reasoning in the presence of uncertainty (chapters 13-17), learning
(chapters 18-21), and natural language processing (chapters
22-25). Not all topics will be covered at the same level of detail and
depth. An attempt will be made to study topics in the context of
interesting, current examples from various sub-domains of modeling of
intelligent agents, such as self-driving cars, face and handwriting
recognizers, game playing programs, package delivery robots,
schedulers, spam detectors, named-entity recognizers, and speech
recognition systems.
The course draws on material from computer science, probability
theory, decision theory, and game theory. Good knowledge of
algorithms, discrete mathematics, linear algebra, probability and
statistics is assumed. Usage of functional languages, such as LISP and
Prolog is encouraged. Matlab, expert system programming languages, and
other languages may be employed on relevant topics during the
course. Students have some flexibility in the programming language
they select for homeworks upon prior approval from the instructor.
Format
-
Material will be disseminated in the form of lectures. Students are
advised to read the corresponding material in the textbook before
class. Additional reading material may be disseminated on specific
topics to provide more depth. Students will be tested on the
comprehension of the basic material through homeworks and
exams. Homeworks may include programming. No programming is involved
in the exam, only pseudocode. No late homeworks or project
deliverables will be accepted.
Grade Breakdown
-
Homeworks (3): 30%
Midterm Exam: 15%
Final Exam: 30%
Project: 25%