I saw a great Twitter thread on virus spreading models from Nassim Taleb last week. I’d been meaning to share the ideas in the thread with my kids but didn’t get around to it until today.
The original thread is here:
UK Policy is a speculative lunacy.
Playing with the toy standard epidemiological SIR model. We have no idea how model parameters cause a yuuuge variation in ourcomes. We don't even know the central parameters/whether stochastic. Try to add perturbations for "herd immunity". pic.twitter.com/fTJ7pWRlaT
The tweet I wanted to focus on specifically is here:
So, tonight I used the code that Taleb shared and talked through the graphs with the boys. At the end we talked a bit about why Taleb’s conclusion was that these models were unreliable for decision making.
Here’s how my younger son reacted to the graphs:
Here’s how my older son reacted to Taleb’s graphs:
I think talking through some of Nassim Taleb’s ideas is a great way for kids to get some insight into how to think about the virus spread and also to see some of the dangers / limitations of modeling. For today’s project the important lesson is when you don’t know with any certainty how the models work, you really need to proceed with maximal caution.
[sorry – I’m sure there are typos galore below. Had to publish this one in a hurry, unfortunately]
With school cancelled for at least two weeks, I thought it would be interesting to share a few math ideas related to the corona virus with the boys.
I started with a virus spreading model on NetLogo. You can find that model here (though I did modify the model slightly to take out the natural population growth rate):
After this short introduction, the boys seemed to have a good understanding of how the different parameters in the model altered the spread of the virus:
Next we looked at what happened when you changed the number of people in the simulation. What we were looking at in the last people was a population of 300 that started with 10 infections. Here we looked at a population of 150 people that started with 10 infections. I was going to change the number of starting infections, but we had a little computer glitch so I put that off until the next video:
We got the glitch fixed and switched the number of sick people to 5 out of 150 – so the same percentage as we started with when we looked at 300 people. We found that the same percentage of infections with fewer people led to better outcomes.
Finally, to wrap up today’s work, we looked at one of the projects that the people from Mathematica have put together – I saw these projects tweeted out by Stephen Wolfram and the specific project we looked at was made by Vitaliy Kaurov. Here’s Wolfram’s tweet giving the links to the projects:
Here’s our look at Kaurov’s project which shows how you can track the number of infections in a state yourself:
I really enjoyed sharing these two programs with the boys this morning – it was nice to show them how math ideas can help us understand the situation with the corona virus a little better.
My younger son has been learning about complex numbers in Art of Problem Solving’s Precalculus book lately, and today I thought it would be fun for him to see a little bit about what complex functions “look” like.
We started with a quick review of what he knows about complex numbers and then we talked a bit about why graphing a function of a complex variable is difficult:
Next we talked about graphing a specific function ->
Now we moved to Juan Carlos’s plotter. Here we discussed and then where varies between -1 and 1.
We had a couple of slips of the hand trying to type in between the tripod in this and the next video – that’s why you’ll see a few jumps in the vids.
Finally, we wrapped up by having my son graph a few functions that he created. It was fun to see what he thought about those functions:
Earlier this week I saw a neat tweet from Greg Egan:
If you toss a coin until a sequence of N heads comes up, the probability that this happens after i tosses is the (iโ1)th โN-bonacciโ number divided by 2^i.
By a Markov chain calculation, the *expected* number of tosses will be 2^N + 2^{Nโ1} + … + 2.
This week I was using some of the Markov chain ideas for a few fun projects with my older son who is studying linear algebra. Today I though it would be fun to revisit the COVFEFE problem and then look at some coin flipping examples inspired by Greg’s tweet.
We started with a brief discussion of the COVFEFE problem and then switched to coin flipping at the end. It took me a bit to get my brain going on this project – sorry for a few obvious mistakes at the beginning of the discussion . . . .
Next we went to the computer to look at the approach to the word typing / coin flipping problems via Markov chains. Instead of the COVFEFE problem, we are looking at the expected number of coin flips required to see the sequence HTHT. The ideas here and the code are things I learned from Nassim Taleb – see the references in the project linked above:
Next we returned to the whiteboard to talk about the Martingale approach to the problem. The ideas here are things that I learned from Christopher Long and also from the paper linked above.
Here we take a quick look at the COVFEFE problem, the ABRACADABRA problem, and see why the HTHT problem takes on average 20 flips.
Finally, we computed the expected number of flips required to see each of the 16 different combinations of 4 coin flip sequences -> HHHH, HHHT, HHTH, and etc. The calculation for all 16 cases took a little longer than I usually want one of these videos to run, but I wanted to do all of the cases to help the boys understand the ideas that go into the calculations:
A detailed discussion of the concepts of both Markov Chains and Martingales are above what anyone could reasonably expect a 10th grader and 8th grader to understand. But the ideas are so neat that I thought showing these fun examples would make a great project for kids.