Code center > Suggestions
Excess nrg -> body, excess body -> death
shvarz:
Well, any morphological trait that can be used to tell your own species must be defined genetically. So, yes, you are looking at the phenotype, but you judge the genotype. In real life the complexity of phenotype is almost unlimited, whereas in DB it is strictly defined by the program. For example, right now there is simply no way for a bot to tell that another bot is of a different color. Bots are limited to the properties you described, but those properties are few and difficult to observe.
One solution is to increase the number of phenotypic properties. But to be done correctly those properties must bear a functional significance. Just assigning a bunch of numbers and calling them "color", "fatness" or something else is pointless. But if done properly I'm for it!
But the other way to look at this is that all our DNA makes us look and behave the way we do. It's really the DNA that we care about. We can't look at each other's DNA directly, but bots can. So give them the ability to create and read certain fingerprints of DNA - problem solved. You can even view these fingerprints as their "senses" - smell, taste, vision. You may say that a dog "smells like a dog", but bot can say that a dog "has certain DNA patterns that make it smell like a dog".
EricL:
Hmmm. I hear you. But I wonder whether not having a clean seperation between phenotype and geneotype is wise, not just for conspec recognition but for everything in DB. It goes back to the other threads we've had concerning evolvability mechanisms. If we allow the genotype to essentially be part of the morph, then I worry that morphological selective pressures will place morphological constraints on the genotype and cause us problems with evolving the right information structures in the long run.
Take mimicry. If conspec recognition is all about direct interogation of the genotype, then there will be select pressure in some cases to artifically decorate one's genotype to look like another's. The genotype becomes the morph. It's hard enough to evolve a good information passing and evolvabilty language but if it is also directly subject to morphological selection as well... well what? I don't know... It makes my brain hurt. You and others have probably thought depper and longer about this than I but my gut tells me that a clean seperation between genotype and phenotype is important.
Jez:
I don't know; having read what you guys have written I can see now how a bot 'seeing' another bots dna length could be considered a 'genetic fingerprint', a relatively good way of a bot being able to define anothers shape, something it is otherwise going to have difficulty doing. (ooh look you're a circle, you must be my friend!)
Things like 'movement speed, spin rate, size, mass, amount of body,' are non defining characteristics, they change all the time.
--- Quote ---"Just assigning a bunch of numbers and calling them "color", "fatness" or something else is pointless."
--- End quote ---
We have an equivalent of this in being able to ref locations in a bots dna just without the meaningless labels.
Even something minor like *.refeye rather than only seeing a bots outward eye postions could be considered a judgement on the number/size/colour of eyes.
In essence I think the way it is done could be considered analagous to many real life comparisons. As long as there is no way to lock an ID, other than an individuals ID, I will be ok with it. If a bot only wants to use one ID system then it is going to be easy to fool, the fun comes trying to con a bot that uses multiple ID methods, or multiple species opponents with different ID systems.
I vote the code fudge for .myeye ID be removed. Otherwise it becomes the defining ID system that will replace all others. An advantage without disadvantage.
Numsgil:
The fudge for the eyes occurrs at the start of a round, and was added to reflect what PY did manually when I asked him what he did when two competitors had the same eye count.
It's not meant to screw with any ID system. It's just a "fudge". It also lets you run a league round against identical bot species, which is interesting and should be done at least once by anyone interested because it gives results you wouldn't expect (there actually is a winner after long enough. Interestingly, it takes fewer rounds than some other competitions between very dissimilar bots).
In short, it's used in a very specific case where the starting DNA of two species has the same number of eye statements, and shouldn't interfere in any conspec strategy except maybe in very specific cases.
As a side note, I've been considering dropping the refeye, refshoot, etc. sysvars in favor of a DNA "hash" code that's built to maximize collisions and non linear distributions. That is, it's a hash code that changes very little as DNA changes from mutations. The simplest version would simply be the DNA length, though I'm hoping to make it a little more comlex.
It would be equally spoofable as any current refeye versions, but would prevent the moderate issue of bots knowing more than they should about an opponent. It just seems weird to me that the number of eye commands in the other bot is visible. And we use it for conspec recognition almost exclusively anyway.
Jez:
Didn't know that, thanks Nums, in that case I'm not worried about that either.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version