public static StateValuePair[] getStateValuePairs(ArrayList<String> replayStates, NeuralNetworkController neuralNetworkController) {
		LinkedList<StateValuePair> stateValuePairList = new LinkedList<StateValuePair>();
		
		Game game=new Game(0);
		for(String state : replayStates) {
			game.setGameState(state);	
			int currentNode = game.getPacmanCurrentNodeIndex();
			for (MOVE move : game.getPossibleMoves(game.getPacmanCurrentNodeIndex())) {
				Vector features = FeatureUtils.getFeatures(game, currentNode, move);
				double estimation = neuralNetworkController.getValueFunctionEstimation(features);
				stateValuePairList.add(new StateValuePair(features, estimation));
			}
		}
		
		StateValuePair[] stateValuePairs = new StateValuePair[stateValuePairList.size()];
		int i = 0;
		for (StateValuePair stateValuePair : stateValuePairList) {
			stateValuePairs[i++] = stateValuePair;
		}
		
		return stateValuePairs;
	}