CS486/686 - Goals
Objectives
The design of automated systems capable of accomplishing complicated
tasks is at the heart of computer science. Abstractly,
automated systems can be viewed as taking inputs and producing
outputs towards the realization of some objectives. In
practice, the design of systems that produce the best possible
outputs can be quite challenging when the choice of outputs is
constrained, the consequences of the outputs are uncertain and/or
dependent on other systems, the information provided by the inputs
is incomplete and/or noisy, there are multiple (possibly competing)
objectives to satisfy, the system must adapt to its environment over
time, etc. This course provides an introduction to Artificial
Intelligence, covering some of the core topics that underlay
automated reasoning. The modeling techniques that will be
covered are quite versatile and can be used to tackle a wide range
of problems in many fields including natural language processing
(e.g., topic modeling, document clustering), robotics
(e.g., mobile robot navigation), automated diagnosis
(e.g., medical diagnosis, fault detection), data mining (e.g., fraud
detection, information retrieval), machine learning (e.g., speech
recognition, computer vision), operations research (e.g., resource
allocation, maintenance scheduling), assistive technologies, etc.
Outline
The topics we will cover include:
- Introduction to Artificial Intelligence
- Search and Problem Solving
- Uninformed Search
- Informed Search
- Constraint Satisfaction Problems
- Local search
- Reasoning Under Uncertainty
- Probability Theory
- Bayesian Networks
- Utility Theory
- Decision Networks
- Markov decision processes
- Machine Learning
- Inductive Learning
- Decision Trees
- Statistical Learning
- Ensemble Learning
- Neural Networks
- Bandits
- Reinforcement Learning
- Other areas of Artificial Intelligence
- Natural Language Processing
- Computer Vision
- Assistive Technologies