Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: Peter on October 12, 2008, 12:10:14 PM

Title: Overall league thoughts
Post by: Peter on October 12, 2008, 12:10:14 PM
1. Scap SB-league, useless with sg-ination and the new inline condition everyone can make SG-bots not to speak about SB.

2. New 'official' SB league, made for bots witha certain bp length or bots not longer then one kb or something.

3. Fuse F1 and F2 and make F3 into F2.

4. Effiecienty-league. A league that is bigger in size then others but with the same amount of veggies.

5. Some kind of veggie-league. For example veggies in pond mode and some gravity that try to survive.

6. Blind-bots league. Only for bots that can't see.

7. F3, with no ties virus, venom, sexrepro or other mean stuff I can't think off.F3-thoughts link (http://www.darwinbots.com/Forum/index.php?showtopic=2926)

8. Random thought a zerobot league. I had some zerobots that almost could survive in F1-league conditions. Same settings as in F1 but then for zerobots.

9. Dog-fighting league, reproduction is turned off. Further F1-conditions.

10. Evolution league, original idea moonfisher.

11. Anyone who comes with a clever idea, can post here.

The votes counter is to register how much votes there are.
Anyone who didn't vote for something is against it. In this setting.

If you think something could turn into a big discussion, you can post another topic. I wouldn't mind if the topic is all alog about blind-bots or something. But different discussions in one topic can be disturbing. Exept if you want to state something about them all.

Alright, any global thoughts.
Title: Overall league thoughts
Post by: Moonfisher on October 12, 2008, 09:32:51 PM
How about an evo league where all mutations are turned on... maybe even with high mutation rates... and maybe in a bigger field or something...
Would take a lot longer to run and results would be less predictable, but might be fun.
Could spawn some interesting ways to create strong evo bases.
Title: Overall league thoughts
Post by: Numsgil on October 12, 2008, 10:28:05 PM
I'll set up a F3 league sometime today or tomorrow.

As for the SB league, I think the SS (single store) league fills that purpose now.  So if everyone's behind the idea I'll just remove the SB league altogether.
Title: Overall league thoughts
Post by: bacillus on October 13, 2008, 12:25:10 AM
I'm not sure about the veggie league, what's the point?
Title: Overall league thoughts
Post by: Peter on October 13, 2008, 02:17:20 PM
Quote from: Moonfisher
How about an evo league where all mutations are turned on... maybe even with high mutation rates... and maybe in a bigger field or something...
Would take a lot longer to run and results would be less predictable, but might be fun.
Could spawn some interesting ways to create strong evo bases.
If you could explain this further. I can't really see a real league coming from this. I sounds interesting but a league, sounds kind of hard.

Quote from: Numsgil
I'll set up a F3 league sometime today or tomorrow.

As for the SB league, I think the SS (single store) league fills that purpose now.  So if everyone's behind the idea I'll just remove the SB league altogether.
Nice to hear that. Out of the poll you can read that most are in favor for this proposal. I guesed you already saw this.
I'm not completely sure if the SS-league is a full replacement for the SB-league.
But a possible new SB-league would have completely different settings then the old SB-league, so wiping would be okay anyway.
On the other side I really think a SB-league with a small bp-size could have some interesting bots.

Quote from: bacillus
I'm not sure about the veggie league, what's the point?
Well, bots that compete with eachother to get the most sunlight, atleast that was the idea. I would like to have defensive veggies that are slow and have to get up somehow. Possible with high moving costs, high friction and a gravity.

Anyway, if I can conclude the poll results. I draw the follow quick conclusions.
This is wanted.(all 6)
Scap old SB-league.
A new F3.

What shall we do all these beneath this. Maybe something for future leagues. I suggest anyone who makes a bot specifially for EE, BB or DF-league, or maybe even ZB. Puts a tag at the bot. If there are enoungh there can be a league.

This is doubted(all 4)
New SB-league
Energy efficienty league.
Blind bots league.
Dog-fighting league.

Not many in favor.
Fuse F1 and F2. (3)
Veggie-league (2)
Zerobot league (2)
Title: Overall league thoughts
Post by: bacillus on October 13, 2008, 11:54:13 PM
Quote from: Peter
Quote from: bacillus
I'm not sure about the veggie league, what's the point?
Well, bots that compete with eachother to get the most sunlight, atleast that was the idea. I would like to have defensive veggies that are slow and have to get up somehow. Possible with high moving costs, high friction and a gravity.
What about veggie respawn, can it be disabled?

EDIT=> 500th post, yay                  
Title: Overall league thoughts
Post by: Peter on October 14, 2008, 03:41:11 AM
Quote from: bacillus
What about veggie respawn, can it be disabled?
Yes, it can pretty easily anyway. Just put veggie respawn at 0.

Quote
EDIT=> 500th post, yay                  
You're posting like a madman. At this rate you will have more posts then me within this year.
Title: Overall league thoughts
Post by: Moonfisher on October 14, 2008, 06:00:57 PM
I know it may just get odd, but I was thinking of running league fights in a larger field with 32X mutations or possibly more...
For instance I tried running a broken version of ebola against multiply, it was loosing 5-0. Then I tried just running the fight as usual but with 32X mutations, and the score was about 50/50.
In a larger field the broken ebola won every fight.
So a very specific hand crafted bot will break down more than it evolves, while a broken copy paste monster has a better chance of improving itself...
So you may also see some hand crafted bots perform a lot better than they used to if they weren't realy living up to their true potential. Wich is why I think it would also be interesting to try and save the "best bot" from each side at the end of the fight. Could be interesting to see what suddenly made a weaker bot a lot stronger.
But it would probably require more than just 32X mutations to make it interesting enough... or a very large field to give each bot room to evolve...
Point was to spawn some better evo bases that are more likely to evolve and learn than to break down.

Also I like the idea of a league with a bp cap to replace the old SB league, was thinking the same thing.
I also think leagues in a larger field with less veggies and the blind bot league sounds very interesting. But who will run all those leagues ?
And I also think the veggie league could be interesting... but you would probably have to make an individual maxpop cap for each specie. But in a way IM is already a veggie league
Title: Overall league thoughts
Post by: bacillus on October 15, 2008, 12:03:32 AM
Quote from: Peter
You're posting like a madman. At this rate you will have more posts then me within this year.
Not the only forum I've ended up spamming  .
Back on topic, I think that viruses should have a higher mutation rate than bots, otherwise a bot can just replicate itself then shoot the required gene(s) in a virus.
Title: Overall league thoughts
Post by: Peter on October 15, 2008, 05:32:34 AM
Quote from: Moonfisher
I know it may just get odd, but I was thinking of running league fights in a larger field with 32X mutations or possibly more...
For instance I tried running a broken version of ebola against multiply, it was loosing 5-0. Then I tried just running the fight as usual but with 32X mutations, and the score was about 50/50.
In a larger field the broken ebola won every fight.
So a very specific hand crafted bot will break down more than it evolves, while a broken copy paste monster has a better chance of improving itself...
Did you use multiply3 or multiply4. Multiply4 has to nasty habit to stop reproducing if the gene-stucture changes, a simple defence against virus. Mutations together with a virus-bot hit it at a weak spot.
Multiply3 is a more mutation-resistant specie, it can get a eye more or less and still be seen a conspec. It doesn't really care about more or less genes too I think.

Quote
So you may also see some hand crafted bots perform a lot better than they used to if they weren't realy living up to their true potential. Wich is why I think it would also be interesting to try and save the "best bot" from each side at the end of the fight. Could be interesting to see what suddenly made a weaker bot a lot stronger.
But it would probably require more than just 32X mutations to make it interesting enough... or a very large field to give each bot room to evolve...
Point was to spawn some better evo bases that are more likely to evolve and learn than to break down.
I don't really see evolution coming with those high mutations. I can only see that the bot most resistant to mutations will win a fight like that. And in any way that the final best bot will have been crually devoluted but still less then the rest, or it became cancerous and for that he just became best that way, but it's not.

Quote
Also I like the idea of a league with a bp cap to replace the old SB league, was thinking the same thing.
I also think leagues in a larger field with less veggies and the blind bot league sounds very interesting. But who will run all those leagues ?
And I also think the veggie league could be interesting... but you would probably have to make an individual maxpop cap for each specie. But in a way IM is already a veggie league
Well if I would make an exellent blindbot. I post a league-topic somewhere claiming I'm the best. And some will respont to it and made a bot for it. I doubt most of the leagues will get really big. Everyone who likes some of these league may run them itself. I'm just coming up with ideas.
And I wouldn't know if the bots really need a individual maxpop. Just a overall sky-high max-pop will do it.

Quote from: bacillus
Quote from: Peter
You're posting like a madman. At this rate you will have more posts then me within this year.
Not the only forum I've ended up spamming  .
Back on topic, I think that viruses should have a higher mutation rate than bots, otherwise a bot can just replicate itself then shoot the required gene(s) in a virus.
I will try to stay before you as long as I can.
Is that on this topic. That would decrease the overall power of virus. Well do we want this to block virus-power
Title: Overall league thoughts
Post by: Numsgil on October 15, 2008, 01:53:55 PM
Slime will block viruses, it's probably just a little underpowered against it.  I think if you keep slime at 50 all the time, you can prevent the majority of virus infections, though that was a long time ago.
Title: Overall league thoughts
Post by: Moonfisher on October 15, 2008, 07:08:20 PM
I don't realy think slime is underpowered, you just have to make a choice between using slime or making some good virus defences and hoping for the best. In the end if you can cut a resource you'll have more nrg, so it will always be an imporvement if you no longer need slime in your bot. And some bots do make enough slime to keep oponents out, I think Conquistador just has enough slime to avoid getting infected and I remember I had problems getting past it with Ebola because it relied on the virus to kill the oponents but the virus never managed to infect it, even though the virus in ebola fills up the field with well powered virus shots rather fast...

But viruses aren't realy an issue ATM... I can't think of a reason to use a virus when I can rape instead. With raping there's no charge time, no added costs, I can aim and infect my target, takes loads of poison if people want to stop the memmory shots, I can also transfer as many genes as I like of any size. Granted you need to get closer to infect someone, but once you infected an oponent you can just relax and let the infected oponent do the rest of the work, you're not inserting a small infection, you're taking over and inserting a large complex behavior.

And I used Mulitply4, and I'm aware it's weak against mutations but it was mostly to illustrate the point that some bots are much stronger against mutations and should alteast get some credit for that.
Also the broken ebola wasn't firing it's virus, but with mmutations the virus became active about 20% of the time, so there was definately improvements through the fight.
I realize you won't see any ground breaking evolution this way, but you will see good examples of single mutations having a very benefitial effect on it's host.
But mainly the point would be to weed out bots with defences that only work with no mutations and conspecs that break down too fast and other such stuff...
The higher the mutation rates the more emphasis would be on mutation resistant bots and less on evolution, and that may be the best aproach since evolution isn't very likely in bots unless they're broken or buggy copy paste monsters and such... (I'm pretty sure noone wants to run very very long fights in a huge field, and evolutions usualy takes some time)

But evolution CAN happen, even with very strong handcrafted bots in environments with heavy mutations. Often a small tweek can make a huge difference, using more shell, or less poison, or having more or less speed, and stuff like that. Problem is ofcourse that high mutations will tend to break down everything, even the bots that where evolving... and lower mutations may not realy take effect before the fight is over. So I wouldn't hope for too much evolution... rather focus on a league for bots that are hard to break down. Not even sure it's a great idea or anything, but just seemed like the stronger handcrafted bots are always weak against mutations. People are always asking for mutation resistant conspecs and such, but I have yet to see a hand crafted conspec that can compare to the ways evolved bots handle it. (I do have an idea on how to create a much stronger conspec that should prevent the evolution of canibots, largely inspired by the behavior of the bots in a sim I was running)
Title: Overall league thoughts
Post by: bacillus on October 15, 2008, 11:55:30 PM
Quote from: Moonfisher
Wich is why I think it would also be interesting to try and save the "best bot" from each side at the end of the fight. Could be interesting to see what suddenly made a weaker bot a lot stronger.
I think that in order to do this, first the 'best bot' function has to be improved.
Title: Overall league thoughts
Post by: Moonfisher on October 16, 2008, 05:17:16 AM
Yeah I know best bot is currently the worst bot because it counts offspring even if they're dead or dieing or got eaten by the parrent... generaly determining best bot is pretty hard, think there was a discussion on this but we never came to a conclusion...
Title: Overall league thoughts
Post by: Peter on October 16, 2008, 05:46:20 AM
Quote from: Moonfisher
Yeah I know best bot is currently the worst bot because it counts offspring even if they're dead or dieing or got eaten by the parrent... generaly determining best bot is pretty hard, think there was a discussion on this but we never came to a conclusion...
I though it was only counting offspring that is alive?

About the mutation-league. I'm not even sure if current league allow any mutions. But I would like to see F1 and F2 bots being trown in some kind of mutation-resistance league. I wonder if there will come suprising results.
Title: Overall league thoughts
Post by: Numsgil on October 16, 2008, 02:55:48 PM
We could do something like simulate 100K cycles with mutations for each bot before dropping it in a match.  It wouldn't be a league necessarily, because it wouldn't be reproducible, but it would be interesting
Title: Overall league thoughts
Post by: jknilinux on October 17, 2008, 12:40:42 PM
I don't like where the F1, F2, etc... leagues are going. There's no interesting behavior, and often the simplest bot is the best (FruitFly... ). Ten years from now, the best F1 bot won't have eusociality, it won't be a multibot, it'll just be yet another boring bacterium whose sole purpose is just to kill everything asap.  

What we need are leagues that actually lead to interesting behavior, where our goal is to make an advanced, interesting bot with complex behaviors.


I have a few ideas...


An antbot league- each competition involves having one queen per species. First one to wipe out enemy or kill enemy queen wins. Only one social caste can fight.

-OR-

A Neural-Net league- like F1, but the bots must use neural nets whose weights change over the bot's life in response to the environment. When started, they MUST have no weights- they need to try new behaviors on their own, and when they do something that makes them feel pleasure (eating, reproducing), they learn to continue doing those behaviors. Same for pain. The best learner wins.

-OR-

We should have a new MB league- the 2-organism league. Basically the competitions can involve only two organisms, but each organism can have as many cells as you want. So, to win in this league you need a very large/complex organism, and I'd be excited to see the ones people come up with. Maybe there should be a requirement for tissue differentiation?
Title: Overall league thoughts
Post by: bacillus on October 17, 2008, 03:40:08 PM
Quote from: jknilinux
I don't like where the F1, F2, etc... leagues are going. There's no interesting behavior, and often the simplest bot is the best (FruitFly... ). Ten years from now, the best F1 bot won't have eusociality, it won't be a multibot, it'll just be yet another boring bacterium whose sole purpose is just to kill everything asap.  

What we need are leagues that actually lead to interesting behavior, where our goal is to make an advanced, interesting bot with complex behaviors.
I totally agree with this.

Quote
An antbot league- each competition involves having one queen per species. First one to wipe out enemy or kill enemy queen wins. Only one social caste can fight.
An interesting idea, and definitely one I'd get behind. There's not many Antbots that form one queen, but it should provide some initiative.

Quote
A Neural-Net league- like F1, but the bots must use neural nets whose weights change over the bot's life in response to the environment. When started, they MUST have no weights- they need to try new behaviors on their own, and when they do something that makes them feel pleasure (eating, reproducing), they learn to continue doing those behaviors. Same for pain. The best learner wins.
Again, this may require some time to get started due to the lack of these bots.

Quote
We should have a new MB league- the 2-organism league. Basically the competitions can involve only two organisms, but each organism can have as many cells as you want. So, to win in this league you need a very large/complex organism, and I'd be excited to see the ones people come up with. Maybe there should be a requirement for tissue differentiation?
This one would probably be the hardest to compete in. Unless ties are made indivisible,  most organisms end up separating themselves inadvertently. Think of a worm when you cut it in half.
Title: Overall league thoughts
Post by: Peter on October 17, 2008, 04:43:39 PM
How would you get league likes that regulated?

How are you going to define the rules?
Title: Overall league thoughts
Post by: jknilinux on October 17, 2008, 04:55:25 PM
Quote from: Peter
How would you get league likes that regulated?

How are you going to define the rules?

We don't need super exact rules right now, just a guidline for people to follow, and we'll add specific rules later. Kinda like how F2 began and evolved over time.

If we try to make the exact rules now, we'll get caught up in an endless debate (like with mutation protection) and if we actually do agree on something we'll probably modify the rules later anyway as bots start to exploit holes in our guidlines.


Bacillus-

If we make a league, there will be bots made to fill the power void. Trust me. I'll be the first contributer (even if all I do is add 5 lines of code to your antbot ).
Title: Overall league thoughts
Post by: Peter on October 17, 2008, 05:16:34 PM
Did the F2 evolve ?
Title: Overall league thoughts
Post by: jknilinux on October 17, 2008, 05:23:34 PM
Quote from: Peter
Did the F2 evolve ?

What I mean is that F2 didn't always have its current rules, right? Correct me if I'm wrong, but there were some things allowed in F2 that still made the bots too powerful and "F1-like". Maybe they didn't change the rules, but instead changed the behavior of shell and stuff... I don't remember.

Anyway, that's not the point. The point was that we don't need to make perfect rules now, since we'll probably change them later anyway (like what you're trying to do with F2 now). Like that method of making laws, whatever it was called, where the government starts out with only a few laws and whenever something happens that is unethical and not covered by current laws, it's added as unlawful. Better than trying to think up of every single thing that someone could do wrong...
Title: Overall league thoughts
Post by: bacillus on October 17, 2008, 05:45:26 PM
I think the real problem is that, say with the single-MB league, that there's no way to control what happens when an organism 'accidentally' splits in half. Is that bot eliminated, or does one half just get destroyed, or is it ignored? How does the program handle that?
Title: Overall league thoughts
Post by: Numsgil on October 17, 2008, 05:57:06 PM
I think the main issue with the league at present is balance issues and unplugged exploits.  The core is there for interesting behavior, but it's been overpowered by unintended consequences of new features, or unbalanced-ness to begin with.
Title: Overall league thoughts
Post by: abyaly on October 17, 2008, 08:54:44 PM
Speaking of unplugged exploits, I think I'll make a simple F3 bot tonight to get the ball rolling.
Title: Overall league thoughts
Post by: jknilinux on October 17, 2008, 11:51:30 PM
Quote from: Numsgil
I think the main issue with the league at present is balance issues and unplugged exploits.  The core is there for interesting behavior, but it's been overpowered by unintended consequences of new features, or unbalanced-ness to begin with.

I disagree- a "kill everything asap" bacterium will always win against an antbot, or a neural-net bot, or whatever, no matter what. I'd honestly be quite surprised if a first-place F1 bot had even a vestige of complex behavior/eusociality/learning/tissue differentiation.

Bacillus- I think this is only a problem with the 2-org league (In the ant league making a new hive during combat should not be allowed), so I'll go with that:
If something in the two-org league splits during combat, then one half must die, like in living organisms. This means that there must be some cell/cells that are necessary for the organism's survival, and the half that does not have that cell/cells dies, while the other half regrows the rest of itself. Those necessary cells will probably be a brain of some sort, so if a cell in the organism is not receiving any commands from the brain, it does nothing and dies.

So yes, one half dies, to make it as life-like as possible.
Title: Overall league thoughts
Post by: Moonfisher on October 18, 2008, 08:49:17 AM
I like the idea of having 100K cycles with mutations before the fight... although it may be hard to actualy pick wich of the mutated bots are to compete....
And I realize the idea is near impossible to get to work as a propper league... I just hate how most of the good league bots break down after a few mutations. They either turn into canibots because the conspec is way too simple, this goes for almost all league bots, or they break some vital part of the code or generaly devolve the complex behaviors...

But most of the sugestions posted so far require a larger field with less veggies... if a multibot is going to compete in a league, then it needs time to form and generaly get started, so you can't have oponents spawn right next to it that don't depend on forming an organism.
And in a way the simples organisms are the strongest, not just in DB... viruses and bacteria will always be around, long after we're extinct.
So in my mind if you want to set up a league that favors more complex organisms you need a much larger field with a limited amount of veggies, and you need to set the rules in order to prevent most of the things that make bacteria like species superior. So for instance no killing with ties, no venom, no mem shots, no viruses, no tie feeding (Ofcourse you can share energy with your own kind... possibly also with veggies, although it would be more challenging if you can't just tie to a veggy and make it part of your organism, and allowing to share nrg with alge will just help the small bacteria like species.)
Either way I think it would be possible to just make a league with all the right rules and settings to favor multicecular organisms.
And with no venom, tie killing or mem shots (And ofcourse no sexrepro) then fungus species shouldn't be too powerfull since they need to grow if they want to kill anything. I don't know exactly what the rules and settings should be, but I think you can balance it right for multibots.

I also love the neural net league idea  I have an evo sim I've been running about 500 hours with a neural net with a very redundant structure for the weights in order to encourage changes in the weights rather than breaking down the whole thing too fast...
So far I've gotten way more out of that sim than anything else I've ever run. They have a balanced use of shell, I think they start with about 500, then make more if getting shot at and remove some if they end up with too much shell after a fight. They don't kill the alge but guard it instead eating a litle at the time while moving it around (Not using ties, just realy good ball controll). They hamster energy and reproduce rapidly if they're in too much pain in order to escape. If they get too big and risk killing the alge in few shots they create a big offspring and start over on the alge. They have a very stable conspec, there are no carnivores or cannibots evolving... had a few carnivores pop up now and then but they never lasted, the bots are too good at escaping if they're loosing a fight. They'll shoot at litle at anything they see, but they try to maneuver around their own kind avoiding confrontation, unless there's an alge close by then they fight for it (I have no idea how they can keep track of that), and ofcourse if one of the bots is agressive the other one will defend itself. Also the latest evolution I saw was a bot that instead of being realy good at guarding the alge it got realy good at stealing it, so when it sees an alge it makes like a big you turn to accelerate then swoops by and takes off with the alge. It completely looses sight of the alge while doing this but it works rather well... only problem is that this behavior makes it less good at keeping the alge since it's ball controll isn't as great. (I've watched the "guarding" species hold an alge for ages without loosing it despite many compeditors trying to take it, it accelerates the alge by pushing it, then slides around the alge changing the direction, and it does it realy well, it would beat me at soccer any day.)

Ofcourse I haven't tryed implementing backpropagation and such to make it manualy adjust the weights, but just mutating the weigths in a redundant network gives great results from what I can tell... and some of the behaviors aren't just from changing weights, for instance it evolved a handicap on one of it's movement directions because this stabilized it, but not by using the existing structure. So once most of the network is used it starts to change and do other things that weren't planned for.
So it might actualy be possible to make an evo league for blank neural networks... might also reveal some clever ways of prepping a network for mutations.


Not as sure about the antbot league and single organism league... sounds like it would be hard to get the organism league working... and the antbot league may not end up being very different from F1 depending on what other rules are set up. I mean you could probably make fruitflies employ a queen somehow... just let the queen spit out the flies and let them go feed and come back with the energy... the rules need to encourage complex behavior and not just require it. Otherwise it'll be the same bots we have now just with some added complex behavior... no sure how to set up rules to encourage antbot behavior... otherwise there's the IB league atm, wich I think is kind of something along the antbot league you're sugesting.

But I think it's possible to make a league that encourages multibots, and I definately like the idea of a NN league, but thats probably just because I'm a big fan of NN's.

And I also think new league will fill up over time... the only reason the SS league is half empty is because it's so damn hard to get an SS bot to work... and possibly because of the nazi assosiation, who knows...
Title: Overall league thoughts
Post by: jknilinux on October 18, 2008, 03:08:40 PM
Well, with the antbot league, we can have a requirement for multiple castes- the queen, workers, and soldiers. The workers cannot fight. The soldiers cannot feed the queen etc...
That way, you can't just have a big fruitfly spit out smaller fruitflies that go on a murderous rampage.
Already I can see some interesting behaviors here that would be beneficial. For example, making workers run away from soldiers would isolate the "battlefront" and kill less of the run-away workers. So, if the fight is concentrated in one area, and the soldiers are controlled centrally (by the queen), the we can have complex battle plans develop, like sending 90% of soldiers to the main battlefront and stealthily send the remaining 10% around it to give a surprise attack closer to the enemy queen. It might be a nightmare to code, but it's possible, and definitely an advantage.

Also, I don't know if there can be a setting that encourages multibots. Even with your settings, when you have a SB and a MB fighting in the same place, the SB still has a few advantages:
1: It can attack the MB from all sides.
2: Multicellular penalties don't apply to it.
3: It will be simpler, and therefore will have fewer DNA length-related penalties.

Ultimately, I still doubt we'll have an IB bot defeat a fruitfly within the next few billion years. Why do you think it took that long to make the first multicellular organisms in the first place? Sure, you could make fruitfly an antbot and it might still defeat some other F1 bots, but having an IB will always be a disadvantage.

Finally, the reason I like the 2-O league idea is because it might be the only possibility where the winner will be a complex multicellular organism, and seeing two globs fight would be really interesting anyway. However, they must start out as single cells and form the complete org over time.

P.S. I completely agree, a NNBot league might be one of the most interesting of the bunch. However, we might have to make 2 NNBot leagues- one with point mutations and Mutation Protection (once it's implemented- which should be as soon as eric gets back) to allow random "learning" by randomly adjusting weights, and one with no mutations where the bots learn through BP.
Title: Overall league thoughts
Post by: abyaly on October 18, 2008, 04:48:58 PM
If you want complex behavior, make it. You are trying to promote an ill-defined goal under the premise that a simple bot will beat out a complex one, which was produced by the author's misunderstanding of DB. F1 has it's current structure because it is driven by discovery of low level exploits. Not because simplicity is always a better strategy than complexity. If you are finding that your complex bots cannot beat your simple ones, then it is because the idea wasn't well thought out.
Title: Overall league thoughts
Post by: jknilinux on October 19, 2008, 01:57:05 AM
Quote from: abyaly
If you want complex behavior, make it. You are trying to promote an ill-defined goal under the premise that a simple bot will beat out a complex one, which was produced by the author's misunderstanding of DB. F1 has it's current structure because it is driven by discovery of low level exploits. Not because simplicity is always a better strategy than complexity. If you are finding that your complex bots cannot beat your simple ones, then it is because the idea wasn't well thought out.

Well, I thought F1 was a game, not an oversight/bug-detection system, but I guess not. And what idea wasn't well thought out? I might not be seeing your point, but are you saying that complex bots do have an advantage in a simple world with simple prey? If so, why don't people make antbot or complex, IB F1 bots? And why is the best F1 bot so far fruitfly, when it is one of the simplest? Coincidence?
Title: Overall league thoughts
Post by: Moonfisher on October 19, 2008, 08:01:02 AM
Currently the best bot is Saber... not a MB or anything but definately more compex than fruitflies...
But F1 is just the league with no rules, so ofcourse exploit behavior aplied by small vermin will often shine untill the exploits get fixed.
And complex organisms are rarely the dominant species in nature, some people even theorize that we're actualy nothing more than an advanced container for viruses and bacteria, that we exist only because they exist and thrive within us. At the very least we know that viruses and bacteria that kill the host don't stay around long, but the flue comes around every year a litle different and we actualy have a gland that holds a bacteria wich helps us digest... the large majority of diseases are surpisingly harmless to us considering what they could be doing, because they need us and it would seem that natural selection favors organisms that are less likely to kill their host or change into something that does.

But the efficiently league could promote more interesting behavior... or league with more fluid resistance, making volontary movement slow and expensive forcing the use of ties for movement.
If you can't use venom or mem shots or ties, then attacking from several angles won't be a grat advantage. Usualy the whole point of attacking from different angles is that atleast one of your bots will inject it's venom or use it's other dirty trick to rendering the oponent harmless. But if you can't use dirty tricks all you have is firepower and suddely larger organisms who can share energy and resources can be much stronger. You can transfer shell to the bot who is getting attacked, then transfer any surplus back when the fight is over. And in an environment with very litle food the bots that hamster and breed their food can easily outstarve a simpler species.

My sugestions for the setup would be something like this :
- 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.

I think these setting should encourage more interesting behavior. Especialy the big field with few alge.
Worker antbots can just push the alge if they need to gather them.
And ofcourse a very strong clever simple species can beat and complex species, but a complex species wich is clever and well made should dominate all the simple species I think.

And I think the NN league using mutations will be the easiest one to get going, for the other league we should make a setup showing how to implement BP in DB... I think there might be a clever way of doing it, but it's a litle tricky, so I think most people won't participate in that league unless the realy hardcore part of it can be copy pasted from somewhere.
I may try to set something up... but... not sure when if I do... finaly starting a new job on monday so there's agoing to be less free time for DB.
Title: Overall league thoughts
Post by: jknilinux on October 19, 2008, 10:57:25 AM
Okay, so maybe an IB league with your rules, and a mut/non-mut NN league. Sounds good!
I'm for it.

P.S I can't make the BackProp code, considering I haven't even been able to learn DBCode yet.
Title: Overall league thoughts
Post by: Moonfisher on October 19, 2008, 05:55:20 PM
I think the main issue here will be that the laguage doesn't allow loops... for good reasons...
So either each cyle could be treated as a loop, but then it would just take too long to adjust weights for evey action...
The other option is to copy the code for each loop you need, but this depends on the size of the network...

Generaly it's a pain to manage... I think you can set it up so you just have the exact same code to copy paste, but it's still a bit of a pain to have to do...
I'll try to figure something out when I have some spare time and feel like a chalenge... but not making any promises.
Title: Overall league thoughts
Post by: Moonfisher on October 19, 2008, 06:29:20 PM
This is my idea for looping through the weights, got no idea how to handle PB yet, haven't looked at it so far, but hoping I can do something similar...

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Example, just on using the weights, no BP yet :
' 3 inputs, 3 hiden neurons, 1 hidden layer, 2 outputs
'Not sure I got it right either, but something like this is what I had in mind to handle loops...
'this would be the core, then people push in the in values and use the out values as they see fit, either directly in a sysvar or as a condition for a gene or whatever.
'And then ofcourse it needs PB
'either way this should make it easyler to loop through all the weights by copy pasting...
'I'll add coments and all that once I figure out how to implement BP and know if it actualy works


def init 110
def h1wit 111
def h1it 112
def outwit 113
def outit 114

def in 120

def h1w 125 '9 first are in weights last 6 (outw) are out weights

def outw 135

def h1 150

def out 160


start
'Input

.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
0 .init store
.h1wit inc
.h1it inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
0 .init store
.h1wit inc
.h1it inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store
.init inc
.h1wit inc
.in *.init add * .h1w *.h1wit add * mult .h1 *.h1it * add .h1 *.h1it add store


'Output

0 .h1it store
.h1wit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
.h1it inc
.outwit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
.h1it inc
.outwit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
0 .h1it store
.outwit inc
.outit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
.h1it inc
.outwit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
.h1it inc
.outwit inc
.h1 *.h1it add * .outw *.outwit add * mult .out *.outit * add .out *.outit add store
stop
Title: Overall league thoughts
Post by: jknilinux on October 20, 2008, 02:28:34 PM
Thanks Moonfisher!

So, does anyone else besides me, Bacillus, and Moonfisher want a NN/ant/IB league? Because the way were going, even if a MB/IBB does have some advantage, I don't think we'll see an antbot in the top ten for a Looong time.

Anyway, I guess I could be wrong, but I've just never seen an IBB in F1. Maybe someone else has.

EDIT:

I also think even Abyaly would agree that a NNbot would do miserably in F1. So at least maybe a NNbot league?
Title: Overall league thoughts
Post by: Commander Keen on October 20, 2008, 07:54:25 PM
I like the idea of an antbot/IB league
Title: Overall league thoughts
Post by: Numsgil on October 20, 2008, 08:37:57 PM
Did I miss something?  What's IB?  Interesting Bot?  What's IBB?
Title: Overall league thoughts
Post by: jknilinux on October 20, 2008, 10:00:58 PM
Quote from: Numsgil
Did I miss something?  What's IB?  Interesting Bot?  What's IBB?

IB means Interesting Behavior.

IBB means Interesting Behavior Bot.


Sorry for the confusion.  
Title: Overall league thoughts
Post by: bacillus on October 21, 2008, 12:06:18 AM
Quote from: jknilinux
Thanks Moonfisher!

So, does anyone else besides me, Bacillus, and Moonfisher want a NN/ant/IB league? Because the way were going, even if a MB/IBB does have some advantage, I don't think we'll see an antbot in the top ten for a Looong time.

Anyway, I guess I could be wrong, but I've just never seen an IBB in F1. Maybe someone else has.

EDIT:

I also think even Abyaly would agree that a NNbot would do miserably in F1. So at least maybe a NNbot league?

Spiral was in F1 for a while when I ran it.
Title: Overall league thoughts
Post by: abyaly on October 21, 2008, 12:25:18 AM
I like the idea of encouraging more advanced behavior in leagues, but I think that requiring a specific kind of complex behavior for eligibility in the league is not good. Your rejection criteria would have to be specific so that people don't waste time building borderline cases that you later decide don't fit. But once you have this set of rejection criteria, you are also shutting out a lot of possible behaviors that you would not have intended to.

Rather than this artificial complexity requirement, why not just put the league in an environment where these things are actually necessary for survival? Increasing the field size a bit would weed out many of the simplest strategies (eg: dashing forward at max velocity is a very effective food hunting strategy in the smallest field size). Ban any base level functions that lead to trivial strategies. Movement speed could stand to be lowered, as well as bang efficiency. There are many possible things you can do to create a situation where complexity flourishes without saying "only bots that do suchandsuch are eligible".
Title: Overall league thoughts
Post by: bacillus on October 21, 2008, 12:31:52 AM
Talking of field size, would the antbot league have a massive field size? And can the queen be a MB? I'm thinking of rewriting my antbot so the workers each pull in a veggie, then assign themselves to that veggie and relay the nrg to the queen when it's low on nrg. This would only work on large maps with enough veggies, however.
 An interesing idea for a bot would be one that forms 'gangs' to combat each other instead of just interspecies competition.
Title: Overall league thoughts
Post by: Peter on October 21, 2008, 03:33:04 AM
Maybe some kind of random chapes league. I know Eric had a lot of ideas for different kind of chapes, not all are worked out yet.
But still if at every fight there are different chapes, those bots have to think instead of forwarding in a straight line. That could break a number of bots. See shape, not my specie, kill it. Most of F1 would act a lot weaker already.
Title: Overall league thoughts
Post by: jknilinux on October 21, 2008, 02:50:37 PM
Abyaly:

So, you agree with moonfisher?

Quote from: Moonfisher
...
But the efficiently league could promote more interesting behavior... or league with more fluid resistance, making volontary movement slow and expensive forcing the use of ties for movement.
If you can't use venom or mem shots or ties, then attacking from several angles won't be a grat advantage. Usualy the whole point of attacking from different angles is that atleast one of your bots will inject it's venom or use it's other dirty trick to rendering the oponent harmless. But if you can't use dirty tricks all you have is firepower and suddely larger organisms who can share energy and resources can be much stronger. You can transfer shell to the bot who is getting attacked, then transfer any surplus back when the fight is over. And in an environment with very litle food the bots that hamster and breed their food can easily outstarve a simpler species.

My sugestions for the setup would be something like this :
- 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.

I think these setting should encourage more interesting behavior. Especialy the big field with few alge.
Worker antbots can just push the alge if they need to gather them.
And ofcourse a very strong clever simple species can beat and complex species, but a complex species wich is clever and well made should dominate all the simple species I think.

And I think the NN league using mutations will be the easiest one to get going, for the other league we should make a setup showing how to implement BP in DB... I think there might be a clever way of doing it, but it's a litle tricky, so I think most people won't participate in that league unless the realy hardcore part of it can be copy pasted from somewhere.
I may try to set something up... but... not sure when if I do... finaly starting a new job on monday so there's agoing to be less free time for DB.

The thing is, although I agree, I'm not perfectly sure this will lead to complex behavior, instead of some new simple method of "cheating". With a complexity requirement, I know we'll get complex behavior. But then again, if we do get "cheating", where a fruitfly 2.0 can win, then maybe that points to a flaw in our rules/DB that we can fix...

Okay, you guys convinced me. I'm for an IBB league and a NNbot league, so long as we fix DB whenever a fruitfly-like thing wins the IBBL (IBB- league).
However, I still think we should have 2 separate NNBot leagues (one for point mutations changing weights, the other for BP-learning), simply because they're cool, a great starting point for evosims, can actually learn during a bot's lifetime, and will never survive in the IBBL.

One problem- the mutating NNBot league will need point mutations to adjust the weights and Mutation Protection to protect the NN structure. At least Mutation protection is getting closer to being implemented... We just need eric back so we can finally conclude the voting.

In the meantime, we can get the no-mutations-allowed BP-NNBot league started, although it might be hard to code up something like that...


Bacillus-

Either way, if we have a specific antbot league or an IBB league, the field size will be huge and the queen can be a MB.
By the way, do you also think we should lump everything together into an IBB- league?


Peter-

Sorry, could you explain that in more detail? Did you mean "random shapes league"?
Title: Overall league thoughts
Post by: Numsgil on October 21, 2008, 03:35:43 PM
Quote from: jknilinux
One problem- the mutating NNBot league will need point mutations to adjust the weights and Mutation Protection to protect the NN structure. At least Mutation protection is getting closer to being implemented... We just need eric back so we can finally conclude the voting.

If you're just interested in mutating the weights you can do that right now.  Turn off mutations, and have the bots randomly modify different weights.  You can either set it up as something that happens when a bot is born, or just set it up to happen randomly every couple of thousand cycles or so.  The hard part would then be transferring the weights to the child.  But you have 10 in/out pairs, so it shouldn't be impossible.
Title: Overall league thoughts
Post by: Moonfisher on October 21, 2008, 04:53:25 PM
Quote from: abyaly
I like the idea of encouraging more advanced behavior in leagues, but I think that requiring a specific kind of complex behavior for eligibility in the league is not good. Your rejection criteria would have to be specific so that people don't waste time building borderline cases that you later decide don't fit. But once you have this set of rejection criteria, you are also shutting out a lot of possible behaviors that you would not have intended to.

Rather than this artificial complexity requirement, why not just put the league in an environment where these things are actually necessary for survival? Increasing the field size a bit would weed out many of the simplest strategies (eg: dashing forward at max velocity is a very effective food hunting strategy in the smallest field size). Ban any base level functions that lead to trivial strategies. Movement speed could stand to be lowered, as well as bang efficiency. There are many possible things you can do to create a situation where complexity flourishes without saying "only bots that do suchandsuch are eligible".

I agree... that's why I was sugesting something like this :
- 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.

A lot of those rules and settings help encourage more complex behavior and larger organisms.

Also for the NN league I think the blank network would be the most interesting, but it would also be hard for a lot of people to build them. So maybe it should just be a blank bot league... where your bot isn't allowed to have a behavior when it starts...
But I'm having a hard time working out how the rules for such a league would go, since you could just have a strong bot in one gene with a condition that could easily break and protect everything but that condition... I figure you could limit mutation protection, but that would just make it hard to create interesting networks (On the other hand it may also force the authors to allow more interesting changes in the networks). You could also require that no sysvars that cause an action are allowed to be written into by the "zerobot". This would probably put some more focus on making a bot that evolves well, rather than ways to activate strong genes withing few mutation cycles through complex conditions and such. And I know a NN can evolve to use the network realy well even in the sims I've run with no mutation protection, so if you can protect the structure of your network it should be able to evolve all sorts of interesting behaviors (Only problem is it can take a while).

Also if you wan't to try running NN bots without mutation protection you can either transfer weights manualy or you can just write them in a redundant way.
0 mult
is the same as
20 20 sub 20 add 20 sub 20 add 20 sub '... asf depending on how long you want them.
In this case you also don't need to limit yourself to point mutations... but you may want to cut back on the mutation rate if you're making a realy large network...
I've only tryed running with point mutations but I think all mutations should work with this (Maybe cut the ones that delete stuff).
If you wan't I can post the bot I used for the last NN sim I ran, and the sim if you wan't to see where it got. (Longest sim I've run, because it kept evolving new behaviors, but got a litle tired of it, it reached 2K in population and the sim was just so damn slow. And carnivores never managed to get strong enough to eat other bots and had some code preventing tie formation (Since I find that fungus bots slow down sims a lot) so in the end I was just watching them improve their soccer skills).

Also about the BP thing, when regulating the weights manualy it means they need to be transfered to the offspring... now if the bots don't break the birth ties that would leave a max of 170 weights allowed (Unless you make your own ties and prolonge the birth process, then you have 10 more per cycle)... so for instance you could have 10 inputs, 10 hidden neurons and 7 outputs... (Not sure of BP actualy requires a bias). But if the tie breaks before the 15 cycles are past then the remaining weights won't get transfered.
Well that's one issue... the other issue is that BP if executed swiftly will just punish the bot for doing anything since it costs energy... so I guess it needs to wait a while to see how we're doing, but how long should it wait ? I men sometimes theres no alge around, but the bot may still be doing the right things, so BP would probably have to wait quite a while before knowing if whatever it's doing now is any better than before... I'm also not sure BP will even find the right aproach to survive, it may go in strange directions depending on what the network rewards and punishes (But ofcourse this could be part of the chalenge for the bot author). But there will be some issues figuring out how to avoid punishing bots for reproducing without encouraging a cancerous bot too much. And this brings the last issue... that the fitness function for the BP algorithm may end up becoming too specific, in the end it's just trying to ecourage a behavior that we encourage.
Not saying it's impossible or anything, just saying I'm seing a lot of issues for the NN league using BP...
Title: Overall league thoughts
Post by: jknilinux on October 21, 2008, 07:30:16 PM
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.
Title: Overall league thoughts
Post by: Moonfisher on October 22, 2008, 01:46:58 PM
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...
Title: Overall league thoughts
Post by: abyaly on October 22, 2008, 11:33:02 PM
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.
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.
Title: Overall league thoughts
Post by: jknilinux on October 24, 2008, 04:26:28 AM
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.
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.

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!
Title: Overall league thoughts
Post by: Peter on October 24, 2008, 07:27:42 AM
Well, I'm not sure where all these leagues are heading too, but have you checked thisBot Challenges (http://www.darwinbots.com/Forum/index.php?showforum=60).
Title: Overall league thoughts
Post by: abyaly on October 24, 2008, 09:48:52 AM
Quote from: jknilinux
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.
I see no reason to ban any use of ties aside from memory attacks and maybe tie feeding.
Tie feeding is less effective than shot feeding, and is capped at .body/10, so tiny bots wont be able to use it effectively, although it does slightly make up for their complete shot feeding deficiency.
Sharenrg is even less effective as an attack, since in addition to a rate cap there is a 20 cycle delay before it can be used. In the interest of a minimal ruleset, we should only ban things that warrant it.

On the topic of movement costs - jknil, you may not have realized that the goal is to make movement more difficult  

Quote from: jknilinux
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.
The number of veggies isn't the issue. With current F1 settings, veggie production rate scales up with veggie death rate. The faster you kill the veggies, the more veggies appear. This is bad. The goal is to prevent this. A repop delay of 100-200 with the current repop amount should be plenty for bots that don't squander their nrg.
Title: Overall league thoughts
Post by: jknilinux on October 24, 2008, 12:50:00 PM
Oh, that's what you meant by "... except for movement." I thought lower movement costs would let the bots use new and unusual movement strategies, unless the settings mean .up, .dn, etc... specifically. So in that case, I maybe agree. However, Antbots, for example, need to pull food from across the map to surround the queen with food. Having high movement costs makes this difficult...

Also, when you have interesting behavior, you'll inherently have more code. So, I also agree with moonfisher- lower code execution costs.

And, on second thought, tieing to algae shouldn't be outruled. That eliminates batterybots, etc... Ditto for tieing to enemies- maybe a crazy new batterybot?

Anyway, rules 0.3:

- No memory shots.
- No venom.
- No viruses.
- Very large field.
- Walls (non-toroidal), since a torroidal environment tends to break up big orgs.
- Low veg repop threshold (let's say 30), Veg repop 1, long repop delay.
- Medium fluid resistance.
- Modified F1 costs...


Peter-
And how many bot responses were there to challenge #5, with eusociality?
Title: Overall league thoughts
Post by: Moonfisher on October 30, 2008, 06:01:16 AM
Some objects could also be cool to have in there, so bots can use them as defence or decoys if capable...
And tie feeding is ok as long as counter leeching and such isn't allowed.

Could just say that only negative .tieloc values are alowed, that should prevent all the realy dirty tricks.

Also a league that promotes interesting behavior is more fun than a bot challenge I think, the current leagues all promote quick interaction and simple clever behaviors... could be fun to have a league where complex behavior is actualy an advantage
Title: Overall league thoughts
Post by: jknilinux on October 30, 2008, 06:50:27 PM
Rules 0.4:

- Add 20 random shapes at beginning of tournament.
- No memory shots.
- No venom.
- No viruses.
- Very large field.
- Walls (non-toroidal), since a torroidal environment tends to break up big orgs.
- Low veg repop threshold (let's say 30), Veg repop 1, long repop delay.
- Transitory fluid resistance.
- F1 costs, with slightly higher movement costs, no code execution costs.
- Only negative tieloc values allowed.

Clarification 1: What size field, exactly? Maximum sounds good.

Clarification 2: What should the veg repop settings be, exactly?

Clarification 3: How much higher should the movement costs be?

Moonfisher: What do you think of what abyaly said about DNA exec costs?



By the way, just looked over what I wrote before, and it's unfortunately evident I wrote some of it late at night... LOL.

Title: Overall league thoughts
Post by: ikke on October 31, 2008, 04:25:11 AM
One comment: for a more compex strategy to be usefull the locust strategy (population explosion, get and kill all resource must be a loosing one, or at least not guaranteed to win. Therefor the cost of looking and finding food must be higher than the gain by eating the veggies as quick as possible. This forces a hoarding/growing strategy.
Title: Overall league thoughts
Post by: bacillus on October 31, 2008, 04:32:33 AM
That's a good point. One way to reduce this could be to eliminate the costs for body and up aging costs; this would encourage large bots to form without being "immortal", forcing them to reproduce one time or another (99 .repro store would fix this, but make it exposed for a few cycles, which can make all the difference.)
Title: Overall league thoughts
Post by: Moonfisher on October 31, 2008, 05:02:23 AM
The large field, few veggies, slow veggy repop and medium fluids should accomplish that...
And even if you can marginaly survive by eating everything on sight you won't survive nearly as well as those who store their food source.

One thing though... maybe the veggy cap should be very high. Start out with only few veggies and a slow repop, but have a very high cap.
This way you can't just starve out other species, hamstering food will help you expand and keep your enemies weak, but you would still need to kill the oponent or controll the entire field.
Title: Overall league thoughts
Post by: Moonfisher on October 31, 2008, 05:20:46 AM
Eliminating body costs in an environment with no dirty tricks will encourage big titan bots even more than we already are.
As it is bigger is already a lot better, I don't see why big bots should have even more advantages... I like the idea of using increasing age costs though...
Title: Overall league thoughts
Post by: abyaly on October 31, 2008, 09:08:38 AM
This also means that complex MBs, if we get any, would have to be regularly rebuilt, which is their weakest link. I don't like the idea.
Title: Overall league thoughts
Post by: Moonfisher on October 31, 2008, 02:00:49 PM
Well I could go either way with the age costs... in the end I think it's more or less the same, and organism needs to be able to regenerate or it won't last long. I don't think most cells will die of old age before something else gets to them or some tie breaks or something else goes wrong...
If I had to make a MB I would immagine going for a fungus like body, moving in a slug like maner using ties and fixpos and drawing alge towards it center... so basicaly a moving fungus that just grows bigger all the time... at best the blob could build an outer shell, or some tentacles or something... but even adding limbs to a blob will probably be hard work.
I think it'll be hard to make any specific shapes and such... the more dynamic and adaptable the organism is the better I think...
So I think most good MB's will be blobs or worms... espeicialy with the way ties currently work... I don't know what other things people may have in mind, but the more complex and specific the shape is the harder it will be to maintain...
Title: Overall league thoughts
Post by: Peter on October 31, 2008, 02:21:26 PM
Some little age cost couldn't be bad. I would vote against any high cost. The age-cost should have a low effect at the total costs. Higher developed bots have a harde hit then a simple bot.
The MB's are a good example there, there is often some time needed to set up a structure, where a simple bot doens't need any time at all. Well almost no time, Repro-> loss birthtie-> go.


Quote
Peter-
And how many bot responses were there to challenge #5, with eusociality
I believe you can read it yourself. If you're being sarcastic. You can also directly speak out, without trying to come over smart with a question you already know the anwser for.
There where some bots putted in some bot challenges. Main faillure isn't that it wasn't a good idea. But more that creating a bot for these tasks is pretty hard and costs time. In this league setup as it is right now, I can see most league-bots being able to participate, possible a small add is needed with some.

As you're trying to bring this league up. Can't you put the settings together and see how many bots are able to survive. I could bet there are some that are able to survive and even do pretty good. The main point will probably be the walls, most bots will try to kill the wall.
If that is the problem, I'm happy to create a starter bot that can live with edges and walls. A bot could be easy to give you a starter of what a survivable area is, for a bot.
Title: Overall league thoughts
Post by: Moonfisher on October 31, 2008, 06:22:43 PM

-I agree with the low age costs, and they should probably only set in at a high age aswell.
-I also think it's a good idea to let veggies gain energy based on body to make hamstring more challenging.
-Viruses aren't alowed so no point in imunizing the veggies.
-I don't think costs should be changed drasticaly, a large field with fluids and litle food will already be fairly chalenging. If it isn't challenging enough wouldn't increasing fluid resistance further have the effect we wan't ?
-I'm not even sure what this part would do, I don't understand how the physics engine works...
-I don't think ties should have higher costs, if you can only use negative tieloc values then ties won't be anything like in F1. I think the costs would affect larger MB's who need to make repairs often.
-Still with the costs... I agree we keep body costs... but not sure costs should be increased, small bots won't be strong fighters with the rules and settings, but they will be usefull for forming complex organisms. The whole point was to see more complex MB's and behavior, so that means more bots and more ties, so those aren't the things I would try to work against.
-I agree poison and shell can stay, but not venom... venom is just a very strong mem shot, and mem shots are one of the things that make larger organisms very vulnerable to a lot of small bots.
I may also be inclined to agree that costs for shell an poison should be reconsidered, but I still think allowing venom is too risky, it would need huge costs but then the best venom would just be to force your oponent to create venom... but shell and poison could probably use some balancing.
Title: Overall league thoughts
Post by: Peter on November 01, 2008, 09:56:37 AM
Alright, now as I  think about the rules. They do tend to push towards bigger bots.
I think I can agree with moonfisher on most points.

I think there should be allowed as much as possible. Just lower the use of particilair stuff by increasing costs. Declining stuff will just make everything more simple. No venom is good for me. I think poison and shell should be allowed.
Title: Overall league thoughts
Post by: bacillus on November 02, 2008, 02:22:24 AM
In conditions this extreme, even a tiny difference in these rules can make a decisive difference. I say we make a few 'benchmark' bots first, then fine-tune the costs so they aren't too harsh (we might learn to survive in a desert, put not in an active volcano   )
Title: Overall league thoughts
Post by: Peter on November 02, 2008, 05:55:04 AM
Ah, yes I more or less made that point a little earlier. I made a simple F3-bot. It is able to survive in multiple psycics conditions. A good test-bot, it doesn't really have a special behaviour but it'll survive in a field 12 combined with shapes, etches and the highest fluid resistance. I've got to say, that it used to bet better it the field, but I changed it a little when I found out it was defeated by 'Boost', then I added real fighting genes. But it will still survive.


For testing purposes.
Here is the bot boucer.  (http://www.darwinbots.com/Forum/index.php?showtopic=2996)
It wil survive in the attached sim settings. Anyone feel free to tweek in any costs.

I anyone wondered, every little step forward is a *.maxvel boost. I used to move more constant, but the sudden burts seem to help in F3.
Title: Overall league thoughts
Post by: jknilinux on November 03, 2008, 02:11:09 PM
Quote from: bacillus
In conditions this extreme, even a tiny difference in these rules can make a decisive difference. I say we make a few 'benchmark' bots first, then fine-tune the costs so they aren't too harsh (we might learn to survive in a desert, put not in an active volcano   )

OK, how about Bacillus's ant-bots, bouncer, a MB (PY's Inchworm2? Kinda old, but if there's a better MB that only uses ties to move, use that), ... any other IBbots that would qualify? We should also try the sim with a non-complex F2 bot, so long as it qualifies, and make sure that an IBB can actually survive better than a kill-all bot. If not, maybe continue decreasing bang efficiency..

Who would like to run the trial sims? I can't this week or next week... or any time soon. Sry.

Rules 0.5:

- Add 20 random shapes at beginning of tournament.
- No memory shots.
- No venom.
- No viruses.
- Size 12 field.
- Walls (non-toroidal)
- Low veg repop threshold, Veg repop 1, long repop delay.
- Transitory fluid resistance.
- F1 costs, with slightly higher movement costs, no/low code execution costs.
- Only negative tieloc values allowed.
- Decreased bang efficiency (30%?)- I like this idea, encourages MBs and sophisticated movement strategies
- Veggies fed based on kilobody
- (?) Lowered age costs
- (?) Lowered tie costs
- (?) High veggy cap
- (?) F1, or slightly lowered, per-bot costs

Note that poison and shell are still allowed, but should have very high costs.



Controversial?:

- low age costs? I think lowered age costs will allow more complex MBs to be made, since they don't have to constantly repair themselves. However, it will also encourage some sort of Big berthas... But, if all the bots on both sides use this strategy, then there's nothing problematic with it- we should still be able to encourage complex behavior among the Big Berthas.

- Decrease tie costs? If we increase tie costs it's just another obstacle to making IB MBs.

- High veggy cap? I like this idea.

- I don't like increasing per-bot costs either. (Also works against IB MBs)

- Also, not exactly controversial, but we need to decide on exact settings in most instances.

Perhaps all the controversial rules can be decided upon when we do the test runs.

Also, what does higher movement costs do? Charge extra energy per bang or charge extra for any movement?


A new idea- Make bang efficiency 0.


Moonfisher-

Decreasing bang-efficiency means it takes more energy to move the same distance using .up, .dn, etc... but tie-based movement systems are unaffected. Decreasing it to 0 means that the only way for a bot to move is through ties.
Title: Overall league thoughts
Post by: Peter on November 03, 2008, 02:36:22 PM
Quote
- Transitory fluid resistance.
I would go for thick fluid resistance. It couses higher movement costs. You can see that in the sim I posted. Normally a maxvel acceleration would get you pretty far, this one barely gets you one bot length further.

It seems that bots with normal movement costs are going to fail in this league. I already created a multibot that moves faster with just and only ties.
I am having trouble letting it properly turn and behave properly with etches and shapes. But it will become a nice benchamark that will probably defeat my former posted bot with ease.
Title: Overall league thoughts
Post by: Peter on November 03, 2008, 02:55:23 PM
Quote from: jknilinux
- Transitory fluid resistance.
I want thick fluid.

Quote
OK, how about Bacillus's ant-bots, bouncer, a MB (PY's Inchworm2? Kinda old, but if there's a better MB that only uses ties to move, use that), ... any other IBbots that would qualify? We should also try the sim with a non-complex F2 bot, so long as it qualifies, and make sure that an IBB can actually survive better than a kill-all bot. If not, maybe continue decreasing bang efficiency..
I think the extra fluid resistance will kill most F1 or F2-fighers. I tested my own multiply4 in the sim I posted. It fails miserably. The combination of lesser veggies(hungry), shapes(shape, eat shape) and etches(etch hurts) will kill most. Any bot wil have to try to effectively look for food. In the above posted sim, the situation is pretty extreme for most bots.

I think most bots will have to be made special for this. In my new MB I had to build some extra genes to have it survive in F1-conditions and extreme friction conditions.

Quote
- Decreased bang efficiency (30%?)- I like this idea, encourages MBs and sophisticated movement strategies
We can always look at this, but with thick fluid phycics I doubt it will be needed. Bots burn much energie to get a little forward. Try the bot in the sim I posted in F1-conditions. Bot loses complete motion control, a little step in that sim is in F1 a few times the sim round.

Quote
Note that poison and shell are still allowed, but should have very high costs.
Somebody any ideas about these costs?

Quote
- low age costs? I think lowered age costs will allow more complex MBs to be made, since they don't have to constantly repair themselves. However, it will also encourage some sort of Big berthas... But, if all the bots on both sides use this strategy, then there's nothing problematic with it- we should still be able to encourage complex behavior among the Big Berthas.
At some time permanent waste will ruin any bot peformance. Time will waste any bot, maybe we don;t need costs.

Quote
- Decrease tie costs? If we increase tie costs it's just another obstacle to making IB MBs.
I don't think that is needed.

Quote
Also, what does higher movement costs do? Charge extra energy per bang or charge extra for any movement?

A new idea- Make bang efficiency 0.
I would say right now, no. I think it is good enough with the extra fluid resistance. We can fiddle later on.

Quote
Decreasing bang-efficiency means it takes more energy to move the same distance using .up, .dn, etc... but tie-based movement systems are unaffected. Decreasing it to 0 means that the only way for a bot to move is through ties.
I have a bot only moving by ties. Still I think bang to zero is a little extreme.
Title: Overall league thoughts
Post by: bacillus on November 03, 2008, 10:57:23 PM
If you want to use my antbot, I think the third-to-last version is the best to use.
Title: Overall league thoughts
Post by: ikke on November 04, 2008, 05:16:36 AM
I would like to add some points: total energy managed by day/night cycles as opposed to population caps to keep the system in check. Furthermore, a system with energy per kilobodypoint needs to have the nrg per turn level reevaluated. I use 8. A modified algae minimalis also helps. In my evo sims algae have evolved reproduction not based on energy but based on bodysize (8000-10000) This encourages farming.
Title: Overall league thoughts
Post by: Peter on November 04, 2008, 05:24:50 AM
Well the problem with energie caps(if meant that) could be that bots could hamster nrg to defeat the opponent. Just reaching the cap and spoil as less as possible so the opponent will feel the cap as hard as possible.

I would agree with day-night cycles, it is yet another complication. And I could possibly agree with a energie cap, that sets sun to dawn.

Why should the energie be evaluated by turn?
Title: Overall league thoughts
Post by: ikke on November 04, 2008, 07:36:02 AM
Quote from: Peter
Well the problem with energie caps(if meant that) could be that bots could hamster nrg to defeat the opponent. Just reaching the cap and spoil as less as possible so the opponent will feel the cap as hard as possible.
I don't see this as a problem. If a species chooses to hoard energy and does so effectively good for them. They have to make the choice between creating more veggies to enable future growth rate or investing the energy in their own kind, but can't do both. Do I increase supplies and take the risk of being defenseless against enemy raiders. Or do I create more soldies for the attack that never comes? Do I have a barren land for an attacker to march through, do I have supplies prepositioned for an attack or do I live of the land. Varied strategies, each with their own pros and cons. The rules should facilitate all these strategies, and none of them should provide a guaranteed win.
Title: Overall league thoughts
Post by: ikke on November 04, 2008, 07:58:13 AM
Another thought: default veggie or the option of symbiosis with a co-designed veggie? This would imply one additional veggie to allow one veggie per side.
Title: Overall league thoughts
Post by: Peter on November 04, 2008, 10:04:26 AM
Quote from: ikke
Another thought: default veggie or the option of symbiosis with a co-designed veggie? This would imply one additional veggie to allow one veggie per side.
I'm against it. Only a default veggie for everyone. Ofcource we could make a special veggie for this league, maybe something that will easily work it symbiose. But I would think the normal veggie does allright.
Everyone making a special veggie for itself could be harmful. It would more become a veggie-war instead of a bot-war.
Title: Overall league thoughts
Post by: jknilinux on November 04, 2008, 11:40:12 AM
Quote from: ikke
Quote from: Peter
Well the problem with energie caps(if meant that) could be that bots could hamster nrg to defeat the opponent. Just reaching the cap and spoil as less as possible so the opponent will feel the cap as hard as possible.
I don't see this as a problem. If a species chooses to hoard energy and does so effectively good for them. They have to make the choice between creating more veggies to enable future growth rate or investing the energy in their own kind, but can't do both. Do I increase supplies and take the risk of being defenseless against enemy raiders. Or do I create more soldies for the attack that never comes? Do I have a barren land for an attacker to march through, do I have supplies prepositioned for an attack or do I live of the land. Varied strategies, each with their own pros and cons. The rules should facilitate all these strategies, and none of them should provide a guaranteed win.

Well, I think we should try it with and without an energy cap in the trials, and see how it goes. For those trials, the new list of best bots to test might be Bouncer, Caterpillar, and Bacillus' 3rd-to-last ant. Where is that ant anyway?

Also, if we allow symbiotic veggies, then I agree that it will become a veggy-league. I think just ikke's modified Alga Minimalis for kilobodypoint feeding is good.

I can agree with thick fluid, keeping the F1 tie costs, and a high pop. cap where we instead regulate veggies with day/night cycles. Very low (non-zero) age costs and 8 nrg per turn for veggies also sounds good.

By the way, what are etches?
Title: Overall league thoughts
Post by: Moonfisher on November 04, 2008, 01:46:03 PM
I'm very much against any coustom code put into veggies... what's the point of making rules against rape if you can just write your own veggy ? The whole reason rape is dominating the F1 league is because you can rape alge and put an entire genome in them over a few cycles.
If you want to allow viruses, raping or coustom buildt veggies then you need to give like 1 nrg per kilo veggy and have high costs for body mass or something... but in the end I definately recomend not letting anyone mess with the veggies... it's currently the strongest dirty trick in F1, so it's definately something we wouldn't want in this league I think.
Just saying, currently the 2 top bots in F1 are holding that position because they put their genes in the alge... it's a great advantage to controll the alge in a sim, but it's completely overpowered when you can get enough dna in the alge fast enough. (Atleast for viruses you need to channel the virus before it can fire)

I do agree that a specific alge for the alge settings in the league could be a good idea... but I think it should only reproduce and regulate body if anything, no movement or anything like that...
Also you can choose to regulate how much energy is delivered as body vs nrg, so you can probably just balance it right for Alga Minimalis. (Maybe make it reproduce less often or something)

I think most of the current costs are fine as they are... except maybe shell and poison could be more expensive for this league... but we should try to do the math and realy balance shell/poison and shot costs... not sure exactly how much and all, but somewhere around -1 shots removing shell at a lower costs that creating shell and -6 shots costing more than the shell they remove... I think... I'd aim somewhere in that neighborhood.

I agree we need atleast medium fluid resistance, but if it's not hard enough then I vote for more fluids resistance rather than messing too much with costs... I think shel and poison are what realy needs to be balanced, no need to make it all complicated by making litle tweeks on eveything...

Not sure how I feel about day and night cycles... I don't realy see the point I guess... and hamstring food and defending your veggy breeding ground to slowly end up controlling all veggies in the field is a strategy I would be very exited to see someone use... I mean that's pretty close to antbots. At least there's some interesting behavior there. And since you can't use mem shots or positive .tieloc values then you can't force veggies to reproduce or anything like that...
And the field size and fluids should already force people to keep the alge they find alive, bots that kill the veggies will dies of starvation as they deserve

And didn't finish reading everything... but I think I noticed most new stuff in here
Title: Overall league thoughts
Post by: jknilinux on November 04, 2008, 05:21:13 PM
Moonfisher- I think we've pretty much agreed already that if thick fluid resistance isn't enough, then we'll modify the costs more, but I still think the lowered age costs etc... are good ideas.

The point of day/night cycles would be to limit the veggy population and energy to low levels I guess- wait what was the reason?

Alright, and no custom "symbiotic" veggies.
Title: Overall league thoughts
Post by: bacillus on November 04, 2008, 10:49:37 PM
I do agree that Alga Minimalis may be a little unsuitable for this; how about writing a different one that spreads itself, eg. moves a large distance for a few cycles then fixes itself? Just having all the veggies clustered together is making the league a gold mine hunt rather than a test of survival.
Title: Overall league thoughts
Post by: Peter on November 05, 2008, 11:35:45 AM
Quote from: jknilinux
Well, I think we should try it with and without an energy cap in the trials, and see how it goes. For those trials, the new list of best bots to test might be Bouncer, Caterpillar, and Bacillus' 3rd-to-last ant. Where is that ant anyway?
Bouncer should be a nice trial bot to start with. I see it as the start and possibly the end of shot-bots in this league. It is decent shot-bot. I doubt if a normal shot-bot(F3-style) in the thick fluid conditions could do much better then this bot.
I think the current conditions are plenty enough for a proper designed tie-kinda-bot to win from it.

Caterpillar, sorry to say. But I think this bot isn't fully able to survive jet. I think less then bouncer at the moment.

I wonder how the ant-bot will do. I even wouldn't be much suprised if it couldn't survive properly.

Quote
I can agree with thick fluid, keeping the F1 tie costs, and a high pop. cap where we instead regulate veggies with day/night cycles. Very low (non-zero) age costs and 8 nrg per turn for veggies also sounds good.
For the gold-mining spoken where bacillus had it about. I would go for a high starter amount of veggies. And a amount of 8 nrg per turn or even less, and less starting nrg for every veggie. That way you'll get a higher spread and veggies with less income. The extra spreid of veggies will be more fair, becouse every bot will have a more equal change for veggies.
I will too be better for many bots at starters, so if more agree. We should look how an F2 will do. I hope most survive in starters but kill themself becouse all veggies are gone.

Quote
By the way, what are etches?
If I said it it are edges.  (amazing how I wraped english there)

Otherwise it hasn't got anything to do with DB I wouldn't care.

Moonfisher
Quote
I think most of the current costs are fine as they are... except maybe shell and poison could be more expensive for this league... but we should try to do the math and realy balance shell/poison and shot costs... not sure exactly how much and all, but somewhere around -1 shots removing shell at a lower costs that creating shell and -6 shots costing more than the shell they remove... I think... I'd aim somewhere in that neighborhood.
Do -1 shots remove shell?
Title: Overall league thoughts
Post by: jknilinux on November 05, 2008, 12:22:42 PM
Well, I'm hoping the ants can survive- if they can't, then there might be something wrong with the rules. Or maybe it's just that the ants are SB(single bot)s, and the current IBBL rules are very against SBs.
Anyway, once welwordian finishes his fungus-bot, that might be good to include in the fine-tuning trials too. I still think caterpillar should be included as well once you get it working- maybe looking at PY's inchworm2 could help with the design of it. I also agree that we should include a random F3 bot, just to make sure that it can't survive there. You never know...

Bacillus- I agree, gold-mining is a problem. And I don't think we should just start with a lot of vegs like peter suggested, having few vegs was one of the more important points in this league. So, in my opinion, the modified veg should move around randomly like you suggested for a few cycles- maybe even having them move constantly is a good idea.
Title: Overall league thoughts
Post by: Peter on November 05, 2008, 01:24:56 PM
I've got to say, I underestimated my caterpillar. I put into the sim, and some later it had a population of 1200. The low costs on dna and the non-paying costs for movement becouse of the tie-moving are a bigger point then I thought.

For the random F3-bot, don't forget bouncer is an F3-qualified bot. Even one of the strongest bots in F3.
The other strong bot ''big'' from moonfisher, have I just tested in the conditions, within a minute it died. It didn't like the edge.
In F3 they're pretty close in strength. In this sim ''big'' fails completely. The difference....

I think ''gold-minig'' should be made less by decresing the nrg-input of a veggie, decreases colony volume. And I want it more
equal for some bots by having multipe veggies spawnd in the beginning with a lower starter nrg. Bots still have to look for new veggies, but will have to look for many to get a powerful nrg-source.
Title: Overall league thoughts
Post by: jknilinux on November 06, 2008, 12:07:40 PM
Well, that's great that caterpillar works.

Anyway, even if you decrease nrg input to the veggies, you'll still end up with "colonies" of vegs that will basically make the bot who randomly finds them first win. The colonies may be smaller, but they're still colonies. I still like the move-for-a-few-cycles-after-birth idea more- the bots will need to have interesting hoarding strategies to contain their herd of veggies in one place.

Ikke-
By the way, why would day/night cycles be better than a regular pop. cap or nrg cap?
Title: Overall league thoughts
Post by: ikke on November 07, 2008, 02:15:48 AM
Quote from: jknilinux
Ikke-
By the way, why would day/night cycles be better than a regular pop. cap or nrg cap?
When used a pop cap is an instant replace if a veggie dies.
Balance by nrg input is not something I have had working.
Title: Overall league thoughts
Post by: jknilinux on November 10, 2008, 03:13:00 PM
Rules 0.6:

- Add 20 random shapes at beginning of tournament.
- No memory shots.
- No venom.
- No viruses.
- Very high (10x?) Poison costs
- Very high (10x?) shell costs
- Size 12 field.
- Non-toroidal
- Alga minimalis-based veggy that moves randomly for x cycles after birth, where x is between 10 and 1000. Note that it will move slowly, so large numbers for x are preferred.
- Low veg repop threshold (200?), Veg repop 1, long repop delay (5x?), high veggy population cap (5000?), low energy cap (???), fed 8 nrg per turn, fed per kilobody, day/night cycles enabled.
- Thick fluid resistance.
- F1 costs, with slightly higher (2x?) movement costs, no/low code execution costs (0.5x?), and low (0.1x?) age costs.
- Only negative tieloc values allowed.


Probably unnecessary, but should be kept in mind:
- (?) slightly lowered per-bot costs (0.5x?)- I didn't recieve any feedback on this...
- Decreased bang efficiency (30%?)

Random values that I think sound OK for the details are in parentheses.
Did I miss anything???


---

My home PC broke last week, so we'll need to rely on someone else to run the sim testing the settings with the new caterpillar and bouncer... Moonfisher? Peter?

The most monkeying around will need to be done with the veggy settings, to make sure they are sparse, low nrg, with caterpillar & bouncer barely dieing when they reach repop threshlod (we don't want bots to survive when the vegs are at repop threshold- they need to control the veg populations themselves), and the veg population needs to vary somewhat significantly on it's own with the day/night cycles. That way, if two bots are tieing so far, then maybe the auto-changing veg populations will make the bot that can best survive in both cases the winner.

Also, perhaps we should try to make caterpllar survive somewhat better than bouncer, just as a rule of thumb to make sure it's an IBBL. If Bouncer keeps beating Caterpillar, we should increase movement costs and/or decrease bang efficiency. Otherwise, the settings will be good as they are.

There,
The next rule list should be final. After that, we'll finally start the IBBL thread.

If there are any suggested replacements to my random values, and the suggested values still allow Caterpillar to beat Bouncer while killing Big (from F3) and keeping sparse low-nrg veggies, then I'm fine with it.
Title: Overall league thoughts
Post by: Peter on November 10, 2008, 04:22:37 PM
Well the catterpillar against bouncer. 1409 bots against 0 bots in the end in my sim, so the conclusion is clear I gues.
(In F1-conditions it loses with 9-2)
Both versions 0.1:0.2 lose anyway. 0.1 can't shoot properly. 0.2 just stops if it sees an edge or object.

Catterpillar isn't completely ready. Maybe the earlier time I saw it survived in that kind of conditions it was even an lucky situation.

I'm not sure if I do something serious on the bot in the coming time. Main reason I posted it was becouse I didn't see me looking at it for a little time. And it did already behave somewhat proper. I'll see when I have time and feel like doing something on it. I dislike the amount of tie-communications that have to be thrown into it, to let it behave better for my feeling.

Anyway, those repop numbers. In my test-sim I use a repop of 10. Maybe that is the reason caterpillar dies every time.

I suggest this league-settings keep open as long as possible. Anyone may want to try some kind of antbots in some league-settings. And possible have a tryout fight with bouncer. I wonder how settings would have to be changed to get the ants survive and bouncer not. I believe that will be difficult, very  if not inpossible.
Title: Overall league thoughts
Post by: abyaly on November 10, 2008, 10:26:53 PM
I know you're all for making the league more complicated, but I think you're adding a lot of unnecessary baggage. The purpose of the rules is to eliminate trivial strategies so that complex ones flourish. Any additional proposed rule should be supported with a potential exploit that it is eliminating. If a rule is not eliminating an exploit (which leads to a simple and effective strategy) then it does not belong on the list.

Here are examples of rules that eliminate a problem:
-no info (agressive) use of ties prevents the Fruitflies/Etch tactic of splitting to minimal body and maximal numbers.
-movement interference with larger field size makes powering forward at maxvel no longer the most effective food searching strategy. It is not necessary to increase movement costs in addition to reducing speed, because eliminating traditional movement doesn't actually help us. The real issue is the effectiveness of simply driving forward all the time, which could easily be reproduced using an inchworm engine.
-Non-torroidal is there to prevent wacky MB teleportation that wrecks MBs.
-Veggy repop reduction is there to prevent the "sit and wait" strategy that becomes viable when large numbers of veggies are always appearing.

These are all rules that are necessary to allow complexity to be prominent. Removing any of them limits the possibilities of the league.


Here are examples of extraneous rules that do nothing to help the (supposed) goal of this league:
-New, moving, algae.
-Random shapes.
-Movement removal or suicidal movement costs.

These rules force contrived complexity, and are not necessary for complex bots to do well. They just raise the minimum "bar" for complexity required to be able to make a league bot. They don't really expand the pool.

So before you finalize your ruleset, review it to make sure that each of them is critical for the goal that you have set. If the rule is not there specifically to fix a problem, then the rule does not belong on the list.
Title: Overall league thoughts
Post by: jknilinux on November 13, 2008, 12:32:38 PM
ARGH! Bacillus, I feel your pain. My post got wiped too, I posted it a few days ago. I just noticed today that it isn't here... Maybe it's a website problem?

Anyway, here is basically what I said:


Peter-
You said caterpillar wins 1409-0, and then that both versions lose anyway. Does it win or lose to bouncer?

Also, I never tried running a size-12 sim before, so maybe it's smaller than I thought. The intention was to make it impossible for the bots to survive at repop threshold, so they must control the veggy population on their own. So, maybe we should not even have a repop threshold- just set it to zero. If they eat all the veggies until they hit zero, then those bots deserve to die.

With the antbots- it should be pretty easy to make a surviving antbot, right? Just take bacillus' antbot, and wherever it says .up, .dn etc... replace it with caterpillar's movement genes, then just cut-and-paste caterpillar's "initialization" code to turn the antbot into a caterpillar as soon as it is born. It's a caterpillar where all logic is just copied-and-pasted antbot genes.


Abyaly-

Just because something isn't necessary doesn't mean it's not a good idea.

Shapes- force bots to recognize shapes, and provide a complex environment
Moving algae- eliminate gold-mining. This isn't to encourage a specific behavior, just to prevent the winner from being decided randomly as the first one to find the big colony of algae.
Movement costs- encourage tie-movement and MBs

This is not, in my opinion, very different from:

Few veggies- encourage conservative feeding behavior.


---
However, this is just me. If others agree with abyaly, I'd be happy to eliminate those rules, but I'd like at least peter's, moonfisher's, numsgil's, or bacillus's opinion before I make any drastic changes.

Also, has anyone tried these settings yet? If so, did everything look about right? Was the veggy population kept low, yet naturally oscillating? Do bots with no veggy "conservation" genes kill all the veggies on their own? I'd really appreciate suggestions!
Title: Overall league thoughts
Post by: abyaly on November 13, 2008, 01:12:00 PM
Why not just make all bots be able to run through a maze before they are eligible for the league? Because that type of contrived restriction only enforces your vision of a specific type of complexity.

I thought the distinction between this and the various bot challenges is that rather than forcing bots to adapt complex behavior, this league would let it rise to the top by getting rid of easiest super-optimized grey goo strategies. The rules do not need to (and should not be trying to) do anything except that.

Every rule you add lowers the accessibility of the league by adding another hoop a potential bot would have to jump through. Before you add a rule, you should ask yourself if the added complexity is justified by the benefit that rule provides.

Quote
Just because something isn't necessary doesn't mean it's not a good idea.
Yes, it does. There are exactly the same number of good rules and necessary rules.

Quote
Shapes- force bots to recognize shapes, and provide a complex environment
A complex environment just places more burden on bot writers without cutting away any bad things from the league. You want more bots written, so you want additional work for bot writers to be justified.
Quote
Moving algae- eliminate gold-mining. This isn't to encourage a specific behavior, just to prevent the winner from being decided randomly as the first one to find the big colony of algae.
We already have a way of dealing with random chance. It's a pretty good one. We don't need another.

Quote
Movement costs- encourage tie-movement and MBs
Why is tie movement better than regular movement?
Quote
This is not, in my opinion, very different from:

Few veggies- encourage conservative feeding behavior.
The key strategy used by early fighting bots to hunt for food in a very energy efficient way was sitting in place and rotating. No energy was expended on anything else until food was located. Would you like this to be an effective strategy? If so, make sure it is very easy to find food without going anywhere. An easy way to accomplish this is to make sure lots of veggies spawn.
Since this is the exact type of thing this league is being designed to prevent, I think you should see why a smaller veggie repop rate is justified.

The justifications for your rules are not very different from
Quote
Few veggies- encourage conservative feeding behavior.
They have in common that the reasons provided are not enough to justify the rule being created. Veggie conservation is NOT a requirement, so we don't need to force it on the bots.
However, it may end up that veggie conservation turns into a good strategy as a side effect of us getting rid of trivial strategies. It may also end up that it doesn't. We don't know, so we don't want to just pick one and gear the rules to encourage it.
Title: Overall league thoughts
Post by: Peter on November 14, 2008, 03:32:55 PM
Quote from: jknilinux
Peter-
You said caterpillar wins 1409-0, and then that both versions lose anyway. Does it win or lose to bouncer?
I didnĀ“t say caterpillar wins. I first said the numbers where 1409 against zero, not stating a winner. Later I said they both lose. Not very good placed, but I thought it was clear  . Anyway caterpillar loses bigtime.

Quote
Also, I never tried running a size-12 sim before, so maybe it's smaller than I thought. The intention was to make it impossible for the bots to survive at repop threshold, so they must control the veggy population on their own. So, maybe we should not even have a repop threshold- just set it to zero. If they eat all the veggies until they hit zero, then those bots deserve to die.
I used size 12 becouse I thought it would give a good first proper idea. I think it is needless to start with a higher field and more veggies. You can always calculate the amount of veggies towards the bigger field. Think of the lag you will have with the 5000 veggies you suggested somewhere. Testing first in 12, later we can see further.
And even in that field I did't look that much forward to see if bouncer killed itself after a while after conquering the field. A pop of 1500 is really slowing down and bouncer is really don't doing much that costs energie if there are other bouncers around him, in the end it will probably be killed by standard bot costs like code execution, body costs and age costs. As those are not meant to be costly, it will survive very long without new energy. At that time the bot probably already won a fight together with breaking the ecosystem(veggies) and any income will be the repop. If that isn't enough to live then many will die out, the ones left will search for new veggies that possibly already multiplied themself, in the end probably enough for a new explosion of bots. And we move in a circle.

Quote
With the antbots- it should be pretty easy to make a surviving antbot, right? Just take bacillus' antbot, and wherever it says .up, .dn etc... replace it with caterpillar's movement genes, then just cut-and-paste caterpillar's "initialization" code to turn the antbot into a caterpillar as soon as it is born. It's a caterpillar where all logic is just copied-and-pasted antbot genes.
If it was that easy, I would already have made an powerful F1 or F2 MB-league-bot. It isn't just that easy. You could use the basic initialization and use the ties to go up or down. But how would you go left,right or turn properly fast,( the original can't even do it completely how I like it).And how would I transform something like ''50 .up store''? Exspecially if you look at the fact that the movement isn't straight forward but comes with bursts.
Often you can put genes from one bot in another. Even if suceeded the bot with the new genes will probably have trouble with it, they will often behave lesser. Like trying to play games on linux.

Quote
Abyaly-

Just because something isn't necessary doesn't mean it's not a good idea.

Shapes- force bots to recognize shapes, and provide a complex environment
Moving algae- eliminate gold-mining. This isn't to encourage a specific behavior, just to prevent the winner from being decided randomly as the first one to find the big colony of algae.
Movement costs- encourage tie-movement and MBs

This is not, in my opinion, very different from:

Few veggies- encourage conservative feeding behavior.
Shapes don't have a high use right now, if there is proof founded they are needed to let complex survive better against non-complex.
Moving alge couses a higher spread of them, thus easier to find, thus killing complex finding ability a little.
Movement costs, already said but I think friction will do it. Leave it untill needed.

Quote
Also, has anyone tried these settings yet? If so, did everything look about right? Was the veggy population kept low, yet naturally oscillating? Do bots with no veggy "conservation" genes kill all the veggies on their own? I'd really appreciate suggestions!
No, haven't tried. Next time you post settings please try to look how it seems yourself. Otherwise it is just randomly guesing. You can try to fiddle with costs to keep an antbot win/draw against bouncer. I still think something like that is very hard. If you succeed the league is probably ready.
Title: Overall league thoughts
Post by: Numsgil on November 14, 2008, 09:44:28 PM
I haven't read everything, but I agree with abyaly that the primary goal should be eliminating gray goo strategies instead of trying to encourage complexity.  F2 is really F1 without the exploits (tie feeding was originally an exploit, which is where the league came from).

A league with shapes and stuff is probably a good idea, just not for F2.
Title: Overall league thoughts
Post by: jknilinux on November 15, 2008, 12:34:04 PM
Peter-

The reason I asked if it sounded good was my PC broke at the time. Anyway, it's fixed now, so I'll check the settings on my own soon.

Numsgil-

I may have misunderstood your post, but I was suggesting putting shapes in the new interesting behavior league, not F2.

Abyaly-

I see your point... If a rule is not necessary it starts to become an obstacle...

OK, you convinced me.

Rules 0.7 (almost, but not yet, 1.0!):

- No memory shots.
- No venom.
- No viruses.
- Very high (10x?) Poison costs
- Very high (10x?) shell costs
- Size 12 field.
- Non-toroidal
- Alga minimalis, Low veg repop threshold (0?), Veg repop 1, long repop delay (5x?), high veggy population cap (100?), low energy cap (???), fed 8 nrg per turn, fed per kilobody, day/night cycles enabled. (We'll want the veggy population to remain around 20-25 constantly.)
- Thick fluid resistance.
- F1 costs, no/low code execution costs (0.5x?), and low (0.1x?) age costs.*
- Only negative tieloc values allowed.

*I see these rules as removing obstacles to complex behavior, not forcing contrived behavior... Feel free to disagree, though.

So, abyaly, did I miss anything?
Title: Overall league thoughts
Post by: Peter on November 15, 2008, 02:43:31 PM
Please state the reasons for every rule.

Why 10x Poison costs. Any reason? Just skip the 10 if it lacks a reason.


Quote
- Alga minimalis, Low veg repop threshold (0?), Veg repop 1, long repop delay (5x?), high veggy population cap (100?), low energy cap (???), fed 8 nrg per turn, fed per kilobody, day/night cycles enabled. (We'll want the veggy population to remain around 20-25 constantly.)
Why a treshold of 0?
Why repop of 1?(and the use when the treshold is 0?)
Why a delay of 5x?
Why 100 as a pop-cap?
Why around 20-25. It sounds awfully low.
What do the multiplications come from? (F1-conditions?)
Title: Overall league thoughts
Post by: bacillus on November 16, 2008, 03:51:01 PM
Poison can give a significant advantage if every bit of nrg counts. Creating 10 poison for 1 nrg (not sure about this bit, but will do for now) can easily stop a bot from feeding for 10 cycles, in which time food could be gone, either way, nrg loss will be greater than 1. Multiplying the cost by ten will even out this disadvantage, although not completely, and reduce the effectiveness of poison.
Title: Overall league thoughts
Post by: jknilinux on November 16, 2008, 07:13:36 PM
Quote from: Peter
Please state the reasons for every rule.

Why 10x Poison costs. Any reason? Just skip the 10 if it lacks a reason.


Quote
- Alga minimalis, Low veg repop threshold (0?), Veg repop 1, long repop delay (5x?), high veggy population cap (100?), low energy cap (???), fed 8 nrg per turn, fed per kilobody, day/night cycles enabled. (We'll want the veggy population to remain around 20-25 constantly.)
Why a treshold of 0?
Why repop of 1?(and the use when the treshold is 0?)
Why a delay of 5x?
Why 100 as a pop-cap?
Why around 20-25. It sounds awfully low.
What do the multiplications come from? (F1-conditions?)


Threshold of 0- If a bot drives the algae population to 0 and kills itself, it's not too interesting, is it?

repop of 1*- I quote abyaly:

"-Veggy repop reduction is there to prevent the "sit and wait" strategy that becomes viable when large numbers of veggies are always appearing."

Delay of 5x*- If they can't keep a 5x delay without going on a murderous rampage and killing everything, then they aren't exactly intelligent-behavior bots, are they?

100 as the pop cap- if the bots can hoard their veggies and garden them, so much the better. However, the veggy population should still be reasonably low, even if none are killed.

population@20-25- Moonfisher evolved IB soccerbots based on neural networks that maintain a population of up to 3000 in a size 13 field with only 25 veggies. So, if evolved NNbots can survive in a size 13 sim with 25 bots, hand-made bots should be able to survive in a size-12 sim with 25 veggies as well.

Yes, the multiplications come from F1.

*- The starred explanations are indeed pointless if we adopt a threshold of 0. They're only there incase we don't.

Moonfisher-

What do you think of removing these rules? Are there any you think we should keep?

Abyaly-

You said:
"We already have a way of dealing with random chance. It's a pretty good one. We don't need another."
a bit earlier. What was that? And how does moving algae force contrived complexity, exactly?
Title: Overall league thoughts
Post by: Peter on November 17, 2008, 11:00:04 AM
Quote from: bacillus
Poison can give a significant advantage if every bit of nrg counts. Creating 10 poison for 1 nrg (not sure about this bit, but will do for now) can easily stop a bot from feeding for 10 cycles, in which time food could be gone, either way, nrg loss will be greater than 1. Multiplying the cost by ten will even out this disadvantage, although not completely, and reduce the effectiveness of poison.
It is 1 poison for 2 nrg...
Why it should be 10x poisoncosts isn't clear to me.

Quote
Threshold of 0- If a bot drives the algae population to 0 and kills itself, it's not too interesting, is it?
Why not?

Quote
Delay of 5x*- If they can't keep a 5x delay without going on a murderous rampage and killing everything, then they aren't exactly intelligent-behavior bots, are they?
Why 5 times. Why a delay of 5 cycles instead of 1 cycle. Doesn't matter much anyway.

Quote
100 as the pop cap- if the bots can hoard their veggies and garden them, so much the better. However, the veggy population should still be reasonably low, even if none are killed.
Why should it be reasonably low?

Quote
population@20-25- Moonfisher evolved IB soccerbots based on neural networks that maintain a population of up to 3000 in a size 13 field with only 25 veggies. So, if evolved NNbots can survive in a size 13 sim with 25 bots, hand-made bots should be able to survive in a size-12 sim with 25 veggies as well.
If those bots can do it, it doesn't have to mean, all bots need to do it.

Quote
Abyaly-

You said:
"We already have a way of dealing with random chance. It's a pretty good one. We don't need another."
a bit earlier. What was that? And how does moving algae force contrived complexity, exactly?
Possibly he means the way the leagues are running right now.
Title: Overall league thoughts
Post by: bacillus on November 17, 2008, 07:00:14 PM
Default F1 costs (physical/morphological only, no genetic):
0.05 nrg per bang
2 nrg per tie
2 nrg per shot (base)
0.01 nrg per unit venom/poison
0.1 nrg per unit slime/shell
0.1 nrg per 10000 body per cycle

Unless my definition of "one unit of poison" is wrong, that means 1 nrg can be used to make 100 poison.
Title: Overall league thoughts
Post by: abyaly on November 17, 2008, 07:57:20 PM
We can deal with random chance by running more simulations.
On the issue of moving veggies: that reintroduces the sit and wait strategy, so I am against it for that reason also.
Title: Overall league thoughts
Post by: jknilinux on November 18, 2008, 03:41:13 AM
Sorry, I don't know how the current leagues are run- could someone explain? If bot x is up against bot y, is the winner the one who wins 2 times out of 3 or something?

The "Leagues" entry on the wiki wasn't too helpful... What's the purpose of all that code anyway?

I see your point on constantly moving veggies, but what if they just moved for a few cycles after birth?
Title: Overall league thoughts
Post by: Numsgil on November 18, 2008, 05:14:25 PM
Bot X wins against bot Y if it has 50% + sqrt(#matches) wins.  There's some math behind the reasoning, but basically it means that it's unlikely for one bot to win from a fluke.  Matches can last anywhere from 5 to several hundred rounds, depending on how evenly matched the bots are.
Title: Overall league thoughts
Post by: jknilinux on November 18, 2008, 10:26:39 PM
Okay, then I'm alright with regular veggies.


Peter-

What are you suggesting? What rules would you keep?


You said:

"Why should it (the veggy population) be reasonably low?"

Uhh...
Wasn't the main point of this league to have a low veggy population?
Title: Overall league thoughts
Post by: Moonfisher on November 20, 2008, 05:07:46 PM
I think 0 repop could have some interesting outcomes... if 2 oponents both hamster and breed alge, then a clever bot would be able to tell when to gather alge and when to kill them in case they're in enemy teritory.

And not sure about poison costs...
And I'm realy tired and need some sleep... so didn't have time to read or think about everything here...
Title: Overall league thoughts
Post by: jknilinux on November 20, 2008, 05:15:17 PM
Veggies:

Threshold of 0

-or-

repop of 1

Delay of 500

---

50 as the pop cap

population@20-25

10x poison/shell costs
---


Btw, what about slime?
Title: Overall league thoughts
Post by: Peter on November 21, 2008, 06:42:03 AM
Quote from: jknilinux
Veggies:

Threshold of 0

-or-

repop of 1

Delay of 500
Repop 1 and threshold 1.

Quote
50 as the pop cap

population@20-25
No, no, a high pop cap. I'm more thinking of around 500.

Quote
10x poison/shell costs
And why 10x, why not 2x or 5x.

Quote
Btw, what about slime?
Just allow it as it is right now.
Title: Overall league thoughts
Post by: Peter on November 21, 2008, 06:53:44 AM
Quote from: jknilinux
Peter-

What are you suggesting? What rules would you keep?
Any rule that has a meaning. I didn't test any spectaculair ant ants in the settings. It could be an idea to test some ant-bots with some settings and look if they can survive instead of random guesing what rules could be good or bad.

Quote
You said:

"Why should it (the veggy population) be reasonably low?"

Uhh...
Wasn't the main point of this league to have a low veggy population?
No, it was to have interesting behaviour. I don't feel like putting pop caps to the veggies. I want to give them as much freedom as possible. I don't know how a low pop cap could turn interesting behaviour on. I put farming veggies out too, a pop of 50 could be held pretty fast.
Title: Overall league thoughts
Post by: jknilinux on November 21, 2008, 03:40:09 PM
50 is a high pop cap when your bots can survive with 20.

If we want the population to be 20-25, and the bots are too stupid to control the veggies on their own, then we should make the threshold 20.

10x because it's a big advantage, and making it cheap is not going to encourage intelligence.

I think all these rules have meaning, and the main point of this league was to encourage interesting behavior through having few veggies. Farming is one example of interesting behavior.
Title: Overall league thoughts
Post by: abyaly on November 21, 2008, 08:41:24 PM
Keep in mind that veggie control / food shutout is a problematic exploit. Quickdraw and Saber demonstrate that this is a monstrously effective tactic. It can be fought against with a large repop threshold and large veggie cap.
Title: Overall league thoughts
Post by: Moonfisher on November 22, 2008, 08:54:34 AM
Well I kind of imagined the field starting with plenty of veggies and letting them gain a descent amount of energy in order to reproduce, but not allowing any reprop. The main reason I think the field should be filled with veggies at startup is to minimize the effect of chance, if there's 10 veggies in a size 12 field then if someone starts next to a veggy he'll have a great advantage...
Not saying I'm fixed on the idea or anything, but I thought it sounded interesting. This would mean you either need to be strong enough to live off your oponent or you need to hamster food instead of just killing the alge you find. It would definately encourage antbot strategies, and with no viruses or raping you wouldn't be able to just take over the alge like in F1. So if you would have to make your way into enemy teritoy and kill their veggies to weaken them, like bombing fuel siloes during wartime.
But then again maybe this strategy would be the only way forward which could leave out other interesting MB's... but it seems to me that if movement is expensive and food isn't abundant and the field size is large, then hamstring food will always give a great advantage versus oganisms who just kill the alge.
Gotta admit I haven't thought it all the way through, just venting thoughts...

Not sure if shell costs are setled, but as I understand it -1 shots destroy more shell than -6 shots, but -1 shots also trigger poison if there's more poison than shell.
Now I don't know how much shell is destroyed by a -1 compared to a -6 shots. But for the sake of argument lets assume that a -1 shot destroys twice as much shell as a -6 shot, and lets asume that a regular unboosted -6 shot from a bot of size 1000 destroys 10 shell at the cost of 2 nrg. (I'm sure all these numbers are completely wrong, but this is just an example).

Now if the -6 shot destroys 10 shell the -1 shot would destroy 20... then I would set the cost of 15 shell to somewhere around 2 nrg. So the costs of 1 shell would be around 2/15.
This way if you're shooting -1 shots at an oponent that replenishes shell he will spend more energy on making shell than the oponent spends on destroying it. But if the oponent is using -6 shots he will spend more energy on removing the shell than the target spends on making it, however he won't risk getting affected by poison.
Now the problem is balancing poison with all of this... I would probably set it somewhere between the cost of shell and half the cost of shell. So you can use poison to force people to use -6 shots, but it will also cost you more. If the oponent chooses to use -6 shots because of the poison, then you won't need to replenish it and your shell will be worth the energy....

Not sure if this is the way to go, but it's what I had in mind...
And rememeber all the numbers used are make belief, it's only an example.
Also this isn't the specific way to balance it, but a sugestion for the reasoning behind the selected costs...
Title: Overall league thoughts
Post by: bacillus on November 22, 2008, 05:11:14 PM
I always thought -1 only triggers poison and -6 only triggers shell. I think a balance between shell:poison would be a better way to go though.
Title: Overall league thoughts
Post by: ikke on November 23, 2008, 07:18:19 AM
Quote from: abyaly
Keep in mind that veggie control / food shutout is a problematic exploit. Quickdraw and Saber demonstrate that this is a monstrously effective tactic. It can be fought against with a large repop threshold and large veggie cap.
Food shutout is only an effective strategy against bots too stupid to keep their veggies alive. The locust strategy should be discouraged by other means: If the offspring dies before it reaches new food then how effective is the strategy? I would go in the other direction: no repop. If you don't grow veggies you won't get them.
Title: Overall league thoughts
Post by: Moonfisher on November 23, 2008, 11:20:36 AM
Quote from: bacillus
I always thought -1 only triggers poison and -6 only triggers shell. I think a balance between shell:poison would be a better way to go though.

Well if theres doubt as to how the shots work then my opinion would be that it's impossible to balance this right without knowing how it works, then it's just a load of unqualified guesses
But you can't just balance shell and poison without considering how the shots that trigger them work and how much a shot triggers... otherwise it's not balanced, it just some random value...
Title: Overall league thoughts
Post by: jknilinux on November 23, 2008, 09:48:32 PM
OK, who wants no repop (allowing farming), and who wants the veggy population to be artificially controlled with repops enabled?

I'm for no repop.
Title: Overall league thoughts
Post by: bacillus on November 26, 2008, 12:38:54 AM
Me too.
Title: Overall league thoughts
Post by: jknilinux on November 26, 2008, 03:13:41 PM
Um...
that's 2-0

Thanks to everyone who voted!

OK, seriously, here's where everyone leans:

jknilinux, bacillus, ikke, moonfisher - No repop

abyaly, peter, ?Numsgil? - artificial control

I put Numsgil with abyaly and peter to show that no repop still wins even if Nums agrees with you two.

If we got shvarz, d-evo, peterb etc... to voice their opinions, though, this might be more representative.

moonfisher-
Hmmm. I agree. Let's start out with 100 veggies.

Or, wait a sec- can't we define the bot's starting positions?
How about the bots start on the top-left and bottom-left corners, and the veggies all on the right side?

And what about extra starting energy, in case they're meant to be a MB/ant and need to repro? Besides, they need to go for a while before they find food- we don't want to have a two-bot endurance walk; we want to see them compete after they find food. Just an idea.
Title: Overall league thoughts
Post by: d-EVO on November 26, 2008, 04:04:10 PM
Im for no repop

Will make it more simple and the resources will be more valuable

P.S. maby a rule for the NNbot leage would be to only alow the bot to start of with random weights and values in the neurons.
I think this will encourage bots to 'learn'
Title: Overall league thoughts
Post by: bacillus on November 26, 2008, 05:25:06 PM
This idea was already sort of ruled out with the dogfighting league, but what about a league where reproduction is turned off, there are no veggies and each bot (initial of 1 per species) starts out with 30000 nrg?

The problem is that when the veggies run out, it sort of comes down to this.
Title: Overall league thoughts
Post by: jknilinux on November 27, 2008, 02:20:45 PM
d-evo-

The bots in the learningbot league would start with no information whatsoever, and learn and adjust their weights through trial and error. They can have no pre-programmed behaviors, except for curiosity. So, it's more like all their weights would be set to 0.

bacillus-

I had a similar idea for a two-organism league. See my first few posts before we started working on the IBBL.
Title: Overall league thoughts
Post by: jknilinux on December 01, 2008, 01:59:31 PM
Rules 0.8 (closer...):

- No memory shots.
- No venom.
- No viruses.
- 10x Poison costs*
- 10x shell costs*
- Size 12 field.
- Non-toroidal
- Alga minimalis, veggy repop threshold @ 0, veggy population cap @ 50, low energy cap (???), fed 8 nrg per turn, fed per kilobody, day/night cycles enabled. (We'll want the veggy population to remain around 20-25 constantly.)+
- Thick fluid resistance.
- F1 costs, no/low code execution costs (0.5x?), and low (0.1x?) age costs.*
- Only negative tieloc values allowed.

* - These are random values, meant to be placeholders- as moonfisher pointed out, we should try to make an exact balance between the two. Numsgil should know exactly what occurs.

+ - Note that we should either start the bots both on one side and the veggies on the other, to ensure no bot ends up right next to a veggy, or that the field should start with a large amount of veggies, perhaps 100. This is because, when a bot is optimized for living off of a few veggies, if it starts right next to a veggy it will have, like moonfisher said, a huge advantage.
Title: Overall league thoughts
Post by: Commander Keen on December 02, 2008, 12:43:53 AM
I haven't been keeping up with the news lately...
Any decisions on whats happening with the F2 league?

The Holidays are here, so I thought it might be a good time for an update, possibly even a complete rerun  
Title: Overall league thoughts
Post by: jknilinux on December 02, 2008, 11:36:43 PM
I think they're keeping it- there are too many bots in there that had too much of effort put into them to just delete them all, or lump them into F1 where they'll all die. That's the idea, I think.
Title: Overall league thoughts
Post by: bacillus on December 05, 2008, 11:35:24 AM
I'll try getting 2.43.1l, then I'll add some more bots and rerun F1.
Title: Overall league thoughts
Post by: Moonfisher on December 13, 2008, 08:37:00 AM
I'm told -1 shots bypass shell completely. So balancing shell and poison could be pretty tough.
It should atleast be cheaper to replenish shell than it is to remove it with -6 shots. Just not shure how much cheaper, since it provides no imunity to -1 shots it shouldn't be too expensive.

I'm not sure if poison absorbs -1 shots or just fires back poison with the energy shot.

If it doesn't absorb the shot then you're still fairly vulnerable even with poison, so I would make poison cheaper than shell.
If it does absorb the shot, then I think it should be more expensive than shell.

And I think the combined cost of shell and poison should be lower than the cost of removing both.
But I'm not sure if the combined cost should be cheaper than removing one side. I guess it depends on weather poison absorbs -1 shots...
In the end I think the combined costs should be more expensive than removing one side, since you only need to replenish the defences you loose to attacks.
Can't realy justify why I think it should be in that range. And I need to find out if poison absorbs -1 shots before thinking any further...
But it should be more expensive than it is now, expensive enough to make you think twice about how much you need, but cheap enough to be worth while.
So thats why I'm floating in that area...
Title: Overall league thoughts
Post by: Numsgil on December 13, 2008, 11:36:41 AM
Quote from: Moonfisher
I'm told -1 shots bypass shell completely. So balancing shell and poison could be pretty tough.

That's correct.  There's a breakdown here (http://www.darwinbots.com/Forum/index.php?showtopic=403).

Quote
It should atleast be cheaper to replenish shell than it is to remove it with -6 shots.

Not necessarily.  If you combine that cost with how much shell you can build a cycle max, there's a whole spectrum of different combat tactics.

Suppose that shell is way more expensive to build than it is to destroy using -6 shots.  It's still better for a bot to have shell than not, since it'll still last longer in a dogfight.  I don't think balancing cost to destroy vs cost to build is important.  Whatever the numbers are there are interesting tactics to play with, within reason.  I think the issue is more the relative cost of shell vs the relative cost of slime vs the relative cost of poison.  Those three need better balancing between each other.

Quote
I'm not sure if poison absorbs -1 shots or just fires back poison with the energy shot.

It fires back poison instead of the nrg shot.  The attacking bot has no way to know if the returning shot is nrg or poison until it gets hit.  The amount of poison (and thus the poison's duration) is related to how large the nrg shot would have been.  If there isn't enough poison, I believe all the available poison is used and still no nrg is returned (but I can't remember exactly).
Title: Overall league thoughts
Post by: Moonfisher on December 20, 2008, 07:05:40 AM
Thinking about it I agree... partialy...
If defences aere too cheap and theres no venom, ties or mem shots, then defences will be too powerfull and attacking won't be worth while (so hamstring would be the only way to win which would be kind of one sided).
On the other hand if shell costs more than taking a hit... then why bother making shell at all...
I'm leaning towards higher costs though, since you may loose more energy making the shell than by getting hit, but your oponent doesn't gain that energy, so you're helping your "team" at a slight cost...

In the end I think the costs should be very close but a litle more expensive than what you get.... I think...
Not sure about anything, but that's what seems to make most sence to me atm
Title: Overall league thoughts
Post by: jknilinux on December 20, 2008, 03:24:24 PM
Sorry, dumb question:

Why not just disallow shell and poison from the league as well? That way, there's no need to do all this balancing, etc...

Or, did that force contrived complexity? If so, then I'll be fine with keeping it and balancing.


Abyaly, peter, et al. -

Sorry I have always disagreed with you two. LOL!

So, are we still OK? I honestly do appreciate your feedback.
Title: Overall league thoughts
Post by: Numsgil on December 23, 2008, 12:56:06 AM
That's the basis of F3.  I think it's valid to have offense countered with defensive abilities in general, though.  Right now it's a bit lame because you can effectively produce as much shell as you can want right at the moment when you need it, so the balancing of costs is so important.  But the core concept is sound.
Title: Overall league thoughts
Post by: jknilinux on December 23, 2008, 01:09:28 PM
But the more "canned" defenses you can just call on whenever you're in trouble, the less intelligent you have to be, right?
T. Rex was stupid, because you don't need brains when you have a jaw the size of a small tree..
We are smart, because you need to be smart when you are a hairless weakling trying to catch tigers.

So if we disallow shell and poison, then it might lead to more intelligent strategies for not being eaten than simply .mkpoison .
Although I agree that the idea is valid in general, so maybe I'm just forcing complexity here...
Title: Overall league thoughts
Post by: Moonfisher on December 24, 2008, 08:54:20 AM
If shell and poison are expensive enough it won't just be something you can use at your leasure, and it will give multicelular organisms and edge since they can share shell and poison.
Building shell and poison would be more expensive than the energy you can save by having it as a single organism, it would only serve to prevent the oponent from getting the energy.
I think it would be interesting to have resources that cells can share other than energy.
Title: Overall league thoughts
Post by: jknilinux on December 27, 2008, 01:19:50 AM
Oh OK. I'm all for it.

Would you guys like to start a new thread specifically for the shell/poison balancing discussion?
Title: Overall league thoughts
Post by: ikke on December 27, 2008, 03:42:39 AM
Quote from: jknilinux
Oh OK. I'm all for it.

Would you guys like to start a new thread specifically for the shell/poison balancing discussion?
Related thread (http://www.darwinbots.com/Forum/index.php?showtopic=3062&st=0&p=1379497&#entry1379497)
Title: Overall league thoughts
Post by: jknilinux on December 29, 2008, 01:49:19 PM
What settings ultimately worked best?
Title: Overall league thoughts
Post by: ikke on December 29, 2008, 03:46:31 PM
I couldn't get a league running under non F1 conditions, so I never made the numbers work. One of the reasons I've taken an interest in programming DB3...