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