Bots and Simulations > Bot Tavern

Overall league thoughts

<< < (10/27) > >>

jknilinux:
Moonfisher-

But what else could we put in a blank-bot league besides NNBots and cheaters? Besides, although SSbots are hard, that hasn't prevented a whole league being dedicated to them.. So I don't see why a NNbot league would be any different.

And how can we run a NNBot league w/o mutation protection and with non-point mutations? Sounds like a really hostile environment for a NN. I still think mutation protection and numsgil's idea are the best for this league. If we allow global mutations, especially if they aren't point mutations, we'll completely destroy the network. So maybe I misunderstood you.

And yeah, definitely, I'd like to see your NNBot soccer-ecosystem. Sounds cool.

Finally, I definitely see your last point. Maybe we should have a working BP-NNbot before we make a whole league for it.



Numsgil-

Good point. That works too.

Moonfisher:
My point was in a way that a NN structure doesn't need to be specificaly multiplying weights and such... in a way 50 .repro store is just a very short conection with no hiden neurons or crossovers or anything...
So any structure that does nothing could be considered as eligible as any other NN...
Basicaly allow people to build simple structures or different kinds of structures than in NN's, but encourage the complex NN like structures through the rules.

But the issue I saw was in allowing complex genes that don't get triggered... I think this could ruin the league, so I was sugesting that nothing is allowed to be written into sysvars... or generaly that something needs to hold no value.

So stuff like :
*.nrg 0 >
0 .repro store

*.eye5 0 >
0 .shoot store

or
50 0 mult .repro store

would be allowed.

But not :
50 .repro store

and such...

The problem with this is that something like -1 .shoot could be hard for a NN to hit... it would probably at best swing back and forth in a short range from 0 to -8... but even this could take a while.

So the questions are :
-Should it only be allowed to push 0 values into sysvars even in genes that don't get triggered.
-Or should there just be a limit to how complex a gene is allowed to be.
-Should regular conditions be allowed at all, or should all logic evolve or arise through the use of the network/structure.
-Should there be rules about the use of mutations protection. If so what kind of rules ?

And I'm sure other stuff will come to mind

And you can definately run a NN bot without mutation protection, you may not be able to run a league, but you can run an evo bot... the one I was running didn't have mutations protection, it only used point mutations but the way it was set up you could use most kinds of mutations, as long as you make sure they're very rare (Adjusting the overall mutation rate was not enough in my case, I had to lower the point mutation rate individualy, by a lot, but this was also due to a very large field with very few veggies and the size of the network (More code = more mutations) and generaly that it takes a lot less to cause changes in the network, neural networks don't normaly evolve at a celular level)
I'll post the base bot and the sim and the evolves bots and all that stuff in the NN Chalenge topic as soon as I get around to it.
The whole trick is just to make the weights into long lines, so mutations are more likely to affect weights than the structure of the network... and I but some weights in there manualy to make it move, shoot and reproduce, it could barely survive, but it managed long enough for evolution to step in...

abyaly:

--- Quote ---- No agressive use of ties. That means no tieing to enemies or alge, no tie attacks, no tie defences. If you use .sharenrg and such then you need to have a condition that makes sure you're tied to one of your own.
- No memmory shots of any kind.
- No use of venom.
- No viruses.
- No sexrepro. (Although the lack of mem shots should prevent raping anyway)
- Very large field, possibly without toroidal borders and with some shapes in there (Could be cool if we had some coustom maps, maybe with designated spawn points, both for bots and the initial veggies)
- Low veggy cap.
- Medium fluid resistance.
- F1 costs, possibly a litle more expensive, like set a 1.5-2 multiplier or something like that. And maybe cut the code execution costs completely.
--- End quote ---
The only uses of ties that lead to trivial strategies are tie info attacks. All other uses of ties are either capped or time delayed, so we really don't need to limit those.
I agree with scrapping venom, info shots, and viruses.
Sexrepro doesn't matter one way or the other, so I'd go against adding an extra rule for it (just fo the sake of not having as many rules).
A very large field would be a good idea, but regarding the veggy cap. The thing that makes food too easy to find in the current league format is that veggies repop very many at a time and very often when they go below their threshold. Perhaps rather than lowering the veggy cap, we lower the number of veggies in a repop event to 1 and we increase the repop delay.
Definitely more fluid resistance. We want the maximum speed to be very hard to obtain.
We don't need to fool much with the costs, except for movement. Code execution costs are fine as they are, since any complexity we add that can't recoup the currently negligible execution costs is pointlessly burning processor time.

jknilinux:

--- Quote from: abyaly ---
--- Quote ---- No agressive use of ties. That means no tieing to enemies or alge, no tie attacks, no tie defences. If you use .sharenrg and such then you need to have a condition that makes sure you're tied to one of your own.
- No memmory shots of any kind.
- No use of venom.
- No viruses.
- No sexrepro. (Although the lack of mem shots should prevent raping anyway)
- Very large field, possibly without toroidal borders and with some shapes in there (Could be cool if we had some coustom maps, maybe with designated spawn points, both for bots and the initial veggies)
- Low veggy cap.
- Medium fluid resistance.
- F1 costs, possibly a litle more expensive, like set a 1.5-2 multiplier or something like that. And maybe cut the code execution costs completely.
--- End quote ---
The only uses of ties that lead to trivial strategies are tie info attacks. All other uses of ties are either capped or time delayed, so we really don't need to limit those.
I agree with scrapping venom, info shots, and viruses.
Sexrepro doesn't matter one way or the other, so I'd go against adding an extra rule for it (just fo the sake of not having as many rules).
A very large field would be a good idea, but regarding the veggy cap. The thing that makes food too easy to find in the current league format is that veggies repop very many at a time and very often when they go below their threshold. Perhaps rather than lowering the veggy cap, we lower the number of veggies in a repop event to 1 and we increase the repop delay.
Definitely more fluid resistance. We want the maximum speed to be very hard to obtain.
We don't need to fool much with the costs, except for movement. Code execution costs are fine as they are, since any complexity we add that can't recoup the currently negligible execution costs is pointlessly burning processor time.

--- End quote ---

Okay, so:

- You can only tie with your own species.
- No memory shots of any kind.
- No use of venom.
- No viruses.
- Sexrepro allowed (like moon said, lack of mem shots should prevent problems.)
- Very large field. (what size exactly?)
- Walls (non-toroidal), since that tends to break up big orgs.
- Low veg repop threshold (let's say 30), Veg repop 1.
- Medium fluid resistance.
- F1 costs, with lower movement costs.

Question: why increase the repop delay? Just have no delay, keep the repop at 1, and keep a low veg repop threshold. That should keep the vegs constantly at a low number.
Also, I don't think we should have a custom, non-changing shapes map. That's just waiting to be exploited.

So, Moonfisher, what do you think? And what size field should we have?


Moonfisher-

Anyway, I'm sorry, you might have lost me with the NNBots...
I'm willing to say that if it does nothing to begin with and all subsequent behaviors arise through matching a + stimulus with a random behavior and/or a - stimulus with another random behavior (cannot be pre-programmed behaviors, MUST be random) all within the bot's lifetime (aka not epigenetic like the fruitfly), then it qualifies.

This bypasses the problems you saw, right?

Maybe we should change the name too, since we're not looking for specifically NNs anymore- GAs, HMMs, etc... Basically any pattern-recognizing bots should qualify too, right? Although I don't know why or how someone could implement a GA or HMM in a bot, but that's their choice...

So maybe the Learning League? No behavior league? Einsteinbot/Geniusbot league? (LOL)

Thanks!

Peter:
Well, I'm not sure where all these leagues are heading too, but have you checked thisBot Challenges.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version