View Single Post
  #32   Spotlight this post!  
Unread 03-03-2014, 10:31
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: 10 point goal versus 1 point goal

We ran the math on this, and the math comes to the same conclusion.

Variables:
  • BallBase - Value of the ball. A fresh ball is 0pts, single-assist is 10pt, double-assist is 30pt, etc.
  • ShooterP - High goal probability. Probability of getting a shot into the high goal. Value between 0 (never) and 1 (always)
  • HighWaste - How many seconds you waste recovering a missed high goal shot
  • LowWaste - How many seconds you waste repositioning after a failed low goal shot
  • LowGoalP - Low goal probability. How probable each attempt at the low goal will go in.
  • LowGoalTime - Time it takes to do a low goal attempt.
  • HighGoalTime - Time it takes to do a high goal attempt.
  • PointsPerSecond - How many points a wasted second is worth. I usually use 1pt/second, assuming 140pt alliance scores.


Concept: Expected value. The expected value of some event is the probability of the event occurring multiplied by the value of that event. So if you have ShooterP=0.5 and a 0pt ball, then E(highgoal) = 0.5*(0pt + 10pt) = 5pts.

Now, the expected value of a high-goal attempt:
E(highgoal) = (BallBase+10 - HighGoalTime*PointsPerSecond)*ShooterP - (HighWaste*PointsPerSecond)*(1-ShooterP)

Let's go through that:
"BallBase+10": Adding the 10pt high goal bonus
"- HighGoalTime*PointsPerSecond" - Subtracting the point value of the time it takes to make a high goal attempt
"*ShooterP" - Finds the expected value of a successful high goal attempt by multiplying the big term in brackets by high likely that it will occur
"- (HighWaste*PointsPerSecond)" - subtracts the cost of missing multiplied by the probability of missing (1-ShooterP)

Likewise, we have the low goal equation:
E(LowGoal) = (BallBase+1 - LowGoalTime*PointsPerSecond)*LowGoalP - (LowWaste*PointsPerSecond)*(1-LowGoalP)

Ideally, you'd want your expected value of a high goal shot to be positive. However, for many teams with unreliable shooters, it won't be.

But having a positive high goal expected value isn't sufficient. What you need is for the expected value of a high goal shot to EXCEED the expected value of a low goal shot.

Thus, you need:
E(HighGoal) > E(LowGoal)

Let's solve for how good your shooter needs to be (ShooterP) to be worth going for the high goal...
  • (BallBase+10 - HighGoalTime*PointsPerSecond)*ShooterP - (HighWaste*PointsPerSecond)*(1-ShooterP) > (BallBase+1 - LowGoalTime*PointsPerSecond)*LowGoalP - (LowWaste*PointsPerSecond)*(1-LowGoalP)
  • multiply shooterPs (and call ShooterP SP for shortening)
  • SP*BallBase + 10SP - SP*HighGoalTime*PointsPerSecond - HighWaste*PointsPerSecond + SP*HighWaste*PointsPerSecond > ...
  • SP(BallBase + 10 - HighGoalTime*PointsPerSecond + HighWaste*PointsperSecond) - HighWaste*PointsPerSecond > ...
  • SP(BallBase + 10 - HighGoalTime*PointsPerSecond + HighWaste*PointsperSecond) > (BallBase+1 - LowGoalTime*PointsPerSecond)*LowGoalP - (LowWaste*PointsPerSecond)*(1-LowGoalP) + HighWaste*PointsPerSecond
  • SP > ((BallBase+1 - LowGoalTime*PointsPerSecond)*LowGoalP - (LowWaste*PointsPerSecond)*(1-LowGoalP) + HighWaste*PointsPerSecond) / (BallBase + 10 - HighGoalTime*PointsPerSecond + HighWaste*PointsperSecond)

So if you plug in your BallBase, LowGoalTime, PointsPerSecond, LowGoalP, LowWaste, HighWaste, HighGoalTime assumptions into that equation, it'll tell you how good your shooter needs to be in order to make it worth taking a high shot over a low shot.

For example, let's say:
BallBase = 30 (double-assist ball)
HighWaste = 20 (20 seconds to recover a bounced ball)
PointsPerSecond = 1 (assuming a 140pt match)
LowGoalP = 0.85 (low goal is easy)
LowWaste = 5 (repositioning after a low goal miss is quick)
HighGoalTime = 2 (quick shooter)
LowGoalTime = 5 (positioning again)

Then:
SP > ((30+1 - 5*1)*0.85 - (5*1)*(1-0.85) + 20*1) / (30 + 10 - 2*1 + 20*1)
SP > (26*0.85 - 0.75 + 20) / (40 - 2 + 20)
SP > 41.35 / 58
SP > 0.71

So in that scenario (and given this equation), you should be sure you have a shooter accuracy of more than 71% before trying for the high goal, as the expected value of a low goal attempt is greater.

Last edited by Bongle : 03-03-2014 at 10:45.
Reply With Quote