/NibblerPMC is a version of Nibbler for the PatternMatcherChallenge.
Less code (readable code!), less bugs!
Im currently experimenting with a Moebius style pattern matcher but this new version still don't beat my old one.
Always Marshmallow! Any day now! ;) -- Crippa
You needn't go complex with the flattening code I think. Mako's? move() function is only 15 lines. -- PEZ
Gah! Yet another Java 1.4 only bot... Actually since it's a mega bot you can afford doing something like pattern.toString().indexOf() so that it works on Java 1.3 as well. -- PEZ
Is the pattern-matcher symbolic in Nibbler? -- Kawigi
Yes, it's symbolic! My first attempt to create a pattern matcher wasn't but that was just to slow! I'll make it Java 1.3 compatible to next relese. -- Crippa
Does it follow the pattern-matching concept of most other current symbolic pattern matchers? (pattern-matching lateral velocity). By the way, I think that FunkyChicken's pattern-matcher is a little more accurate than Moebius's. -- Kawigi
I made some test with a lateral velocity pattern matcher but i didn't get as good results as with my current one that uses heading and velocity. With lateral velocity the code becomes quite beauteful so i might make another try some day. ;) -- Crippa
I think that most robots move relative to their opponents (at least in 1-on-1), so in theory, a pattern matcher that looks for and projects patterns relative to yourself should be better than one that matches actual movement. In practice, though, no one has really gotten it to work better. Teancum does it, but is far from perfect, and actually misses sometimes because his assumption that the enemy is moving relative to him is correct - and he aims as if he's standing still the whole time, which he isn't. I'm working on a new version of Teancum that will hopefully take relative pattern-matching to the next level by projecting at least a part of his own movement as well as his opponent's movement, to find his bearing. Once this is done, I think it should at least be able to beat FloodMini 1.1 (if not 1.2). -- Kawigi
I think it doesn't matter much what you match on. Though heading and velocity is maybe best because it removes your own movement entirely. -- PEZ
My point, though, is that fundamentally, my opponent's real movement pattern doesn't remove my own movement entirely. -- Kawigi
Well, not the part where your opponent responds to your movement. But good luck taking that into account in a reliable way. =) I think that might it might be a vaste of time trying. But I'd be happy to be proven wrong. -- PEZ
LoL?, thanks... I guess. I'm not saying, though, that my opponent responds to my movement, but rather that they respond to my position, which changes (thus, my movement). Teancum's targeting foundation is measuring the opponent's movement (or actually his velocity, which is his movement each tick) relative to himself. The way he projects future movement in the current version is really simple, but only mathematically sound if Teancum is standing still. -- Kawigi
I know I've commented on this somewhere in NanoLauLectrik's page, but here it is again. Good idea, slow learning. Your learning time is going to be a function of learning time for your movement and learning time for your opponent's movement. It seems that the function should be a product, but I might be wrong. -- Kuuran
I would agree if I intended to match on a bunch of parameters that included my own movement. But what I intend to do may actually see real patterns more readily than a velocity/direction change pattern matcher. In Teancum's (and NanoLauLectrik's) current guns, by using lateral (and sometimes advancing) velocity, you factor your movement out of your opponent's movement in getting the pattern. My intention is simply to factor it back in when I project their future movement. -- Kawigi
Hmmm, that sounde doable. But I'll let you explore it. If it seems to be effective I'll incorporate it. If it isn't you have wasted the time, and not I. =) -- PEZ
I'm usal not patient enought to do the nesessary tests. I run a couple och houndred rounds and if i don't see a performance increase i just trash it. -- Crippa
Tsss. We both know you only run 30 rounds and then hit the Stop button and mangle your code again. =) -- PEZ
Good job on getting your bot into the EternalRumble #16 ranking in 1v1! -- PEZ
Good job! -- Vuen