Difference between revisions of "DeBroglie"
Jump to navigation
Jump to search
m (link fix) |
m (rank update) |
||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Navbox small | |
− | + | | title = Sub-pages | |
− | + | | page1 = Version History | |
+ | | page2 = Archived Talk 2010 | ||
+ | }} | ||
{{Infobox Robot | {{Infobox Robot | ||
| name = [[deBroglie]] | | name = [[deBroglie]] | ||
Line 8: | Line 10: | ||
| author = [[User:Tkiesel|Tkiesel]] | | author = [[User:Tkiesel|Tkiesel]] | ||
| extends = [[AdvancedRobot]] | | extends = [[AdvancedRobot]] | ||
− | | targeting = [[Dynamic Clustering]] | + | | targeting = [[Dynamic Clustering|DC]] - [[GuessFactor|Guess Factors]] |
− | | movement = [[ | + | | movement = [[Dynamic Clustering|DC]] - [[Wave Surfing]] |
− | | current_version = | + | | current_version = rev0108 |
− | | best_rating = [[RumbleArchives: | + | | best_rating = [[RumbleArchives:RoboRumble 20120723|31]] |
− | | license = [[ | + | | download_link = https://dl.dropboxusercontent.com/u/75978227/tjk.deBroglie_rev0108.jar |
+ | | license = [[ZLIB|zlib]] | ||
}} | }} | ||
− | == | + | == Background Information == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Information | ||
− | |||
− | |||
− | |||
− | |||
− | + | ; Where did you get the name? | |
+ | : This is my first wave surfing bot, and I'm a physicist by training, so it's named in honor of [[wikipedia:Louis_de_Broglie|Louis de Broglie]], who discovered that matter has [[wikipedia:Matter_wave|wavelike properties]]. This was a foundational discovery in Quantum Mechanics. In 1929 de Broglie received the first ever Nobel Prize given to a student thesis. | ||
− | The | + | ; What's special about it? |
+ | : The targeting and movement draw on a central Universe object that contains the entire situational picture, with a Bot object that represents each robot on the field. | ||
− | + | ; How competitive is it? | |
+ | : rev0108 is in the upper 40s in the [http://literumble.appspot.com/Rankings?game=roborumble RoboRumble] and middle of the pack in the [http://literumble.appspot.com/Rankings?game=gigarumble GigaRumble]. | ||
− | == | + | == Strategy == |
− | + | ; How does it [[Movement|move]]? | |
+ | : [[Wave Surfing]], using data stored in [[Dynamic Clustering|a kD tree]] with [[Waves/Precise_Intersection|precise intersection]]. The algorithm is [[Wave Surfing/True Surfing|true surfing]] based on concepts in the [[Wave Surfing Tutorial|wave surfing tutorial]]. | ||
− | + | ; How does it fire? | |
+ | : [[GuessFactor Targeting]] using [[Dynamic Clustering|a kD tree to store data.]] [[Waves/Precise_Intersection|Precise intersection]] is used to determine the fire angles that would have hit. Several different targeters are used in a [[Virtual Guns]] array. The best gun to use is chosen via a [[wikipedia:Condorcet method|Condorcet]] vote. | ||
− | + | ; What does it save between rounds and matches? | |
+ | : Nothing between matches. Between rounds all surfing and targeting data is saved. | ||
− | == | + | == Additional Information == |
− | + | ; Can I use your code? | |
+ | : DeBroglie is an open source bot available under the [[ZLIB|zlib license]]. A few files here and there have an extra clause attached. | ||
− | + | ; What's next for your robot? | |
+ | : Nothing. Development on deBroglie has ended. A few big chunks of the code will live on in [[User:Tkiesel/Copernicus|Copernicus]]. | ||
− | + | ; What other robot(s) is it based on? | |
− | All code written by others is under | + | : All code written by others is under some form of permissive open source license. |
− | *The kD tree is written by [[User:Rednaxela|Rednaxela | + | :*The [https://bitbucket.org/rednaxela/knn-benchmark kD tree] is written by [[User:Rednaxela|Rednaxela]]. License: as-is with attribution. |
− | *The [[User:Rednaxela/FastTrig|FastTrig lookup table and methods]] are written by a host of amazing folks at this wiki, starting with [[User:Rednaxela|Rednaxela]], but including [[User talk:Rednaxela/FastTrig|other great Robocode luminaries]]. | + | :*The [[User:Rednaxela/FastTrig|FastTrig lookup table and methods]] are written by a host of amazing folks at this wiki, starting with [[User:Rednaxela|Rednaxela]], but including [[User talk:Rednaxela/FastTrig|other great Robocode luminaries]]. |
− | *Parts of the precise prediction are accomplished with the help of [http://www.openprocessing.org/visuals/?visualID=8009 code] originally by [http://local.wasp.uwa.edu.au/~pbourke/geometry/sphereline/raysphere.c Paul Bourke], adapted by [http://www.openprocessing.org/portal/?userID=54 REAS @ OpenProcessing.org] and further adapted by me. This code determines if a line segment and a circle intersect. License: [http://creativecommons.org/licenses/by-sa/3.0/us/ CC-by-sa 3.0] | + | :*Parts of the precise prediction are accomplished with the help of [http://www.openprocessing.org/visuals/?visualID=8009 code] originally by [http://local.wasp.uwa.edu.au/~pbourke/geometry/sphereline/raysphere.c Paul Bourke], adapted by [http://www.openprocessing.org/portal/?userID=54 REAS @ OpenProcessing.org] and further adapted by me. This code determines if and where a line segment and a circle intersect. License: [http://creativecommons.org/licenses/by-sa/3.0/us/ CC-by-sa 3.0] |
− | * The | + | :*The gun ranking uses [http://code.google.com/p/voteutil/ voteutil] by Brian Olson. It is available under the [http://www.gnu.org/licenses/lgpl.html LGPL version 3]. |
+ | :*The movement uses the wonderful setBackAsFront() method from [[User:Voidious|Voidious']] [[Wave Surfing Tutorial]]. Great piece of code! | ||
[[Category:Bots|DeBroglie]] | [[Category:Bots|DeBroglie]] |
Latest revision as of 19:03, 18 November 2014
- Sub-pages:
- Version History - Archived Talk 2010
deBroglie | |
Louis de Broglie, winner of the 1929 Nobel Prize for Physics | |
Author(s) | Tkiesel |
Extends | AdvancedRobot |
Targeting | DC - Guess Factors |
Movement | DC - Wave Surfing |
Best Rating | 31 |
Current Version | rev0108 |
Code License | zlib |
Download |
Background Information
- Where did you get the name?
- This is my first wave surfing bot, and I'm a physicist by training, so it's named in honor of Louis de Broglie, who discovered that matter has wavelike properties. This was a foundational discovery in Quantum Mechanics. In 1929 de Broglie received the first ever Nobel Prize given to a student thesis.
- What's special about it?
- The targeting and movement draw on a central Universe object that contains the entire situational picture, with a Bot object that represents each robot on the field.
- How competitive is it?
- rev0108 is in the upper 40s in the RoboRumble and middle of the pack in the GigaRumble.
Strategy
- How does it move?
- Wave Surfing, using data stored in a kD tree with precise intersection. The algorithm is true surfing based on concepts in the wave surfing tutorial.
- How does it fire?
- GuessFactor Targeting using a kD tree to store data. Precise intersection is used to determine the fire angles that would have hit. Several different targeters are used in a Virtual Guns array. The best gun to use is chosen via a Condorcet vote.
- What does it save between rounds and matches?
- Nothing between matches. Between rounds all surfing and targeting data is saved.
Additional Information
- Can I use your code?
- DeBroglie is an open source bot available under the zlib license. A few files here and there have an extra clause attached.
- What's next for your robot?
- Nothing. Development on deBroglie has ended. A few big chunks of the code will live on in Copernicus.
- What other robot(s) is it based on?
- All code written by others is under some form of permissive open source license.
- The kD tree is written by Rednaxela. License: as-is with attribution.
- The FastTrig lookup table and methods are written by a host of amazing folks at this wiki, starting with Rednaxela, but including other great Robocode luminaries.
- Parts of the precise prediction are accomplished with the help of code originally by Paul Bourke, adapted by REAS @ OpenProcessing.org and further adapted by me. This code determines if and where a line segment and a circle intersect. License: CC-by-sa 3.0
- The gun ranking uses voteutil by Brian Olson. It is available under the LGPL version 3.
- The movement uses the wonderful setBackAsFront() method from Voidious' Wave Surfing Tutorial. Great piece of code!