src/genome ========== Genomes represent the neural network that underlies a creature. They are an array of tuples of the form `[ source, sink, weight ]`, where: * `source` is an integer in the range `[0, N - num_outputs)`, representing the index of the source neuron * `sink` is an integer in the range `[num_inputs, N)`, representing the index of the sink neuron * `weight` is a floating-point value in the range `[-4, 4]`, representing the weight of the connection `num_input` and `num_output` are fixed by the environment (as they are the input senses and output actions of the creature, respectively). `N` is not fixed, but is instead determined by the maximum index present in the genome. As long as the maximum index is greater than or equal to `num_input + num_output`, the genome is considered valid.