I've written an application to help players pick the optimal heroes during the draft phase of the Heroes of the Storm MOBA. It can be daunting to pick from 80+ characters that have synergies/counters to other characters, strong/weak maps, etc. The app attempts to pick the optimal composition using a genetic algorithm (GA) based on various sources of information on these heroes.
The problem I've realized is that not all sources of information are created equal. At the moment I'm giving all sources roughly equal importance in the fitness function but as I add other sources, I think it's going to be necessary to be more discerning about them.
It seems like the right way to do this would be to use a single layer neural network where the weights of the synapses represent the weights in the fitness function. I could use matches played at a high-level (e.g. from MasterLeague.net) to form the training and test sets.
Does this sound like a viable approach or am I missing something simpler? Is the idea of the using a GA even the correct way to approach this problem?