ABOUT THIS COURSE
CS188.1x is a new online adaptation of the first half of UC Berkeley’s CS188: Introduction to Artificial Intelligence. The on–campus version of this upper division computer science course draws about 600 Berkeley students each year.
Artificial intelligence is already all around you, from web search to video games. AI methods plan your driving directions, filter your spam, and focus your cameras on faces. AI lets you guide your phone with your voice and read foreign newspapers in English. Beyond today’s applications, AI is at the core of many new technologies that will shape our future. From self–driving cars to household robots, advancements in AI help transform science fiction into real systems.
CS188.1x focuses on Behavior from Computation. It will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision–theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in stochastic and in adversarial settings. CS188.2x (to follow CS188.1x, precise date to be determined) will cover Reasoning and Learning. With this additional machinery your agents will be able to draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in CS188x apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.
Dan Klein (PhD Stanford, MSt Oxford, BA Cornell) is an associate professor of computer science at the University of California, Berkeley. His research focuses on natural language processing and using computational methods to automatically acquire models of human languages. Examples include large–scale systems for language understanding, information extraction, and machine translation, as well as computational linguistics projects, such as the reconstruction of ancient languages. One of his best–known results was to show that human grammars can be learned by statistical methods. He also led the development of the Overmind, a galaxy–dominating, tournament–winning agent for the game of Starcraft. Academic honors include a Marshall Fellowship, a Microsoft Faculty Fellowship, a Sloan Fellowship, an NSF CAREER award, the ACM Grace Murray Hopper award for his work on grammar induction, and best paper awards at the ACL, NAACL, and EMNLP conferences.
Pieter Abbeel (PhD Stanford, MS/BS KU Leuven) joined the faculty of the Department of Electrical Engineering and Computer Sciences at UC Berkeley in 2008. He regularly teaches CS188: Introduction to Artificial Intelligence and CS287: Advanced Robotics. His research focuses on robot learning. Some results include machine learning algorithms which have enabled advanced helicopter aerobatics, including maneuvers such as tic–tocs, chaos and auto–rotation, which only exceptional human pilots can perform, and the first end–to–end completion of reliably picking up a crumpled laundry article and folding it. Academic honors include best paper awards at ICML and ICRA, the Sloan Fellowship, the Air Force Office of Scientific Research Young Investigator Program (AFOSR–YIP) award, the Okawa Foundation award, the MIT TR35, the IEEE Robotics and Automation Society (RAS) Early Career Award, and the Dick Volz award for best PhD thesis in robotics and automation.
- Agents: Perception, Decisions, and Actuation
- Search and Planning
- Uninformed Search (Depth-First, Breadth-First, Uniform-Cost)
- Informed Search (A*, Greedy Search)
- Heuristics and Optimality
- Constraint Satisfaction Problems
- Backtracking Search
- Constraint Propagation (Arc Consistency)
- Exploiting Graph Structure
- Game Trees and Tree-Structured Computation
- Minimax, Expectimax, Combinations
- Evaluation Functions and Approximations
- Alpha-Beta Pruning
- Decision Theory
- Preferences, Rationality, and Utilities
- Maximum Expected Utility
- Markov Decision Processes
- Policies, Rewards, and Values
- Value Iteration
- Policy Iteration
- Reinforcement Learning
- TD/Q Learning
- Object-Oriented Programming
- Python or ability to learn Python quickly (mini-tutorial provided)
- Data Structures
- Lists vs Sets (Arrays, Hashtables)
- Queuing (Stacks, Queues, Priority Queues)
- Trees vs Graphs (Traversal, Backpointers)
- Probability, Random Variables, and Expectations (Discrete)
- Basic Asymptotic Complexity (Big-O)
- Basic Counting (Combinations and Permutations)