@Test public void testGetDensePotential() { Connections connections = new Connections(); connections.setNumInputs(10); Pool pool = new Pool(3); Synapse[] synapses = new Synapse[3]; int[] connecteds = new int[] {0, 1, 0, 0, 1, 1, 0, 1, 0, 1}; for (int i = 0, j = 0; i < connecteds.length; i++) { if (connecteds[i] == 0) continue; synapses[j] = new Synapse(connections, null, null, pool, i, i); synapses[j].setPermanence( connections, 0.0); // 0.0 -> These aren't set as connected but simply members. } int[] expected = {0, 1, 0, 0, 1, 1, 0, 1, 0, 1}; int[] dense = pool.getDensePotential(connections); assertTrue(Arrays.equals(expected, dense)); }
@Test public void testGetDenseConnected() { Connections connections = new Connections(); connections.setSynPermConnected(0.2d); connections.setNumInputs(5); Pool pool = new Pool(3); Synapse[] synapses = new Synapse[3]; double[] perms = new double[] {0.0, 0.2, 0.0, 0.2, 0.2}; for (int i = 0, j = 0; i < perms.length; i++) { if (perms[i] == 0) continue; synapses[j] = new Synapse(connections, null, null, pool, i, i); synapses[j++].setPermanence(connections, perms[i]); } int[] expected = {0, 1, 0, 1, 1}; int[] dense = pool.getDenseConnected(connections); assertTrue(Arrays.equals(expected, dense)); int[] expected2 = {0, 1, 0, 1, 0}; // expect last bit below synPermConnected synapses[2].setPermanence(connections, 0.19d); // set last bit below synPermConnected dense = pool.getDenseConnected(connections); assertTrue(Arrays.equals(expected2, dense)); }