Artificial Intelligence
Instructor: Dr. Dylan Shell.
Office | : | HRBB 330C |
Phone | : | (979) 845-2369 |
: | dshell_at_cs.tamu.edu | |
Web | : | http://robots.cs.tamu.edu/dshell/cs625 |
Office hours | : | Monday 10am-12pm and by appointment too. |
TA Information
Name | : | Qing "Frank" Wan |
Office | : | HRBB339 |
: | frankwanbear@gmail.com |
Spring 2019
Lecture Time | : | Tuesdays/Thursdays, 9:35am-10:50am. |
Lecture Location | : | ZACH 350 |
Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge on a computer; search strategies and control; active research areas and applications such as notational systems, natural language understanding, vision systems, planning algorithms, intelligent agents and expert systems.
The course is a broad survey that will require a significant amount of reading with simple introductory programming in different languages. It will provide an understanding of the state of the practice of AI and set the foundation for further study in agency, logic, neural networks, robotics, uncertainty, and computer vision.
Prerequisites
You are expected to be familiar with graphs, trees, and similar forms of data structure. Additionally, you should be comfortable with standard ways for characterizing program complexity. This is likely material covered in a good undergraduate class on Design and Analysis of Algorithms (which will likely have a course on Data Structures and Algorithms).
You are expected to have some familiarity with propositional and boolean logic (including connectives, truth tables, etc.) Additionally, a standard course on discrete mathematics covers some material (e.g., universal quantifiers, existential quantifiers, proof techniques, Venn diagrams, etc.) that we will use. The associated level of mathematical maturity is also expected.
Some parts of the course involve writing code in Prolog, but no prior experience with this language is needed. However, you are expected to be comfortable in multiple other languages and willing to pick up new ones with minor fuss. It is helpful to have some prior experience with a functional programming language. (If you don't know what a functional programming language is, if you've not heard of lazy evaluation, you're probably deficient.)
Sign up for piazza
This is the link needed to sign up: https://piazza.com/tamu/spring2019/csce625. This class will depend on lots of interaction via the forums, and discussion.
Operation of the class
- This is a graduate class: nobody will be mollycoddled.
Each student is expected to be autonomous and independent
and behave as a responsible adult. In particular this means that:
- The classes begin with the understanding that everyone in the room has read assigned texts already. Thus, you are expected to read the assigned material before class.
- You should have some understanding of which aspects are least clear, and need further explanation for yourself. You are expected to have questions to ask the instructor and be willing to ask those questions.
- You may be called upon to respond by the instructor. If this is too much pressure, or makes you too uncomfortable, or is too intimidating, then this is not the class for you.
- The class involves a set of challenging programming assignments and exercises. You are
expected to write code for all of them. Several of them are open-ended, because this
is an important characteristic of A.I. problems.
- Attempting these assignments is a critical aspect of the course.
- Students are expected to be able to discuss their current code and design approach before the class.
- You are expected to follow, compare, and ask informative questions from the code shown by your peers.
Learning Outcomes / Course Objectives
- Understand and enumerate the basic techniques for creating intelligent programs. This will be addressed by course work.
- Create a successful program illustrating the operation of one of these methods. This is the purpose of the course's programming assignments.
- Apply the right programming language or technique to the right problem and be able to evaluate a proposed AI application for likelihood of success. This too is addressed via programming assignments.
- Be able to discern sensationalism from science on the possible impact of AI on society. This will be part of the class discussions and readings.
Textbooks
- Artificial Intelligence: A Modern Approach 3rd Edition by Stuart Russell and Peter Norvig, 2009.
- Infinitesimal Calculus by James M. Henle and Eugene M. Kleinberg, 1979. (There is a 2003 Dover Edition.)
Papers and other readings
- [CMI] "Computing Machinery and Intelligence," by Alan M. Turing. Mind 49:433-460, 1950.
- [D*Lite] "D* Lite," by S. Koenig and M. Likhachev. Proceedings of the AAAI Conference of Artificial Intelligence (AAAI), 476-483, 2002
- [E-Graphs] "E-Graphs: Bootstrapping Planning with Experience Graphs," by Mike Phillips, Benjamin Cohen, Sachin Chitta and Maxim Likhachev. Proceedings of the Robotics: Science and Systems Conference, 2012.
- [Do-Calc] "Introduction to Judea Pearl's Do-Calculus," by Robert R. Tucci, Apr 2013.
- [IwoR] "Intelligence without representation," by Rodney A. Brooks, 1991.
- [POMDP] Tony Cassandra's POMDP Tutorial
- [SingAI] Luciano Floridi on Singularitarians, AItheists, etc.
- [SoA] The Sciences of the Artificial, 3rd Edition by Herbert A. Simon, 1996.
Other resources
Here are some other materials that are useful.
- The Dartmouth Conference Proposal
- The R&N map of Romania 2
- BBC Radio 4: The New Age of Capitalism, Artificial Intelligence (23-Jan-2019, available for 7 days).
- Magenta and how we perceive colour
Grading Policies
Grades will be based on:
|
The grading scale is:
|
Course Topics, Calendar of Activities, Major Assignment Dates
Syllabus topics and readings are subject to change, exact dates depend on class progress.
Topic | Reading | |||||||||
Introduction, Agents |
| |||||||||
Search |
| |||||||||
Philosophical Foundations |
| |||||||||
Local search/optimization |
| |||||||||
Search for games |
| |||||||||
Constraint satisfaction |
| |||||||||
Logic: Foundations for knowledge representation |
| |||||||||
Logic: Inference | ||||||||||
Further logic |
| |||||||||
Prolog code: kb.pl, friends.pl, ornithology.pl. | ||||||||||
Planning under uncertainty |
| |||||||||
Learning, Reinforcement learning |
|
Due Date | Tests and Assignments | |
31 Jan | Lazy BFS in Scheme | |
— | Extra HW | |
Assembly Puzzle | ||
5 March | Midterm Practice Questions | |
7 March | Midterm Exam | |
11-15 March | Spring Break | |
23 Apr | Hunt the Wumpus | |
Final Project due (5 p.m.) | ||
2 May | Final Exam Slot (12:30-14:30) — used for discussion of final projects | |
Students with Disabilities
The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact Disability Services, currently located in the Disability Services building at the Student Services at White Creek complex on west campus or call 979-845-1637. For additional information, visit http://disability.tamu.edu.
Academic Integrity
For additional information please visit: http://student-rules.tamu.edu/aggiecodePolicy on Missed Work
Material missed due to recognized absences (illness with doctor's excuse, death in the family) can be made up for full credit. My policy is simple and unequivocal: credit can be given if and only if it is a university recognized absence.