Difference between revisions of "User:Tkiesel/Dev Notebook"

From Robowiki
Jump to navigation Jump to search
(New sub-project!)
m (reordering, details)
Line 4: Line 4:
 
#* <span style="text-decoration: line-through;">Dilemma - Roll my own or utilize someone else's?</span>   
 
#* <span style="text-decoration: line-through;">Dilemma - Roll my own or utilize someone else's?</span>   
 
#* see [[User:Tkiesel/MovementPredictor]]
 
#* see [[User:Tkiesel/MovementPredictor]]
 +
# Implement Wave Surfing
 +
#* Farewell Aristocles. You were a faithful friend, if a bit dodgy during round 1. ;)
 +
#* GoTo is what DeBroglie used to have, but TrueSurfing seems more philosophically satisfying at the moment...
 +
#* Danger function to include a term for field position? Corners are bad after all, and a slightly increased hit risk might be worth it to get out of a corner.
 +
#* Eventually, the pluggable EndPredictionCondition interface in MovementPredictor should make surfing multiple waves easier.. and allow me to handle cases like the following via a discrete Class that can handle the details:
 +
#** Wave A and Wave B are coming toward you.  If you orbit clockwise or stop, Wave A will hit first. Remove Wave A and predict-surf remaining waves. If you orbit counter-clockwise, wave B will hit you first. Remove Wave B and predict-surf remaining waves
 
# Get a small Virtual Gun array going.  Main GF gun, anti-adaptive GF gun, circular targeter, dead-stop targeter.  For kicks. ;)
 
# Get a small Virtual Gun array going.  Main GF gun, anti-adaptive GF gun, circular targeter, dead-stop targeter.  For kicks. ;)
 
#* Weight points in anti-adaptive gun via half-life based on round number.   
 
#* Weight points in anti-adaptive gun via half-life based on round number.   
Line 9: Line 15:
 
#* Test choosing gun via history of this shot (the k-nearest-neighbors can report which gun did best on them) vs. general history of the match..  Probably lots of trade-offs here.
 
#* Test choosing gun via history of this shot (the k-nearest-neighbors can report which gun did best on them) vs. general history of the match..  Probably lots of trade-offs here.
 
# Bullet Shadows (fairly easy with the Universe/Bot structure)
 
# Bullet Shadows (fairly easy with the Universe/Bot structure)
# Implement Wave Surfing
 
#* Farewell Aristocles. You were a faithful friend, if a bit dodgy during round 1. ;)
 
#* GoTo is what DeBroglie used to have, but TrueSurfing seems more philosophically satisfying at the moment...
 
#* Danger function to include a term for field position? Corners are bad after all, and a slightly increased hit risk might be worth it to get out of a corner.
 
 
# Debug and Evaluate how the bot works in the Rumble without extensive tuning.
 
# Debug and Evaluate how the bot works in the Rumble without extensive tuning.
# Download and get [[RoboResearch]] working.
+
# <span style="text-decoration: line-through;">Download and get [[RoboResearch]] working.</span>
 
#* Code a version of Debroglie to read/write dimension weights and real/virtual wave weighting from a .txt file. Let it chew on the [[Targeting Challenge RM]] bots for a week or two to explore the solution space.
 
#* Code a version of Debroglie to read/write dimension weights and real/virtual wave weighting from a .txt file. Let it chew on the [[Targeting Challenge RM]] bots for a week or two to explore the solution space.
 
#* Pick the few best local maxima, do some runs that explore the space near them.
 
#* Pick the few best local maxima, do some runs that explore the space near them.
 
#* Repeat all of this for the anti-adaptive gun with some relevant bots.
 
#* Repeat all of this for the anti-adaptive gun with some relevant bots.
 
#* Repeat with movement weights using [[Movement Challenge 2K7|MC2K7]], etc.
 
#* Repeat with movement weights using [[Movement Challenge 2K7|MC2K7]], etc.

Revision as of 18:38, 31 May 2012

DeBroglie Roadmap / Development notepad / Brainstorming Sandbox

  1. Precise Prediction + Wall Smoothing in order to calculate Precise MEAs and get ready for Wave Surfing.
  2. Implement Wave Surfing
    • Farewell Aristocles. You were a faithful friend, if a bit dodgy during round 1. ;)
    • GoTo is what DeBroglie used to have, but TrueSurfing seems more philosophically satisfying at the moment...
    • Danger function to include a term for field position? Corners are bad after all, and a slightly increased hit risk might be worth it to get out of a corner.
    • Eventually, the pluggable EndPredictionCondition interface in MovementPredictor should make surfing multiple waves easier.. and allow me to handle cases like the following via a discrete Class that can handle the details:
      • Wave A and Wave B are coming toward you. If you orbit clockwise or stop, Wave A will hit first. Remove Wave A and predict-surf remaining waves. If you orbit counter-clockwise, wave B will hit you first. Remove Wave B and predict-surf remaining waves
  3. Get a small Virtual Gun array going. Main GF gun, anti-adaptive GF gun, circular targeter, dead-stop targeter. For kicks. ;)
    • Weight points in anti-adaptive gun via half-life based on round number.
      • Pre-calculate decay exponentials and store in array. Just one extra array lookup and one extra multiplication per data point.. shouldn't be terribly slower than main gun.
    • Test choosing gun via history of this shot (the k-nearest-neighbors can report which gun did best on them) vs. general history of the match.. Probably lots of trade-offs here.
  4. Bullet Shadows (fairly easy with the Universe/Bot structure)
  5. Debug and Evaluate how the bot works in the Rumble without extensive tuning.
  6. Download and get RoboResearch working.
    • Code a version of Debroglie to read/write dimension weights and real/virtual wave weighting from a .txt file. Let it chew on the Targeting Challenge RM bots for a week or two to explore the solution space.
    • Pick the few best local maxima, do some runs that explore the space near them.
    • Repeat all of this for the anti-adaptive gun with some relevant bots.
    • Repeat with movement weights using MC2K7, etc.