I am working on a turn-based game AI using the neural network technique known as NEAT . I am trying to train a network that can move around two-dimensional space (X & Y coords), given the many values that are stored in what is actually a two-dimensional array.
I see two strategies for using a neural network:
For each "cell" in the grid, specify estimates from different heuristics as contributions to neurons and create NN, which is a very complex scoring system. Move the Non Playing Character (NPC) to the place with the highest score.
Create a compressed value for each ejuristic measure (somehow compressed as few bits as possible) and providing an input neuron for each of these measures.
I am interested in the second option, because it represents the least amount of necessary calculations (the runtime of the game is quite long), however, I am confused by the approach I could use to create a version of the “small representation” of two-dimensional heuristic values. I know there are methods like Fourier transforms, but I don’t know if they will fit my problem. Basically I am looking for a way to convert a 50x50 doubling array into one or two double values. These two double values can be compressed with losses, I do not need to return the original values, I just need a reasonable mechanism for changing the input data to a small size.
"" NPC ( "" "" ). , , (, 5 1 , , ).
, , , , .
Thankyou,
( ):
, . , , - ( 2D- ) . , - , 0.0 1.0. , , , "" .
, , , " ", , . 2500 , . , NN , , , , ( MD5, SHA) ...