@Override
	public boolean equals(Object obj) {
		if (!obj.getClass().equals(Genotype.class))
			return false;
		Genotype other = (Genotype) obj;
		if (this.generation != other.generation)
			return false;
		if (this.hiddenLayersCount != other.hiddenLayersCount)
			return false;
		// if (this.genes.equals(other.genes)) return false;
		if (this.genes.size() != other.genes.size())
			return false;
		for (int i = 0; i < this.genes.size(); i++) {
			if (Math.abs(this.genes.get(i) - other.genes.get(i)) > 0.000000000000001)
				return false;
		}
		return true;
	}