I'm pretty new to Framsticks, after a few days fiddling around with existing
critters and the evolution parameters, I designed my first critter from
stratch. I gave it 3 pairs of legs arranged somewhat like an ant's. The
original genome for the morphology was something like this:
Gopher's Bugger Morph1
X(CCrrX(X),MX(CCrrX(X),MX(CCrrX(X),,CCrrX(X)),CCrrX(X)),CCrrX(X))
For the neural network, I went a little crazy. On each of the muscled
sticks, I added 10 neurons. 2 are control-neurons, one for rotation and one
for bend. 4 define a cross-connected decision layer. Another 4 are what I
think of as control-relay neurons, two to each control-neuron. Each
control-neuron takes as input two of the control-relay neurons. Each neuron
in these pairs gets input from the other in their pair and the 4 neurons in
the decision-layer. The decision-layer's neurons take as input all other
neurons in the decision-layer, as well as both control neurons. This set of
10 neurons is duplicated in both muscled sticks, with one modification. The
4 decision-layer neurons in the muscle closest to the head also take as
input the 4 decision-layer neurons of the /next/ segment.
The completed initial genotype is as follows:
Gopher's Bugger Alpha
X(CCrrMX(X),MX[@0:0,2:0,3:0][|0:0,3:0,4:0][1:0,4:0,5:0,6:0,7:0][-1:0,4:0,5:0
,6:0][1:0,2:0,3:0,4:0,5:0][-1:0,1:0,2:0,3:0,4:0][-6:0,-5:0,1:0,2:0,3:0,10:0,
11:0,12:0,13:0][-7:0,-6:0,-1:0,1:0,2:0,9:0,10:0,11:0,12:0][-8:0,-7:0,-2:0,-1
:0,1:0,8:0,9:0,10:0,11:0][-9:0,-8:0,-3:0,-2:0,-1:0,7:0,8:0,9:0,10:0](CCrrMX(
X),MX[@0:0,2:0,3:0][|0:0,3:0,4:0][1:0,4:0,5:0,6:0,7:0][-1:0,4:0,5:0,6:0][1:0
,2:0,3:0,4:0,5:0][-1:0,1:0,2:0,3:0,4:0][-6:0,-5:0,1:0,2:0,3:0][-7:0,-6:0,-1:
0,1:0,2:0][-8:0,-7:0,-2:0,-1:0,1:0][-9:0,-8:0,-3:0,-2:0,-1:0](CCrrMX(X),X,CC
rrMX(X)),CCrMrX(X)),CCrrMX(X))
I was trying to design a neural net that would be good at learning to walk.
I was somewhat successful, with most of my walkers consistantly managing a
distance of 30-40 within a few million steps. However, by 10 million things
began to plateau, and now progress has slowed to a crawl.
I have a world 100x100, with 10 framsticks at a time. Selection critera is
distance 1, others 0. My population is 30% identical, 70% mutants, and 0%
crossbreeds. There's no morphology mutation, and all neural mutations are
default/5 with the exception of Change Neuron Input Weight which is set to
1. I set the other neural mutations low because I wanted to test the
effectiveness of my designed nets as much as to produce a fast walker.
I'm now at around 17M steps, and the genotypes range in distance traveled
from ~49 to ~52, and as I said earlier progress has slowed to a crawl. I
suspect this is because of the extremely large number of neuron input
weights. 20 neurons, 88 inputs.
reactions/suggestions?
Will Thomas, aka Gopher