├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── examples ├── dqn_cartpole │ ├── main.rs │ └── model.rs ├── policy_iteration_car_rental │ ├── agent.rs │ ├── env.rs │ ├── main.rs │ └── plot.py ├── q_table_frozen_lake │ └── main.rs ├── q_table_snake │ └── main.rs ├── requirements.txt ├── sarsa_windy_gridworld │ ├── agent.rs │ ├── main.rs │ └── plot.py └── ten_armed_testbed │ ├── main.rs │ └── plot.py └── src ├── algo ├── dqn.rs ├── mod.rs └── tabular │ ├── action_occurrence.rs │ ├── mod.rs │ ├── q_table.rs │ └── ucb.rs ├── decay.rs ├── ds ├── mod.rs ├── ring_buffer.rs └── sum_tree.rs ├── env.rs ├── exploration ├── epsilon_greedy.rs ├── mod.rs ├── softmax.rs ├── thompson.rs └── ucb.rs ├── gym ├── cart_pole.rs ├── frozen_lake.rs ├── grassy_field.rs ├── k_armed_bandit.rs ├── mod.rs └── windy_gridworld.rs ├── lib.rs ├── memory ├── base.rs ├── exp.rs ├── mod.rs └── prioritized.rs ├── prob └── mod.rs ├── traits ├── mod.rs └── to_tensor.rs ├── util.rs └── viz ├── app.rs ├── components ├── heatmap_scatter_plot │ ├── mod.rs │ └── points.rs ├── help.rs ├── log.rs ├── mod.rs └── plot.rs ├── mod.rs ├── tui.rs └── util.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | local/ 3 | venv/ 4 | out/ -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/README.md -------------------------------------------------------------------------------- /examples/dqn_cartpole/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/dqn_cartpole/main.rs -------------------------------------------------------------------------------- /examples/dqn_cartpole/model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/dqn_cartpole/model.rs -------------------------------------------------------------------------------- /examples/policy_iteration_car_rental/agent.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/policy_iteration_car_rental/agent.rs -------------------------------------------------------------------------------- /examples/policy_iteration_car_rental/env.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/policy_iteration_car_rental/env.rs -------------------------------------------------------------------------------- /examples/policy_iteration_car_rental/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/policy_iteration_car_rental/main.rs -------------------------------------------------------------------------------- /examples/policy_iteration_car_rental/plot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/policy_iteration_car_rental/plot.py -------------------------------------------------------------------------------- /examples/q_table_frozen_lake/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/q_table_frozen_lake/main.rs -------------------------------------------------------------------------------- /examples/q_table_snake/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/q_table_snake/main.rs -------------------------------------------------------------------------------- /examples/requirements.txt: -------------------------------------------------------------------------------- 1 | seaborn 2 | matplotlib 3 | pandas 4 | numpy -------------------------------------------------------------------------------- /examples/sarsa_windy_gridworld/agent.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/sarsa_windy_gridworld/agent.rs -------------------------------------------------------------------------------- /examples/sarsa_windy_gridworld/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/sarsa_windy_gridworld/main.rs -------------------------------------------------------------------------------- /examples/sarsa_windy_gridworld/plot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/sarsa_windy_gridworld/plot.py -------------------------------------------------------------------------------- /examples/ten_armed_testbed/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/ten_armed_testbed/main.rs -------------------------------------------------------------------------------- /examples/ten_armed_testbed/plot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/examples/ten_armed_testbed/plot.py -------------------------------------------------------------------------------- /src/algo/dqn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/dqn.rs -------------------------------------------------------------------------------- /src/algo/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/mod.rs -------------------------------------------------------------------------------- /src/algo/tabular/action_occurrence.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/tabular/action_occurrence.rs -------------------------------------------------------------------------------- /src/algo/tabular/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/tabular/mod.rs -------------------------------------------------------------------------------- /src/algo/tabular/q_table.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/tabular/q_table.rs -------------------------------------------------------------------------------- /src/algo/tabular/ucb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/algo/tabular/ucb.rs -------------------------------------------------------------------------------- /src/decay.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/decay.rs -------------------------------------------------------------------------------- /src/ds/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/ds/mod.rs -------------------------------------------------------------------------------- /src/ds/ring_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/ds/ring_buffer.rs -------------------------------------------------------------------------------- /src/ds/sum_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/ds/sum_tree.rs -------------------------------------------------------------------------------- /src/env.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/env.rs -------------------------------------------------------------------------------- /src/exploration/epsilon_greedy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/exploration/epsilon_greedy.rs -------------------------------------------------------------------------------- /src/exploration/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/exploration/mod.rs -------------------------------------------------------------------------------- /src/exploration/softmax.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/exploration/softmax.rs -------------------------------------------------------------------------------- /src/exploration/thompson.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/exploration/thompson.rs -------------------------------------------------------------------------------- /src/exploration/ucb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/exploration/ucb.rs -------------------------------------------------------------------------------- /src/gym/cart_pole.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/cart_pole.rs -------------------------------------------------------------------------------- /src/gym/frozen_lake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/frozen_lake.rs -------------------------------------------------------------------------------- /src/gym/grassy_field.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/grassy_field.rs -------------------------------------------------------------------------------- /src/gym/k_armed_bandit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/k_armed_bandit.rs -------------------------------------------------------------------------------- /src/gym/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/mod.rs -------------------------------------------------------------------------------- /src/gym/windy_gridworld.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/gym/windy_gridworld.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/memory/base.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/memory/base.rs -------------------------------------------------------------------------------- /src/memory/exp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/memory/exp.rs -------------------------------------------------------------------------------- /src/memory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/memory/mod.rs -------------------------------------------------------------------------------- /src/memory/prioritized.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/memory/prioritized.rs -------------------------------------------------------------------------------- /src/prob/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/prob/mod.rs -------------------------------------------------------------------------------- /src/traits/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/traits/mod.rs -------------------------------------------------------------------------------- /src/traits/to_tensor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/traits/to_tensor.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/util.rs -------------------------------------------------------------------------------- /src/viz/app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/app.rs -------------------------------------------------------------------------------- /src/viz/components/heatmap_scatter_plot/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/heatmap_scatter_plot/mod.rs -------------------------------------------------------------------------------- /src/viz/components/heatmap_scatter_plot/points.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/heatmap_scatter_plot/points.rs -------------------------------------------------------------------------------- /src/viz/components/help.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/help.rs -------------------------------------------------------------------------------- /src/viz/components/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/log.rs -------------------------------------------------------------------------------- /src/viz/components/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/mod.rs -------------------------------------------------------------------------------- /src/viz/components/plot.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/components/plot.rs -------------------------------------------------------------------------------- /src/viz/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/mod.rs -------------------------------------------------------------------------------- /src/viz/tui.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/tui.rs -------------------------------------------------------------------------------- /src/viz/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benbaarber/rl/HEAD/src/viz/util.rs --------------------------------------------------------------------------------