Skip to content
Snippets Groups Projects
Commit dd85dd91 authored by Fredrik Bagge Carlson's avatar Fredrik Bagge Carlson
Browse files

Merge branch 'master' of gitlab.control.lth.se:cont-frb/reinforcementlearning

parents e1d13d3f 224417a8
No related branches found
No related tags found
No related merge requests found
Showing
with 25 additions and 4785 deletions
......@@ -2,36 +2,27 @@
import Parameters
struct LinearSys <: AbstractSystem
@with_kw struct LinearSys <: AbstractSystem
A
B
N
n
ns
h
σ0
sind
uind
s1ind
N = 1000
n = 10
ns = n
h = 0.02
σ0 = 0
sind = 1:ns
uind = ns+1:(ns+n)
s1ind = (ns+n+1):(ns+n+ns)
end
function LinearSys(seed;
N = 1000,
n = 10,
ns = n,
h = 0.02,
σ0 = 0,
sind = 1:ns,
uind = ns+1:(ns+n),
s1ind = (ns+n+1):(ns+n+ns))
function LinearSys(seed; kwargs...)
srand(seed)
A = randn(n,n)
A = A-A' # skew-symmetric = pure imaginary eigenvalues
A = A - h*I # Make 'slightly' stable
A = expm(h*A) # discrete time
B = h*randn(n,n)
LinearSys(A,B,N, n, ns, h, σ0, sind, uind, s1ind)
LinearSys(A=A, B=B, kwargs...)
end
function generate_data(sys::LinearSys, systype, seed, validation=false)
......
using Plots
function gridworld()
grid_size = (10,10)
iters = 10
A = [1,2,3,4]
running_cost = 0.1
grid = zeros(grid_size)
Q = 0*ones(length(A),grid_size...)
goal = (5,5)
function gridworld(;
grid_size = (10,10),
iters = 100,
A = [1,2,3,4],
running_cost = 0.1,
grid = zeros(grid_size),
Q = 0*ones(length(A),grid_size...),
goal = (5,5))
grid[goal...] = 5
function transition(x,y,a)
......@@ -28,7 +29,7 @@ function gridworld()
for y = 1:grid_size[2]
for x = 1:grid_size[1]
if (x,y) == goal
Q[:,x,y] = grid[goal...]
Q[:,x,y] .= grid[goal...]
continue
end
for a = A
......@@ -38,17 +39,17 @@ function gridworld()
end
end
end
heatmap(squeeze(maximum(Q,1),1)); gui()
heatmap(dropdims(maximum(Q,dims=1),dims=1)); gui()
# println(i)
# sleep(0.01)
end
println("done")
Q
end
@time Q = gridworld()
@time Q = gridworld();
for y = 1:grid_size[2]
for x = 1:grid_size[1]
for y = 1:10#grid_size[2]
for x = 1:10#grid_size[1]
a = indmax(Q[:,x,y])
sym = a == 1 ? :utriangle : a == 2 ? :rtriangle : a == 3 ? :dtriangle : :ltriangle
scatter!([x],[y],m=(sym,5), lab="", legend=false)
......
This diff is collapsed.
This diff is collapsed.
jump_lin_id/figs/surf.png

147 KiB

jump_lin_id/pres/figs/kalman-0.png

401 KiB

jump_lin_id/pres/figs/kalman-1.png

383 KiB

jump_lin_id/pres/figs/kalman-2.png

370 KiB

jump_lin_id/pres/figs/kalman-3.png

359 KiB

jump_lin_id/pres/figs/kalman-4.png

347 KiB

jump_lin_id/pres/figs/kalman-5.png

332 KiB

jump_lin_id/pres/figs/kalman-6.png

322 KiB

jump_lin_id/pres/figs/kalman-7.png

313 KiB

jump_lin_id/pres/figs/kalman-8.png

302 KiB

jump_lin_id/pres/figs/kalman-9.png

295 KiB

jump_lin_id/pres/figs/pendcart_draw.jpg

48 KiB

File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment