[Home]Simonton/DCGTResearch

Robo Home | Simonton | Changes | Preferences | AllPages

My next experiment: goto path surfing. It works by choosing (currently) 31 impact points on each wave, spread out across GF -1 to 1, then plotting the path through them with the least sum of the dangers. It currently works like this, which will become more sophisticated with time: So far there's very humble beginnings:

See old results at /DCGTResearchArchive

MC2K7 Fast Learning Results

Bot Name Author Type HOF SPL GRG Sub 1 WAY (Sub 2) GR3 RKM Sub 3 ASC CC CHK Sub 4 Total Comments
0038 Simonton WS-GT-PF/DC 99.23 85.89 86.57 90.56 62.90 53.18 68.64 60.91 34.39 42.98 40.12 39.16 63.38 90.0 seasons
0039 Simonton WS-GT-PF/DC 99.75 85.78 87.29 90.94 64.62 53.05 69.49 61.27 34.71 40.46 39.79 38.32 63.79 90.0 seasons
0040 Simonton WS-GT-PF/DC 99.75 85.90 86.73 90.79 65.18 52.27 70.25 61.26 34.24 41.26 39.97 38.49 63.93 78.8 seasons
0043 Simonton WS-GT-PF/DC 99.79 86.22 86.52 90.84 64.50 58.29 69.33 63.81 35.01 42.12 38.60 38.58 64.43 90.0 seasons
0044 Simonton WS-GT-PF/DC 99.73 85.94 87.65 91.11 62.40 51.78 68.58 60.18 34.67 41.63 41.56 39.29 63.24 83.9 seasons
0045 Simonton WS-GT-PF/DC 99.81 85.86 86.95 90.87 64.27 54.76 67.83 61.30 35.02 42.20 38.85 38.69 63.78 75.0 seasons
0046 Simonton WS-GT-PF/DC 99.54 87.36 89.06 91.99 63.60 55.20 70.14 62.67 33.75 41.25 39.07 38.02 64.07 75.0 seasons
0047 Simonton WS-GT-PF/DC 99.69 87.79 88.84 92.11 65.00 55.51 71.39 63.45 33.42 41.14 39.05 37.87 64.61 75.0 seasons
0048 Simonton WS-GT-PF/DC 99.65 86.84 87.68 91.39 63.82 58.86 68.81 63.83 34.65 41.52 38.23 38.13 64.29 75.0 seasons
0050 Simonton WS-GT-PF/DC 99.67 87.82 89.03 92.17 63.19 57.96 72.58 65.27 33.19 40.94 39.39 37.84 64.62 75.0 seasons
0051 Simonton WS-GT-PF/DC 99.73 86.94 88.40 91.69 62.81 60.33 70.47 65.40 34.12 41.34 38.56 38.01 64.48 75.0 seasons
0052 Simonton WS-GT-PF/DC 99.70 87.79 89.77 92.42 61.73 57.98 72.82 65.40 30.41 41.93 39.99 37.44 64.25 75.0 seasons
0053 Simonton WS-GT-PF/DC 99.71 87.95 88.69 92.12 62.85 58.24 72.11 65.18 33.68 41.07 40.03 38.26 64.60 75.0 seasons
0054 Simonton WS-GT-PF/DC 99.64 87.66 89.17 92.15 63.04 60.42 72.20 66.31 33.01 41.69 39.29 38.00 64.88 75.0 seasons
0056 Simonton WS-GT-PF/DC 99.72 86.65 87.72 91.37 61.41 60.22 71.07 65.64 31.93 38.37 37.65 35.98 63.60 75.0 seasons
0057 Simonton WS-GT-PF/DC 99.56 88.14 86.88 91.53 65.95 62.77 75.40 69.08 34.95 42.30 40.09 39.11 66.42 75.0 seasons
0058 Simonton WS-GT-PF/DC 99.51 87.62 87.97 91.70 64.39 61.66 75.21 68.44 34.93 43.53 39.35 39.27 65.95 75.0 seasons
0059 Simonton WS-GT-PF/DC 99.53 88.25 87.34 91.71 67.40 63.42 76.11 69.76 35.03 42.28 40.35 39.22 67.02 75.0 seasons
0060 Simonton WS-GT-PF/DC 99.47 88.79 88.33 92.20 67.67 63.39 76.99 70.19 35.82 41.39 40.17 39.13 67.30 75.0 seasons
0061 Simonton WS-GT-PF/DC 99.80 88.45 89.72 92.66 69.63 63.29 76.61 69.95 34.52 41.29 41.34 39.05 67.82 75.0 seasons
0062 Simonton WS-GT-PF/DC 99.98 88.02 89.75 92.59 68.40 63.20 76.18 69.69 33.00 40.64 39.98 37.88 67.14 75.0 seasons
0063 Simonton WS-GT-PF/DC 99.97 88.59 89.93 92.83 67.91 63.30 77.67 70.48 33.43 40.42 40.10 37.98 67.30 75.0 seasons
0064 Simonton WS-GT-PF/DC 99.99 88.10 88.74 92.28 68.93 62.83 77.27 70.05 34.86 41.15 40.69 38.90 67.54 75.0 seasons
separator
DrussGT 1.1.4 Skilgannon WS-GT/VCS 99.70 87.77 92.74 93.41 71.54 71.51 81.64 76.57 43.10 49.21 47.69 46.67 72.05 100.0 seasons
Dookious 1.554 Voidious WS 99,94 86,30 94,31 93,52 69,07 69,41 84,12 76,76 40,73 52,86 52,06 48,55 71,97 31 seasons
DrussGT w/
my "segments"
Skilgannon WS-GT 99.42 87.56 90.58 92.52 65.73 73.56 78.44 76.00 33.28 41.70 41.90 38.96 68.30 41.0 seasons
Firebird 0.1 David Alves DC WS 99.88 87.01 86.72 91.21 67.16 64.53 77.10 70.82 30.02 42.54 42.16 38.24 66.85 100.0 seasons
Bot Name Author Type HOF SPL GRG Sub 1 WAY (Sub 2) GR3 RKM Sub 3 ASC CC CHK Sub 4 Total Comments

MC2K7 Results

Bot Name Author Type HOF SPL GRG Sub 1 WAY (Sub 2) GR3 RKM Sub 3 ASC CC CHK Sub 4 Total Comments
0038 Simonton WS-GT-PF/DC 99.36 88.34 89.60 92.43 69.57 54.90 67.37 61.14 28.22 42.45 31.23 33.96 64.28 5.0 seasons
0039 Simonton WS-GT-PF/DC 99.84 88.24 90.17 92.75 72.19 55.53 70.44 62.99 29.23 43.84 30.75 34.61 65.63 5.0 seasons
0040 Simonton WS-GT-PF/DC 99.84 87.94 90.16 92.65 71.52 53.87 71.52 62.69 27.79 40.68 28.40 32.29 64.79 5.0 seasons
0050 Simonton WS-GT-PF/DC 99.71 89.18 91.72 93.54 70.25 58.55 71.27 64.91 27.11 43.43 30.33 33.62 65.58 5.0 seasons
0051 Simonton WS-GT-PF/DC 99.77 89.50 91.57 93.61 70.41 60.91 70.33 65.62 27.05 43.33 29.22 33.20 65.71 5.0 seasons
0052 Simonton WS-GT-PF/DC 99.82 89.96 91.83 93.87 69.06 59.18 72.36 65.77 22.82 43.24 29.21 31.76 65.12 2.8 seasons
0053 Simonton WS-GT-PF/DC 99.75 89.19 91.61 93.52 70.40 58.72 73.40 66.06 28.44 41.78 29.35 33.19 65.79 5.0 seasons
0056 Simonton WS-GT-PF/DC 99.68 88.24 90.99 92.97 68.65 60.69 70.21 65.45 26.58 42.10 29.40 32.69 64.94 5.0 seasons
0057 Simonton WS-GT-PF/DC 99.58 90.04 91.69 93.77 72.55 63.46 75.32 69.39 28.14 43.87 30.54 34.18 67.47 5.0 seasons
0058 Simonton WS-GT-PF/DC 99.67 89.60 91.63 93.63 73.33 62.53 75.72 69.13 29.83 42.90 29.69 34.14 67.56 5.0 seasons
0059 Simonton WS-GT-PF/DC 99.56 90.46 92.30 94.11 73.40 64.25 77.79 71.02 29.97 44.41 30.94 35.11 68.41 5.0 seasons
0061 Simonton WS-GT-PF/DC 99.86 90.98 93.01 94.61 75.32 64.53 77.14 70.84 29.88 42.86 30.56 34.43 68.80 5.0 seasons
0062 Simonton WS-GT-PF/DC 99.99 90.45 92.12 94.19 74.25 64.31 78.52 71.41 25.95 40.19 28.72 31.62 67.87 5.0 seasons
0063 Simonton WS-GT-PF/DC 99.99 90.59 93.91 94.83 76.07 64.47 80.14 72.31 26.28 42.19 29.54 32.67 68.97 5.0 seasons
0069 Simonton WS-GT-PF/DC 99.99 89.22 95.23 94.81 73.19 64.67 81.47 73.07 28.76 45.72 32.58 35.69 69.19 5.0 seasons
separator
DrussGT 0.3.1 Skilgannon WS-GT 99.87 89.16 96.42 95.15 69.93 66.81 86.20 76.50 24.34 52.48 37.66 38.16 69.94 1 season
Dookious 1.554 Voidious WS/GF 99.92 89.18 98.03 95.71 72.86 70.23 87.95 79.09 30.78 54.23 40.02 41.67 72.33 6 seasons
Bot Name Author Type HOF SPL GRG Sub 1 WAY (Sub 2) GR3 RKM Sub 3 ASC CC CHK Sub 4 Total Comments


And I thought "WS-GT/DC" was bad. =) -- AaronR

Surely you would want your points to be between GFs -1 to 1? Otherwise you never get to a negative GF... -- Skilgannon

Not to be an organization freak, but why not put this under Simonton/DCGTResearch, like Simonton/DCResearch? A subpage of WaveSurfing seems a little general for somebody's specific development stuff. I can rename it for you if you agree. =) -- Voidious

Wow, those acronyms are getting out of control. --David Alves

0014 is not done - is has a lot of bugs (or maybe just one big one?) and is in serious need of speed optimization. I skips turns pretty badly on a CPU constant of 100. BUT, it looks like it could actually be paying off. It just went 100 rounds against HawkOnFire MC2K7 without getting hit once. -- Simonton

Grrrr. Well I know 0015 still has bugs, but I still thought it would be the best version so far. I know WaveSuffuring? is the common experience, but this is getting out of hand. I have an idea how to throw off Waylander - maybe I'll do that now just to see my score go up & make myself feel better :/.-- Simonton

Ouch! I'm guessing it's your wave times, probably a tick or two off. But how about a test version that only surfs the first wave? -- Skilgannon

Well, I just found one, disappointing bug. My "precise" prediction was being smarter than Robocode. If your bot is traveling at a speed of 3 and you tell it to move 1.1 pixels forward, my code assumed you would travel at a speed of 1.1 and arrive at your destination next tick. Robocode, however decides you should travel at a speed of 1, then travel at a speed of 0.1 to arrive at your destination in 2 ticks. -- Simonton

Does that 0.1 pixels really make a difference? I mean, how many pixels are between each point on the wave that you're checking? And feel free to try my reachable() method, it's free code =) -- Skilgannon

It's not the .1 pixel that concerns me as much as the 1 tick. There's 2 buggy behaviors I'm trying to fix right now: 1) It adjusts its path mid-flight when the enemy has not just fired a new wave and a bullet of the enemy's has not been discovered. This means it is not accurately predicting its own future movement: some points become "reachable" that it previously thought were not and vice versa. 2) Well ... I'm kinda hoping fixing number 1 fixes this one too ... it's kinda hard to explain. It oscillates sometimes, which it should not do. But anyway, again, your reachable method does not tell at what time you'll reach a given destination - only whether you can reach it, which my surfing requires. Anyway, after those two bugs it looks like that method is working well. But - the hunt continues. -- Simonton

That clustering bug is a bit embarrassing. 0018 shows a stronger performance, though it is still far, far from being considered a good surfer. However, I actually don't know of any more bugs! Which is amazing and exciting - I can actually start thinking about improving it again! I think the best next step is to get it to consider running through waves rather stopping at each one, but that's a step I'm not yet ready to take. Too complicated. Whatever is next, I need to do some execution speed optimizations first (5 minutes for one battle is not acceptable). -- Simonton

So it was that clustering bug that was causing you to change directions sometimes? Makes sense that it would, if it keeps thinking different parts of the wave are dangerous. -- Skilgannon

No, the clustering bug didn't do that (it would pull the same "arbitrary" cluster every time). It was just those 2 predictor bugs. I still thought there were more because I didn't notice bullet collisions when I saw the path change. I realized that was happening, made it paint a more obvious clue, then everything seemed solid. So the bug was in the tester :). -- Simonton

Above 60! Progress! =) --David Alves

I'm surprised OnDeath handling increased my score consistently against the top bots, by an average of more that 1%, but didn't help my score against Raiko at all. Any theories? -- Simonton

Yeah, interesting. Maybe it's because Raiko learns so slowly compared to the others. What percentage of battles do you lose to Raiko? Are you ready to add some other attributes, like distance, and time-since-decel? And that rambot score doesn't look very healthy. Are you moveing at all when there aren't any bullets in the air? That helps a lot against those pesky rambots. -- Skilgannon

My scores are low in general because I'm still stoping at every wave. The rambot score dropped when I added EnergyDropSurfing, so that I'm always trying to move perpendicular (before when there were no waves I retreated). Those things are not my concern right now. They will be fixed eventually. But no, I'm not ready to add other attributes yet, I'm still working on the surfing system itself, and I want to keep a consistent benchmark for it. -- Simonton

DrussGT (and Stormrider) also stop at each wave, so that isn't the problem. Actually they don't stop, but they have a max speed of 2 as the wave passes over them. If there's anything lacking in your surfing, my guess is the points generation. -- Skilgannon

A couple thoughts:

-- Voidious

Hmm ... but if the bot you're up against doesn't segment on bullet power, doesn't it still give you the same information about his targeting? I suppose my movement is going to be slowed down a lot with waves crashing over me more frequently, which could easily land me in different segments in the enemy's aiming stats. As a side note, "DCGTResearch" is just too much of a mouthful. Feel free to just say "Simonton's movement" or something. -- Simonton


Well, it happened. I'm back. Not sure for how long, but I'm back. :) -- Simonton

Nice to see you back Oh Inspiring Methodical One. :) What I've been wondering is.. when will we see some killer bot result from your intensive movement/targeting research? I'm looking forward to it! :) -- Rednaxela

Funny, that's exactly what I wonder!! lol . -- Simonton

I'd be interested to see what you get if you only surf the first wave (as a test). Might be revealing... -- Skilgannon


Nice improvement! I'm guessing your surfing has been a tick off the whole time. -- Skilgannon

Thanks! 0036 is definitely an improvement (don't put too much stock in those scores from 0035 at only 5 fast-learning seasons). But no, the bugfix had nothing to do with being one off. It allowed me to reach another possible point (or two?) on each wave, increasing my options and escape angle. Hopefully 0037 proves just as fruitful again, by further optimizing the same braking behavior! This all seems rather detailed to be developing when there are so much more important things, but never fear, it's all in preparation for what I hope will be a very big improvement: consider not stoping on each wave. Similarly, consider turning without slowing down. And I think I have everything in place to accomplish it now! Watch out! -- Simonton

Wow, looking over it again, 0036 improved against every single bot compared to 0034 in the fast learning! Against all but one bot in the long-learning, too! That's amazing! Er, ehem, I mean ... just as I expected ... -- Simonton

It's a nice feeling when things go nicely like that regardless of if it's how you're expecting ;-) Glad you're having better luck with this than I am with improving Polylunar results against Xmen. Things I expect to improve results, like replacing the antigrav with minrisk just aren't working at all right for some reason. Hope your surfing scores keeping going up :-) -- Rednaxela

Thank you. Minrisk is really tricky in my experience. I have toyed with a Melee MicroBot in the past, but I could never tune a minrisk movement that could even do as well as MeleeSeed's simple, nano-sized corner movement! -- Simonton

Well, as one can [see], my experiment in minrisk, MiniSurreptitious (which could probably become Micro if I wanted, and has nothing but a HOF gun), didn't go so bad though not great either. In any case I found the main issues I was having integrating it into Polylunar which were rather stupid mistakes on my part. Not sure if fixing that made it better than the antigrav though, but for the moment, I'm working on other aspects of Polylunar's movement first. Also, MeleeSeed has a plain awesome nano-corner-movement! :-) -- Rednaxela

Ah yes, that must not be a bad movement at all! Right on par with Shiz. Very nice. With my gun and your movement, we could rule the mini throne! (Sprout is a micro, all gun, with extras just because I had room). -- Simonton

Well, I'm note sure we'd rule that much with that combo, at least with MiniSurreptitious's movement, because firstly it's worse than HawkOnFire while being quite conceptually similar, and secondly Coriantumr has both a rather good gun and rather good movement at once. Maybe if MiniSurreptitious tops HawkOnFire while still being shrinkable to micro, we'd have a chance at top mini though... I do have some ideas to improve MiniSurreptitious substantially, however they might make micro-sizing it difficult without help of a Master Codesize Wizard. In any case though, I've given up on working on melee until the widespread details file corruption in the melee rumble is fixed. It just makes it too slow to run the melee rumble. How about this though: If the melee rumble is fixed, once I get MiniSurreptitious to top HOF, we try a wiki.SurreptitiousSprout bot and rule the world! ;-) -- Rednaxela

It's a deal! And I don't mean to brag, but I do consider myself pretty handy with codesize reduction ... -- Simonton

I wouldn't call it bragging really. After all, I seem to recall others reputable sources around here praising your codesize reduction abilities... :-) -- Rednaxela

Heh, I fully agree, me and Simonton have very different methods for codesize reduction. I tend to refine my ideas so that I only keep the bare necessities in, whereas he manages to keep full functionality, and just squishes it all together with shared variables, splitting off static functions, changing variable types etc. If I have code to shrink I'll finish with something that acts slightly differently, but (hopefully) retains the important stuff. I might be micro-king, but Simonton is the master codesize-reducer =) Much can be learned from studying his bots =) -- Skilgannon

And in the other extreme, I am awfully attached to my MegaBot-style utility classes like "AbsolutePoint" and "RelativePoint", and use of StatusEvent, both of which cause very large codesize compared to what would be called sane design in a codesize restricted environment :-) -- Rednaxela

Back to the topic of this page: Very nice improvments in 38 and 39! This is certainly on it's way to being a great movement! -- Rednaxela

You can see a nice improvement with 0057. My little goto surfer has finally had all his handicaps lifted: he no longer has to hit the brakes when turning (though his programming is still on the conservative side for how fast he can go while turning, until I or anyone else figures out Movement/OptimalGoTo?). The performance hit against GrubbmGrb concerns me, though. I'll have to watch some battles & see whether I can figure that one out. Maybe he's more succeptible to one of grb's virtual guns, but not good at predicting it, I guess. -- Simonton

Hey Simonton, what are the dimensions/weightings you're running there again? I was thinking of doing an updated version of "DrussGT w/ my segments" using DrussGT 1.2.7 =) -- Skilgannon


Robo Home | Simonton | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited September 20, 2008 18:18 EST by Starrynte (diff)
Search: