In this series I examine the universal laws of sports. In the previous post I looked at invasion sports. One criticism of sport research is that is is narrow and doesn’t apply to the real world. I believe this isn’t true and that the dynamics of sports are a reflection of the physical laws of our world. Much single-sport research has been done, but little has been done to find similarities amongst different sports and other adversarial spatial dynamics. In this essay, I turn the computational microscope to net sports like tennis and volleyball and look for similarities between them and invasion sports.
Crispening Up Our Thinking
Crispening Up Our Thinking
In my previous essay I was getting at how controlling space was the essence of invasion sports. I mentioned how I wanted to take this model out of sports. But one question that I thought would be relatively easy to answer was can we see any similar principles in net sports, like tennis and volleyball. On the surface these are quite different, but I suspected that the same rules would apply in many ways.
Before I dove into net sports, I needed to refine exactly what I was looking for. After bashing against the 2D model to try to collect more data on it, I decided to actually move back to the 1D. In one of his Q&As at the summer school Stephen Wolfram said something that really resonated with me, which is that the simpler an idea, the better chance it has of surviving and being useful. He often mentions how he originally tried to work with neural networks but found they were too difficult to work with so he turned to cellular automata. In Einstein’s words, “Your model should be as simple as possible and no simpler.” The 1D Model is actually realistic enough to illustrate the main principles of invasion sports, so let’s take a look.
Out[]=
Again, the attacker chooses to go long or short depending on the defense. Using the physics tool of scale, we can get at the invariances in a model. To do this, we set the defender to always prevent the attacker from going long:
Out[]=
Now let’s increase the arm strength and see what happens:
Increased arm strength to 100
Out[]=
So the defender is forced to give up more ground due to the increased long threat. Let’s increase the arm strength again.
Arm Strength = 125
Out[]=
Surprisingly, the pass distance was exactly the same this time. The reason is that the court length prevents the attackers from being able to use the extra arm strength. No new space was controlled therefore the advantage was the same. Let’s increase the court length and see if we can get a longer pass.
Court Length = 125
Out[]=
Now the attackers were able to use their arm strength. We can quantify this and look at pass distance over arm strength with difference court sizes.
Out[]=
So the pass distances scales linearly but plateaus at the court length. Here is the same concept in 3D:
Out[]=
This analysis helped me, as Stephen Wolfram says, “crispen up my thinking”. After making these plots I could see a common thread between invasion and net sports. I suspected that the shot power in tennis worked similarly to the arm strength in invasion sports. I had spoken with another mentor named Brad Klee at the Summer School, who had encouraged me to try with tennis, but I wasn’t really sure if there would be any similarities. After seeing these plots, I knew I could find commonalities with net sports.
To Wimbledon We Go
To Wimbledon We Go
Out[]=
So the players rallied for a while and then the red triangle was able to hit a winner down the line. Wow, red triangle looks a lot like me out there. But jokes aside, this model has quite a few knobs we can turn to see what happens. Here’s a list of all the parameters:
In[]:=
params=<|"cwidth"->courtWidth,"shotspeed"->3,"playerspeed"->1,"reactiontime"->0,"accuracy"->1,"aggression"->1|>;
We have the usual suspects of shot speed, reaction time and court size. But I also implemented accuracy, the radius of error around a shot, and aggression, how much the players aim for the corners, I definitely want to add these to the invasion model too because they really help create a balanced game and are also interesting to play with.
Going with our invasion analysis we’ll examine shot power and court width. First, let’s decrease the shot speed and see if we get a longer rally:
Out[]=
Here nobody was able to win. Now let’s increase the shot speed and see if we get a shorter rally:
Out[]=
Now let’s decrease court width and see if we get a longer rally again:
Out[]=
So we’re starting to see that the attackers’ advantage seems to scale with their shot speed up to the size of the court. To make this more precise we use the winner ease metric, which is just the number of points the attacker can hit a winner given a position:
The winner ease plateaus up to the level of the court width, just like the invasion model! Let’s see it with a bunch of court widths:
So here we’re starting to see that, at their core, net sports are also about controlling space.
To Conclude: Livestreams, Chess, Duck-hunting and Entropy
To Conclude: Livestreams, Chess, Duck-hunting and Entropy
I feel like this project is gaining momentum. Prab, one of my fellow students, said that his summer school project took him 3 weeks, but once he did it he could do it in 3 days. I was able to complete this model 5x faster than the previous one because of the similarities with the invasion sport model.
One aspect I really enjoyed was I livestreamed all 20 hours of it. This creates a sense of urgency when I’m coding and helps spend time only on the things that will move the research forward. While building this model, I also found I’m about 2x faster coder in the morning. I did the entire shot selection functionality this morning within 3 hours. I also noticed my typing speed compared to top programmers is quite slow and is something I would like to improve.
So what’s next? We’ve been doing a lot of modeling using simulation, I think it’s due time for some real world data. Now, the data we want with ball tracking and player tracking at different court sizes does not exist. We will have to get creative, looking at moments within a game, or looking at similar games with good data, like Chess and Rocket League.
For future models, this tennis model is very similar to something like duck hunting, but instead of trying to hit the ball away from the defender you are trying to hit it at him. This could be interesting to look at.
We are building towards a theory for any adversarial dynamic. The rule that’s starting to emerge is the way to win at a high level is to increase your entropy with respect to your opponent. You want to be able to move in as many places as possible and have the defense not know where you’re going. Much work is needed to analyze real-world data and continue to develop the theory. So it’s back to the trenches for me. I’ll be back with another update in a week. Thank you for reading.
Code
Code
Gameplay
Gameplay
Acknowledgments
Acknowledgments
Thank you to Brad Klee for giving me the tennis idea. Thank you to my mentors Eric and John for encouraging me. Thanks to WSS students for being cool.
Cite This Notebook
Cite This Notebook