diff options
Diffstat (limited to 'src/genome/genome.test.js')
-rw-r--r-- | src/genome/genome.test.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/genome/genome.test.js b/src/genome/genome.test.js index a021073..37bdacc 100644 --- a/src/genome/genome.test.js +++ b/src/genome/genome.test.js @@ -7,6 +7,7 @@ import { mut_gene_sink,
mut_gene_weight,
mut_genome_expand,
+ mut_genome_contract,
mut_genome_insert,
mut_genome_delete,
} from './genome';
@@ -165,6 +166,57 @@ test('expand genome', () => { });
+test('contract genome', () => {
+ const n_input = 1;
+ const n_internal = 3;
+ const n_output = 1;
+
+ const genome = [
+ [0, 1, 0],
+ [1, 2, 1],
+ [2, 3, 2],
+ [3, 4, 3],
+ ];
+
+ expect(mut_genome_contract([
+ n_input, n_internal, n_output, genome
+ ], 0.0)).toEqual([
+ n_input, n_internal-1, n_output,
+ [
+ [0, 1, 0],
+ [0, 1, 1],
+ [1, 2, 2],
+ [2, 3, 3],
+ ],
+ ]);
+
+ expect(mut_genome_contract([
+ n_input, n_internal, n_output, genome
+ ], 0.5)).toEqual([
+ n_input, n_internal-1, n_output,
+ [
+ [0, 1, 0],
+ [1, 2, 1],
+ [1, 2, 2],
+ [2, 3, 3],
+ ],
+ ]);
+
+ expect(mut_genome_contract([
+ n_input, n_internal, n_output, genome
+ ], 0.99)).toEqual([
+ n_input, n_internal-1, n_output,
+ [
+ [0, 1, 0],
+ [1, 2, 1],
+ [2, 3, 2],
+ [2, 3, 3],
+ ],
+ ]);
+});
+
+
+
test('insert new genes', () => {
const n_input = 1;
const n_internal = 2;
|