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

Jump to navigation
Jump to search

(updates.) |
m (updates.) |
||

Line 4: | Line 4: | ||

#* 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. | #* 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. | ||

+ | #* Changed the danger caching procedure, and switched to a [[wikipedia:Kernel (statistics)|Tricube]] kernel for targeting, and an [[Talk:Diamond/Version_History#kernel_density_is_important_1205|exponential decay kernel]] on surfing. Seems to have resolved a lot of skipped turn woes! | ||

# Virtual gun array | # Virtual gun array | ||

#* How to choose a gun? | #* How to choose a gun? | ||

Line 13: | Line 14: | ||

#* 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. | ||

− | |||

# Bullet Power/fire choice | # Bullet Power/fire choice | ||

− | |||

− |

## Revision as of 21:37, 16 July 2012

## DeBroglie Roadmap / Development notepad / Brainstorming Sandbox

- 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.
- Changed the danger caching procedure, and switched to a Tricube kernel for targeting, and an exponential decay kernel on surfing. Seems to have resolved a lot of skipped turn woes!

- 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.

- Current VirtualGunManager uses Condorcet voting among several selectors (rolling normalized hit rates with different depths) to choose the best gun.

- How to choose a gun?
- 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.

- Bullet Power/fire choice