CS886 Topics in Artificial Intelligence: Reasoning under Uncertainty


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.