Difference between revisions of "User:Rednaxela/SaphireEdge"

From Robowiki
Jump to navigation Jump to search
(description of VCS17-19)
(Make challenge links go to new wiki)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
SaphireEdge is the nickname for the new gun I'm working on. There will be a variety of gun research componants before SaphireEdge comes together as a whole, the first being perfecting the VCS techniques that will be incorperated as a part of SaphireEdge.
 
SaphireEdge is the nickname for the new gun I'm working on. There will be a variety of gun research componants before SaphireEdge comes together as a whole, the first being perfecting the VCS techniques that will be incorperated as a part of SaphireEdge.
 +
 +
= NN Series =
 +
Well, Seems the AS series is performing execellant, except for one major blotch in it's record: Shadow. So, what has gotten the best ever score against Shadow ever? The would be Gaff. The NN series consists of a single back propogation neural network, with multiple inputs per dimension and 45 outputs. The NN series is meant to kick Shadow to hard and hopefully be useful to later put in the mix against other enemies too.
 +
 +
==Challenges==
 +
=== [[Targeting Challenge 2K7/Fast Learning Results|Targeting Challenge 2K7 (Fast Learning)]] Surfers only. ===
 +
 +
{| border="1"
 +
| '''Name''' || ''Based on'' || '''CC''' || '''RMX''' || '''SHA''' || '''WS''' || '''WOE''' || '''Total''' || '''Comment'''
 +
|-
 +
| NN01 ||      || 66.90 || 83.80 || 65.60 || 86.48 || 82.22 || '''77.00''' || '''77.00''' || 49.0 seasons
 +
|-
 +
| NN02 || NN01 || 64.66 || 81.76 || 65.12 || 83.09 || 79.72 || '''74.87''' || '''74.87''' || 49.0 seasons
 +
|-
 +
| NN03 || NN01 || 66.64 || 83.27 || 65.65 || 85.46 || 81.87 || '''76.58''' || '''76.58''' || 50.0 seasons
 +
|}
 +
 +
 +
=== SHAAAAADOW! ===
 +
 +
{| border="1"
 +
| '''Name''' || ''Based on'' || '''SHA''' || '''Comment'''
 +
|-
 +
| NN01 ||      || '''65.60''' || 49.0 seasons
 +
|-
 +
| NN02 || NN01 || '''65.12''' || 49.0 seasons
 +
|-
 +
| NN03 || NN01 || '''65.65''' || 50.0 seasons
 +
|-
 +
| NN04 || NN03 || '''67.30''' || 100.0 seasons
 +
|-
 +
| NN05 || NN04 || '''68.38''' || 100.0 seasons
 +
|-
 +
| NN06 || NN05 || '''68.58''' || 100.0 seasons
 +
|-
 +
| NN07 || NN05 || '''67.06''' || 100.0 seasons
 +
|-
 +
| NN08 || NN05 || '''67.83''' || 100.0 seasons
 +
|-
 +
| NN09 || NN06 || '''67.75''' || 100.0 seasons
 +
|-
 +
| NN10 || NN06 || '''68.42''' || 210.0 seasons
 +
|-
 +
| NN11 || NN10 || '''68.98''' || 210.0 seasons
 +
|-
 +
| NN12 || NN11 || '''68.74''' || 210.0 seasons
 +
|-
 +
| '''NN13''' || NN12 || '''70.70''' || 210.0 seasons
 +
|-
 +
| NN14 || NN12 || '''68.47''' || 210.0 seasons
 +
|-
 +
| NN15 || NN12 || '''70.08''' || 210.0 seasons
 +
|-
 +
| NN16 || NN12 || '''69.98''' || 210.0 seasons
 +
|-
 +
| NN17 || NN13 || '''70.02''' || 210.0 seasons
 +
|-
 +
| NN18 || NN13 || '''69.65''' || 210.0 seasons
 +
|-
 +
| NN19 || NN13 || '''69.61''' || 210.0 seasons
 +
|-
 +
| NN20 || NN13 || '''69.66''' || 210.0 seasons
 +
|-
 +
| NN21 || NN13 || '''70.85''' || 212.0 seasons
 +
|}
 +
 +
''(bolded version is the base for current development)''
 +
 +
==Versions==
 +
* '''01:''' Inspired by Gaff. BPNN inputs based on lateral velocity, acceleration, velocity-change time, forward wall distance, and backwards wall distance.
 +
* '''02:''' Based on NN01. Some tweaks to the training policy.
 +
* '''03:''' Based on NN01. Some different tweaks to the training policy.
 +
* '''04:''' Based on NN03. De-segment the inputs. Add all currently tracked stats as inputs. Use a smoothed output goal. Every time a wave passes, retrain against the last 30 waves.
 +
* '''05:''' Based on NN04. Only retrain against the last 5 waves, now using batch training, run the batch training 3 times whenever data is recieved. Triple learning rate.
 +
* '''06:''' Based on NN05. Use last 10 waves instead of last 5.
 +
* '''07:''' Based on NN05. Disable the 'bias' weights of the NN.
 +
* '''08:''' Based on NN05. Disable the random initial weightings of the NN.
 +
* '''09:''' Based on NN06. Make the random initial weightings more diversely random.
 +
* '''10:''' Based on NN06. Make the NN inputs consist of: DISTANCE, LATERALV, ADVANCINGV, LATACCEL, ADVACCEL, VCHANGETIME, LATDIRTIME, DISTLAST9, FWALL, and BWALL.
 +
* '''11:''' Based on NN10. Train against the last 5 firing waves AND the last 5 non-firing waves each tick, giving the firing waves 10x more relative weighting.
 +
* '''12:''' Based on NN11. Each tick train against the most recent wave whether firing or not, plus the two most recent firing waves. Don't use batch training. 0.2 learning rate.
 +
* '''13:''' Same as NN12 except learning rate of 0.02
 +
* '''14:''' Same as NN12 except learning rate of 0.002
 +
* '''15:''' Same as NN12 except learning rate of 0.01
 +
* '''16:''' Same as NN12 except learning rate of 0.04
 +
* '''17:''' Based on NN13. Use 1 most recent firing-wave instead of 2.
 +
* '''18:''' Based on NN13. Use 3 most recent firing-waves instead of 2.
 +
* '''19:''' Based on NN13. Cut learning rate in half and run twice as many training iterations.
 +
* '''20:''' Based on NN13. Change style of goal bins.
 +
* '''21:''' Based on NN13. Limit the GF aimed at to ones actually reachable.
 +
 +
= AS Series =
 +
Now that VCS24 broke the 90 point mark against random movers, I shall proceed to make an adaptive mixture of targeting info to perform strongly against surfers, while minimizing any score loss against random movers.
 +
 +
==Challenges==
 +
 +
=== [[Targeting Challenge 2K7/Fast Learning Results|Targeting Challenge 2K7 (Fast Learning)]] ===
 +
 +
{| border="1"
 +
| '''Name''' || ''Based on'' || '''CC''' || '''RMX''' || '''SHA''' || '''WS''' || '''WOE''' || '''Surf''' || '''DM''' || '''FT''' || '''GG''' || '''RMC''' || '''WLO''' || '''No Surf''' || '''Total''' || '''Diff from base''' || '''Comment'''
 +
|-
 +
| AS02 || AS01 || 70.73 || 83.26 || 61.05 || 87.36 || 83.36 || '''77.15''' || 89.31 || 80.14 || 85.52 || 81.25 || 86.20 || '''84.48''' || '''80.82''' || || 57.0 seasons ''(more running)''
 +
|-
 +
| AS03 || AS02 || 72.96 || 83.70 || 63.49 || 89.32 || 84.10 || '''78.71''' || 89.17 || 79.52 || 85.95 || 79.90 || 85.35 || '''83.98''' || '''81.35''' || +0.53 || 57.0 seasons ''(more running)''
 +
|-
 +
| AS04 || AS03 || 74.43 || 85.57 || 61.25 || 90.35 || 84.77 || '''79.27''' || 89.67 || 80.11 || 86.37 || 81.26 || 85.17 || '''84.52''' || '''81.90''' || +0.55 || 57.5 seasons ''(more running)''
 +
|-
 +
| AS06 || AS04 || 73.89 || 85.75 || 60.69 || 90.79 || 84.98 || '''79.22''' || 89.41 || 81.54 || 85.87 || 81.26 || 86.10 || '''84.84''' || '''82.03''' || +0.13 || 58.0 seasons ''(more running)''
 +
|-
 +
|colspan="0" align="center"| '''Comparisons'''
 +
|-
 +
| Record Holders || || 76.84 || 87.15 || 74.68 || 88.08 || 87.45 ||          || 88.98 || 81.93 || 87.88 || 82.46 || 88.15 ||            ||            || || Best known scores against each bot
 +
|-
 +
| Phoenix 0.9 || || 76.84 || 85.07 || 68.11 || 84.86 || 81.07 || '''79.19''' || 88.98 || 81.38 || 85.49 || 80.40 || 88.15 || '''84.88''' || '''82.03''' || || Highest overall ranking bot in TC2K7
 +
|-
 +
| VCS24 || VCS16 || 63.43 || 59.43 || 54.27 || 60.41 || 65.06 || '''60.52''' || 89.80 || 81.36 || 85.89 || 81.98 || 86.92 || '''85.19''' || '''72.85''' || || 97 surfing seasons, 110 nonsurfing seasons
 +
|}
 +
 +
 +
=== [[Targeting Challenge RM/Results|Targeting Challenge RM]] ===
 +
 +
{| border="1"
 +
| '''Name''' || ''Based on'' || '''Aspd''' || '''Sprw''' || '''Fhqw''' || '''Yngw''' || '''<nowiki>FlMn</nowiki>''' || '''EASY''' || '''Tron''' || '''HTTC''' || '''<nowiki>RnMB</nowiki>''' || '''<nowiki>DlMc</nowiki>''' || '''Grbb''' || '''MEDIUM''' || '''<nowiki>SnDT</nowiki>''' || '''Cgrt''' || '''Frtn''' || '''<nowiki>WkOb</nowiki>''' || '''<nowiki>RkMc</nowiki>''' || '''HARD''' || '''TOTAL''' || '''Diff from base''' || '''Comments'''
 +
|-
 +
| AS02 || AS01 || 93.65 || 98.05 || 97.40 || 97.46 || 94.53 || '''96.21''' || 88.36 || 89.41 || 88.23 || 88.80 || 85.48 || '''88.06''' || 84.29 || 87.75 || 79.40 || 85.82 || 81.38 || '''83.73''' || '''89.33''' || || 37.0 seasons
 +
|-
 +
| AS03 || AS02 || 94.49 || 98.28 || 96.55 || 97.90 || 95.12 || '''96.47''' || 88.84 || 88.80 || 89.51 || 89.00 || 86.13 || '''88.46''' || 84.56 || 84.62 || 79.69 || 85.30 || 80.26 || '''82.89''' || '''89.27''' || -0.06 || 37.7 seasons
 +
|-
 +
|colspan="0" align="center"| '''Comparisons'''
 +
|-
 +
| VCS24 || VCS16 || 95.24 || 98.45 || 97.43 || 97.92 || 95.10 || '''96.83''' || 89.18 || 89.98 || 89.56 || 89.80 || 85.89 || '''88.88''' || 85.17 || 86.61 || 81.36 || 86.92 || 81.98 || '''84.41''' || '''90.04''' || +0.05 || 110.0 seasons
 +
|}
 +
 +
==Versions==
 +
* '''01:''' Based on VCS24. Set up a somewhat elaborate system to automatically weight the input from multiple targeting systems. Add two new guns: a fast-rolling targeting, and a fast-rolling simulated surfing stats. Both guns roll data upon BulletHit or BulletHitBullet events because those events are what make data obselete against a surfer. Both use exactly the same segmentation/VCS configuration as the VCS24 main targeter.
 +
* '''02:''' Based on AS01. Fix a major bug in the VCS stat rolling.
 +
* '''03:''' Based on AS02. Normalize VCS output to total weight of all data in the VCS gun. This should make the ideal adaptive weightings of the guns more stable instead of shifting as guns gain data and/or roll stats.
 +
* '''04:''' Based on AS03. Mess around with the weighting system to try to try to make it both eat less CPU and give more stable results. Also, add a neat little policy to ignor anything with a weighting magnitude below 5% when firing.
 +
* '''05:''' Based on AS04. Junk attempt at tweaking.
 +
* '''06:''' Based on AS04. Revert to AS04 and make a small change to how the weightings are updated.
  
 
= VCS Series =
 
= VCS Series =
Line 6: Line 146:
 
==Challenges==
 
==Challenges==
  
=== [http://robowiki.net/cgi-bin/robowiki?TargetingChallenge2K7/ResultsFastLearning Targeting Challenge 2K7 (Fast Learning)] ===
+
=== [[Targeting Challenge 2K7/Fast Learning Results|Targeting Challenge 2K7 (Fast Learning)]] ===
  
 
{| border="1"
 
{| border="1"
Line 18: Line 158:
 
|-
 
|-
 
| VCS04 || 63.08 || 62.64 || 54.80 || 60.26 || 59.64 || '''60.08''' || 88.63 || 79.25 || 83.38 || 79.22 || 82.60 || '''82.62''' || '''71.35''' || 110.0 seasons
 
| VCS04 || 63.08 || 62.64 || 54.80 || 60.26 || 59.64 || '''60.08''' || 88.63 || 79.25 || 83.38 || 79.22 || 82.60 || '''82.62''' || '''71.35''' || 110.0 seasons
 +
|-
 +
| VCS24 || 63.43 || 59.43 || 54.27 || 60.41 || 65.06 || '''60.52''' || 89.80 || 81.36 || 85.89 || 81.98 || 86.92 || '''85.19''' || '''72.85''' || 97 surfing seasons, 110 nonsurfing seasons
 
|}
 
|}
  
  
=== [http://robowiki.net/cgi-bin/robowiki?TargetingChallengeRM/Results Targeting Challenge RM] ===
+
=== [[Targeting Challenge RM/Results|Targeting Challenge RM]] ===
  
 
{| border="1"
 
{| border="1"
Line 51: Line 193:
 
|-
 
|-
 
| VCS16 || VCS12 || 95.02 || 98.40 || 97.13 || 98.28 || 95.04 || '''96.77''' || 89.11 || 89.65 || 89.35 || 89.47 || 86.68 || '''88.85''' || 85.47 || 86.66 || 81.43 || 86.65 || 81.58 || '''84.36''' || '''89.99''' || +0.22 || 110.0 seasons
 
| VCS16 || VCS12 || 95.02 || 98.40 || 97.13 || 98.28 || 95.04 || '''96.77''' || 89.11 || 89.65 || 89.35 || 89.47 || 86.68 || '''88.85''' || 85.47 || 86.66 || 81.43 || 86.65 || 81.58 || '''84.36''' || '''89.99''' || +0.22 || 110.0 seasons
 +
|-
 +
| VCS17 || VCS16 || 94.62 || 98.48 || 97.39 || 97.68 || 94.79 || '''96.59''' || 88.75 || 89.35 || 89.10 || 89.57 || 85.52 || '''88.46''' || 83.97 || 85.84 || 80.95 || 86.20 || 82.39 || '''83.87''' || '''89.64''' || -0.35 || 110.0 seasons
 +
|-
 +
| VCS18 || VCS16 || 95.05 || 98.73 || 97.22 || 97.62 || 95.03 || '''96.73''' || 89.36 || 90.32 || 88.87 || 89.09 || 86.23 || '''88.77''' || 84.86 || 86.09 || 81.96 || 85.56 || 80.55 || '''83.81''' || '''89.77''' || -0.22 || 55.0 seasons
 +
|-
 +
| VCS19 || VCS16 || 94.32 || 98.48 || 97.47 || 97.69 || 95.57 || '''96.71''' || 89.83 || 89.31 || 89.39 || 89.58 || 86.54 || '''88.93''' || 85.30 || 86.79 || 81.10 || 86.29 || 81.86 || '''84.27''' || '''89.97''' || -0.02 || 110.0 seasons
 +
|-
 +
| VCS20 || VCS19 || 94.95 || 98.65 || 97.53 || 98.25 || 95.50 || '''96.97''' || 89.18 || 89.18 || 89.47 || 89.66 || 87.45 || '''88.99''' || 84.98 || 86.37 || 81.16 || 87.01 || 80.82 || '''84.07''' || '''90.01''' || +0.04|| 110.0 seasons
 +
|-
 +
| VCS21 || VCS20 || 94.80 || 98.75 || 97.35 || 97.92 || 95.33 || '''96.83''' || 89.91 || 89.15 || 89.40 || 90.82 || 86.13 || '''89.08''' || 84.36 || 87.33 || 81.29 || 85.71 || 80.53 || '''83.84''' || '''89.92''' || -0.09|| 28.1 seasons
 +
|-
 +
| VCS22 || VCS16 || 95.49 || 98.39 || 97.48 || 97.99 || 95.13 || '''96.90''' || 89.20 || 88.41 || 89.34 || 89.05 || 87.29 || '''88.66''' || 85.14 || 86.62 || 80.20 || 85.74 || 81.95 || '''83.93''' || '''89.83''' || -0.16 || 110.0 seasons
 +
|-
 +
| VCS23 || VCS22 || 94.61 || 98.48 || 97.51 || 98.37 || 94.91 || '''96.78''' || 89.39 || 89.28 || 89.29 || 89.05 || 86.62 || '''88.73''' || 85.51 || 86.93 || 81.06 || 85.01 || 82.12 || '''84.13''' || '''89.88''' || +0.05 || 110.0 seasons
 +
|-
 +
| VCS24 || VCS16 || 95.24 || 98.45 || 97.43 || 97.92 || 95.10 || '''96.83''' || 89.18 || 89.98 || 89.56 || 89.80 || 85.89 || '''88.88''' || 85.17 || 86.61 || 81.36 || 86.92 || 81.98 || '''84.41''' || '''90.04''' || +0.05 || 110.0 seasons
 
|-
 
|-
 
|colspan="0" align="center"| '''Comparisons'''
 
|colspan="0" align="center"| '''Comparisons'''
Line 79: Line 237:
 
* '''18:''' Based on VCS16. Add a strongish advancing velocity segment.
 
* '''18:''' Based on VCS16. Add a strongish advancing velocity segment.
 
* '''19:''' Based on VCS16. Add a weaker advancing velocity segment.
 
* '''19:''' Based on VCS16. Add a weaker advancing velocity segment.
 +
* '''20:''' Based on VCS19. Try a "distance last 9 segment" again, but this time much more subtly
 +
* '''21:''' Based on VCS20. Try a "distance last 9 segment" without the advancing velocity segment.
 +
* '''22:''' Based on VCS16. Try removing the bias towards buffers with more visits (divide by visits within that buffer)
 +
* '''23:''' Based on VCS22. Only start removing said bias once a certain level of data has accumulated in the buffer.
 +
* '''24:''' Should behave exactly like VCS16, but lots of code cleanup and restructuring has been done. Also doesn't aim when the gunheat is high.
  
==Conclusions and Comments==
+
=Conclusions and Comments=
''(Fellow Robowikiers: Feel free to add your own comments in this section)''
 
 
 
Based on VCS01-03 It's seeming that increasing granularity of segmentation of this current gun configuration dramatically increases anti-surfer performance (not that that is very good) <strike>however causes a small but notable decrease in performance against random movers</strike> ''(or not?)''. What I wonder now however is, how strong is possible against non-surfers with only a single pure-tickwave VCS buffer? I see bots in that challenge with scores notably better in the non-surfer category, however half are DC (Chalk and DCResearch) and the other half are multi-buffer (Phoenix & Dookious). Anybody else have any thoughts about how strong single-buffer VCS can get? --[[User:Rednaxela|Rednaxela]] 07:53, 20 December 2008 (UTC)
 
 
 
IMO a single buffer can only ever be so strong against surfers (although perhaps your inter-segment smoothing will help with this) due to the fact that your segmentation is rarely exactly the same as them. A single buffer can be very strong against non-adaptive movement though, just look at [[Raiko]]. --[[User:Skilgannon|Skilgannon]] 17:57, 20 December 2008 (UTC)
 
 
 
I'd agree that a single buffer is rather limited in how it can do against surfers, what I'm speaking about for now is against non-adaptive movement. I suppose my next step will be switching over to [http://robowiki.net/cgi-bin/robowiki?TargetingChallengeRM TargetingChallengeRM] and and benchmarking Raiko, Bee modified to use a single buffer only, VCS04, and VCS04 modified to remove antialiasing/interpolation. Having those three should give quite a solid "baseline". Before I move beyond gun beyond single-buffer VCS (and I intend to move it far beyond that), I want to get the single-buffer VCS componant nailed down realllllly solid (in other words: Build the best damn single-buffer VCS gun there has ever been (against non-adaptives)). Right now I have the temptation to do a mad scientist laugh. Anyone else ever had that feeling when robocoding? :) --[[User:Rednaxela|Rednaxela]] 02:20, 21 December 2008 (UTC)
 
 
 
Okay, so this is stronger thank [[Raiko]], however is slightly weaker still than a version of Bee modified to use only a single-buffer. Next I'll try weighting my firing waves higher than non-firing as that may help. --[[User:Rednaxela|Rednaxela]] 00:37, 23 December 2008 (UTC)
 
 
 
Woah, it seems that switching to smoothed bin insertions certainly helped overall. I think next I'll try a hybrid method of bin insertion that is smoothed but takes botwidth into account too. --[[User:Rednaxela|Rednaxela]] 19:24, 23 December 2008 (UTC)
 
 
 
Well, from now on I'll remember this: Bin insertion shape makes a BIG difference and the optimal is certainly not a rectangle across the botwidth like I first presumed. VCS09 is kind of troubling yet uplifing at once. On one hand it demonstrates that my antialiasing/interpolation scheme is of much value, but on the other hand I need to figure out why it's so far behind SingleBufferBee without it. I can't think of any reason for it to be so much weaker considering both are very similarly natured. I wonder how much better than VCS08 it will be though once I fix whatever problem it has and re-enable antialiasing/interpolation... :) --[[User:Rednaxela|Rednaxela]] 17:50, 24 December 2008 (UTC)
 
 
 
'''Wowzers!''' It seems VCS12 is very strong in TCRM! The things I know of that beat it, are DrussGT, Dookious, and some [http://robowiki.net/cgi-bin/robowiki?RougeDC/TargetingLab experimental versions of RougeDC's gun] that never saw the rumble. Now.... if I can just get it past the 90 barrier, then just a little further to beat DrussGT's TCRM score and make the best anti-random-movement gun yet using only a single (though fancy) VCS buffer. Only then will I be satisfied with my take on VCS and be able to proceed to the next stage of Project SaphireEdge! ''*cackles like a madman*'' Wonder what it will take to make the final steps to making SaphireEdgeVCS the king of TCRM... Well first I'm going to find out just why VCS12 still underperforms SingleBufferBee... this will be VCS13's job. In retrospect, maybe I should have given seperate version numbering to the versions with and without antialiasing/interpolation? --[[User:Rednaxela|Rednaxela]] 02:16, 28 December 2008 (UTC)
 
  
Well VCS13 failed to demonstrate improvement, and VCS11 is close enough to SingleBufferBee anyways, so in VCS14-16 I focused on improving ontop of VCS12 more. Seems that VCS16 is quite good, nearly passing the 90 mark! --[[User:Rednaxela|Rednaxela]] 06:17, 29 December 2008 (UTC)
+
See [[User talk:Rednaxela/SaphireEdge]]

Latest revision as of 14:16, 14 May 2009

SaphireEdge is the nickname for the new gun I'm working on. There will be a variety of gun research componants before SaphireEdge comes together as a whole, the first being perfecting the VCS techniques that will be incorperated as a part of SaphireEdge.

NN Series

Well, Seems the AS series is performing execellant, except for one major blotch in it's record: Shadow. So, what has gotten the best ever score against Shadow ever? The would be Gaff. The NN series consists of a single back propogation neural network, with multiple inputs per dimension and 45 outputs. The NN series is meant to kick Shadow to hard and hopefully be useful to later put in the mix against other enemies too.

Challenges

Targeting Challenge 2K7 (Fast Learning) Surfers only.

Name Based on CC RMX SHA WS WOE Total Comment
NN01 66.90 83.80 65.60 86.48 82.22 77.00 77.00 49.0 seasons
NN02 NN01 64.66 81.76 65.12 83.09 79.72 74.87 74.87 49.0 seasons
NN03 NN01 66.64 83.27 65.65 85.46 81.87 76.58 76.58 50.0 seasons


SHAAAAADOW!

Name Based on SHA Comment
NN01 65.60 49.0 seasons
NN02 NN01 65.12 49.0 seasons
NN03 NN01 65.65 50.0 seasons
NN04 NN03 67.30 100.0 seasons
NN05 NN04 68.38 100.0 seasons
NN06 NN05 68.58 100.0 seasons
NN07 NN05 67.06 100.0 seasons
NN08 NN05 67.83 100.0 seasons
NN09 NN06 67.75 100.0 seasons
NN10 NN06 68.42 210.0 seasons
NN11 NN10 68.98 210.0 seasons
NN12 NN11 68.74 210.0 seasons
NN13 NN12 70.70 210.0 seasons
NN14 NN12 68.47 210.0 seasons
NN15 NN12 70.08 210.0 seasons
NN16 NN12 69.98 210.0 seasons
NN17 NN13 70.02 210.0 seasons
NN18 NN13 69.65 210.0 seasons
NN19 NN13 69.61 210.0 seasons
NN20 NN13 69.66 210.0 seasons
NN21 NN13 70.85 212.0 seasons

(bolded version is the base for current development)

Versions

  • 01: Inspired by Gaff. BPNN inputs based on lateral velocity, acceleration, velocity-change time, forward wall distance, and backwards wall distance.
  • 02: Based on NN01. Some tweaks to the training policy.
  • 03: Based on NN01. Some different tweaks to the training policy.
  • 04: Based on NN03. De-segment the inputs. Add all currently tracked stats as inputs. Use a smoothed output goal. Every time a wave passes, retrain against the last 30 waves.
  • 05: Based on NN04. Only retrain against the last 5 waves, now using batch training, run the batch training 3 times whenever data is recieved. Triple learning rate.
  • 06: Based on NN05. Use last 10 waves instead of last 5.
  • 07: Based on NN05. Disable the 'bias' weights of the NN.
  • 08: Based on NN05. Disable the random initial weightings of the NN.
  • 09: Based on NN06. Make the random initial weightings more diversely random.
  • 10: Based on NN06. Make the NN inputs consist of: DISTANCE, LATERALV, ADVANCINGV, LATACCEL, ADVACCEL, VCHANGETIME, LATDIRTIME, DISTLAST9, FWALL, and BWALL.
  • 11: Based on NN10. Train against the last 5 firing waves AND the last 5 non-firing waves each tick, giving the firing waves 10x more relative weighting.
  • 12: Based on NN11. Each tick train against the most recent wave whether firing or not, plus the two most recent firing waves. Don't use batch training. 0.2 learning rate.
  • 13: Same as NN12 except learning rate of 0.02
  • 14: Same as NN12 except learning rate of 0.002
  • 15: Same as NN12 except learning rate of 0.01
  • 16: Same as NN12 except learning rate of 0.04
  • 17: Based on NN13. Use 1 most recent firing-wave instead of 2.
  • 18: Based on NN13. Use 3 most recent firing-waves instead of 2.
  • 19: Based on NN13. Cut learning rate in half and run twice as many training iterations.
  • 20: Based on NN13. Change style of goal bins.
  • 21: Based on NN13. Limit the GF aimed at to ones actually reachable.

AS Series

Now that VCS24 broke the 90 point mark against random movers, I shall proceed to make an adaptive mixture of targeting info to perform strongly against surfers, while minimizing any score loss against random movers.

Challenges

Targeting Challenge 2K7 (Fast Learning)

Name Based on CC RMX SHA WS WOE Surf DM FT GG RMC WLO No Surf Total Diff from base Comment
AS02 AS01 70.73 83.26 61.05 87.36 83.36 77.15 89.31 80.14 85.52 81.25 86.20 84.48 80.82 57.0 seasons (more running)
AS03 AS02 72.96 83.70 63.49 89.32 84.10 78.71 89.17 79.52 85.95 79.90 85.35 83.98 81.35 +0.53 57.0 seasons (more running)
AS04 AS03 74.43 85.57 61.25 90.35 84.77 79.27 89.67 80.11 86.37 81.26 85.17 84.52 81.90 +0.55 57.5 seasons (more running)
AS06 AS04 73.89 85.75 60.69 90.79 84.98 79.22 89.41 81.54 85.87 81.26 86.10 84.84 82.03 +0.13 58.0 seasons (more running)
Comparisons
Record Holders 76.84 87.15 74.68 88.08 87.45 88.98 81.93 87.88 82.46 88.15 Best known scores against each bot
Phoenix 0.9 76.84 85.07 68.11 84.86 81.07 79.19 88.98 81.38 85.49 80.40 88.15 84.88 82.03 Highest overall ranking bot in TC2K7
VCS24 VCS16 63.43 59.43 54.27 60.41 65.06 60.52 89.80 81.36 85.89 81.98 86.92 85.19 72.85 97 surfing seasons, 110 nonsurfing seasons


Targeting Challenge RM

Name Based on Aspd Sprw Fhqw Yngw FlMn EASY Tron HTTC RnMB DlMc Grbb MEDIUM SnDT Cgrt Frtn WkOb RkMc HARD TOTAL Diff from base Comments
AS02 AS01 93.65 98.05 97.40 97.46 94.53 96.21 88.36 89.41 88.23 88.80 85.48 88.06 84.29 87.75 79.40 85.82 81.38 83.73 89.33 37.0 seasons
AS03 AS02 94.49 98.28 96.55 97.90 95.12 96.47 88.84 88.80 89.51 89.00 86.13 88.46 84.56 84.62 79.69 85.30 80.26 82.89 89.27 -0.06 37.7 seasons
Comparisons
VCS24 VCS16 95.24 98.45 97.43 97.92 95.10 96.83 89.18 89.98 89.56 89.80 85.89 88.88 85.17 86.61 81.36 86.92 81.98 84.41 90.04 +0.05 110.0 seasons

Versions

  • 01: Based on VCS24. Set up a somewhat elaborate system to automatically weight the input from multiple targeting systems. Add two new guns: a fast-rolling targeting, and a fast-rolling simulated surfing stats. Both guns roll data upon BulletHit or BulletHitBullet events because those events are what make data obselete against a surfer. Both use exactly the same segmentation/VCS configuration as the VCS24 main targeter.
  • 02: Based on AS01. Fix a major bug in the VCS stat rolling.
  • 03: Based on AS02. Normalize VCS output to total weight of all data in the VCS gun. This should make the ideal adaptive weightings of the guns more stable instead of shifting as guns gain data and/or roll stats.
  • 04: Based on AS03. Mess around with the weighting system to try to try to make it both eat less CPU and give more stable results. Also, add a neat little policy to ignor anything with a weighting magnitude below 5% when firing.
  • 05: Based on AS04. Junk attempt at tweaking.
  • 06: Based on AS04. Revert to AS04 and make a small change to how the weightings are updated.

VCS Series

This series is a test of my VisitCountStats, which (to my knowledge) uniquely antialias upon writing and interpolates upon reading. It's also to my understanding the only VCS gun to use precise antialiased botwidth when writing bins. Only uses a single buffer. It's also the first time I've even touched bins at all. Keep in mind that VCS is only one componant of the new gun and there will be so much more to it later.

Challenges

Targeting Challenge 2K7 (Fast Learning)

Name CC RMX SHA WS WOE Surf DM FT GG RMC WLO No Surf Total Comment
VCS01 60.89 59.16 53.36 58.13 59.51 58.21 88.71 78.05 83.31 79.36 82.09 82.30 70.26 121.0 seasons
VCS02 57.98 57.45 51.93 54.82 56.59 55.75 89.03 78.06 83.61 79.22 82.82 82.55 69.15 110.0 seasons
VCS03 64.56 67.29 58.01 62.57 62.54 62.99 87.95 78.56 83.47 79.17 82.15 82.26 72.63 110.0 seasons
VCS04 63.08 62.64 54.80 60.26 59.64 60.08 88.63 79.25 83.38 79.22 82.60 82.62 71.35 110.0 seasons
VCS24 63.43 59.43 54.27 60.41 65.06 60.52 89.80 81.36 85.89 81.98 86.92 85.19 72.85 97 surfing seasons, 110 nonsurfing seasons


Targeting Challenge RM

Name Based on Aspd Sprw Fhqw Yngw FlMn EASY Tron HTTC RnMB DlMc Grbb MEDIUM SnDT Cgrt Frtn WkOb RkMc HARD TOTAL Diff from base Comments
VCS04 VCS02 94.06 96.64 94.40 97.38 93.10 95.12 88.18 89.14 86.41 88.63 83.38 87.15 80.55 84.92 79.25 82.60 79.22 81.31 87.86 110.0 seasons
VCS05 VCS04 93.88 96.71 94.16 97.32 93.30 95.07 87.72 89.43 86.72 88.72 84.18 87.35 78.99 86.33 79.71 82.94 79.14 81.42 87.95 +0.09 110.0 seasons
VCS06 VCS04 93.21 97.25 94.63 97.79 94.01 95.38 87.97 88.73 88.01 88.96 83.98 87.53 80.18 85.28 79.39 82.89 79.20 81.39 88.10 +0.24 110.0 seasons
VCS07 VCS06 93.96 96.79 94.16 97.60 92.98 95.10 88.29 89.23 86.75 88.80 85.26 87.67 78.52 85.28 79.86 82.71 80.10 81.29 88.02 -0.08 110.0 seasons
VCS08 VCS06 93.29 97.24 95.08 97.47 93.92 95.40 88.00 89.58 87.59 88.92 84.49 87.72 79.88 85.86 79.64 83.78 80.07 81.85 88.32 +0.30 110.0 seasons
VCS09 VCS08 90.60 95.98 93.35 97.29 92.47 93.94 85.88 87.98 85.85 86.48 82.09 85.66 75.95 82.94 78.37 81.54 78.43 79.45 86.35 -1.97 110.0 seasons
VCS10 VCS09 92.09 96.43 94.71 97.24 92.68 94.63 85.16 86.94 85.88 86.51 82.56 85.41 75.91 83.90 78.15 80.43 77.79 79.24 86.42 +0.07 110.0 seasons
VCS11 VCS10 92.44 97.38 96.75 97.44 92.96 95.39 86.46 87.81 86.93 87.37 83.77 86.47 80.80 83.07 79.72 83.08 79.61 81.26 87.71 +1.29 110.0 seasons
VCS12 VCS11 95.06 98.57 97.55 97.87 94.73 96.76 89.93 89.89 89.34 88.85 86.23 88.85 84.86 86.73 80.70 85.14 81.08 83.70 89.77 +2.06 110.0 seasons
VCS13 VCS11 93.16 97.30 96.29 97.53 92.87 95.43 86.86 86.34 87.57 86.40 83.08 86.05 80.49 83.51 78.49 82.11 78.71 80.66 87.38 -0.33 110.0 seasons
VCS14 VCS12 95.49 98.49 97.48 97.71 94.75 96.78 90.53 89.45 89.36 89.50 86.13 89.00 85.18 86.12 80.51 85.50 81.04 83.67 89.82 +0.05 110.0 seasons
VCS15 VCS12 95.30 98.31 97.46 97.72 94.56 96.67 89.45 88.73 89.00 90.14 85.65 88.60 85.37 85.65 80.92 85.28 80.67 83.58 89.61 -0.16 110.0 seasons
VCS16 VCS12 95.02 98.40 97.13 98.28 95.04 96.77 89.11 89.65 89.35 89.47 86.68 88.85 85.47 86.66 81.43 86.65 81.58 84.36 89.99 +0.22 110.0 seasons
VCS17 VCS16 94.62 98.48 97.39 97.68 94.79 96.59 88.75 89.35 89.10 89.57 85.52 88.46 83.97 85.84 80.95 86.20 82.39 83.87 89.64 -0.35 110.0 seasons
VCS18 VCS16 95.05 98.73 97.22 97.62 95.03 96.73 89.36 90.32 88.87 89.09 86.23 88.77 84.86 86.09 81.96 85.56 80.55 83.81 89.77 -0.22 55.0 seasons
VCS19 VCS16 94.32 98.48 97.47 97.69 95.57 96.71 89.83 89.31 89.39 89.58 86.54 88.93 85.30 86.79 81.10 86.29 81.86 84.27 89.97 -0.02 110.0 seasons
VCS20 VCS19 94.95 98.65 97.53 98.25 95.50 96.97 89.18 89.18 89.47 89.66 87.45 88.99 84.98 86.37 81.16 87.01 80.82 84.07 90.01 +0.04 110.0 seasons
VCS21 VCS20 94.80 98.75 97.35 97.92 95.33 96.83 89.91 89.15 89.40 90.82 86.13 89.08 84.36 87.33 81.29 85.71 80.53 83.84 89.92 -0.09 28.1 seasons
VCS22 VCS16 95.49 98.39 97.48 97.99 95.13 96.90 89.20 88.41 89.34 89.05 87.29 88.66 85.14 86.62 80.20 85.74 81.95 83.93 89.83 -0.16 110.0 seasons
VCS23 VCS22 94.61 98.48 97.51 98.37 94.91 96.78 89.39 89.28 89.29 89.05 86.62 88.73 85.51 86.93 81.06 85.01 82.12 84.13 89.88 +0.05 110.0 seasons
VCS24 VCS16 95.24 98.45 97.43 97.92 95.10 96.83 89.18 89.98 89.56 89.80 85.89 88.88 85.17 86.61 81.36 86.92 81.98 84.41 90.04 +0.05 110.0 seasons
Comparisons
Raiko 91.45 97.80 95.65 97.49 92.62 95.00 84.68 85.97 88.63 87.14 82.85 85.86 79.08 82.37 79.43 86.70 78.18 81.15 87.34 110.0 seasons
SingleBufferBee Bee 92.60 98.03 96.91 98.24 91.71 95.50 87.34 84.27 89.85 85.55 84.14 86.23 81.55 82.90 79.76 86.17 80.70 82.22 87.98 110.0 seasons

Versions

  • 01: A segmentation configuration kind of based on CassiusClay's slow buffer, EXCEPT accidentally have too many slices in backwards wall distance. Uses tickwaves at full weighting. No rolling, so expected to be abysmal against surfers.
  • 02: Based on VCS01. Reduce backwards wall distance segmentation.
  • 03: Based on VCS02. Dramatically increase the granularity of segmentation by well over 50%
  • 04: Based on VCS02. Fix it to ACTUALLY be virtually like CassiusClay's segmentation (before there was a misunderstanding where I thought slice numbers in CassiusClay were the segment centers, when they were actually the segment edges). This should give a good baseline segmentation config.
  • 05: Based on VCS04. Give firing waves 5x the weight as non-firing (same as Bee does)
  • 06: Based on VCS04. Switch from my botwith based bin insertions, to smoothed bin insertions of the style Bee uses.
  • 07: Based on VCS06. Try a kind of hybrid of bin insertion methods.
  • 08: Based on VCS06. Try a hybrid again, with the numeric constants tweaked a bit differently.
  • 09: Based on VCS08. Disable antialiasing and interpolation across dimensions.
  • 10: Based on VCS09. Don't fire unless gun is rotation is within half a botwidth of complete.
  • 11: Based on VCS10. Add an acceleration segment that I forgot. DOH! Now it's actually segmented nearly exactly the same as CassiusClay.
  • 12: Based on VCS11. Re-enable antialiasing and interpolation across dimensions.
  • 13: Based on VCS11. Give firing waves 5x weight again, and default to the same GF as Bee when there is no data.
  • 14: Based on VCS12. Try adding an advancing velocity segment.
  • 15: Based on VCS12. Try adding a "distance last 9" segment.
  • 16: Based on VCS12. No new types of segmenting over VCS12, but tweak the segment divisions around a bit.
  • 17: Based on VCS16. Try a convoluted elucedian-based method of antialiasing/interpolation.
  • 18: Based on VCS16. Add a strongish advancing velocity segment.
  • 19: Based on VCS16. Add a weaker advancing velocity segment.
  • 20: Based on VCS19. Try a "distance last 9 segment" again, but this time much more subtly
  • 21: Based on VCS20. Try a "distance last 9 segment" without the advancing velocity segment.
  • 22: Based on VCS16. Try removing the bias towards buffers with more visits (divide by visits within that buffer)
  • 23: Based on VCS22. Only start removing said bias once a certain level of data has accumulated in the buffer.
  • 24: Should behave exactly like VCS16, but lots of code cleanup and restructuring has been done. Also doesn't aim when the gunheat is high.

Conclusions and Comments

See User talk:Rednaxela/SaphireEdge