what's the secret to making a good robot in robocode

Jump to navigation Jump to search

Why is that an assumption they will ever go there? It's only taking into account that they could. If they never go there, what's the difference? If your bot has a min GF of -0.1 and a max of 0.3, it wouldn't make my gun any more accurate to change my MEA to match.

Voidious (talk)02:41, 19 December 2013

If an enemy bot never went outside of the range between -0.1 and 0.3, you're right, it probably wouldn't affect accuracy much. However, say an enemy bot has a huge spike at 1.0, and you decide to fire at it, even though the enemy cannot possibly reach 1.0 with its current heading. The shot would be wasted.

Sheldor (talk)03:22, 19 December 2013

So, yeah, I'm always thinking in terms of precise MEA, and thinking that I will never fire at a GF the enemy never visited. So I don't see how it's assuming anything about how much of the escape range they might actually cover - the MEA is effectively however much of the range they ever cover. There is the scaling, which I think only assumes they're not moving in a fixed pattern.

And you're right that that is a problem with a certain MEA approximation formula some people use with their GuessFactors. :-)

Voidious (talk)03:29, 19 December 2013

My micros don't even have a formula for MEA, they just use the constant 0.7272...

I suppose the problem with imprecise MEA is kind of moot, as we were talking about what DrussGT assumes, and DrussGT has precise MEA.

Sheldor (talk)04:32, 19 December 2013
 
 

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

Return to Thread:User talk:Tmservo/what's the secret to making a good robot in robocode/reply (28).

If the enemy pays no attention to where I am and just moves randomly, the lateral displacement will still scale by BFT and GFs will still make sense, unless their algorithm is hard-coded to only move a fixed distance. That movement isn't orbital. Am I wrong?

Voidious (talk)04:35, 19 December 2013

Ok, any movement which scales with BFT works with GF. But which movements are these?

- Orbital movement

- Random movement normalized to move to all reachable angles (random orbital movement)

It doesn't work as well on other movements(slower learning):

- Pattern movement (including linear movement and oscillators)

- Random movements, which change heading/velocity based on anything not related to MEA

In practice, GF works against all movements above, but thanks to segmentation. Segmenting by distance and bullet power fixes most assumptions in GF which happen to be wrong in the long run.

Assuming wrongly that a movement is orbital is not that bad. Movements which do not try to maximize MEA are more predictable in the long run. If it is orbital, GF is right from the beginning and do well. If it is not orbital, then any statistical gun will have a higher hit rate in the long run.

And a worst case scenario. What if someone uses a pattern movement in the beginning and switches to orbital later on? DrussGT is doing this since it incorporated EnergyDome's bullet shielding.

MN (talk)16:02, 19 December 2013