From 70252c2ef37ddf974349fa092dce92782ffd302a Mon Sep 17 00:00:00 2001 From: sanine Date: Mon, 30 Oct 2023 02:14:17 -0500 Subject: add genome creation & mutation trial --- src/genome/trial.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/genome/trial.js (limited to 'src/genome/trial.js') diff --git a/src/genome/trial.js b/src/genome/trial.js new file mode 100644 index 0000000..2ce23bf --- /dev/null +++ b/src/genome/trial.js @@ -0,0 +1,37 @@ +import { + get_size, + mut_genome_insert, mutate_genome, +} from './genome.js'; + +const recurse = (f, x0, n) => { + if (n == 0) { + return x0; + } else { + return f(recurse(f, x0, n-1)); + } +}; + + +const n_input = 5; +const n_output = 5; + + +const [_1, _2, _3, genome] = recurse( + s => mut_genome_insert( + s, 4, + Math.random(), Math.random(), Math.random() + ), + [n_input, 10, n_output, []], + 20); + + +const n_internal = get_size(n_input, n_output, genome) - n_input - n_output; +console.log([n_input, n_internal, n_output, genome]); + +const mutation = recurse( + s => mutate_genome(s, 4), + [n_input, n_internal, n_output, genome], + 40 +); + +console.log(mutation); -- cgit v1.2.1