From ae504c5f500b523eecb51b41eaf3b51d799d8a5f Mon Sep 17 00:00:00 2001 From: sanine Date: Mon, 30 Oct 2023 00:31:47 -0500 Subject: add mut_genome_expand --- src/genome/genome.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/genome/genome.js') diff --git a/src/genome/genome.js b/src/genome/genome.js index c288d02..7688b32 100644 --- a/src/genome/genome.js +++ b/src/genome/genome.js @@ -88,3 +88,19 @@ export function mut_gene_weight(weight_max, gene, r) { clamp(new_weight, -weight_max, weight_max), ]; } + + +export function mut_genome_expand( + [n_input, n_internal, n_output, genome], r +) { + const expand_index = Math.floor(n_internal * r) + n_input; + const new_genome = genome.map(([source, sink, weight]) => [ + source >= expand_index ? source+1 : source, + sink >= expand_index ? sink+1 : sink, + weight, + ]); + + return [ + n_input, n_internal+1, n_output, new_genome, + ]; +} -- cgit v1.2.1