У меня проблема с реализацией mdp
(процесс принятия решения по Маркову) с помощью Python.
У меня есть эти матрицы: states: (1 x n)
и actions: (1 x m)
. Матрица перехода вычисляется по этому коду:
p = np.zeros((n,n))
for t in range(l): # my data is a 1x100 matrix
p[states[t]-1, states[t+1]-1] = p[states[t]-1, states[t+1]-1] + 1
for i in range(n):
p[i,:] = p[i, :] / np.sum(p[i, :])
и матрицу вознаграждений по этому коду:
for i in range(l):
Reward = (states[i+1]-states[i])/(states[i])*100
Чтобы иметь оптимальное значение, «пакет quantecon» в python определяется следующим образом:
ddp = quantecon.markov.DiscreteDP(R, Q, beta)
где Q: переходМатрица должна быть m x n x m
.
Может кто-нибудь помочь мне понять, как Q может быть (m, n, m) matirx ?!Заранее спасибо.