Я реализовал алгоритм итерации значения для простого процесса принятия решения по методу Маркова Wikipedia в Python. Чтобы сохранить структуру (состояния, действия, переходы, награды) конкретного марковского процесса и перебрать его, я использовал следующие структуры данных:
-
словарь для состояний и действий, доступных для этих состояния:
SA = { 'state A': {' action 1', 'action 2', ..}, ...} -
словарь для вероятностей перехода:
СловарьT = {('state A', 'action 1'): {'state B': probability}, ...} -
для вознаграждений:
R = {('state A', 'action 1'): {'state B': reward}, ...}.
Мой вопрос: правильно ли это? Каковы наиболее подходящие структуры данных (в Python) для MDP?