示例#1
0
  @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));
  }
示例#2
0
  @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));
  }