Code center > Suggestions
Non-Determinstic Bot DNA flow
Carlo:
I uploaded a slightly patched version of DB ND, the activations window was not working properly, and now it is.
I tried to run a sim. I noticed that many bots show some difficulty in moving, as they were in a high friction environment. But it is not an inheritable feature, so I think it's some kind of bug. Probably unrelated with nondeterminism.
I noticed also that reloading original name, mutations and generation from the dna file (the thing about which we discussed a few days ago, for the #shp parameter) worked in version 2.3 but not in version 3.36. Parameters are saved into the dna but aren't loaded back anymore. :angry:
Numsgil:
That's weird. There are so many subtle bugs in odd areas, none of them really destructive, but not really helping anything either.
I've got a whole wall of sticky notes of things to work on.
Carlo:
--- Quote ---I've got a whole wall of sticky notes of things to work on.
--- End quote ---
So that's another one, worse. It seems to me that some mutations aren't correctly reported in the mutations number variable. It seems to be lower than it should, even reporting 0 overall mutations for a dna that's clearly mutated (it had a gene duplication).
And I'm working on the dna parameters bug
shvarz:
Uhm, I tried the ND version from Carlo - I can't really start a succesful simulation. The problem (as PY pointed out already) is that current bots are not coded correctly for this version - they require cross-talk between genes. And the more genes they have, the less likely they are to work. My Alga Ternia seemed to be fine though, it ran and reproduced fine - but much slower than usual, which is also expected, because it has 7 genes. Time was flowing 7 times slower for it...
The time flow is the biggest problem with ND version. I think Dom ternia had no chance for survival even if all genes were fixed not to rely on each other. It has 32 genes, so time was flowing 4 times slower for it than for its prey! And it was flowing unpredictably: say you see something and want to follow it - how can you do this accurately if you don't know what is going to happen to you in the next 32 cycles? The next time acceleration gene activates may be "next cycle" or "100 cycles later". In 100 cycles the food is so far, that there is no chance to even find it.
So I think in its current form the undeterministic version is not workable even in theory. I really like the idea of it, and the possibilities it offers, but right now it gives only problems. Undeterministic effects must work on a much-much deeper level than "gene/cycle". Just like in real life - we have non-deterministic effects at quantum level, but they average out and result in continious experience of our consiousness. The way ND version works now is equivalent to us "phasing in and out" of consience: imaging that! You try to grab a pen and next moment you find yourself 3 meters away from the table where your coworkers moved you so that you don't get in the way. This is what current version does for bots.
Carlo:
--- Quote ---Uhm, I tried the ND version from Carlo - I can't really start a succesful simulation.
--- End quote ---
I've already run a 1 million cycles simulation starting with e_diplomaticus. It seems to work pretty well.
--- Quote ---My Alga Ternia seemed to be fine though, it ran and reproduced fine - but much slower than usual, which is also expected, because it has 7 genes. Time was flowing 7 times slower for it...
--- End quote ---
No. I dont' know alga ternia, but reproduction is usually triggered by energy level. Energy is still coming at the usual rate. The only difference is that the robot _notices_ it has reached the right energy level with some delay. If, on average, three of the seven genes are active at each cycle, then the delay should be of about 1.5 cycles after the energy is enough to reproduce.
--- Quote ---I think Dom ternia had no chance for survival even if all genes were fixed not to rely on each other. It has 32 genes, so time was flowing 4 times slower for it than for its prey!
--- End quote ---
This makes no sense. The slowing down depends on the average number of simultaneously active genes, not on the number of genes. A 100 genes robot which has only one gene active per cycle, has the same reaction times of a deterministic robot. Probably no more than two or three genes are active on average at the same time in a 32 genes robot. So its _reaction times_ (not its speed) should be at most two times slower.
--- Quote ---The next time acceleration gene activates may be "next cycle" or "100 cycles later". In 100 cycles the food is so far, that there is no chance to even find it.
--- End quote ---
Apart from the exaggerated numbers, this is true. The slower reaction times (nothing to do with 100 or even 10 cycles, anyway, but usually to or three at most) are a problem in a world in rapid change. For example e_diplomaticus has clearly some problems in following its preys, which often go really too fast. I'll try to run some high friction sim to see if, slowing down movements and making them less random (less bounces, etc), the nondeterministic bots work a bit better.
Anyway, I ran a 1 M cycles evo sim with diplomaticus. Nothing complex, but it evolved (it does distinctly better than the unevolved version). I've set very high mutation values for gene duplication and deletion, so that it ended up with 30 genes on average (it started with 10). Most of the genes are working, not junk, because they contribute to the overall behaviour, so there's a selective pressure on them. There's a risk of number of genes increasing in a sort of intra dna arms race (each duplicated gene subtracts a little probability to other simultaneously active genes of being executed) but probably it can be counterbalanced tweaking the cost of copying dna during reproduction.
This evening I'll tweak my sim parameters better.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version