Hello again,
As @Henrique_Becker I reduced the dimension but as @goerch said I still do not know how to do it.
I will explain it better:
I need to create a state space made of many vectors, let’s consider:
([(d,e,f,g,h) for d in 0:10 for e in 0:10 for f in 0:10 for g in 0:10 for h in 0:10])
In this state space, there are several vectors that determine a terminal state, those whose last term is equal to zero:
([(x,y,z,w,0) for x in 0:10 for y in 0:10 for z in 0:10 for w in 0:10])
I have tried:
using POMDPs, POMDPModelTools, QuickPOMDPs, Random
using LinearAlgebra, StaticArrays
#load solver
using DiscreteValueIteration
#define State data type
mutable struct State
a
end
#define State space
null = State([(x,y,z,w,0) for x in 0:10 for y in 0:10 for z in 0:10 for w in 0:10])
S = [[State([(d,e,f,g,h) for d in 0:10 for e in 0:10 for f in 0:10 for g in 0:10 for h in 1:10])...,null]]```
For null I get:
State([(0, 0, 0, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0), (0, 0, 0, 3, 0), (0, 0, 0, 4, 0), (0, 0, 0, 5, 0), (0, 0, 0, 6, 0), (0, 0, 0, 7, 0), (0, 0, 0, 8, 0), (0, 0, 0, 9, 0) … (10, 10, 10, 1, 0), (10, 10, 10, 2, 0), (10, 10, 10, 3, 0), (10, 10, 10, 4, 0), (10, 10, 10, 5, 0), (10, 10, 10, 6, 0), (10, 10, 10, 7, 0), (10, 10, 10, 8, 0), (10, 10, 10, 9, 0), (10, 10, 10, 10, 0)])
For S I get:
ERROR: MethodError: no method matching iterate(::State)
And when i do:
using POMDPs, POMDPModelTools, QuickPOMDPs, Random
using LinearAlgebra, StaticArrays
#load solver
using DiscreteValueIteration
#define State data type
mutable struct State
arr::MVector{5, Int64}
end
#define State space
null = State([(x,y,z,w,0) for x in 0:10 for y in 0:10 for z in 0:10 for w in 0:10])
S = [[State([(d,e,f,g,h) for d in 0:10 for e in 0:10 for f in 0:10 for g in 0:10 for h in 1:10])...,null]]
For null I get:
ERROR: DimensionMismatch("expected input array of length 5, got length 14641")
For S I get:
ERROR: DimensionMismatch("expected input array of length 5, got length 146410")
None of them works because I do not need a “big vector”, I need a group of vectors. I hope this makes the problem clear. Can you help me?