public Genetic(Object[] elements)
	{
		int[] allTheOtherValues = (int[]) elements[3];
		boolean[][] data = (boolean[][]) elements[0];
		int[] ids = new int[data.length];
		for (int i = 0; i < data.length; i++)
			ids[i] = i;
		graph = new AdjacencyMatrix(data, ids);
		populationSize = allTheOtherValues[0]; //popSize;
		maxNumGenerations = allTheOtherValues[1]; //numGen;
		selectionSrategy = allTheOtherValues[2]; //selStrategy;
		tournamentSize = allTheOtherValues[3]; //tournSize;
		crossOverProbability = allTheOtherValues[4]; //crossOverProb;
		mutationProbability = allTheOtherValues[5]; //mutationProb;
		generationGap = allTheOtherValues[6]; //genGap;
		File file = new File("details.txt");
		if(!file.exists())
			try {
				file.createNewFile();
		} catch (IOException ex) {
			Logger.getLogger(Genetic.class.getName()).log(Level.SEVERE, null, ex);
		}
		try {
			fw = new FileWriter(file);
			fw.write("population Size: " + populationSize);
			fw.write("\nmax Num Generations: " + maxNumGenerations);
			fw.write("\nselection Srategy: " + (selectionSrategy == 0? "random":(selectionSrategy == 1)?"Tournament":(selectionSrategy == 2)?"Fitness Prop":"Rank Based Selection"));
			fw.write("\ntournament Size: " + tournamentSize);
			fw.write("\ncross Over Probability: " + crossOverProbability);
			fw.write("\nmutation Probability: " + mutationProbability);
			fw.write("\ngeneration Gap: " + generationGap + "\n");
			fw.close();
		} catch (IOException ex) {
			Logger.getLogger(Genetic.class.getName()).log(Level.SEVERE, null, ex);
		}
	}