Giter Club home page Giter Club logo

decision-making-under-uncertainty's Introduction

Decision Making Under Uncertainty with POMDPs.jl

Julia Academy YouTube

Introduction to the POMDPs.jl framework and its ecosystem.



The course covers how to build and solve decision making problems in uncertain environments using the POMDPs.jl ecosystem of Julia packages. Topics covered include sequential decision making frameworks—namely, Markov decision processes (MDPs) and partially observable Markov decision processes (POMDPs)—running simulations, online and offline solution methods (value iteration, Q-learning, SARSA, and Monte Carlo tree search), reinforcement learning, deep reinforcement learning (including proximal policy optimization (PPO), deep Q-networks (DQN), and actor-critic methods), imitation learning through behavior cloning of expert demonstrations, state estimation through particle filtering, belief updating, alpha vectors, approximate methods (including grid interpolation for local approximation value iteration), and black-box stress testing to validate autonomous systems. The course is intended for a wide audience—no prior MDP/POMDP knowledge is expected.

Installation

  1. Install Julia (we used v1.6.2, other versions should work)
  2. Install Pluto.jl
  3. Clone this repo:
    git clone https://github.com/JuliaAcademy/Decision-Making-Under-Uncertainty
  4. From the Julia REPL (julia), run Pluto (a web browser window will pop-up):
    julia> using Pluto
    julia> Pluto.run()
    Or you can simply run the following in a terminal:
    julia -E "using Pluto; Pluto.run()"
  5. From Pluto, open one of the .jl notebook files located in the Decision-Making-Under-Uncertainty/notebooks/ directory—enjoy!

Lectures

The lectures can be found on Julia Academy and YouTube. They are broken down as follows.

0. Introduction

Julia Academy Slides

Brief introduction to the content of this course.

1. MDPs: Markov Decision Processes

Julia Academy Slides Pluto

Introduction to MDPs using the Grid World problem.




2. POMDPs: Partially Observable Markov Decision Processes

Julia Academy Slides Pluto

Introduction to POMDPs using the Crying Baby problem.

3. State Estimation using Particle Filtering

Julia Academy Pluto

Using beliefs to estimate the state of an agent through particle filtering.

4. Approximate Methods

Julia Academy Pluto

Approximating a continuous space using grid interpolation and value function approximation.

5. Deep Reinforcement Learning

Julia Academy Pluto

Introduction to deep reinforcement learning applied to the pendulum swing-up MDP.

6. Imitation Learning

Julia Academy Pluto

Introduction to imitation learning using behavior cloning of expert demonstrations.

7. Black-Box Validation

Julia Academy Pluto

Stress testing a black-box system using adaptive stress testing.


Created and taught by Robert Moss.

decision-making-under-uncertainty's People

Contributors

mossr avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.