Как рассчитывается оптимальная политика для текущих утилит?

Экзаменационные решения

Я изучаю Марковский процесс принятия решения и для 6-го вопроса экзамена (см. Ссылку, прикрепленную выше) я понимаю, как полезность рассчитывается, когда после действия получается то же состояние (часть а Вопроса 6).

J*(cool) = 4 + 0.9 * J*(cool)

Но я не понимаю, как можно сделать расчеты для других состояний и действий (часть b вопроса 6). Я предполагаю, что уравнения будут примерно такими:

Для действия "быстро" в состоянии "круто":

J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))

Для действия "медленно" в состоянии "тепло":

J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))

Для действия "быстро" в состоянии "тепло":

J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))

Но у нас нет ни одной переменной в этих уравнениях, и у нас нет полезностей этих состояний? Как мы можем получить значение ожидаемых утилит, связанных с каждым действием?

1 ответ

Решение

Вы на правильном пути с этими уравнениями. Вам просто нужно рассмотреть каждую из четырех возможных политик по очереди: (медленно, медленно), (быстро, медленно), (медленно, быстро), (быстро, быстро).

Рассмотрим (медленно, быстро):

Из а) вы уже видели J*(круто) = 40.

J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * J*(off))
J*(warm) = 10 + 0.9 * (0.875 * J*(warm) + 0.125 * 0)
J*(warm) = 47.06

Для (медленно, медленно):

Опять же, J*(круто) не зависит от ваших действий в теплом состоянии, поэтому J*(круто) = 40.

J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * 40 + 0.5 * J*(warm))
J*(warm) = 40

И для (быстро, быстро):

На этот раз значение нахождения в теплом состоянии не зависит от холодного действия и составляет J*(теплый) = 47,06 сверху.

J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * 47.06)
J*(cool) = 53.89

Наконец (быстро, медленно):

Это самый сложный случай, но у нас есть два уравнения и два неизвестных, поэтому мы можем решить, используя одновременные уравнения.

J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * J*(warm))
J*(warm) = 4 + 0.9 * (0.5 * J*(cool) + 0.5 * J*(warm))

J*(warm) = (4 + 0.45 * J*(cool))/0.55

J*(cool) = 10 + 0.9 * (0.25 * J*(cool) + 0.75 * (4 + 0.45 * J*(cool))/0.55)
J*(cool) = 66.94
J*(warm) = 62.04

Как мы видим, наибольшее значение, которое можно получить, если мы начнем в теплом состоянии, составляет 62,04. Наибольшее значение, начинающееся в прохладном, составляет 66,94 И то, и другое происходит, когда наша политика (быстрая, медленная), то есть быстрая в прохладном, медленная в теплом, следовательно, это оптимальная политика.

Оказывается, что невозможно иметь оптимальную политику, если вы начинаете в состоянии A, но не оптимальную, если вы начинаете в состоянии B. Также стоит отметить, что для этих типов MDP с бесконечным временным горизонтом вы можете доказать, что оптимальная политика всегда будет стационарной, то есть, если оптимально предпринять медленное действие в холодном состоянии в момент времени 1, оптимальным будет медленное действие для всех времен.

Наконец, на практике число состояний и действий намного больше, чем в этом вопросе, и обычно требуются более сложные методы, такие как итерация значения, итерация политики или динамическое программирование.

Другие вопросы по тегам