Difference between revisions of "User:Dsekercioglu/Thoughts on targeting"

From Robowiki
Jump to navigation Jump to search
(Created page with "==Introduction== When your robot fights against a weaker robot about %55 - %65 of the score comes from damage. ==Prediction Technics== There are mainly 2 ways for predicting ...")
 
(Added more attributes and more comments on attributes as I have learnt a lot on the way. Removed the "Against Learning Movement" part as I am not that good at AS anymore =()
 
Line 18: Line 18:
 
*Many bots tries to get away from the enemy when close.
 
*Many bots tries to get away from the enemy when close.
 
*[[Stop And Go]] bots move less when bullet float time is low.
 
*[[Stop And Go]] bots move less when bullet float time is low.
*Decelerating bots generally changes direction.
+
*Decelerating bots generally change direction.
  
 
:Classification algorithms are used here to get the best prediction.
 
:Classification algorithms are used here to get the best prediction.
Line 27: Line 27:
 
:Lateral Velocity has a direct affect on enemy movement.  
 
:Lateral Velocity has a direct affect on enemy movement.  
 
:Simple movements generally keeps the velocity while moving.
 
:Simple movements generally keeps the velocity while moving.
 +
 +
:''It will be one of the highest weighted attributes you will have in your KNN algorithm. Lateral Velocity is always a good point to start with.''
 +
 +
;Lateral Acceleration
 +
:Lateral acceleration tells you if the bot is changing its direction.
 +
:''It is one of the most important attributes as lateral acceleration makes a huge difference when combined with lateral velocity. There is a huge difference between (LatVel = 4, LatAcc = 1) and (LatVel = 4, LatAcc = -2).''
  
 
;Advancing Velocity
 
;Advancing Velocity
 
:Advancing velocity helps you to understand if enemy is coming closer or moving away.
 
:Advancing velocity helps you to understand if enemy is coming closer or moving away.
 
:Useful against: Bots doing distancing, bots moving non-perpendicularly.
 
:Useful against: Bots doing distancing, bots moving non-perpendicularly.
 +
:''Advancing velocity is one of the less useful attributes in targeting but it is always useful.''
  
 
;Bullet Float Time
 
;Bullet Float Time
 
:Helps to hit non perpendicular movement.
 
:Helps to hit non perpendicular movement.
 
:For example Walls, SpinBot.
 
:For example Walls, SpinBot.
 +
:''If you are using guess factors Bullet Float Time is a must. Alone, it won't help much but combined it is arguably the most useful attribute.''
  
 
;Forward/Backward Wall MEA
 
;Forward/Backward Wall MEA
:Helps to hit nearly any type of movement.
+
:Helps hit nearly any type of movement.
 
*If a bot changes direction after hitting or before hitting the wall.
 
*If a bot changes direction after hitting or before hitting the wall.
 
*If a bot does wall smoothing
 
*If a bot does wall smoothing
 
*If a bot gets stuck in the corners
 
*If a bot gets stuck in the corners
Forward/Backward Wall MEA will increase your hit rate.
+
:''Forward MEA is a must if you want to have a powerful targeting system. Every bot will change how they react near walls as they are the boundaries of where you can move to.''
  
 
;Time Since Attributes
 
;Time Since Attributes
Useful against [[Oscillator]],[[Stop And Go]], Direction Based [[Random Movement]].  
+
:Useful against [[Oscillator]],[[Stop And Go]], Direction Based [[Random Movement]].
 +
:Randomly Moving bots will probably have a random direction change algorithm based on a constant. Time since attributes will help your targeting system find the tendency of a bot changing directions.
 +
:''I would say they are one of the less useful attributes but it certainly helps.''
 +
 
 +
;Lateral Distance Last X
 +
:Lateral Distance Last X is equivalent to  Average Velocity Last X and gives you valuable information.
 +
:It works great against random movement.
 +
:''It increased my bot's accuracy against robots like Aspid, DuelistMicro that stop and move randomly.''
 +
 
 +
 
 +
;Shots Fired /Shots hit
 +
:These attributes will help you with data decay. Even if you are aiming to hit simple bots data decay helps.
 +
:''Data decay is one of the attributes which will boost your score against learning movements.''
 +
 
 +
;Attribute Importance Ranking
 +
:This is more of a fun part but after having [[WhiteFang]] trained against multiple robots with the given attributes I found out that they were simply the how important the given attributes are.
 +
:Disclaimer: These are not perfect values nor the best ones since they have been generated by a Genetic Algorithm in less than one hour. However, it can give you a general idea about the attributes.
  
==Targeting Learning Movements==
+
:Lateral Acceleration: 9.02
:When a bot with a learning movement gets hit it won't do the same movement for a very long time.
+
:Bullet Float Time: 8.151
:For the gun to be more adaptive it needs [[Data Decay]] so
+
:Lateral Distance Last 10: 6.68
*The gun forgets the old moves quickly
+
:Lateral Velocity: 6.47
*Adapts faster to the new movement.
+
:Wall Distance Forwards: 6.32
:This can be done in two ways
+
:Advancing Velocity: 3.64
*A simple formula for VCS(Look at [[Data Decay]])
+
:Time Since Deceleration: 2.74
*Having a ''fired bullets'' attribute
+
:Wall Distance Backwards: 0.98

Latest revision as of 10:56, 20 March 2019

Introduction

When your robot fights against a weaker robot about %55 - %65 of the score comes from damage.

Prediction Technics

There are mainly 2 ways for predicting where the enemy will be.

  • 1. Angular Systems.
  • 2. Positional Systems.
Angular Systems
Positional Systems
Linear Targeting, Circular Targeting, Pattern Matching are used.
The most efficient system so far is Play It Forward.

Choosing the Correct Angle/Position

  • Oscillators change their direction periodically.
  • When close to walls some bots change direction.
  • Many bots tries to get away from the enemy when close.
  • Stop And Go bots move less when bullet float time is low.
  • Decelerating bots generally change direction.
Classification algorithms are used here to get the best prediction.
The most used 2 algorithms are KNN(DC) and VCS.

Choosing Attributes

Lateral Velocity
Lateral Velocity has a direct affect on enemy movement.
Simple movements generally keeps the velocity while moving.
It will be one of the highest weighted attributes you will have in your KNN algorithm. Lateral Velocity is always a good point to start with.
Lateral Acceleration
Lateral acceleration tells you if the bot is changing its direction.
It is one of the most important attributes as lateral acceleration makes a huge difference when combined with lateral velocity. There is a huge difference between (LatVel = 4, LatAcc = 1) and (LatVel = 4, LatAcc = -2).
Advancing Velocity
Advancing velocity helps you to understand if enemy is coming closer or moving away.
Useful against: Bots doing distancing, bots moving non-perpendicularly.
Advancing velocity is one of the less useful attributes in targeting but it is always useful.
Bullet Float Time
Helps to hit non perpendicular movement.
For example Walls, SpinBot.
If you are using guess factors Bullet Float Time is a must. Alone, it won't help much but combined it is arguably the most useful attribute.
Forward/Backward Wall MEA
Helps hit nearly any type of movement.
  • If a bot changes direction after hitting or before hitting the wall.
  • If a bot does wall smoothing
  • If a bot gets stuck in the corners
Forward MEA is a must if you want to have a powerful targeting system. Every bot will change how they react near walls as they are the boundaries of where you can move to.
Time Since Attributes
Useful against Oscillator,Stop And Go, Direction Based Random Movement.
Randomly Moving bots will probably have a random direction change algorithm based on a constant. Time since attributes will help your targeting system find the tendency of a bot changing directions.
I would say they are one of the less useful attributes but it certainly helps.
Lateral Distance Last X
Lateral Distance Last X is equivalent to Average Velocity Last X and gives you valuable information.
It works great against random movement.
It increased my bot's accuracy against robots like Aspid, DuelistMicro that stop and move randomly.


Shots Fired /Shots hit
These attributes will help you with data decay. Even if you are aiming to hit simple bots data decay helps.
Data decay is one of the attributes which will boost your score against learning movements.
Attribute Importance Ranking
This is more of a fun part but after having WhiteFang trained against multiple robots with the given attributes I found out that they were simply the how important the given attributes are.
Disclaimer: These are not perfect values nor the best ones since they have been generated by a Genetic Algorithm in less than one hour. However, it can give you a general idea about the attributes.
Lateral Acceleration: 9.02
Bullet Float Time: 8.151
Lateral Distance Last 10: 6.68
Lateral Velocity: 6.47
Wall Distance Forwards: 6.32
Advancing Velocity: 3.64
Time Since Deceleration: 2.74
Wall Distance Backwards: 0.98