Main Page Contents Schedule Overview Requirements Updates Syllabus Links
Course People
Course Materials
Assignments
Projects
|
Schedule
Class MW8 (7:40-9) ARC 204
Artificial Intelligence is the branch of Computer Science dealing with the construction of computational artifacts to carry out tasks in the real world, beyond the hermetic universe of numbers, instructions and machine data that flourishes inside computers. Nowadays, the real world involves not just ourselves and our physical surroundings, but the resources of text, pictures and other media that we create for one another and store and access electronically. The real-world artifacts of Artificial Intelligence researchers sometimes tackle extravagant tasks, like flying spacecraft, beating the world chess champion, or performing some key human-like interactions with the world (as a specially-built full-scale humanoid robot). It's easy to see why such spectacular behavior might qualify something as intelligent. But plenty of real-world tasks seem mundane, even mindless. Think of getting a wheeled platform to roll across a room without hitting anything, looking at a book and telling who the author is, or printing somebody's latest research paper from the web. What elevates all real-world tasks, including these, to the attention of the loftily-named discipline of Artificial Intelligence? This, more than anything else, is the question I hope you understand the answer to by the end of this class. The real world is fantastically complicated and unpredictable. It is fantastically difficult to carve small and interesting tasks out of the world and solve them in a constrained way, the way you would carve up the problems induced in most computer programs and write separate modules to handle them. A huge range of knowledge plays a role in every real-world task. (Some AI researchers have suggested that real-world problems are so complex and interdependent that any sufficiently interesting problem will effectively involve a solution to all of them. This leads to the gag concept of an AI-complete problem.) There's no way around it: to act in the real world, you have to be pretty smart. This is something you already know intuitively, from living here and muddling through (or better). The lectures, assignments and project in this course are designed to bring this knowledge to the surface. If nothing else, this should give you a renewed appreciation for yourselves and your environment. Technically, much of this course will be focused around logic. Logic is an ideal mathematical tool for thinking about computational artifacts in the real world, because logic relates semantics and inference. Semantics formalizes the relationship between sentences, including computer representations, and the real world (or non-real worlds like the real world), where those sentences are true or false. Semantics is a tool you can use for designing and understanding the representations an AI program uses. Inference (or proof theory) formalizes the logical relationships between sentences (including computer representations) and one another. The starting result about inference is that you can construct syntactic transformations that allow you to derive true sentences from other true sentences.
This course will offer you practice in three kinds of skills:
We will have a couple written homework assignments, consisting of exercises where you think through tasks in the real world and describe your conclusions about them. We will have a couple short programming assignments, consisting of exercises that offer simple experience with some of the important ideas of Prolog programming. The major work for the class will be a semester-long project in which you explore representation and reasoning in a real-world domain that you are familiar with (or are willing to become familiar with). You are welcome to work in small groups on the project (up to three people); you will probably have more fun if you can brainstorm and check one another's work. It takes a systematic experience with a project to allow you to sink your teeth into the meaty problems of AI, and to appreciate the wealth of knowledge, the flexible and varied use of information, and the sophisticated search that underlie successful AI systems. In other words, you have to work on an AI program for a while before it starts to be able to do anything fun! The project will be completed in four installments over the semester, with feedback along the way. The installments are designed to keep you on track, so you make steady progress on the project throughout the semester; they are weighted accordingly towards your final grade. Don't expect to do the project over the last week of the semester - you won't have time and you'll already be marked low for the project as a whole from having slacked off on the first steps. For the purposes of grading, the homework will count 15%, the two tests will count 20% each, and the project will count 45%.
Here is a list of announcements and developments.
Part One: Prolog and AI
Part Two: Kinds of Reasoning
Part Three: A Whirlwind Tour
|