2015-04-15 2 views
0

Я пытаюсь создать программу, которая может найти лучшее решение для победы в игре с использованием NN, и я надеялся получить некоторую помощь от замечательного сообщества здесь.Определение входных данных и пригодности в ANN с GA Python

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

У вас есть много входов, которые создатель двигателя создал, например, у вас есть доступ: где все земли, расположенные на карте, где солдаты противника противника прямо сейчас, если земля уже завоевана или посередине покорения.

Я уже интегрировал ИНС в игровом движке и установить пригодность быть точками, которые он собирал, но приспособленность остается на чем + 1,
я предполагаю, что проблема заключается в том, что, чтобы захватить землю, что вам нужно оставайтесь рядом с ним в течение нескольких секунд, и я не могу заставить его узнать, как это сделать, фитнес остается на 1

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

извините за мой плохой английский.

ответ

0

Поскольку я не могу комментировать, я просто отвечу на некоторые предположения. (я также начинаю экспериментировать с NN и GA в Python тоже (MultiNEAT), так что не эксперт либо;))

  • Проблема может быть бедной обратной связью для генетического алгоритма, так что это может» t выберите лучших людей. Попробуйте сделать свой фитнес-счет более мелким, например, заставляя каждое небольшое движение к вражескому солдату немного увеличивать фитнес, а не просто выигрывать на основе конечных очков.

  • Каковы ваши сетевые выходы? Возможно, результаты сети не попадают в игру должным образом. Я бы сделал, например, выходные нейроны, предназначенные для передвижения для солдат, и, возможно, некоторые для реакций в случае близости (я действительно не знаю механики игры). Если у вас есть ограниченное количество возможных ответов из сети, возможно, этого недостаточно, чтобы выиграть игру, поэтому ни одна сеть не может действительно выиграть лучше.

  • Вы достаточно долго ждали? Чем больше проблема, тем больше времени потребуется, чтобы найти ответ, особенно на медленных компьютерах. Попробуйте использовать GPU для реализации генетического алгоритма для ускорения оценки сетей, если скорость окажется проблемой.

Удачи.

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