Вопрос

Я пытаюсь создать простой Полоски-базированный планировщик. Я завершил основную функциональность для вычисления отдельных вероятностных планов, которые достигли цели, но теперь я пытаюсь определить, как объединить эти планы, основанные на их первоначальном действии, чтобы определить, что «общее» лучшие действия в T0 Отказ

Рассмотрим следующий пример. Утилита, ограниченная от 0 до 1, представляет, насколько хорошо план достигает цели. CF, также ограниченный от 0 до 1, представляет собой определенно-фактор или вероятность того, что выполнение плана приведет к данной утилите.

Plan1: CF=0.01, Utility=0.7
Plan2: CF=0.002, Utility=0.9
Plan3: CF=0.03, Utility=0.03

Если все три плана, которые являются взаимоисключающими, начните с действия A1, как я должен сочувствовать их, чтобы определить общую «фитнес» для использования действия A1? Моя первая мысль состоит в том, чтобы суммировать определенные факторы и кратным образом, что в среднем утилиты. Это кажется правильным?

Так что мой текущий результат будет выглядеть так:

fitness(A1) = (0.01 + 0.002 + 0.03) * (0.7 + 0.9 + 0.03)/3. = 0.02282

Или я должен рассчитать отдельных вероятных коммунальных услуг, а в среднем?

fitness(A1) = (0.01*0.7 + 0.002*0.9 + 0.03*0.03)/3. = 0.00323

Есть ли более теоретически звук?

Это было полезно?

Решение

Если вы принимаете меры A1, то вы должны решить, какой из 3 планов следует следовать, которые являются взаимоисключающими. В этот момент мы можем рассчитать, что ожидаемая утилита плана 1

E[plan1] = Prob[plan1 succeeds]*utility-for-success 
           + Prob[plan1 fails]*utility-of-failure
         = .01*.7 + .99*0 //I assume 0
         = .007

Точно так же для других 2 планов. Но, поскольку, поскольку вы можете выбрать только один план, реальная ожидаемая утилита (которую я думаю, что вы подразумеваете под «Фитнес») от принятия мер A1

max(E[plan1],E[plan2],E[plan3]) = fitness(A1)

Другие советы

Я думаю, что функция фитнеса, о которой вы говорите, должны также рассмотреть все планы, которые не имеют A1 в качестве первого действия. Они могут быть все были действительно хорошими, в этом случае выполнение A1 - плохая идея, или они могут быть ужасны, в этом случае, когда A1 выглядит как хороший ход.

Глядя на свои идеи, второй делает мне гораздо больше смысла. Он рассчитывает ожидаемую полезность сбора плана равномерно у всех планов, которые начинаются с A1. Это под предположением, что план либо обеспечивает данную утилиту или полностью завершится. Например, первый план получает утилиту = 0,01 с вероятностью 0,7 и получает утилиту = 0 с вероятностью 0,3. Это похоже на разумное предположение; Это все, что вы можете сделать, если у вас нет дополнительных данных для работы.

Итак, вот мое предложение: Пусть A1 будет все планы, начиная с A1 и ~ A1, будьте все планы, не начиная с A1. Затем

F(A1) = fitness(A1) / fitness(~A1)

Где фитнес, как вы определили его во втором примере.

Это должно дать вам соотношение ожидаемой утилиты для планов, начиная с A1 против тех, которые нет. Если он больше, чем один, A1 выглядит как хорошее действие.

Если вы заинтересованы в вероятностном планировании, вы должны посмотреть на Модель PomDP и алгоритмы, как стоимость итерации.

Редактировать:

На самом деле, я должен был указать вам Процесс решения Маркова (без Po). Мне жаль.

Что вы, вероятно, должны сделать для вашей проблемы, - это максимизировать ожидаемую утилиту. Позвоните в фитнес это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top