Robo Home | PatternMatcherChallenge | Changes | Preferences | AllPages

PMC (PatternMatcherChallenge) Index ranking

Bot_________________________Author____________Index_______Date of Victory / Comment
EnderPMC 1.3 Vic Stewart 101.75 % jun 17 2003 / Using deltaheading and deltavelocity for matching. Improved heading prediction and initial damage.
WeeklongObsession Simonton 101.61 % jan 4 2007 / Using the pattern matcher described on my page. Cheated a little by increasing my bot's delta-heading segments for the challenge :). (It scored 101.07 before that, though)
LeachPMC 1.1.10 PEZ 101.15 % Jun 19 2003 / Variable length search vector using heading delta and velocity for matching and the same for projection (see its page for more info and progress)
GlowBlowPMC Rozu 101.08 % jun 15 2003 / Using headingchange and velocity for matching (does account for discontinuity between two rounds)
Nibbler/NibblerPMC Crippa 100.87 % jun 17 2003 / Using deltaheading and velocity for matching. Tweeked to get less skipped events.
MicroAspidPMC Albert 100.50 % jun 17 2003 / Variable window lenght pattern matcher using velocity & heading (without low pass filter). Considers beginning and end of rounds
ParakeetPMC Dummy 100.14 % Using sampled displacement for matching
(sampletime=4 ticks,search vector consists of 8 samples)
Pytko Chase 100.08% I was bored enough to test it..
RooseveltPMC Brainfade 100.04% Just found a bug....
Chase-san/PatternBot Chase-san 099.32% Just your ol' fashioned pattern matcher (500:100000:PI/128:.25)
TeancumPMC Kawigi 098.55% Using lateral and advancing velocity for matching and projection, fixed length of 50 or 1/4 of the current round.
WaylanderMicro? Skilgannon 095.98% Using variable key length and decoupled delta heading and velocity to decrease learning time. No data saving between games. No PMC specific optimisations.
Aryary's Pattern Matching (Releasing Soon in a MicroBot) Aryary 095.89% Matching Velocity and Delta Heading. (Fixed Some Bugs.)
Recrimpo's future gun Tango 083.97% Lots of work to do, yet.
mini.FenrirPMC 0.33i Loki 079.33 % Using lateral velocity and acceleration for matching, variable length pm
HeadOnTargeting 034.22% Just for comparison (3248/9492)

Guns above the dotted line have completed the challenge and have beaten PatternBot.

You can calculate the INDEX like this:

(your_bullet_damage / patternbot_bullet_damage) * 100.0 

Mmmm, it's getting lonely below the dotted line! Where do you guys find the time to improve your (patternmatching) robots???

Well, I had the luxery of a whole hour yesterday evening and was able to improve performance to a whopping 72.89% ;-) I still miss quite frequently, often just missing PatternBot by a fraction. I believe this is due to the setup of my bot (which was designed for melee): the calculation of the predicted bearing takes place in the Target-code, after which (mini)Fenrir requests this bearing, aims the gun and shoots. This can result in a delay, causing the gun to mis-allign. It's probably better to aim the gun in the same ScannedRobotEvent that updates the enemy info...
I will try this when i find the time again. --Loki

I found some time and added two minor changes: 1) now uses lateral velocity and acceleration for matching, 2) aim the gun in the ScannedRobotEvent. Result is only a slight improvement of approx. 2.5%. Probable causes:

  1. i use exact match instead of best match, resulting in lower match rates (the succesratio of matching is 99.32%, but this is mainly based on the contribution of small pattern lengths in the variable length matching)
  2. i don't take transversal movement into account in the prediction of the future position, resulting in a predicted angle that is to large. You can see this by the many 'near-misses'.
Maybe i have reached the limit of this type of pattern matching --Loki

update: I still have problems with the initial fase and too many near misses. --Loki

I disagree - your style of matching is similar to TeancumPMC, who uses lateral velocity and advancing velocity. The reason this is stronger against PatternBot is that this helps more accurately account for when PatternBot is moving toward or away from me (which might greatly reduce the near-misses). Now, if you can go beyond TeancumPMC with a relative sort of pattern-matcher, I want to know how :-) -- Kawigi

I'm struggling with finding the bug in my pattern matcher. It seems to do the matching quite well. But the projection fails obviously. A check question:
Good tests are invaluable. I think this challenge has raised the quality of many pattern matchers. Most notably Leachs' of course, which started out being only half as good as a HeadOnTargeting gun. =) -- PEZ

How fast are peoples' hit-percentages growing in this? I suspect it takes Teancum's gun a little longer to learn than some others here, at least against PatternBot, but it takes it about 50 rounds or so before he gets his hit-rate over 90% and starts killing PatternBot. -- Kawigi

LeachPMC need one or two rounds before hit rates start being close to 100%. But since I don't like the first missed shots, I save the recording data between matches. =) -- PEZ

Also it takes MicroAspidPMC a couple of rounds to get a good percentage. Then it improves during 5-10 additional rounds, but not so much. -- Albert

Yeah, I think that TeancumPMC needs to see the movement at a few different angles before he really can predict fully accurately what's going to happen. -- Kawigi

EnderPMC needs one clean (no collisions) round (if it has no saved data) to get to about 98%. But strangely enough it seems to improve slightly in the next 10 or so matches (even with saved data!). This could be the matching probability of the very first shot in the true pattern movement phase. Just before that, PatternBot has turned a variable amount of degrees and before that, it has travelled linearly for a variable distance. The more data is stored, the higher the probability you can match the first shot correctly. Writing this down i realise that i should increase my amount of saved data. Currently i store only 5000 Ticks (inbetween rounds 15000) so it will take the first 10 or so rounds to fill back up to 15000. -- Vic

TeancumPMC is now submitted! -- Kawigi

There are 2 bots with an index over 100%, but below the dotted line. Is this a mistake, or am i misunderstanding something? -- Tango

The percentage is your bullet damage divided by PatternMatcherBot's - you complete the challenge when you beat it, those people still have a lower survival score than PatterMatcherBot?. -- Kawigi

Yep, and in order to out-survive PatternMatcherBot you need to account for the beginning of rounds (ie before PatternMatcherBot get's into it's routine) and to be honest i couldn't be bothered so just settled for a 100%+ index -- Brainfade

I thought that might be it. Would that not cause a problem if someone beat PMB but got a lower index than someone who didn't? (i think it's possible...) -- Tango

What would be the problem exactly? =) -- PEZ

BotA? would be below BotB? because it had a lower index, but BotA? would be meant to be above the line, and BotB? below it. It's impossible to put them in an order that would suit both systems. -- Tango

I've been robocoding for a whole week now! I'm pretty chuffed with my 95.98% :-) ...no PMC optimizations though, for me thats like shrinking code is for PEZ -- Skilgannon

Very nice! -- Simonton

Not to bad for a first attempt I suppose, didn't even skip a turn either. --Chase-san

Hi All, I am just trying out pattern matching (switchover from familiar GFs...) . Is there anything else I can match other than velocity and Delta Heading To make it more effective? Also, other than PatternBot, I seem to have some skipped turns , stopping me for that round. Anyone has any idea? I may implement more in a Mini (Very Later...) and Maybe with wavesurfing in a mega (long way to go). Thanks. -- Aryary

Make the "keylength" that you are searching for search for several different sizes, and choose the biggest that gets a match. Other than that, delta-heading and velocity should be plenty. If you are getting stopped you probably have a runaway loop somewhere. -- Skilgannon

Hmm. Fixed Most skipped turns by editing some part within the searching, so now I only face problems when I meet a bot staying still and firing at me. The WaveSurfing Challenge Bots for exmaple. After about 3-4 rounds my bot gets jammed. Anyone knows why? Sorry I am just new to Pattern Matching. Thanks. Btw, the gun performance improved. -- Aryary

Robo Home | PatternMatcherChallenge | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited March 24, 2009 19:58 EST by Chase (diff)