public void epoch(){
		EPOCH_allmoves = STAT_allmoves / (double) STAT_rounds;
		EPOCH_badmoves = STAT_badmoves / (double) STAT_allmoves;
		EPOCH_wins = STAT_wins / (double) STAT_rounds;
		resetStats();
		
		//Running average of this model's stats
		if (first_epoch){
			first_epoch = false;
			MODEL_badmoves = EPOCH_badmoves;
			MODEL_allmoves = EPOCH_allmoves;
			MODEL_wins = EPOCH_wins;
		}
		else{
			double inv = 1-modelCreep;
			MODEL_badmoves = inv*MODEL_badmoves + modelCreep*EPOCH_badmoves;
			MODEL_allmoves = inv*MODEL_allmoves + modelCreep*EPOCH_allmoves;
			MODEL_wins = inv*MODEL_wins + modelCreep*EPOCH_wins;
		}
	}