public void potentialStat(){
        int[] noSize = new int[100];
        double[] potentialPerSize = new double[100];
        double minDensity = 2.0, maxDensity = -1.0;
        double density = 0;
        Arrays.fill(noSize, 0);
        Arrays.fill(potentialPerSize, 0);
        for (int id : answers.keySet()) {
            Subgraph g = answers.get(id);
            int size = g.nodes.size();
            if (size >= 100)
                size = 99;
            noSize[size]++;
            potentialPerSize[size] += g.score;
            if (g.size()>0){
                density = g.score/g.size();
                if (minDensity > density){
                    minDensity = density;
                }
                if (maxDensity < density){
                    maxDensity = density;
                }
            }
        }

        String strSize = "";
        String strAvgPotentialPerSize = "";
        for (int size = 0; size < noSize.length; size++){
            if (noSize[size]==0)
                continue;
            strSize += "," + Integer.toString(size);
            strAvgPotentialPerSize += "," + Double.toString((double)potentialPerSize[size]/noSize[size]);
        }
        System.err.println("Avg Potential per size:\n" + strSize + "\n" + strAvgPotentialPerSize);
        System.err.println("\nMaxDensity:" + maxDensity + "\tMinDensity:" + minDensity + "\tDensitySpan:" + (maxDensity - minDensity) + "\n");
    }