2012-01-10 2 views
3

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

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

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

Спасибо.

+0

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

+0

Слух, как кто-то это сделает, это очень поможет – Vadiklk

+0

Так как вы делаете это ради интереса, я бы использовал самый простой и интересный подход. Мне нравятся нейронные сети, поэтому я бы попробовал, но чтобы действительно учиться, вы должны исследовать каждую из этих тем (которые являются кандидатскими докторантами сами по себе) и посмотреть, насколько легко или эффективно каждый подход. –

ответ

2

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

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

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

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

Смежные вопросы