public double calculateDaviesMeasure(){
		double daviseMeasure = 0;
		double clusterCount = 0;
		for (int i = 0; i < this.clusters.size(); i++) {
			Cluster ci = this.clusters.get(i);
			if(!ci.getIsActive()) continue;
		//	if(ci.getPointsIDs().size() < 30) continue;
			clusterCount ++;
			double maxDistaceForCi = Double.MIN_VALUE;
			double avgDistanceForCi = calculateAverageDistanceInCluster(ci)/2;
			for (int j = 0; j < this.clusters.size(); j++) {
				Cluster cj = this.clusters.get(j);
				if(cj.getPointsIDs().size() < 30) continue;

				if(ci.getID() == cj.getID() || !cj.getIsActive()) continue;
				double distance = calculateDaviesMeasureBetweenTwoCluster(avgDistanceForCi, ci, cj);
				if(distance > maxDistaceForCi){
					maxDistaceForCi = distance;
				}
			}
			daviseMeasure += maxDistaceForCi;
		}
		return daviseMeasure/clusterCount;
	}