Difference between revisions of "ScalarR"

From Robowiki
Jump to navigation Jump to search
m
m
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Navbox small
 
{{Navbox small
| title = ScalarR Sub-pages
+
| title = Sub-pages
 
| parent = ScalarR
 
| parent = ScalarR
 
| page1 = Version History
 
| page1 = Version History
Line 11: Line 11:
 
}}
 
}}
  
This page is under construction. For recent activities, see [[/Version History|Version History]].  
+
For recent activities, see [[/Version History|Version History]].  
  
 
== Background Information ==
 
== Background Information ==
Line 17: Line 17:
 
; What's special about it?
 
; What's special about it?
  
It's a melee bot, and shares same surfing algorithms in 1v1.  
+
The ability to expertly surf multiple waves in [[Melee|melee]] was a groundbreaking technique, which has also been adapted for 1v1 scenarios.
  
 
; How competitive is it?
 
; How competitive is it?
  
No.1 in melee (as of 2021.6)
+
No.1 in melee as of [http://web.archive.org/web/20190319084925/http://literumble.appspot.com/Rankings?game=meleerumble February 12, 2019].
  
No.3 in 1v1 (as of 2021.6)
+
Previously ranked as No.1 in 1v1 as of [http://web.archive.org/web/20210628051845/https://literumble.appspot.com/Rankings?game=roborumble June 28, 2021], now retired.
  
 
== Strategy ==
 
== Strategy ==
Line 29: Line 29:
 
; How does it move?
 
; How does it move?
  
[[Path Surfing]] (term by [[Kev]]) in melee, [[True Surfing]] in 1v1, with the only difference being different surfing paths generated.  
+
[[True Surfing]] in both melee and 1v1 scenarios, by generating different surfing paths. To accurately assess the potential danger, the algorithm takes into account various factors such as [[Bullet Shadow]], [[KNN|K-Nearest Neighbors]] (KNN), and a simulation of simple guns (to mitigate its vulnerabilities when facing weak opponents ;).
  
 
; How does it fire?
 
; How does it fire?
  
[[Play It Forward]] in melee, [[KNN]]/[[GuessFactor Targeting]] in 1v1. [[Energy Management]] is quite conservative that optimizes survival as main goal.  
+
In melee, KNN combined with [[Play It Forward]] is utilized, while KNN along with [[GuessFactor Targeting]] is used in 1v1 scenarios. [[Energy Management]] is optimized for survival and tends to be quite conservative. The weights of the 1v1 main gun are tuned using [[wikipedia:Genetic algorithm|Genetic Algorithms]], inspired by [[Skilgannon]], to optimize the hit rate. However, the 1v1 anti-surfing gun has yet to be tuned, which leaves it vulnerable to strong opponents.
The weights of main [[KNN]] gun is tuned with [[wikipedia:Genetic algorithm|Genetic Algorithms]] inspired by [[Skilgannon]], by directly optimizing hit rate.  
 
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
Line 44: Line 43:
 
; Where did you get the name?
 
; Where did you get the name?
  
Scalar from [[wikipedia:Scalar Replacement|Scalar Replacement]], an optimization technique used in JVM to reduce GC pressure.  
+
The name "Scalar" was inspired by an optimization technique used in the JVM called "Scalar Replacement", which is employed to minimize GC pressure. The letter "R" was added to form the name.
Letter R is coined.  
 
  
 
; What's next for your robot?
 
; What's next for your robot?
  
* Maybe add a flattener ;) Which seems necessary against top bots.  
+
Nothing, it's no longer in active development.
* Tune gun / movement with more computation power. And maybe try some [[wikipedia:Gradient Descent|Gradient Descent]] and optimize predicted distribution instead similar to [[Kev]] ;)
+
 
 +
; Does it have any [[White Whale]]s?
 +
 
 +
[[BeepBoop]].
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
 
+
The development of the project was influenced both directly and indirectly by a range of robots and ideas mentioned on this wiki. Notable examples include the experience gained from working on [[ScalarN]], [[ScalarBot]], and [[SimpleBot]], as well as the valuable insights into building a competitive bot [[DrussGT/Understanding DrussGT | shared by Skilgannon]] through [[DrussGT]]. [[Innovations since 2005]] also played a role in shaping the project. [[Diamond]]’s code provided inspiration and learning opportunities, although the challenge of maintaining clean code remains. Additionally, the idea of using gradients and the importance of [[Bullet Shadow/Correct | correct bullet shadow]] were both gleaned from [[BeepBoop]], thanks to [[BeepBoop/Understanding BeepBoop|Kev's contributions]]. Other sources of influence are yet to be listed.
Directly and indirectly influenced by everything mentioned on this wiki.  
 
* [[DrussGT/Understanding DrussGT | Understanding DrussGT]]
 
* [[Innovations since 2005]]
 
* to be listed...
 
  
  

Latest revision as of 15:24, 10 January 2024

Sub-pages:
Version History
ScalarR
Author(s) Xor
Extends AdvancedRobot
Targeting GuessFactor Targeting
Movement Wave Surfing

For recent activities, see Version History.

Background Information

What's special about it?

The ability to expertly surf multiple waves in melee was a groundbreaking technique, which has also been adapted for 1v1 scenarios.

How competitive is it?

No.1 in melee as of February 12, 2019.

Previously ranked as No.1 in 1v1 as of June 28, 2021, now retired.

Strategy

How does it move?

True Surfing in both melee and 1v1 scenarios, by generating different surfing paths. To accurately assess the potential danger, the algorithm takes into account various factors such as Bullet Shadow, K-Nearest Neighbors (KNN), and a simulation of simple guns (to mitigate its vulnerabilities when facing weak opponents ;).

How does it fire?

In melee, KNN combined with Play It Forward is utilized, while KNN along with GuessFactor Targeting is used in 1v1 scenarios. Energy Management is optimized for survival and tends to be quite conservative. The weights of the 1v1 main gun are tuned using Genetic Algorithms, inspired by Skilgannon, to optimize the hit rate. However, the 1v1 anti-surfing gun has yet to be tuned, which leaves it vulnerable to strong opponents.

What does it save between rounds and matches?

Everything between rounds, nothing between matches.

Additional Information

Where did you get the name?

The name "Scalar" was inspired by an optimization technique used in the JVM called "Scalar Replacement", which is employed to minimize GC pressure. The letter "R" was added to form the name.

What's next for your robot?

Nothing, it's no longer in active development.

Does it have any White Whales?

BeepBoop.

What other robot(s) is it based on?

The development of the project was influenced both directly and indirectly by a range of robots and ideas mentioned on this wiki. Notable examples include the experience gained from working on ScalarN, ScalarBot, and SimpleBot, as well as the valuable insights into building a competitive bot shared by Skilgannon through DrussGT. Innovations since 2005 also played a role in shaping the project. Diamond’s code provided inspiration and learning opportunities, although the challenge of maintaining clean code remains. Additionally, the idea of using gradients and the importance of correct bullet shadow were both gleaned from BeepBoop, thanks to Kev's contributions. Other sources of influence are yet to be listed.