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

From Robowiki
Jump to navigation Jump to search
m (updated)
(updates.)
Line 3: Line 3:
 
# Continue tracking down why there are so many skipped turns.
 
# Continue tracking down why there are so many skipped turns.
 
#* I used an approximation via <math>e^x = \lim_{n \to +\infty}(1+\frac{x}{n})^n</math>, with variable power-of-2 choice of n based on input x. Keeps error < 5%, and performance high. Skipped turn issue seems to be resolved... for now.
 
#* I used an approximation via <math>e^x = \lim_{n \to +\infty}(1+\frac{x}{n})^n</math>, with variable power-of-2 choice of n based on input x. Keeps error < 5%, and performance high. Skipped turn issue seems to be resolved... for now.
 +
#* Big source of skipped turns seemed to be the CPU frequency scaling..  now that I'm on Linux again and can control such things, just maxing the CPU frequency during Robocode and RoboRumble runs really seems to prevent skipped turns.
 
# Virtual gun array
 
# Virtual gun array
 
#* How to choose a gun?   
 
#* How to choose a gun?   
Line 12: Line 13:
 
#* Put it in a separate object so it's not hanging out at 12 different places in Wheels.java
 
#* Put it in a separate object so it's not hanging out at 12 different places in Wheels.java
 
#* Really think through some theory on when/how to engage.
 
#* Really think through some theory on when/how to engage.
 +
#* Recent changes to hit rate normalizing have really really been messing with this!
 
# Bullet Power/fire choice
 
# Bullet Power/fire choice
 +
#* Implemented.  For now, it tries to maximize relative energy gain / tick.
 +
#** Possible strategy change based on whether bot is winning/losing?  Think about how this impacts APS/survival.

Revision as of 20:32, 6 July 2012

DeBroglie Roadmap / Development notepad / Brainstorming Sandbox

  1. Continue tracking down why there are so many skipped turns.
    • I used an approximation via <math>e^x = \lim_{n \to +\infty}(1+\frac{x}{n})^n</math>, with variable power-of-2 choice of n based on input x. Keeps error < 5%, and performance high. Skipped turn issue seems to be resolved... for now.
    • Big source of skipped turns seemed to be the CPU frequency scaling.. now that I'm on Linux again and can control such things, just maxing the CPU frequency during Robocode and RoboRumble runs really seems to prevent skipped turns.
  2. Virtual gun array
    • How to choose a gun?
      • Current VirtualGunManager uses Condorcet voting among several selectors (rolling normalized hit rates with different depths) to choose the best gun.
        • Works quite well, changes guns appropriately when Dookious engages/disengages its flattener.
        • However, no big rumble score gain over rev0073b with main gun.
          • I probably just need to continue to develop/tune the guns themselves (the common code they're based upon) and choose only 2-4 of them to minimize churn.
  3. Flattener
    • Put it in a separate object so it's not hanging out at 12 different places in Wheels.java
    • Really think through some theory on when/how to engage.
    • Recent changes to hit rate normalizing have really really been messing with this!
  4. Bullet Power/fire choice
    • Implemented. For now, it tries to maximize relative energy gain / tick.
      • Possible strategy change based on whether bot is winning/losing? Think about how this impacts APS/survival.