public void analysePotentialOffers(List<Formula> potentialOffer) {
		
		if (potentialOffer.size() == 0) return;
		
		System.out.println("---+++Analysing Offers");
		System.out.println("---+++Number of potential offers: " + potentialOffer.size());
		
		Random rnd = new Random();
		
		double total = 0;
		double debugTotal = 0;
		for (Formula formula: potentialOffer) {
			formula.setRiskOfFailure(rnd.nextDouble()*2);
			if (formula.getRiskOfFailure() < 0.5) 
				formula.setArgumentClass(ArgumentClass.A);
			else if (formula.getRiskOfFailure() < 1)
				formula.setArgumentClass(ArgumentClass.B);
			else 
				formula.setArgumentClass(ArgumentClass.C);
			total += (2-formula.getRiskOfFailure());
		}
			
		
		for (Formula formula: potentialOffer) {
			formula.setProbability((2-formula.getRiskOfFailure()) / total);
			debugTotal += formula.getProbability();
		}
		
		System.out.printf("---+++Test Total Prob: %.2f\n", (double)Math.round(debugTotal));
		
		double entropy = 0;
		for (Formula formula: potentialOffer) {
			entropy -= formula.getProbability() * MathTools.Log2(formula.getProbability());
		}
		
		double uncertainty = 0;
		if (MathTools.Log2(potentialOffer.size()) == 0) 
			uncertainty = 0;
		else 
			uncertainty = entropy / MathTools.Log2(potentialOffer.size());
		
		System.out.printf("---+++Uncertainty: %.2f \n", uncertainty);
	}