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
Determining whether values are in domain of function
We’re asked to determine for each x value whether it is in the domain of f or not, and they have our definition of f of x up here. So pause this video and see if you can work through this before we do it together. All right, so just as a bit of a review,…
Michael Burry just sold all his stocks and the reason why is terrifying
So Michael Burry just did something unthinkable in the world of investing: he sold his entire portfolio of stocks. Every single last one! Now, this action is so unconventional that it deserves your attention. As a professional investor working at an inves…
What You Might Not Know About Twitter | Squawkbox
[Music] Said wow. With Jack departing, the Twitter board collectively owns almost no shares. Objectively, their economic interests are simply not in line with shareholders. Joining us to talk about the takeover battle and Musk’s stance on free speech, Kev…
How to handle naysayers when starting a business?
So one of the hardest things when you are starting as an entrepreneur, when you’re trying to start some type of anything, whether it’s a business or a non-profit or an organization, is you’re going to want to share your idea and what you’re working on wit…
What we've learned in 100 Episodes - Smarter Every Day 100!!
[party whistles] Hey it’s me Destin. Welcome back to Smarter Every Day. A very special Smarter Every Day. The 100th episode, but not only that, it kind of coincided with a million subscribers, so thank you very much for your support. And because of that, …
15 Ways Rich People AVOID Paying Taxes
Hello Aluxers and welcome back to what might be one of the most important Sunday Motivational Videos you’ve ever watched, because by the end of this piece, you’ll understand how to keep more of your money than ever before. If you search for this kind of …