Computer Science 687 / 001
Advanced Artificial Intelligence
Meets
Monday, 7:20-10:00 PM, in Room 326 of Innovation Hall.
Professor
Sean Luke.
Prerequisite
CS480, CS580, or an equivalent class taught at another university. This is a hard prerequisite: generally students who have not taken this prerequisite fail CS687 and become sad.
About the Class
This course will cover several advanced topics in Artificial Intelligence beyond those covered in CS580. These topics will extend existing knowledge about search, machine learning, reasoning, and situated action. Some topics are required; others may be negotiated with the class. Topics may include planning, probabilistic reasoning, reinforcement learning, evolutionary computation, advanced neural networks, natural language processing, constraint satisfaction, reactive systems, knowledge-based learning, robotics, vision, emergent behavior, and intelligent multiagent systems.
AI is a breadth-oriented field, and the goal of this course is to provide the student with sufficient breadth beyond CS580 to act as a well-versed AI researcher. Informally, CS580 + CS687 typically cover all the topics that might show up on the Ph.D. Qualifying Exam.
Any programming assignments, other than the final project, will be done in Common Lisp, the traditional exploratory programming language of AI. Ordinarily (but not always) Common Lisp is thoroughly taught in CS580. If not, we may spend time reviewing it and performing basic programming in it first, depending on the CS687 student population. The course may introduce other AI languages as well, including Prolog and Scheme.
Course Web Page
http://cs.gmu.edu/~sean/cs687/
Texts
These textbooks are readily bought on Amazon, Barnes & Noble, etc., and you do not need them in the first week or two.
Grading
This course will consist largely of several large projects and two exams. The breakdown will be approximately:
1. Homework and (several) Projects: 50% with higher weight given to harder projects.
2.Exams (2 of them): 25% Each
Course Outcomes
1. An ability to employ various basic machine learning, probabilistic reasoning, search, knowledge representation, and planning techniques. 2. An ability to use Lisp at a moderate to high level of proficiency. 3. An ability to develop nontrivial artificial intellience applications. 4. An ability to work in teams. 5. An ability to identify the right AI technique to use for a given problem, and to understand the issues and tradeoffs involved.