public static GraphEdgeBinaryChromosome CreateRandom(Graph.Graph graph, IRandomization randomization) { IEnumerable <EdgeBinaryGene> genes = graph.Edges.Select(e => new EdgeBinaryGene(randomization.NextBoolean(), e)) .ToList(); Graph.Graph chromosomeGraph = new Graph.Graph(graph.Vertices, genes.Where(g => g.Value).Select(g => g.Edge)); return(new GraphEdgeBinaryChromosome(genes, chromosomeGraph.GetConnectedComponents())); }