Neural Network - Should I Remove All Derived / Calculated Variables? I'm using a neural network to control the movement of a character in a game.  I've currently got a huge amount of dimensions and in the interest of trimming them to improve storage and code manageability, I'm considering removing all derived variables i.e. any variable which can be calculated from data already sent into to the network.  
An example of this would be the relationship between a) position, b) velocity, and c) acceleration along a path.  Currently, I send the last 50 data points of all three to the NN to help it decide its next movement.  However, I wonder if system control / error could be minimized just as easily by sending only position.  Theoretically the neural network should be able to derive the velocity and acceleration at a point in time entirely on it's own given the position history.
Generally, is dimension reduction in this capacity recommended?  Why or why not?  
I know the oft recommendation in this scenario is just to test it and see what happens, but in this case there are so many variables here that it would take days to test, so I was hoping to hear anyone's experience given this type of situation and what they surmise the general rule to be.
Bonus question--would this assessment / decision be different for a neural network (intent on mapping functions to data) as opposed to a random forest (seems to use more of a nearest neighbor approach).
Thanks!!
 A: I have not personally worked with this type of movement prediction, but in my experience with other problems I typically remove features that are simple linear transformations of others.  The reason I do this is because a linear transformation of a linear transformation is just another linear transformation.  So, if we start with 2 features, add a third feature that is a linear transformation of the first 2, and then pass these features through a linear classifier, the result will still be a linear transformation of the first 2 features.  In addition, linear dependence between features can harm non-neural network classifiers that need to estimate covariance matrices, causing these matrices to become non-full-rank.  
However, it can be useful to include non-linear transformations of the original features.  This could be a way of including expert knowledge in the model, which could be quite important if you do not have a lot of training data.
For classifiers that do not calculate linear transformations (such as decision trees and random forests), I think it's possible that including linear feature transformations might help.  If the decision tree splits on a single feature at a time (such as the popular C4.5 algorithm), you are given the training algorithm the option of splitting the data using linear transformations instead of just the raw features.
