General Information
Course Description
[from the 2015-17 Cal Poly Catalog]: "Current research in the field of artificial intelligence with emphasis on cooperative agents, distributed agents, and decision making in complex, concurrent environments. AI programming in a distributed environment."This course explores the topic of intelligent agents. It discusses the differences between agents and conventional computer programs, investigates different types of agent architectures, and examines various important aspects and applications of intelligent agents in more detail.
Prerequisites: CSC/CPE 480 and graduate standing, or consent of instructor.
Knowledge of Java or similar languages (C++, Python) is expected for homework assignments and term projects.
The goal of the course is to understand important problems, challenges, concepts and techniques dealing with the use of intelligent agents for computational tasks. Upon satisfactory completion of this course, the student will:
- Understand the fundamental concepts in the study intelligent agents.
- Be familiar with the basic concepts, methods, techniques, and tools for the use of intelligent agents in computer-based systems.
- Understand the components and functions of intelligent agents.
- Apply the principles and methods of intelligent agents to a small-scale practical problem within the framework of a term project.
- Be prepared for further study in the design, implementation, and application of agent-based systems.
- Critically evaluate current trends in intelligent agents and their manifestation in business and industry.
Meeting Times and Places
- Lecture Section: Tue/Thu, 3:10 - 4:30 pm, in 14-257
- Lab Section: Tue/Thu, 4:40 - 6:00 pm in 14-257
- Instructor: Dr. Franz J. Kurfess
- Office hours: Tue/Thu 2:10 - 3:00 pm, Wed 2:10 - 5:00 pm (as of 8/28/16; may change due to meeting schedules)
- Office: 14-218, Email fkurfess@calpoly.edu
Textbooks and Course Material
The slides I'm using in the lectures will be made available either through this Web site, or the PolyLearn system.
Most of the books and articles on "intelligent agents" are research monographs, or collections of research papers. Textbooks on Knowledge-based Systems and Artificial Intelligence mostly concentrate on questions related to the representation and manipulation of knowledge through computers and various techniques used for that purpose, but not so much on aspects that distinguish intelligent agents from traditional artificial intelligence approaches.
The following books contain some interesting chapters, and are suitable for specific topics. The schedule for the course contains pointers to those chapters under the respective topic.
- Michael Wooldridge: An Introduction to MultiAgent Systems (2nd ed.). Wiley, 2009. ISBN 978-0-470-51946-2 [Amazon]. A textbook mostly intended for undergraduate classes, and used in several other courses on this topic. It looks like a good match for our course content, although the arrangement and the topics don't align that well.
- Stuart Russell and Peter Norvig: Artificial Intelligence: A Modern Approach (3rd ed.). Prentice Hall, 2009. ISBN 978-0136042594 [Amazon]. This is the CPE/CSC 480 textbook, and it has some material related to the contents of this course. The structure and emphasis, however, are a bit different, concentrating more on fundamental principles. (The first and second edition of this book are also useful, but of course they are somewhat dated by now).
- G. Weiss (ed.): Multi-Agent Systems - A Modern Approach to Distributed Artificial Intelligence (2nd ed.). MIT Press, 2013 [Amazon].
- M. Wooldridge: Reasoning about Rational Agents. MIT Press, 2000 [Amazon].
A nice overview of the literature on intelligent agents is at the Web site of the American Association of Artificial Intelligence (AAAI).
Some agent environments are based on the Jess system, which is described in
- Ernest Friedman-Hill, "Jess in Action." Manning Publications, 2003.
Further material will be made available through handouts in class, and through pointers to relevant Web pages.
Grading Policy
Assignments | 30% |
Individual Presentation/Paper | 30% |
Team Project | 30% |
Participation | 10% |
Academic Dishonesty and Cheating
The expectations below are based on Cal Poly’s Code of Student Conduct.
Academic dishonesty can be a serious offense. Any instances of cheating or plagiarism may be reported to the department chair and the Office of Student Rights & Responsibilities (OSRR). The Cal Poly rules and policies are listed in the Cal Poly catalog as well as at the OSRR web site, http://www.calpoly.edu/~osrr/index.html. If the rules are unclear or you are unsure of how they apply, ask the instructor beforehand.
We may use programs or services like Moss to compare programming assignments within a section, across all current sections of this class, and with old assignments. While such programs are not perfect, they detect suspicious similarities even after replacement of variable names and other identifiers. In general, the use of program libraries is acceptable, but not if they provide functionality whose implementation is the purpose of the lab or assignment. If you use libraries you need to indicate this in the documentation. Unless explicitly stated, assignments and labs are to be done individually.
Turning in work is presumed to be a claim of authorship unless explicitly stated otherwise.