public static NeuralNetworkController createFromFile(String file) {
		NNR valueFunction = NNR.createFromFile(file);
		if (valueFunction != null) {
			int[] topologyValueFunction = valueFunction.getTopology();
			
			// assert correct topology
			for (int i = 0; i < topologyValueFunction.length; i++) {
				if (topologyValueFunction[i] != topology[i]) 
					return null;
			}
			
			NeuralNetworkController controller = new NeuralNetworkController();
			controller.valueFunction = valueFunction;
			return controller;
		}
		
		return null;
	}