From 49312fea07e56e2d74179f4160a16cac6f614f97 Mon Sep 17 00:00:00 2001 From: sanine-a Date: Thu, 10 Aug 2023 15:27:32 -0500 Subject: add is_valid() --- src/genome/genome.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/genome/genome.js') diff --git a/src/genome/genome.js b/src/genome/genome.js index e2bf83e..3445fe9 100644 --- a/src/genome/genome.js +++ b/src/genome/genome.js @@ -49,3 +49,22 @@ export function mutate(gene, type, value) { } +export function is_valid(num_input, num_output, genome) { + const [ max_index, max_weight ] = genome.reduce( + ([max_index, max_weight ], [ source, sink, weight]) => [ + Math.max(max_index, source, sink), + Math.max(max_weight, Math.abs(weight)), + ], + [ 0, 0 ] + ); + + if (max_index < num_input + num_output - 1) { + return false; + } + else if (max_weight > 4.0) { + return false; + } + else { + return true; + } +} -- cgit v1.2.1