Thursday 27 October 2011

Developer Journal 133

Slight change to the gene format.

<gene>
    tag        input
    tag        random
    tag        numExc
    min        1
    max        1
</gene>

I removed "value" and "isVariable". I figured that I can let "value" be whatever and I could set a gene to not be variable by making the min and the max the same. I'm still worried that this is going to come back to bite me but the format looks and feels good.

I should look up a good XML parser but I don't want to involve new code. I'm going write a little code to read the settings in.

Years ago when I started working on developing AI, I did not think I'd be spending time writing up an XML like file to initialise a genome structure.

Finished writing the code to create genome version 2 from a configuration file. Reading in the primary genes was easy. Creating the secondary genes that depend on the primary genes took a fair bit longer to do.

Still a fair bit of testing to do. I have to make sure genome version 2 works with brain version 1, then write brain version 2.

The main difference with brain version 2 is that it can grow new neurons and synapses when the genome changes. For example, I'm going to need to add a new input and output group to the genome and then I need the brain to grow the new input and output groups. Yee haw!

Hopefully I can get the version 2 gender experiments done soon and have some time to work on the robot arms and legs a bit more. The new feature of being able to add input and output groups on the fly is going to help a lot. Each joint in the robot body is going to need a brain output groups. In addition, I'm thinking of pumping limb data into the brain, so I'll need brain input groups.

No comments:

Post a Comment