Usage Examples
==============

In the following, we collect the links to MushroomRL scripts showing examples for most approaches available in
MushroomRL.

The examples can be all found in the `examples <https://github.com/MushroomRL/mushroom-rl/tree/dev/examples>`_ folder
in the MushroomRL `repository <https://github.com/MushroomRL/mushroom-rl>`_.


Finite MDPs with Temporal Difference
------------------------------------

- `Simple Chain <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/simple_chain_qlearning.py>`_
- `Double Chain <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/double_chain_q_learning/double_chain.py>`_
- `Grid World <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/grid_world_td.py>`_
- `Taxi <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/taxi_mellow_sarsa/taxi_mellow.py>`_


TD with function approximation
------------------------------
- `Mountain Car with SARSA <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/mountain_car_sarsa.py>`_
- `Puddle World with SARSA <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/puddle_world_sarsa.py>`_
- `CarOnHill with FQI <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/car_on_hill_fqi.py>`_
- `CartPole with LSPI <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/cartpole_lspi.py>`_


Classical Policy Search and Actor-Critic
----------------------------------------
- `LQR with Policy Gradient <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/lqr_pg.py>`_
- `Pendulum with Stochastic Actor-Critic <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_ac.py>`_
- `Pendulum with Deterministic Actor-Critic <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_dpg.py>`_


Black Box Optimization
----------------------
- `LQR with BBO <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/lqr_bbo.py>`_
- `Segway with BBO <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/segway_test_bbo.py>`_
- `Ship Steering with BBO <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/ship_steering_bbo.py>`_


Deep Critic-Only
----------------
- `Acrobot with DQN <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/acrobot_dqn.py>`_
- `Minigrid with DQN <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/minigrid_dqn.py>`_
- `Atari <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/atari_dqn.py>`_


Deep Actor-Critic
-----------------

- `Acrobot with A2C <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/acrobot_a2c.py>`_
- `Pendulum with A2C <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_a2c.py>`_
- `Pendulum with Trust Region approaches <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_trust_region.py>`_
- `Pendulum with Deterministic Gradient <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_ddpg.py>`_
- `Pendulum with SAC <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/pendulum_sac.py>`_


Continuos Control From Pixels
-----------------------------

- `Walker (Stand Task) from Pixel <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/walker_stand_ddpg.py>`_
- `Walker (Stand Task) from Pixel and Shared Network  <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/walker_stand_ddpg_shared_net.py>`_


Others Examples (Environment and Tools)
---------------------------------------

- `Using Dataset Plotting callback and State Normalization <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/plotting_and_normalization.py>`_
- `Habitat Navigation Task with DQN <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/habitat/habitat_nav_dqn.py>`_
- `Habitat Rearrange Task with SAC from Pixel and Shared Network  <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/habitat/habitat_rearrange_sac.py>`_
- `iGibson with DQN <https://github.com/MushroomRL/mushroom-rl/blob/dev/examples/igibson_dqn.py>`_




