User:Nat/SDSResearch

From Robowiki
< User:Nat
Revision as of 15:41, 12 March 2009 by Nat (talk | contribs)
Jump to navigation Jump to search

Research with Symbolic Dynamic Segmentation.

Challenge Result

Targeting Challenge Y2K7 Fast Learning

Name Author Gun CC RMX SHA WS WOE Surf DM FT GG RMC WLO No Surf Total Comment
Astraea 0.1TC null null 56.86 73.82 63.35 67.59 67.96 65.92 85.84 77.37 70.01 80.83 79.87 78.78 72.35 7.5 seasons (not yet stable)
Astraea SDS0002 null null 65.73 76.14 64.37 72.74 71.05 70.01 85.06 74.02 68.94 76.08 80.10 76.84 73.42 3.4 seasons (not yet stable)
Astraea SDS0003 null null 73.63 72.53 61.94 78.63 71.31 71.61 84.29 74.74 72.00 74.63 72.46 75.62 73.62 1.5 seasons (not yet stable)

Version History

  • 0001: I need to improved a lot, this version have 7 segments; log size of 1000. (Result in progress)
  • 0002: Change LinkedList to ArrayList, increase the segmentation length from 7 to 18, increase log size from 1,000 to 10,000. (Result in progress)
  • 0003: Now use 22 000 log size with non-firing wave. (22 000 is the largest log size with acceptable skipped turn rate NOTE: a movement is not yet processed) (Result in progress)

Todo List

  • Make a single string contains every log.
  • Examine what Virus does :-) DONE!
  • Make it faster.
  • Use Kernel Density instead of an array to find firing angle
  • If there are less than 2 matches, consider not to use that segment and truncate once more.
  • If use only firing waves, match only when low gunheat (0001 and 0002 match every tick)
  • ...

Chat

Help, does anyone have a TC calculator? The score above is just a roughly averaged by eyes score. I think the actual is much lower except the Total score, that was calculated with ScoreAveragedAddOns / 350. I know that the surf score is invalid. » Nat | Talk » 14:37, 11 March 2009 (UTC)

Try RoboResearch - look on the old wiki for info. --Skilgannon 15:28, 11 March 2009 (UTC)

Actually, don't look on the old wiki for RoboResearch, the new wiki page is more recently updated I believe. But yes, RoboResearch is very nice, it automates running all the battles, calculating the scores, and even generating the table row in mediawiki syntax :D (actually, challenges pages really should state to use RoboResearch). With the GUI version you can queue up multiple versions to test one after the other as you sleep too. --Rednaxela 15:36, 11 March 2009 (UTC)

I usually don't download everything that I need to check out from SVN repository by my self :) I took an hour to find download link for RoboResearch and at last admit that I must checkout them from SVN. Question: Can I pause the challenge and resume it next time I turn on my computer? I am not allow to turn on computer while I'm sleeping. » Nat | Talk » 00:53, 12 March 2009 (UTC)

RoboResearch saves battle results in a database as it goes and doesn't re-run unnecessary battles. In fact, if two different challenges have an exactly overlapping pairing it won't repeat the battles unnecessarially. Also, the GUI version (which I highly recommend) stores currently running challenges in a config file so it's super-easy to close at any time and continue running later. In summary that answer to your question is: Yes :-) --Rednaxela 01:10, 12 March 2009 (UTC)


If I do bit shifting to fit the data into 8-bits link this:

0 0 0 0 0 0 0 0
  L     D   a W 
  e     i   c a
  t     s   c l
  e     t   l l
  r     a
  a     n
  l     c
        e

With this I can have up to 7 velocity segment, 7 distance segment, 2 acceleration segment and 2 wall segment. It can fit every segment into one character. Do anyone have idea how to cut the string as per SDS? Or just char & 0xFE or 0xE0? One more, what is faster, doing kernel density or log it to an array and find max? » Nat | Talk » 01:36, 12 March 2009 (UTC)

LinkedList is super slow. I change my code to use ArrayList(10100) and I can increase the segment and log size a LOT (see above). Let see 0002 with larger log size. And 0003 with non-firing waves with larger log size. Anyway 0003 is faster than 0001 » Nat | Talk » 14:41, 12 March 2009 (UTC)

Do I need to publish code for each research bot? I can have them on my page in a minute, but not sure if I need, or anyone want. Note that this research have codename Astraea. All the bot is Astraea with SDSxxxx version number. (OK, at first it is a competition robot, but I can't find better, but not the best, wave surfing to plug in + it really slow so it is now a research. In fact, a entry Astraea DEV in TC2K7 fastlearning result is really a SDS0001) » Nat | Talk » 14:41, 12 March 2009 (UTC)

I'm wonder, with these incomplete result show that non-firing is better against surfer but worse against RM? But let see a complete score before. » Nat | Talk » 14:41, 12 March 2009 (UTC)