Blogs, Calculus, Modeling

Pokémon Populations

Paula and I spent most of the weekend running around with Arthur and chasing down Pokémon.  It was a community event that lasted all weekend, so we went out to hunt down all that we could.  As we looked at the swarms of Pokémon in the virtual world around us, I began to think about biological populations.  That is, can determine how many Pokémon there are in an area?  What if people came and went from that area?

In game

In trying to model the populations, I first looked at how they seemed to work in the game.  From our past experiences, we notice that the more people and cell phone traffic Pokémon there is around an area, the more Pokémon there are.  That is, the rate at which new Pokémon spawn, is proportional to the number of people in the area.  On the other hand, if the Pokémon are caught, they only despawn for that player, therefore, they still exist for anyone that has not caught them.  Then, after a certain period, the Pokémon will then despawn.

Combining this together, we would get that the spawn rate at a given time, \(s(t)\) is a constant, \(k\), multiple of the humans population in the area, \(H(t)\).  Furthermore, the despawn rate is equal to the spawn rate at a time \(l\) minutes prior, \((t-l)\).  Therefore,  \[\begin{align*}s(t) &=k H(t) \\ d(t)&=s(t-l). \end{align*}\]

Noting that the total change in the population of Pokémon, \(P\), will be the difference of spawn and despawn rate, we get that \[\begin{align*}\frac{dP}{dt}&=s(t)-d(t) \\ &=kH(t)-kH(t-l) \\ &=k(H(t)-H(t-l)).\end{align*}\]  That is, the change in Pokémon population is proportional to the change in Human population over a the fixed spawn length of Pokémon.

Rate of Change

First, let’s look at how the number of Pokémon changes.  We will work with the example situation that right now there are 100 people within a given area, the spawn time of Pokémon is half an hour and constant of proportionality between spawn rate and people is 1. Then,

  • If there were 100 people in the area half an hour ago, then the rate of change of Pokémon would be \(1(100-100)=0\).  Here, we see that the Pokémon population will remain constant if the human population does.
  • If there were 50 people in the area half an hour ago, then the rate of change of Pokémon would be \(1(100-50)=50\).  That is, the umber of Pokémon will be increasing at a rate of 50 Pokémon per minute if the number of people increased by 50.
  • If there were 200 people in the area half an hour ago, then the rate of change of Pokémon would be \(-100\).  The is, the number of Pokémon will be decrease by 100 per minute.

Overall, we can see that the number of Pokémon will follow the population of humans in the area.  That is, they both will increase, both decrease or both stay constant.  However, we can’t tell exactly how many Pokémon there will be unless we have an initial value.

Overall Population

Same number of people

Continuing with our above example, let’s suppose that there are 100 Pokémon in an area when no one is present.  If the population then changes to 50 people over \(n\) minutes.  We then have that \[\begin{align*}P(t)&=P(0)+\int_{0}^{n}H(t)dt+\int_{30}^{n+30}50-H(t-30)dt \\ &=100+\int_{0}^{n}H(t)dt-\int_{30}^{n+30}H(t-30)dt+\int_{n}^{n+30}50dt \\&=100+\int_{30}^{60}50dt \\ &=100+50t|_{30}^{60} =1600.\end{align*}\]

Here we note that we used an arbitrary time interval and function to model the population of humans over time.  Therefore, regardless of how long it took to increase to 50, half an hour after reaching that point, we will have that the total number of Pokémon is they same.  Furthermore, this would be true for any population.  Therefore, if \(H\) is constant, then \[P(H)=100+30(H).\]

Changing number of people

Now, let’s suppose that there were people coming and going from the area.  Here we could see how many Pokémon there would be at any given point in time if we knew how many people there were.  In order to provide an example of this, let’s continue with our above assumptions.

Let’s suppose that we headed to a park to play Pokémon Go.  If we can model the number of people in the park by \(-\frac{5}{81}(90-t)^{2}+500\) over a three hour period where \(t\) is minutes since the start of the period.  Other than this three hour period, we will assume no one is in the area.  In this situation, we would have that \[\begin{align*} \frac{dP}{dt} =\begin{cases} -\frac{5}{81}(t-180)t \text{ if } 0 \leq t \leq 30 \\ -\frac{100}{27}(t-105)\text{ if } 30 \leq t \leq 150 \\ \frac{5}{81}(t-180)t \text{ if } 150 \leq t \leq 180.\end{cases}\end{align*}\]

We can now find that  \[\begin{align*} P(t)&=\begin{cases} 100+\int_{0}^{t}-\frac{5}{81}(x-180)xdx \text{ if } 0 \leq t \leq 30 \\ 100+\int_{0}^{30}-\frac{5}{81}(x-180)xdx+\int_{30}^{t}-\frac{100}{27}(x-105)dx \text{ if } 30 \leq t \leq 150 \\ 100+\int_{0}^{30}-\frac{5}{81}(x-180)x+\int_{30}^{150}-\frac{100}{27}(x-105)dx+\int_{150}^{t} \frac{5}{81}(x-180)xdx \end{cases} \\ & =\begin{cases} -\frac{5t^{3}}{243}+\frac{50t^{2}}{9}+100 \\ -\frac{50}{27}(3,000-210t+t^{2}) \\ \frac{5}{243}(3,240,000-270t^{2}+t^{3}) \end{cases} \end{align*}\]

Graphically, this would look like



We have modeled the number Pokémon as a function of time under a given function for the number of people in the area.  Here, we have made assumptions as different constants, initial values and the function that models the people over time.  While the model would look differently if we changed each of these, we could still follow this process to see what the number of Pokémon would look like.

Here, I’d like to point out the spawn rate of Pokémon is proportional to the number of Poké hunters in the area.  However, this is the opposite of what would happen in an actual biological population.  For example, if we were modeling dear based on the number of wolves, having more wolves in the area would cause a decrease in the deer population.  In the future, we will look at this model so that we can compare a real biological population against one that is constructed for a game.

If you enjoyed the post, let me know by liking it below or by sharing on Social Media

2 thoughts on “Pokémon Populations”

We'd love to hear your thoughts!

This site uses Akismet to reduce spam. Learn how your comment data is processed.