You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As discussed a bit on Monday, we use the NEAT algorithm to train a network to be a heuristic function, i.e. the neural network takes in the field and any PDIs (aka features) and outputs a single value which is how desirable that state is.
That means the fitness evaluation and tetris simulation will need to be changed to simulate all possible actions and the corresponding states and run the states through the evolve neural network. You can port over the code from TetrisState in GeneticHeuristcTetris repo (change the return value of evaluateHeuristic to be the neural net output).
In terms of initial network structure try directly connecting essential PDIs to the output and leaving the field inputs and other less important PDIs disconnected. Theoretically it would be the same as a normal heuristic function where the weights of the edges are the weights in the heuristic function, but because it's running NEAT it has the ability to evolve more features (and discard irrelevant features). You can take the features I've implemented from the paper (leave disconnected because there's too many) and El-Tetris (connect all 6 since it offers good performance on my runs), and also take features implemented by our senior here (connect and disconnect as you see fit).
Go ahead and split this issue up and assign new issues to yourself so we know what part you're working on.
The text was updated successfully, but these errors were encountered:
As discussed a bit on Monday, we use the NEAT algorithm to train a network to be a heuristic function, i.e. the neural network takes in the field and any PDIs (aka features) and outputs a single value which is how desirable that state is.
That means the fitness evaluation and tetris simulation will need to be changed to simulate all possible actions and the corresponding states and run the states through the evolve neural network. You can port over the code from TetrisState in GeneticHeuristcTetris repo (change the return value of evaluateHeuristic to be the neural net output).
In terms of initial network structure try directly connecting essential PDIs to the output and leaving the field inputs and other less important PDIs disconnected. Theoretically it would be the same as a normal heuristic function where the weights of the edges are the weights in the heuristic function, but because it's running NEAT it has the ability to evolve more features (and discard irrelevant features). You can take the features I've implemented from the paper (leave disconnected because there's too many) and El-Tetris (connect all 6 since it offers good performance on my runs), and also take features implemented by our senior here (connect and disconnect as you see fit).
Go ahead and split this issue up and assign new issues to yourself so we know what part you're working on.
The text was updated successfully, but these errors were encountered: