У меня есть набор переменных X, Y, ..., Z
. Моя работа заключается в разработке функции, которая принимает этот набор переменных и возвращает целое число. У меня есть фитнес-функция, чтобы проверить это.
Моя первая попытка решить проблему состоит в том, чтобы предположить, что я могу смоделировать f
как линейную функцию:
f(X, Y, ..., Z) -> aX + bY ... cZ
Моей первой идеей было использовать либо PSO (оптимизация роя частиц), либо генетические алгоритмы для решения f
вместо a, b, .., c
, и я уверен, что они дадут хорошие результаты.
С другой стороны, я чувствую, что, возможно, такие эволюционные алгоритмы на самом деле не нужны. Прежде всего, я могу придумать пару хороших «отправных точек» для a,b, .., c
. Поскольку f
это линейная функция, не проще ли просто попробовать пару точек, а затем сделать с ними что-то вроде линейной регрессии? И после линейной регрессии пробовать еще пару точек, на этот раз ближе к тому, что выглядит как хорошее «пятно», снова делая по ним линейную регрессию?
Каковы его недостатки? У кого есть опыт в таких проблемах? Самое большое, о чем я могу думать, это то, что, возможно, то, что я считаю хорошими начальными значениями для a,b, .., c
, может быть «локальным оптимумом», и наличие какого-то эволюционного алгоритма даст мне глобальный оптимум.
Предполагается, что f
является аппроксимирующей функцией для минимаксного алгоритма игры, похожей на шахматы, если это имеет значение.
Спасибо