Могу ли я обучить какой-то алгоритм принятия решений, основанный на случайных решениях и их результатах? - PullRequest
0 голосов
/ 04 июня 2019

Для конкретных бизнес-правил, применимых к моей проблеме:

У меня есть инструмент программного моделирования, который принимает решения о том, куда передавать предметы (наряду с рядом других не связанных вещей).Обратите внимание, что каждое решение о передаче влияет на другие решения.Если я перенесу элемент 1 в местоположение A, элемент 2 не может быть перенесен в местоположение A, пока элемент 1 не будет перемещен.Процесс завершается, когда все элементы в конечном итоге были пропущены через систему (обычно требуется 1000-1200 передач).

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

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

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

Учитывая это, возможно ли, что ML или RL могут помочь принять эти решения о передаче в будущем?Какие типы алгоритмов или методов мне следует рассмотреть?

Также ради аргумента, давайте предположим, что я не могу просто добавить логический код в инструмент моделирования и позволить ему принимать решения таким образом (без жесткого кодирования принятия решения).

...