# CS886 Topics in
Artificial Intelligence: Reasoning under Uncertainty

## 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 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 will focus on the principles of probabilistic
reasoning
and sequential decision making for a wide range of settings including
adaptive
and multi-agent systems. The modelling techniques that will be
covered
are quite versatile and can be used to tackle a wide range of problems
in
many fields including robotics (e.g., mobile robot navigation,
control),
computer systems (e.g., autonomic computing, query optimization),
human-computer
interaction (e.g., spoken dialog systems, user modelling),
bioinformatics
(e.g., gene sequencing, design of experiments), operations research
(e.g.,
resource allocation, maintenance scheduling, planning), etc.
Hence,
the course should be of interest to a wide audience beyond artificial
intelligence.

## Outline

- Introduction and Overview

- Probabilistic Inference
- Bayesian Networks
- Markov Networks

- Decision Making Under Uncertainty

- Utility Theory
- Value of Information
- Influence diagrams or Decision networks

- Sequential Reasoning
- Dynamic Bayesian networks
- Hidden Markov models
- Fully and Partially Observable Markov Decision Processes

- Learning and Adaptation
- Reinforcement Learning
- Bayesian Learning

- Multi-agent systems