public void generateArtificialData() {
		int maxNumberOfNodes = 200;
		double maxDensity = 30; // divided by 100

		for (int n = 20; n <= maxNumberOfNodes; n += 20) {
			for (double d = 5; d <= maxDensity; d += 5) {
				Properties properties = new Properties();
				properties.setProperty("graphType", "random");
				properties.setProperty("nodes", String.valueOf(n));
				properties.setProperty("density", String.valueOf(d));
				testQueue.put(properties, randomGraphGenerator.create(RandomGraphType.RANDOM, properties));
			}
		}

		int maxNumberOfCommunities = 5;
		double maxInsideDensity = 55; // multiplied by 100
		double maxTotalDensity = 30; // multiplied by 100
		for (int n = 20; n <= maxNumberOfNodes; n += 20) {
			for (int c = 2; c <= maxNumberOfCommunities; ++c) {
				for (double totalD = 5; totalD < maxTotalDensity; totalD += 5) {
					for (double insideD = totalD + 5; insideD < maxInsideDensity; insideD += 10) {
						Properties properties = new Properties();
						properties.setProperty("graphType", "random modular");
						properties.setProperty("nodes", String.valueOf(n));
						properties.setProperty("comm", String.valueOf(c));
						properties.setProperty("densityTotal", String.valueOf(totalD));
						properties.setProperty("densityInside", String.valueOf(insideD));
						testQueue.put(properties, randomGraphGenerator.create(RandomGraphType.RANDOMMODULAR, properties));
					}
				}
			}
		}
		System.out.println("generated random graphs: " + testQueue.size());
	}