The initial population is seeded randomly (each gene switched on with probability params$gene_init_prob); when params$start_with_all_positives is set, one individual containing all positive-z-score nodes is added. The population then evolves by rank-based selection, uniform crossover and optional mutation. Every ten generations the worst 10% of the population is replaced with fresh random individuals, and the previous best individual is preserved. The search stops after params$ga_iterations generations or once the best individual is unchanged for 50 generations.

.genetic_algorithm(network, sc, params, verbose = FALSE)

Arguments

network

A network from build_network().

sc

A score context from build_score_context().

params

A list of run parameters.

verbose

Logical; emit progress messages.

Value

A list of subnetwork objects from the best individual found.