Bots and Simulations > DNA - General

Neural nets and mutations

<< < (3/3)

Numsgil:
You could have young shoot an info shot that makes the parent turn 180 degrees around.  Then the parent wouldn't eat the young, but it could still use the outs to communicate.

Moonfisher:
Heh that's actualy what I'm doing in the latest network I made... it doesn't always work though, but it helps.
Also I've been toying with the idea of using tout, and I'm thinking maybe the bot could have 170 weights it transfers at birth, the most important ones, but still change other weights aswell, and only transfer them if the changes are significant and we're doing well... just pick a random bot that doesn't seem to be doing as well as us and give it the extra values... so you could transfer 5 extra weights per cycle along with an offset for each without having to cap the weights or anything like that.
I think ti could work... but I have no idea what memmory locations to use.... if I had what I would call a very small network fo 10 inputs, 10 hiden neurons and 10 outputs, then I would ahve 200 weights and the 10 nodes... so 210 memmory locations... for a small network... doesn't scale very well. 210 is already too much for the range that is garanteed not to change, and probably too much for me to find a single range able to keep all the weights, would need to be split up into different areas....
Appart from that I don't think I can define that many locations (Not that I would want to at that scale anyway)... but generaly this means I'd have a LOT of memmory locations to manage, manualy...
It's possible... but not easy, and not foolproof either, would need a lot of safety in case birthtie breaks, good default values, ability to indicate you're an unfinished bot so others can fix you, evaluating if more weights should be transfered... think it's could work well... and with the whole thing locked from mutations the structure could be more complex and there could be plenty of helping genes and generaly more coustomized mutations of weights....
But it wouldn't be easy to put together though... possibly kinda fragile... and not very flexible... but better controll...
Either way it's too big a project for me to start on at this time...

Moonfisher:
I'm actualy toying with the idea of making a small mod with my own NN mutation.
The idea would just be to let mutations randomly create nodes and randomly connect inputs to nodes and nodes to other nodes or outputs...
And ofcourse mutate the weights and occasinaly break connections.
It would basicaly just generate the code for a neural network from scratch, only forming the connections that are needed.
I know this probably has nothing to do with single cell evolution, but I'm a big fan of neural networks, and I think this could be a very interesting way to evolve a bot. It would just be a mod for myself and anyone interested anyway.
And it's not that far from what the current code mutations are doing, maybe kinda far but not way off, it's in nature atleast
But I'm still just toying with the idea, it still needs work, thinking the inputs and outputs should be able to evolve past raw values, so hopefully something like *.refxpos *.refypos angle could become an input if they're very lucky... and some outputs may have to be binary, like firing a certain shot type, but still trying to figure out how this could arise via mutations...

Navigation

[0] Message Index

[*] Previous page

Go to full version