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), 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
- Bandits
- Reinforcement Learning
- Other areas of Artificial Intelligence
- Natural Language Processing
- Assistive Technologies