Я создал игру (в основном клон Agar.io), где игрок-человек помещается против контролируемых AI ботов, работающих на генетическом алгоритме и нейронных сетях.Как сделать свой генетический алгоритм более эффективным?
Проблема в том, что я считаю, что мой алгоритм неэффективен. У меня 10 ботов, оцененных по их фитнес-функции, и это время выжило. Их ген состоит из действительных чисел между -1 и 1.
От самого низкого до самого высокого уровня я беру n ботов до 5 ботов и беру текущее значение веса и добавляю его по гауссовскому числу, умноженному на (10^-n). У меня возникли проблемы с выполнением кроссовера с номерами с плавающей запятой, таким образом, я сделал такую мутацию, как это.
Очевидно, что мой ИИ не очень умен.
Как я мог улучшить свой алгоритм?
Вот где большая часть исходного кода заключается в случае необходимости: https://github.com/jadenyjw/evo/blob/master/core/src/com/evo/game/stages/GameStage.java
Это вне темы для SO. Возможно, попробуйте http://codereview.stackexchange.com/ – httpNick
@httpNick Спасибо, попробуем это. –
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он просит экспертную оценку рабочего кода (который не включен в сообщение). Это может быть больше подходит для [codereview.se], но они будут ожидать код в самой записи, как мы бы здесь. Код в местоположении за пределами площадки имеет нулевое значение для будущих читателей, если по какой-либо причине недоступно это место вне офиса (off-line, перемещено, удалено и т. Д.). –