Author Topic: Suggesting a cost for .fixpos  (Read 6325 times)

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Suggesting a cost for .fixpos
« on: August 14, 2008, 08:31:21 AM »
Some kind of cost for bots using the .fixpos sysvar would be nice, as discussed in this topic:

http://www.darwinbots.com/Forum/index.php?showtopic=2845

I think the most realistic would be a one time cost for the bot fixing itself to the background and then a timer you can set for it to wear off, though I guess just a cost per cycle is simpler to implement.
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #1 on: August 14, 2008, 03:38:08 PM »
My $0.02:

I don't really favor a cost for fixing or some limit of fixation duration.

First, I have a dislike for costs of any sort.  I think they are over emphasized as it is.  IMHO, they should play a minimal or non-existant role in applying selection pressure in evo sims because they drive selection towards simplicity rather than complexity.  I prefer to use preditors, shepards and species-species competion (along lines other than cost-effeciency) as selction drivers in my evo sims so as to encourage spiraling co-evolution that selects torwards increasing complexity.   My evo sims generally have no costs.

Second, it's not obvious how it should work.  A cost per cycle?  An initial fixation cost?  A limit on fixation duration?  A consensus could be reached, but it's not immediatly clear to me what it would be.

Personally, I prefer to simply add a global sim option to allow fixing or not.  We already have the options to allow ties and to allow different bot radii.  This would simply be another global sim setting that would provide the human option of disabling fixation in that sim.  If so set, setting .fixpos would do nothing.
Many beers....

Offline Nitus

  • Bot Neophyte
  • *
  • Posts: 29
    • View Profile
Suggesting a cost for .fixpos
« Reply #2 on: August 14, 2008, 05:34:05 PM »
Quote from: EricL
My $0.02:

I don't really favor a cost for fixing or some limit of fixation duration.

First, I have a dislike for costs of any sort.  I think they are over emphasized as it is.  IMHO, they should play a minimal or non-existant role in applying selection pressure in evo sims because they drive selection towards simplicity rather than complexity.  I prefer to use preditors, shepards and species-species competion (along lines other than cost-effeciency) as selction drivers in my evo sims so as to encourage spiraling co-evolution that selects torwards increasing complexity.   My evo sims generally have no costs.

Second, it's not obvious how it should work.  A cost per cycle?  An initial fixation cost?  A limit on fixation duration?  A consensus could be reached, but it's not immediatly clear to me what it would be.

Personally, I prefer to simply add a global sim option to allow fixing or not.  We already have the options to allow ties and to allow different bot radii.  This would simply be another global sim setting that would provide the human option of disabling fixation in that sim.  If so set, setting .fixpos would do nothing.

A global setting would work, but there could be scenarios where bots might be able to make leigitimate use of .fixpos even if it had some costs assosciated with it - sims with fixed feeders and gravity, for example, where it might profit a bot to fix in clusters near a food source.
 
My only beef with it is that it breaks the physics model - a bot can anchor itself in space and time regardless of gravity or momentum; even the tiniest bot, when fixed, can stop a massively huge bot dead in its tracks. I have no problem with bots using it, if it's a functional adaption, but it shouldn't circumvent the physics of the sim.

I've always used phsyics-based costs rather than DNA costs in evo sims - DNA costs don't encourage evolution - along with predation and competition, so I would prefer a physics-based fix. There should be some way to make the bot pay for circumventing momentum - in a high g environment, high momentum environment, for example, or when a larger bot slams into it with high "marbleness" set. A movement cost, counter to momentum, or a body-associated cost would be ideal [if harder to implement]. A global .fixpos flag would preclude any legitimate use of a .fixpos strategy [not to mention that fixed veggies seem to use .fixpos behind the scenes; bots that reset .fixpos to zero will unfix veggies]. I suggested a .fixpos DNA costs more as a rough fix that would be easier to implement while not completely disabling .fixpos.
 
The fact that my zerobots in gravity environments keep selecting for it [particularily with energy-shot fix feeders] is not a problem - it makes sense that they would want to. Inserting a predator bot into the sim makes it a less effective tactic, but I've been rerunning sims in an effort to get the bots to keep their .fixpos strategy while finding a means to defend themselves -  a reef or cluster seems kinds cool if it can be made to function sensibly. It just doesn't make sense for the bots to completely circumvent the physics model.
 

I'm not sure if it's noteworthy, but I never had this happen until I started using zerobot blanks for my evo sims
. Even then I can only replicate it using an environment where it confers a distinct advantage. Transitioning the sim to a more complex competive environment isn't working well for "reef" bots, but I'm hopeful that they might devise a defensive strategy that allows them to maintain their "reef" behavior. Some of these reefs utilize extensive ties, which is kind of cool. Overall I don't have a problem with this behavior; I'm just picky about the physics ;p.

 

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #3 on: August 15, 2008, 01:29:31 PM »
Quote from: Nitus
A global setting would work, but there could be scenarios where bots might be able to make leigitimate use of .fixpos even if it had some costs assosciated with it - sims with fixed feeders and gravity, for example, where it might profit a bot to fix in clusters near a food source.
Good point.  With fixing disabled, bots would be hard pressed to remain stationary in such an environment (unless we did somethign like the below).

Note that if I do it as a cost, I think I'd do it per cycle.  Bots would pay a cost each cycle they remained fixed.  

Quote from: Nitus
My only beef with it is that it breaks the physics model - a bot can anchor itself in space and time regardless of gravity or momentum; even the tiniest bot, when fixed, can stop a massively huge bot dead in its tracks. I have no problem with bots using it, if it's a functional adaption, but it shouldn't circumvent the physics of the sim.
I share your beef.  The simulator code is full of special cases for fixed bots w.r.t. collisions, shape overlap (shapes can move) and so on.   Perhaps what we need is less of a binary mechanism and more a gradient - perhaps a way for bots to modify their own coeffecient of friction for example, a .texture sysvar.   Setting it high (rough) enough would generally allow them to fix themselves in most or all environments (I'd include radius and mass in the calculation) but a strong enough collision with a large enoguh bot or a shape would dislodge them some distance.  If we added this sysvar, we could also do the global fixation disable switch (for backward compatagbility with bots that use .fixpos instead of .testure) and not bother with costs unless someone really wanted a cost on bots changing their texture...

Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Suggesting a cost for .fixpos
« Reply #4 on: August 15, 2008, 03:57:27 PM »
Sounds like a cool idea and I think a cost for bots changing their texture would be realistic because it would be a morphological process.
The internet is corrupt and controlled by criminally minded people.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Suggesting a cost for .fixpos
« Reply #5 on: August 15, 2008, 04:04:50 PM »
...so if I understand it correctly a certain setting for friction in the gui would automatically fix a bot a at a certain strength against the background depending on it's .texture value, making it harder to "scrape it off", and would also mean it would cost the bot a little more to achieve it. The harder it wants to stay fixed the more energy it has to invest in it.
« Last Edit: August 15, 2008, 04:06:00 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #6 on: August 15, 2008, 06:39:15 PM »
Quote from: Testlund
...so if I understand it correctly a certain setting for friction in the gui would automatically fix a bot a at a certain strength against the background depending on it's .texture value, making it harder to "scrape it off",
This is essentially what I am suggesting.  You set the characteristics of the field surface just as you do today.  If bots don't set .texture, then the degree to which they experience surface friction is identical to today.  Note that initially I am only suggesting that texture impacts surface friction, not fluid resistance.  

If a bot sets .texture to some value, say 1-100 with 100 being the max, then they would experience additional friction.  I would tune it such that at a value of 100, they would essentially be fixed and immune to all but the most severe forces.   But a small bot with .texture of 100 would still likely slide if impacted by a large bot.  Note that I would MOD values by 100 to increase the probability of mutations hitting in the range.  Note also we could make the range -100 -> 100 if we wanted where negative values would decrease friction.  Or we could have slime act as a lubricate and decrease friction or whatever.  

Quote from: Testlund
and would also mean it would cost the bot a little more to achieve it. The harder it wants to stay fixed the more energy it has to invest in it.
The topic of what it costs is to me an orthoginal discussion.  We could very well have no costs associated with setting or changing values of .texture.   Its not clear to me that the right model is to charge more for having a rougher texture.   We don't change for having more ties or carrying more nrg for example.

Another idea is that I could simply make today's fixed bots behave as if they have .texture of 100 and forgo the new sysvar entirely.  If the main issue is realistic physics when bots impact fixed bots, this simple change would address that....
Many beers....

Offline Nitus

  • Bot Neophyte
  • *
  • Posts: 29
    • View Profile
Suggesting a cost for .fixpos
« Reply #7 on: August 15, 2008, 08:27:43 PM »
You could have a .texture work similar to slime, perhaps, but without the "evaporation" factor - a one time cost as the bot secretes "grease" or lays down "bumps". Have "normal" somewhere between the two extremes of "greasy" and "bumpy" and cost nothing. I could see that general suggestion working - per cycle costs would possibly even be irrelevant from my perspective with that sort of system, because whatever benefits or disadvantages in terms of friction would automatically work within the physics of the sim.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Suggesting a cost for .fixpos
« Reply #8 on: August 15, 2008, 08:36:30 PM »
We could incorporate it in to existing substances, eg: slime makes you slippery, and decreases friction, shell makes your rough, and increases friction.  IF you have both they sort of cancel out.  Or we can make a new substance, but I have reservations about making a new substance just for friction.  If we could incorporate it in to some other gameplay elements as well I'd like it more.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #9 on: August 18, 2008, 02:41:40 PM »
For 2.43.1M, I think I'm going to explore the easy way out and just see if I can make being fixed not quite such an absolute as opposed to inveting new sysvars or substances.   The idea is that fixing will stop your motion and still stick you hard enough such that in most cases, the change in bahaviour from prior builds won't be noticable, but under the covers, I'm going to see if I can make fixation utilize the same code as the coeffecient of static friction, even in cases where there is no z-axis gravity.   The idea is to tune it such that bots can still use fixing in combat or mulitbots like inchworm can use it to propel themselves, but strong enough collisions will dislodge them.  I'm thinking that if a bot does get dislodged (I.e. the under-the-covers coeffecient of static friction is overcome) it will need to fix itself again to halt it's mostion and stop.  This I think will best simulate the mental "suction cup" model I think most people have for fixation.  

Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Suggesting a cost for .fixpos
« Reply #10 on: August 20, 2008, 01:23:34 PM »
Maybe a value stored in the slime sysvar could determine the strength of it, something between 1-100 for instance?  But that would probably mean the value has to reset to 0 if something dislodge it. I'm just brainstorming a little.  
« Last Edit: August 20, 2008, 01:25:23 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #11 on: August 20, 2008, 01:28:29 PM »
Quote from: Testlund
Maybe a value stored in the slime sysvar could determine the strength of it, something between 1-100 for instance?  
At this stage, I think I'd rather keep slime out of the fixation picture.  Down the road, sure, lets explore it but for now, I just want to address the issue people have with fixing and the physicis model in the simpliest way possible.

2.41.1m should be out in a day or two.
Many beers....

Offline Nitus

  • Bot Neophyte
  • *
  • Posts: 29
    • View Profile
Suggesting a cost for .fixpos
« Reply #12 on: August 24, 2008, 05:58:13 AM »
I hope that extreme gravity will affect your "suction cup" model. I guess if you're making it strictly fricton-based, it should address my concerns, but for it to be truly in line with the present model there should be at least an morphological cost, such as acceleration vs gravity. I simply can't accept a model that  "fakes it" as saying anything worthwhile. You shouldn't need to make it happen to see it happen.
 

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Suggesting a cost for .fixpos
« Reply #13 on: August 25, 2008, 12:18:57 PM »
Quote from: Nitus
I simply can't accept a model that  "fakes it" as saying anything worthwhile.

I could care less whether whether you accept it or not.  Let me be very clear about something.  The simulator is not intended to be a perfect (or semi-perfect) simualtion of real, macro world physics.   There are hundreds of examples where it is not.    The only reason it even attempts to simulate tangible phyisical world objects and interactions at all (as opposed to purely digital constructs) is to appeal to human intuition and aid humans in identifying interesting evolved or programmed behaviour.   Evolution does not require the model conform to your notion of correctness.   We could in fact do away with all simulated phyiscality and allow bots to reside, interact and evolve in a purely a naitve digital realm divorced from anything our own evolution has prepared us to recognize.   There are good arguments to favor such a model as I have argued in the past.   But even given the current physics model, that something violates your macro-world intuition or personal sense of worth is insufficient reason to change it.  It cetainly is no reason for me to spend my valuable hours doing so.

If you have a well-reasoned, specific suggestion to make, let's hear it.   But spare me your unreasoned value judgements.

         
Many beers....

Offline Nitus

  • Bot Neophyte
  • *
  • Posts: 29
    • View Profile
Suggesting a cost for .fixpos
« Reply #14 on: August 25, 2008, 05:48:26 PM »
Quote
I could care less whether whether you accept it or not.  Let me be very clear about something.  The simulator is not intended to be a perfect (or semi-perfect) simualtion of real, macro world physics.   There are hundreds of examples where it is not.    The only reason it even attempts to simulate tangible phyisical world objects and interactions at all (as opposed to purely digital constructs) is to appeal to human intuition and aid humans in identifying interesting evolved or programmed behaviour.   Evolution does not require the model conform to your notion of correctness.   We could in fact do away with all simulated phyiscality and allow bots to reside, interact and evolve in a purely a naitve digital realm divorced from anything our own evolution has prepared us to recognize.   There are good arguments to favor such a model as I have argued in the past.   But even given the current physics model, that something violates your macro-world intuition or personal sense of worth is insufficient reason to change it.  It cetainly is no reason for me to spend my valuable hours doing so.

If you have a well-reasoned, specific suggestion to make, let's hear it.   But spare me your unreasoned value judgements.

There's no need to get hostile. I appreciate your efforts on this fine, free product, as I appreciate that you've taken steps to address concerns that I and others have with this issue.
 
This isn't about my "notion of correctness" or my "macro-world intuition", whatever that's supposed to mean. Are you suggesting that microorganisms are less beholden to physical laws, somehow? Certainly, you could design any kind of strange model you want to achieve whatever effects you want, though whether the results would say anything meaningful about evolution would be a matter of debate. That's irrelevant to the point: fact is, you chose to go with a model that reflects real world physics. In either case, internal consistency within your model is important - if you're going to have gravity, for example, then it should function properly.
 
I'm guessing [or hoping] that your friction-based fix will address most of my concerns, including RE gravity. I certainly didn't intend to draw ire with that comment. I'm grateful simply that you've chosen to fix it at all. I've enjoyed darwinbots for years now, and with every release you make it that much more enjoyable. This is work you do on your own time, for little kudos, and it makes my life just a little brighter. If I had the time and the inclination, I'd help out a little instead of just whining about my broken sims ;p.