adjust parameter for xor problem
This commit is contained in:
@@ -26,7 +26,7 @@ def distance(nodes1: Array, connections1: Array, nodes2: Array, connections2: Ar
|
||||
def node_distance(nodes1, nodes2, disjoint_coe=1., compatibility_coe=0.5):
|
||||
node_cnt1 = jnp.sum(~jnp.isnan(nodes1[:, 0]))
|
||||
node_cnt2 = jnp.sum(~jnp.isnan(nodes2[:, 0]))
|
||||
max_cnt = jnp.maximum(node_cnt1, node_cnt2)
|
||||
max_cnt = jnp.maximum(node_cnt1, node_cnt2) - 2
|
||||
|
||||
nodes = jnp.concatenate((nodes1, nodes2), axis=0)
|
||||
keys = nodes[:, 0]
|
||||
@@ -72,6 +72,7 @@ def connection_distance(cons1, cons2, disjoint_coe=1., compatibility_coe=0.5):
|
||||
|
||||
return jnp.where(max_cnt == 0, 0, val / max_cnt)
|
||||
|
||||
|
||||
@vmap
|
||||
def batch_homologous_node_distance(b_n1, b_n2):
|
||||
return homologous_node_distance(b_n1, b_n2)
|
||||
|
||||
@@ -16,7 +16,7 @@ def object2array(genome, N):
|
||||
nodes = np.full((N, 5), np.nan)
|
||||
connections = np.full((2, N, N), np.nan)
|
||||
|
||||
assert len(genome.nodes) + len(genome.input_keys) + 1 <= N # remain one inf row for mutation adding extra node
|
||||
assert len(genome.nodes) + len(genome.input_keys) <= N # remain one inf row for mutation adding extra node
|
||||
|
||||
idx = 0
|
||||
n2i = {}
|
||||
|
||||
@@ -18,8 +18,8 @@ class Genome:
|
||||
# Fitness results.
|
||||
self.fitness = None
|
||||
|
||||
self.input_keys = [-i - 1 for i in range(config.basic.num_inputs)]
|
||||
self.output_keys = [i for i in range(config.basic.num_outputs)]
|
||||
# self.input_keys = [-i - 1 for i in range(config.basic.num_inputs)]
|
||||
# self.output_keys = [i for i in range(config.basic.num_outputs)]
|
||||
|
||||
if init_val:
|
||||
self.initialize()
|
||||
|
||||
Reference in New Issue
Block a user