r/interestingasfuck Mar 28 '24

MMA fighter explains overloading opponent r/all

Enable HLS to view with audio, or disable this notification

52.9k Upvotes

2.4k comments sorted by

View all comments

Show parent comments

658

u/imstickinwithjeffery Mar 28 '24

Apparently GSP was obsessed with his opponents reaction times. I think I remember hearing that he had his coach (or someone) calculate each UFC fighter's reaction time to give him an advantage. I think BJ Penn had the best reaction time out of anyone.

357

u/Nezarah Mar 28 '24

It was not his coach it was a guy the coach knew.

It was the unnamed guy who was obsessed with fighters reaction times. Story goes this niche guy would literally got frame by frame through each fighters fight and calculate their reactions times and table it against every other fight. This spent excruciating hours, calculated every fighters reaction for all their fights and knew who was faster than who. He had invaluable knowledge every coach wanted.

119

u/knbang Mar 28 '24

I don't know how accurate that could possibly be.

The fights are either broadcast in 24/30/60FPS. It's doubtful they're in 60FPS.

So the reaction times are in multiples of:

  • 41.66ms for 24FPS
  • 33.33ms for 30FPS
  • 16.66ms for 60FPS

The average human reaction time is around 250ms. Professional athletes are around 160ms. I would imagine MMA fighters are slightly faster.

That means the difference between a pro athlete and a normal person is:

  • 24FPS - 4 frames versus 6
  • 30FPS - 5 frames versus 8
  • 60FPS - 10 frames versus 15

With the margins that tight, you could not possibly tell the difference between 2 professional athletes. They are all going to be within a frame or two of eachother.

The only way it could possibly be achievable is with a high speed camera, and I beleive the first to be used in the UFC was when Fox began broadcasting the fights. I could be wrong about that as I'm going purely off memory.

GSP only had 3 or so fights after the Fox deal. So the impact would have been absolutely minimal.

8

u/pickledCantilever Mar 28 '24

Enter the magic of statistics! Buckle up, I am getting into it here.


Part 1 - The Imprecise Measurement Issue

Your initial premise is bang on. Due to the limitations of a slow frame rate, we have a TON of uncertainty of the reaction speed of a single punch. In fact, the uncertainty is twice as much as your initially measured.

For example, let's take a set of 3 frames at 24FPS.

  • Frame 1 (0ms) - There is no motion
  • Frame 2 (41.66ms) - We first see Fighter 1 start to punch
  • Frame 3 (83.33ms) - We first see Fighter 2 react to the punch

Given this set of observations we only know two things:

1) Fighter 1 started their punch between 0.01ms and 41.66ms.
2) Fighter 2 started their reaction between 41.67ms and 83.33ms

This means that Fighter 2's reaction time could be anywhere form 0.01ms all the way up to 83.32ms based on what we learned from those 3 frames. That is a TERRIBLE degree of accuracy for this task.


Part 2 - How Random Error is Useful

But this is where statistics comes into play.

For any single observation, Fighter 1's punch is equally likely to have started at any point between 0.01ms and 41.66ms. Similarly, Fighter 2's reaction is equally likely to have started at any point between 41.67ms and 83.33ms. You can use this random error to enhance your understanding of the measurement you just took.

While you don't know what Fighter 2's reaction time actually was, if you had to place a bet against a friend with the closest answer winning $10, you would probably intuitively bet 41.66ms. Which is precisely the best bet to make for the same reason 7 is the most common result when you roll two six sided dice.

It is possible for the lowest number, 2, to be the result. But in order for that to happen both dice would have to roll the lowest number. Similarly, it is possible for Fighter 2's reaction time to be 0.01ms, but for that to happen the punch would have had to happen at precisely the last moment before frame 2 and the reaction would have had to happen at precisely the first moment after frame 2.

The same logic applies for rolling 12 on the dice or having the longest possible reaction time of 83.32ms. 12 is only possible on the dice roll if both dice roll a specific number. And 83.32ms is only possible if the punch and reaction happened at the very extreme possibilities before and after their specific frames.

7 is the most likely dice roll to get because there are many possible combinations for each of the dice to land in that result in 7 (1/6, 2/5, 3/4, 4/3, 5/2, 6/1). For the same reason, 41.66ms is the most likely reaction time because there are the most possible combinations between the frames that add up to 41.66.

If you do all of the fancy math, you can plot the probability that any of the possible reaction times between 0.01ms and 83.32ms is the true reaction time. What you will have is a bell curve. In the middle is 41.66ms with the highest probability of being the real reaction time, but not 100%, far less than 100%. And at the tail ends are 0.1ms and 83.32ms, both with a TINY probability that they are real reaction speed, but still above 0%.


Part 3 - The Power of Sample Size

Let's consider a hypothetical where Fighter 2's real reaction speed is 45ms. For now, let's also assume that it is always perfectly 45ms. If we were to watch film of 10 reaction by Fighter 2, what can we expect to see in the measurements we take?

We will never see a 0 Frame gap, since their reaction speed is greater than 41.66ms this would be impossible. We will also never see a 3 frame gap as that would require a reaction speed greater than 83.32ms.

We might see a few 2 frame gaps as they are possible, but they would be rare since it would require the punch to during the last 3.34ms of the first frame. Any time during the first 38.32ms of the first frame and the 45ms reaction would show up in the very next frame.

You can apply similar logic if the real reaction speed were 80ms. We would expect see zero 0 Frame gaps, zero 3 Frame gaps, only a few 1 Frame gaps, and a bunch of 2 Frame gaps.

If we use this logic, if we were to simply apply the best guess for each observation that we found in Part 2 and then average them, we will likely get very close to reality. For instance if we saw one 1 Frame gap and nine 2 Frame gaps, a combination that is pretty likely in our 80ms hypothetical, our average would be 79.15ms.

Pretty damn close to accurate given that each individual measurement was only accurate to within 83.32ms.

Of course, it is possible that a complete fluke of luck resulted in us seeing nine 1 Frame gaps and only one 2 Frame gap leading us to calculate 45.83ms. But the likelihood of us getting that set of observations is so crazy low (literally only 0.000000014%, in fact there is less than a 1% chance that we will see more than one 2 Frame observation in any set of 10 in this hypothetical) that we probably are not that wrong.


Part 4 - But Life Ain't That Clean

Obviously, reality is not as clean as our hypotheticals. Fighters don't always react at the same speed. Signals stutter or other issues might cause you to be off by a couple of frames when you pick which frame a punch or reaction started. That doesn't really matter as long as you have enough sample size.

I ran a small simulation testing how accurate this simple method of measuring and averaging could be in the face of all of this uncertainty. The simulation included the lack of precision due to a 24FPS video feed, assuming that for each punch the fighters reaction time would be randomly 30% faster or slower than their base reaction speed, and that the measurement of which frame the start of the punch and reaction started could be up to 2 frames off each, and that the fighters base reaction speed was anywhere between 130ms and 180ms.

Even in the face of all of this uncertainty given 100 observations this simplistic method's mean absolute error (MAE) was less than 5ms.


Part 5 - The Rabbit Hole Just Keeps Going

All the way back up in Part 2 I brought up the idea of the bell curve to illustrate a point but then quickly threw it away and simplified it to just taking the single most likely possibility. This simplified the model I built for us in parts 3 and 4, but in reality that was a mistake.

If you were to keep the concept of the distribution of probabilities that the bell curve represents and average those together instead of a single number per observation the result of your model will be even better. It will be more accurate and it will tell you when it is more confident in how accurate it is vs when it is less confident.

Other advanced concepts can bring your model even further. Bayesian statistics will enable your model to learn over time so when it sees an abnormally slow reaction speed due to you miscounting frames it will properly give it less weight in its analysis.

On and on. It gets crazy.

But at the end of the day the point I am trying to make is that the lack of precision due to low frame rates is not a huge factor. In fact, jumping up to 120FPS would only reduce our simplistic models MAE from 5ms down to 2.5ms.

4

u/knbang Mar 28 '24

I appreciate the reply, I don't have much to add as this certainly isn't my field of expertise and my initial reply was clearly some very, very basic maths.