Skip to content

Commit

Permalink
testing reinforcement Learning package
Browse files Browse the repository at this point in the history
  • Loading branch information
korilium committed Sep 25, 2024
1 parent 824e489 commit 30dfb63
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 4 deletions.
1 change: 1 addition & 0 deletions reinforecementLearning/Lottery.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# creating your own environment
69 changes: 65 additions & 4 deletions reinforecementLearning/One-dimensionalRandomWalk.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,75 @@ using ReinforcementLearning
env = RandomWalk1D()


state_space(env)
S = state_space(env)

action_space(env)
s = state(env)

A = action_space(env)

is_terminated(env)

while true
act!(env, rand(A))
is_terminated(env) && break
end

state(env)

is_terminated(env)
# use random policy on eneviornment
run(
RandomPolicy(),
RandomWalk1D(),
StopAfterNEpisodes(10),
TotalRewardPerEpisode()
)


#QBasedLearner

NS = length(S)
NA = length(A)

policy = QBasedPolicy(
learner = TDLearner(
TabularQApproximator(
n_state= NS,
n_action = NA,
),
:SARS
),
explorer = EpsilonGreedyExplorer(0.1)
)



run(
policy,
RandomWalk1D(),
StopAfterNEpisodes(10),
TotalRewardPerEpisode()
)


# learn the policy

using ReinforcementLearningTrajectories

trajectory =Trajectory(
ElasticArraySARTSATraces(;
state = Int64 => (),
action = Int64 => (),
reward = Float64 => (),
terminal = Bool => (),
),
DummySampler(),
InsertSampleRatioController(),
)

agent = Agent(
policy = RandomPolicy(),
trajectory = trajectory
)


rand(2)
run(agent, env, StopAfterNEpisodes(10), TotalRewardPerEpisode())

0 comments on commit 30dfb63

Please sign in to comment.