yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Simulations and repetition | Intro to CS - Python | Khan Academy


2m read
·Nov 10, 2024

I'm running a coin flip experiment and I want to find out how likely each outcome is: heads or tails. So I flip a coin once, twice, 100 times. Once I've repeated that experiment enough times, I see that about 50% of my flips are heads and 50% are tails.

Now, that's not a particularly interesting result. You probably could have told me that's what would happen at the beginning. But what if the experiment I want to repeat is much bigger? Instead of physically performing the experiment, we can simulate it with code.

For example, maybe I want to simulate a car crash to predict the risk of injury to the passengers, or I want to simulate a forest fire to predict how far it'll spread, or I want to simulate crop growth so I can predict yields and decide what to plant. These are all things that would be far too costly, too devastating, or take far too long to repeat in the real world.

But if we build a computer simulation, we can repeat the experiment as many times as we want for free, modifying different data inputs along the way. To simulate crop growth, I might combine climate and soil data with different irrigation and fertilizer choices, and then repeat how that affects my crop growth over a series of time steps.

Weather simulations work the same way. They collect wind, air pressure, and other readings from hundreds of different balloons, buoys, and satellites, and apply mathematical models over a series of time steps.

Okay, but why is the weather forecast wrong so much of the time then? It's almost impossible to 100% model the real world in a program. There's just so much data and randomness to take into account. And as humans, we don't always have access to all the data or 100% understand all the relationships involved.

Sometimes there are simply too many relationships that the computer physically can't process that much information in a reasonable amount of time. These are some of the limitations of our current weather models. We don't have data on the conditions at every single point on Earth, and even if we did, the computer wouldn't be able to handle all that data.

We can, in theory, more accurately predict tomorrow's weather, but by the time we get the result, it'll be the day after tomorrow. So for practicality, almost all simulations make some assumptions or simplifications about the world around us and settle for good enough results according to their needs.

Whether there's constraints on the data available, the amount of time they have to build the simulation, or the sheer computing power required, with just conditionals and variables, we can start to write our own basic simulations in Python. We're only missing two things: we need to be able to repeat our experiment and we need to be able to model some of the randomness that occurs in the real world.

More Articles

View All
Multiplying 1-digit numbers by 10, 100, and 1000 | Math | 4th grade | Khan Academy
Let’s talk about multiplying by 10, 100, and 1,000. There’s some cool number patterns that happen with each of these, so let’s start here with something like 4 * 10—one that maybe we’re comfortable with or already know. 4 * 10 would be the same as saying…
The Middle colonies | Period 2: 1607-1754 | AP US History | Khan Academy
Over the course of the 1600s, the English continued to settle along the eastern seaboard of North America. Now, we’ve already talked about the settlements at Virginia and those of Massachusetts, and a little bit about the settlement of New York, which was…
How Sharks Devoured My Career | Podcast | Overheard at National Geographic
Foreign I gotta say the first experience I had with a great white, or I should say the lead up to the first experience, was filled with terror. That’s National Geographic Explorer, Gibbs Kaguru. Gibbs is a Kenyan scientist who studies sharks, and he’s tal…
Creativity break: How can we combine ways of thinking in problem solving? | Algebra 1 | Khan Academy
[Music] One of the newest ways of thinking about problem solving for me is, um, something that my math professor would tell me. Um, he would say, “Don’t be afraid to be stuck.” And I think that a lot of the time, when we are doing math and we get stuck, i…
Proof: The derivative of __ is __ | Advanced derivatives | AP Calculus AB | Khan Academy
The number e has all sorts of amazing properties. Just as a review, you can define it in terms of a limit: the limit as n approaches infinity of 1 + 1/n to the nth power. You could also define it as the limit as n approaches zero of 1 + n to the 1/nth pow…
Mario vs. Link: Who Would Win?? NERD WARS
Nerd wars time! It’s Friday again! We’re gonna do some old-school action today. Oh, nerd wars! Someone suggested this on the YouTube channel comment, you know that thing down here? And I was too lazy to figure out who it was. I forgot, but here it is: Lin…