Обучение с подкреплением с жесткими ограничениями - PullRequest
0 голосов
/ 30 мая 2020

Окружение представляет собой ориентированный граф, состоящий из узлов, которые имеют свои собственные «качества» (отмечены зеленым) и ребер с ценами (отмечены красным). В этой среде существует ограничение Цена (P) . Цель состоит в том, чтобы набрать наибольшее количество очков «добродетели» из узлов , насколько это возможно, делая круг (например, 0 -> 6 -> 5 -> 0) и не превышая цену ограничение. .

Мне удалось реализовать алгоритм Q-Learning, когда нет ограничений, но я не совсем понимаю, как добавить жесткие ограничения при приближении Q-функции.

Например, начальная точка равна 0. Предел цены равен 13. Если выбрать путь 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 0, это не значит правильный выбор для Агент , потому что на узле 5 цена (13) предел был достигнут, следовательно, Агент должен быть наказан за нарушение ограничений . Однако выбор пути 0 -> 6 -> 5 -> 0 будет правильным выбором для Агента и, следовательно, он должен быть вознагражден . Чего я не понимаю, как сказать агенту , что иногда переход с 5 на 0 является идеальным выбором, а иногда это не применимо, потому что некоторые ограничения были нарушены. Я попытался наложить огромный штраф, если ценовое ограничение было нарушено, и немедленно закончил серию, но это не помогло.

Мой вопрос (ы):

  • Как добавить жесткие ограничения в алгоритмы RL, такие как Q-Learning?

  • Подходит ли Q-Learning для такого рода задач?

  • Если вместо Q-Learning выбрать другие алгоритмы, такие как поиск по дереву Монте-Карло.

Я предполагаю, что это очень распространенная проблема в сценарии реального мира ios, но Я не смог найти примеров по этому поводу.

enter image description here

...