Хотите реализовать подкрепление обучения подключить четыре агента - PullRequest
3 голосов
/ 10 января 2012

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

Как это сделать?Должен ли я использовать TD (лямбда) или Q-learning, и как деревья MinMax приходят к этому?Как работают мои функции Q и V (Качество действий и Ценность состояния).Как мне забить эти вещи?Какова моя базовая политика, которую я улучшаю, и какова моя модель?Другое дело, как мне сохранять состояния или состояния Xaction (в зависимости от алгоритма обучения).Должен ли я использовать нейронные сети или нет?И если да, то как?

Я использую JAVA.

Спасибо.

1 Ответ

2 голосов
/ 19 января 2012

Это может быть более сложной проблемой, чем вы думаете, и вот почему:

Пространство действия для игры - это выбор столбца, в который можно бросить фигуру. Пространство состояний для игры является сеткой MxN. Каждый столбец содержит до M фигур, распределенных между двумя игроками. Это означает (2 M + 1 -1) N состояний. Для стандартной платы 6x7 это примерно 10 15 . Из этого следует, что вы не можете применить повторное обучение непосредственно к проблеме. Функция значения состояния не является гладкой, поэтому приближение функции не будет работать.

Но не все потеряно. Во-первых, вы можете упростить проблему, разделив пространство действий. Если вы рассматриваете значение каждого столбца отдельно, основываясь на двух столбцах рядом с ним, вы уменьшаете N до 3, а размер пространства состояний до 10 6 . Теперь это очень управляемо. Вы можете создать массив для представления этой функции значения и обновить его, используя простой алгоритм RL, такой как SARSA.

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

...