Difference between revisions of "User:Rednaxela/SaphireEdge"

From Robowiki
Jump to navigation Jump to search
m (Fix competely screwed up layout)
(Make challenge links go to new wiki)
 
(12 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
==Challenges==
 
==Challenges==
 
+
=== [[Targeting Challenge 2K7/Fast Learning Results|Targeting Challenge 2K7 (Fast Learning)]] Surfers only. ===
=== [http://robowiki.net/cgi-bin/robowiki?TargetingChallenge2K7/ResultsFastLearning Targeting Challenge 2K7 (Fast Learning)] Surfers only. ===
 
  
 
{| border="1"
 
{| border="1"
Line 17: Line 16:
 
| NN03 || NN01 || 66.64 || 83.27 || 65.65 || 85.46 || 81.87 || '''76.58''' || '''76.58''' || 50.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==
 
==Versions==
 
* '''01:''' Inspired by Gaff. BPNN inputs based on lateral velocity, acceleration, velocity-change time, forward wall distance, and backwards wall distance.
 
* '''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.
 
* '''02:''' Based on NN01. Some tweaks to the training policy.
* '''02:''' Based on NN01. Some different 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 =
 
= AS Series =
Line 28: Line 96:
 
==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 51: Line 119:
  
  
=== [http://robowiki.net/cgi-bin/robowiki?TargetingChallengeRM/Results Targeting Challenge RM] ===
+
=== [[Targeting Challenge RM/Results|Targeting Challenge RM]] ===
  
 
{| border="1"
 
{| border="1"
Line 78: 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 95: Line 163:
  
  
=== [http://robowiki.net/cgi-bin/robowiki?TargetingChallengeRM/Results Targeting Challenge RM] ===
+
=== [[Targeting Challenge RM/Results|Targeting Challenge RM]] ===
  
 
{| border="1"
 
{| border="1"

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