<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1783350150629634072</id><updated>2025-01-01T16:48:15.614-08:00</updated><title type='text'>Quick Ventures</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://quickventures.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default'/><link rel='alternate' type='text/html' href='http://quickventures.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Evan Ott</name><uri>http://www.blogger.com/profile/15557205131224004226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAYtTTzEvPU_Bo1G-TVglQohzAfrAn6Yt170pfGBS7kVb0t3hUd16t-1P9giJ2vzQU-gfhiZlcayK2FJmNlPJA6KGsxrajLB4lVN8wK9X2jFwSO3I224j8D8myDI35Lg/s113/profile.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1783350150629634072.post-4890669396234831454</id><published>2020-03-16T10:06:00.003-07:00</published><updated>2020-03-16T10:06:37.903-07:00</updated><title type='text'>COVID-19 Case Fatality Rate</title><content type='html'>Researchers are hard at work to determine all facets of COVID-19 (&lt;a href=&quot;https://ourworldindata.org/coronavirus&quot;&gt;https://ourworldindata.org/coronavirus&lt;/a&gt;&amp;nbsp;for example). I&#39;m no expert, but I just wanted to play with some data a bit and see what I got. I do sort of thing a lot, and decided to share.&lt;br /&gt;
&lt;br /&gt;
This is a quick attempt at estimating the COVID-19 mortality rate / case fatality rate (number of people who die from it over number of people who got it). That&#39;s not the only important number, and can vary from place to place given appropriate medical attention, etc. But I ran across &lt;a href=&quot;https://twitter.com/YossiGestetner/status/1239430528576733184&quot; target=&quot;_blank&quot;&gt;this tweet&lt;/a&gt;:&amp;nbsp;&lt;img alt=&quot;No photo description available.&quot; src=&quot;https://scontent-dfw5-2.xx.fbcdn.net/v/t1.0-9/89911369_3208139709244365_1989016487402143744_n.jpg?_nc_cat=1&amp;amp;_nc_sid=730e14&amp;amp;_nc_ohc=w5VZpiCTOwsAX-6cduK&amp;amp;_nc_ht=scontent-dfw5-2.xx&amp;amp;oh=d1e094b20b8d8584a339bd7b0d9163db&amp;amp;oe=5E93EFCF&quot; /&gt;&lt;br /&gt;
and I was curious about what story that data might tell us.&lt;br /&gt;
&lt;br /&gt;
Disclaimer up front. There&#39;s a lot we don&#39;t know as of this writing (March 16, 2020) about COVID-19. There may very well be people who have it without symptoms or who have otherwise not been tested. People who have it now may die from it. People who have it now may recover from it. There&#39;s a lot of uncertainty.&lt;br /&gt;
&lt;br /&gt;
Also, disclaimer, I&#39;m having a little trouble verifying those numbers in the tweet (also some of the percentages don&#39;t quite match the fatalities and cases listed in parentheses). But I&#39;ll run with them for now, as they seem at least close to values here:&amp;nbsp;&lt;a href=&quot;https://ourworldindata.org/coronavirus&quot;&gt;https://ourworldindata.org/coronavirus&lt;/a&gt;.&lt;br /&gt;
&lt;h4&gt;
A simple model&lt;/h4&gt;
&lt;div&gt;
Again, work is ongoing in this area by subject-matter experts (which I am not). But current case-fatality rate estimates seem to be somewhere between 0.25%-3.0% (&lt;a href=&quot;https://wwwnc.cdc.gov/eid/article/26/6/20-0320_article#r7&quot;&gt;https://wwwnc.cdc.gov/eid/article/26/6/20-0320_article#r7&lt;/a&gt;).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I wanted a simple model that assumes that the error in case-fatality rate is exponentially decaying. That&#39;s a simple way to model having an actual rate that things are slowly approaching. Again, lots of reasons that might not be true.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Using those values in the tweet, &lt;a href=&quot;https://github.com/eaott/small_projects/blob/master/us-covid-mortality-rate.ipynb&quot; target=&quot;_blank&quot;&gt;I got the following&lt;/a&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;img src=&quot;data:image/png;base64,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ShU2btyY67EXLFiAj49Prou9CjtzBaOq7Nmzx7b+3HPPMWfOHFJSUvjjjz/45ZdfuPfee/M8F1988QVlypShRYsWWbY/88wzuLu7U7NmTSpUqECHDh0ACA8PZ/Xq1SQkJLB161bq1KnDyJEjee655/Dx8cnzeIZxTXK7VCiqy41uGsqQmpaund/foLWGL1MPv3JZmoXc3d113rx5hRJXbkJCQtTDw0M9PT0V0DZt2ujff/9tSz979qwOGzZMa9eurU5OTlq/fn397bffVFV1zJgx2r17d1vepKQkdXV1tTU1RUREZJm/dc2aNVqpUqVcY6lfv75+9dVXqqo6a9YsDQoKypLerl07nT59um09LS1N3dzc9MiRI/rpp5/q7bffbktLT0/XSpUqXfemoV69emmXLl30/Pnz+tdff2lYWJiWKFHClr5x40atUqWKOjs7K6Cvv/66Q+W2adNGR40alWNaamqqbtiwQd988029cuWKqqrGx8drt27dtF69ejp58mTdtm2btmrVSuPj47Vnz55699136/vvv/+v369R/GCahv49Zydh4sP1uKLO3PfSVEJCQhARQkJCiIqKolevXoUd4lW++uorEhMTWbt2Lb///jtxcXG2NF9fXyZOnMjevXs5deoUDRo04KGHHkJViY2NJSgoyJbXw8MDf3/H53SeM2cODRo0sP0K37NnT5ZjZy4bIDo6miFDhtjy+/n5oaocP378qlhE5Kr9r4cpU6bg5uZGtWrVePDBB+nZs6etuevs2bO0a9eO119/ncuXL3P06FFWrVrFRx99ZLfMmJgY1q5dS9++fXNMd3Z25q677uLYsWNMnToVAD8/PxYtWsTOnTsZMmQI//nPf3j//feZOHEi4eHh/PDDD0ybNo39+/df3xNgFGumIsiHWhVKM7BlFbYnlGDO95tJT0+3tR0XZS1btiQyMpIXX3wxx/SAgABefPFFYmNjOXv2LBUqVODo0aO29IsXLxIfH29b9/Dw4OLFi7b1kydP2l5HR0fTr18/PvjgA+Lj40lISCA8PDxLs4uIZDl+UFAQH3/8MQkJCbbl0qVL3HHHHVfFoqpZ1rObP39+ljt2si+5NQ35+fkxf/58Tp48yd69e0lPT6dp06YAHDp0CGdnZ/r27YuLiwuBgYH06NGDFStW5BoHWPpZ7rzzTsLCwuzmS01NtfURZBYV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JUuWZMkzf/589fLyUkADAgJ0x44dqqq6fPly7datm16+fFm7deumH3zwgS5dutT2uf1b2JmzuNC/2PO73MwVgarqh2v+0pBhy3Xer0cKOxSHZa8IqlatakvbtWuXAln+aP38/HT79u2qavly7969uy0tMTFRnZycNCYmRlVzrwgGDhyor732WpY4qlevrmvXrtV169ZphQoVslSmzZs3z7UiaNeunU6fPt22npaWpm5ubnrkyBFNT0/XoKAgXbdunaqqRkVFaevWrVVV9ddff9WgoKAsZY0fP972hzlq1Ci95557bGl79+7VUqVK5XjeVPOuCLJ755139KGHHrKt51URjB071rb+wgsvaLt27Wzry5Yt0/r166uq6pw5c7RJkyZZ9m/WrJnOmjXLVtbIkSOvKj97RZCdj4+P7UstPxWBqmrNmjX1+++/V1XV999/X9u3b5/rcQD98ccfrykWVdWTJ09qiRIlbJWIquqCBQu0VatWOZYVFhamK1eutK1fuXJFAT18+PBVeceNG6eAjho1SpOTk3Xt2rXq4eGh+/btuyrvn3/+qa+99pqeOHFCVVXT09N12LBhWrduXe3Xr5/GxcVp/fr19fTp0zp8+HC9++679emnn9bk5GS77z039ioC0zR0gw1sUYUW1csw5pt97Is9n/cORVC5cv/MxObm5pbjtqSkJNt6UNA/00x4enri5+dHbGys3WNER0czadIkfHx8bMvRo0eJjY0lNjaWSpUqISK2/CEhIXbLGjJkiK0cPz8/VJXjx48jIvTo0YOFCxcCsGDBAnr16mXbLzY2NksM48eP59SpU7ayy5cvb3vt7u7O5cuXr7nd+s8//6RTp062Tsnhw4cTFxfn8P7ZP4PcPpPY2NirzldISAjHjx+3rWf+zHLz9ttvU6tWLby9vfHx8eHcuXP5ijeziIgI5s2bB8C8efPo06eP3fzZ48tPLNHR0aSkpFChQgXb5zpgwABOnz6dY35PT88sHbcZr728rh4+xs3NDVdXV1577TVKlChBy5Ytad26Nd9///1VeatVq0adOnV45plnAEuT18SJE9m1axdRUVFMnDiRgQMHsnnzZrZs2cK6deu4cuUKM2fOtHturoWpCG4wJydhcrf6+Li5MnjBNi4kF3xnV2E7evSo7XVSUhJnz56lYsWKdvcJCgpixIgRJCQk2JaLFy/S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&quot; /&gt;&lt;/div&gt;
&lt;div&gt;
This simple model thus implies the case-fatality rate is something like 0.63%. That&#39;s well within the feasible values in the CDC research paper above. And in fact, after correcting the Diamond Princess cruise ship data for age (&lt;a href=&quot;https://wwwnc.cdc.gov/eid/article/26/6/20-0320-t1&quot;&gt;https://wwwnc.cdc.gov/eid/article/26/6/20-0320-t1&lt;/a&gt;) is exactly the case-fatality rate the researchers got in that paper.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Anyway, in lieu of some final profound insight, go wash your hands.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://quickventures.blogspot.com/feeds/4890669396234831454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://quickventures.blogspot.com/2020/03/covid-19-case-fatality-rate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/4890669396234831454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/4890669396234831454'/><link rel='alternate' type='text/html' href='http://quickventures.blogspot.com/2020/03/covid-19-case-fatality-rate.html' title='COVID-19 Case Fatality Rate'/><author><name>Evan Ott</name><uri>http://www.blogger.com/profile/15557205131224004226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAYtTTzEvPU_Bo1G-TVglQohzAfrAn6Yt170pfGBS7kVb0t3hUd16t-1P9giJ2vzQU-gfhiZlcayK2FJmNlPJA6KGsxrajLB4lVN8wK9X2jFwSO3I224j8D8myDI35Lg/s113/profile.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1783350150629634072.post-8701787209812806831</id><published>2017-12-05T13:30:00.002-08:00</published><updated>2017-12-05T13:32:53.601-08:00</updated><title type='text'>Programmatic Thinking and the Google Doodle</title><content type='html'>There&#39;s a joke (or as my former professor might have said, &quot;it&#39;s like a joke, it just lacks humor&quot;) about how programmers think:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Programmer: &quot;How do I make pasta?&quot;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Recipe: How to make pasta:&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt;Fill an empty pot with cold water&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Boil it&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Add pasta&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;i&gt;Programmer goes home and wants to make pasta. She sees a pot of boiling water already on the stove. So she pours it out, fills it up with cold water, boils it, then adds pasta.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
Again, like a joke, but potentially lacks humor.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For those not &quot;in the know,&quot; the joke is that programmers tend to reduce problems to ones they&#39;ve already solved. In this case, the programmer already had a solution for making pasta. So, she changed things around until she could use it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this case, we end up doing more work than necessary, but in general, this can be extremely effective.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This week, the Google Doodle is pretty great. It&#39;s a coding game geared toward kids, in the same vein as Scratch or Alice, where instead of writing code, you can click-and-drag three kinds of actions: forward jumps, turns, and loops (which let you repeat a set of actions a fixed number of times).&lt;/div&gt;
&lt;div&gt;
&lt;hr /&gt;
&lt;/div&gt;
&lt;div&gt;
If you haven&#39;t played it,&amp;nbsp;&lt;a href=&quot;https://g.co/doodle/ug9chu?ds=tw&quot; target=&quot;_blank&quot;&gt;play it now&lt;/a&gt;. Seriously, it&#39;s really fun, and there are &lt;b&gt;spoilers ahead&lt;/b&gt; on how to solve the levels.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqfMnLeB1htpYTBEVR8pMo9CrG8rkuWchMaANrUTr76OIy_fJKWFGSvn43FYmgaOm8JSD1L3JSNYlxXh7z3zFfIjvit4WPHHi_G8v5tz2gYJNov7IOfGaCCOQvXbtsxqeLNTIPP4Lp6ZO_/s1600/Screen+Shot+2017-12-05+at+3.32.23+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;772&quot; data-original-width=&quot;982&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqfMnLeB1htpYTBEVR8pMo9CrG8rkuWchMaANrUTr76OIy_fJKWFGSvn43FYmgaOm8JSD1L3JSNYlxXh7z3zFfIjvit4WPHHi_G8v5tz2gYJNov7IOfGaCCOQvXbtsxqeLNTIPP4Lp6ZO_/s320/Screen+Shot+2017-12-05+at+3.32.23+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Levels 4-6 take some clever thinking to solve. Sure, you could map out each individual step, but the fun of these problems is leveraging the loop concept. In fact, starting in level 4, the Doodle shows the minimum number of steps (the action tiles, not number of movements) to solve the problem, encouraging you to find the loop-driven solutions.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Level 3 can be broken down into solving each side. Move forward twice, turn, and now you&#39;re set up to solve the next one. In the Doodle, that looks like Loop4(move, move, turn right). In this blog post, I&#39;m using parentheses to mark what goes inside each loop, the way the start and top bars on the loop indicate. LoopX just means that the loop runs that many times (you can click on loop on the Doodle and change the number).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Level 4 is a little more tricky, right? It&#39;s like solving level 3 twice. The bunny needs to go around one square, then around the other. One way to solve this is to go around the closer square clockwise (with right turns), turn left twice, then go around the farther square clockwise.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
How do we solve that? Well, we learned in level 3 how to &quot;solve a square clockwise&quot;: Loop4(move, move, turn right). Let&#39;s call that SquareCW=Loop4(move, move, turn right). Then, to solve level 4, we just solve SquareCW, turn left, turn left, SquareCW. When we have the last carrot, we&#39;re done. There can be more actions to take, but they don&#39;t matter - the bunny stops when he&#39;s full.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So, how do we efficiently write out the level 4 solution? Loop2(SquareCW, turn left, turn left) [yes, I could replace some repeated actions with a loop, but because loops cost me an action, it&#39;s the same for two actions]. In fact, that&#39;s the minimum 7 moves [SquareCW is really 4 moves as written above]! Not only do we have all the carrots, but we did the best possible.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Level 5 is weird though, right? It has more carrots, but the minimum number of moves is only 6 this time! What gives?! This problem is bigger, but Google wants us to use fewer moves to solve it!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this case, one repeatable pattern is that we still just want to solve squares. Why is this easier? Well, now, instead of needing two left turns to reset between each square (like level 4), we just need one turn (and it can be a left turn or a right turn). Loop4(SquareCW, turn right) solves the bottom square first, then the one on the left, the top, and finally the right. Not needing to turn twice between squares makes the problem that much easier.&lt;/div&gt;
&lt;div&gt;
&lt;hr /&gt;
&lt;/div&gt;
&lt;div&gt;
Before we get to level 6, let&#39;s look again at level 4. Something just felt fishy to me that we really needed all seven moves, especially because (after a bit of testing), if you ask the bunny to hop when there&#39;s no room in front, it just says put. In other words, instead of falling off the map, the bunny will essentially just ignore anything we ask it to do that it can&#39;t.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So, is there a way we can leverage the SquareCW solution even more efficiently? Well, there are a couple things to note:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;If, when we start, instead of Loop4(move, move, turn), we do Loop8(move, move, turn), the bunny still gets back to the same place. We can do SquareCW any number of times in a row and the bunny ends up exactly back at the middle.&lt;/li&gt;
&lt;li&gt;If we are at any corner of the farther square and do SquareCW, we&#39;ll complete the whole thing.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
With that in mind, can we take the level 5 solution Loop4(SquareCW, right) and turn it into a level 4 solution (with only 6 actions)?&lt;br /&gt;
&lt;br /&gt;
Yes, yes we can.&lt;br /&gt;
&lt;br /&gt;
At the end of the bottom square, instead of turning twice, let&#39;s only turn once: Loop2(SquareCW, left). Now, the bunny gets all the carrots on the bottom half of the farther loop, including the left and&amp;nbsp; right corners. Give that a try: Loop2(Loop4(move, move, right), left)&lt;br /&gt;
&lt;br /&gt;
So close! We were doing so well! At the very end, the bunny just doesn&#39;t go far enough around the farther loop (and then turns left at the end, adding insult to injury).&lt;br /&gt;
&lt;br /&gt;
Why is that? Well, we know we need a SquareCW to solve a square, but we have to start at a corner, facing clockwise. We saved a move by not turning twice in the middle like the original solution, but we don&#39;t end up at a corner facing clockwise until there are only two sides left of the SquareCW movement. Can you see how to fix it? Do the hints above help?&lt;br /&gt;
&lt;hr /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
They do. If instead of Loop4(move, move, right), we do Loop8(move, move, right), now we&#39;re done. If you haven&#39;t already, give that one a try.&lt;br /&gt;
&lt;br /&gt;
Several things are going on here. First of all, the bunny now does an extra lap of the bottom square. But this doesn&#39;t cost us anything as far as the Doodle is concerned -- it&#39;s the same number of actions. Second, we now have enough &quot;sides&quot; of the square motion in the farther loop that we can eat all the carrots -- we start at the right corner with at least 4 sides of motion left to run.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqeD-a7qYcOz3HZ0GdBYGRcIqTqYbo_DPm0AiYYUnX5Albnz8Tmt-Sffkb5BL5xyqso7PjBZ9bfFLLDTEVWvBUi8oz1_kiX4n9RguoFTZKKEd99V44TDNWidMjQL8BF6qURoOEqq0RxR8K/s1600/Screen+Shot+2017-12-05+at+1.51.05+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;618&quot; data-original-width=&quot;1206&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqeD-a7qYcOz3HZ0GdBYGRcIqTqYbo_DPm0AiYYUnX5Albnz8Tmt-Sffkb5BL5xyqso7PjBZ9bfFLLDTEVWvBUi8oz1_kiX4n9RguoFTZKKEd99V44TDNWidMjQL8BF6qURoOEqq0RxR8K/s320/Screen+Shot+2017-12-05+at+1.51.05+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Perhaps most importantly though, YOU JUST BEAT GOOGLE! Seriously, the Doodle will give you points and let you go to the next level, but you just used fewer moves than they say is possible. As a former Google intern (or Xoogler - for ex-Googler), I&#39;m offended at the misleading &quot;minimum&quot; numbers.&lt;br /&gt;
&lt;br /&gt;
But I also get it. We had to visit several squares more than once, and we had to leverage this weird &quot;bunny won&#39;t jump off a cliff&quot; rule. But, we thought like programmers. We learned a simple solution (SquareCW), and tried our best to reduce problems to that as efficiently as possible.&lt;br /&gt;
&lt;br /&gt;
If you got there before you read it in the post, congrats! And if not, that&#39;s okay. This is intended to help you see the world like I (and so many like me) see the problems we work on. Hopefully, it was interesting to you, and maybe a little insightful.&lt;/div&gt;
&lt;hr /&gt;
&lt;div&gt;
Okay, there&#39;s a glaring omission here. What about level 6?&lt;br /&gt;
&lt;br /&gt;
I&#39;m proud of this one. Google says you can do it in 6. I say you can do it in 4. Yeah, you heard me right. I think you can do it 33% better than Google. Go ahead give it a try for yourself.&lt;br /&gt;
&lt;br /&gt;
Need a hint? For Google&#39;s solution, think about the problem the way we thought about doing my version of level 4. I managed to find the shorter solution yesterday, but it took until writing this blog post for me to realize Google&#39;s solution.&lt;br /&gt;
&lt;br /&gt;
If you find Google&#39;s, a hint for mine is that we aren&#39;t going to solve SquareCW anymore, but will still leverage similar &quot;bunny won&#39;t jump off a cliff&quot; kinds of rules.&lt;br /&gt;
&lt;br /&gt;
Spoilers below.&lt;br /&gt;
&lt;hr /&gt;
Google&#39;s solution (well, I don&#39;t know if it&#39;s how they solved it, but it has the minimum number of moves according to the Doodle) is: Loop4(SquareCW, SquareCW, left), which we can write as: Loop4(Loop8(move, move, right), left). It&#39;s the same solution as level 5, but we do each &quot;square&quot; twice before turning left. Here, each &quot;square&quot; is defined by the carrots. We make two &quot;side&quot; moves to get the middle carrot and the one clockwise from it. Then, we solve the square (a total of 6 &quot;side&quot; moves), which gets us back to the second carrot we ate in this square. Finally, add two more side moves (a total of 8) to get us near the middle carrot of the next square (from bottom-right, to top-right, to top-left, to bottom-left). It&#39;s a really clever solution.&lt;br /&gt;
&lt;br /&gt;
But I can do better. One final hint before the solution, if you&#39;re still trying and racking your brain how to do it: the solution has more than 2 moves at once, and we&#39;ll use a loop to do it, like LoopX(move).&lt;br /&gt;
&lt;hr /&gt;
Alright, enough delay.&lt;br /&gt;
&lt;br /&gt;
The solution is Loop13(Loop3(move), right).&lt;br /&gt;
&lt;br /&gt;
We&#39;re still doing something kinda similar, right? The middle looks a lot like the SquareCW solution Loop4(move, move, right). But in that case, we&#39;re solving a square with side length 3. We used that in all our solutions so far.&lt;br /&gt;
&lt;br /&gt;
If we used a smaller square (side length 2), we&#39;d have LoopX(move, right). But that just doesn&#39;t move enough. If we use side length 5, we&#39;d have LoopX(move, move, move, move, right). But what happens in that case? Well, we move forward, get the carrot immediately clockwise, move across the level, get those three carrots, move across the level to the remaining bottom-right carrot, then end up in a loop on squares without carrots. That&#39;s no good.&lt;br /&gt;
&lt;br /&gt;
If we use side length 4, we have LoopX(move, move, move, right), which takes fewer actions if we do LoopX(Loop3(move), right). So, we now have 4x4 squares defined by the corners of the inner green pasture. If we&#39;re on one of those facing clockwise and do Loop3(Loop3(move, right)), we&#39;ll get three carrots from one of the sides, and end ready to start another square. It takes 3 &quot;sides&quot; to get into position, then 3 for each of the three remaining rows of carrots (12 total &quot;sides&quot;), and one final one to get the last carrot.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjINeIRsMuv712FiBVy34GHmsOGJHgTBauI611XB3QpTisV7NLLLcamaeCW-Fwdg0FUJPSjUX6vJYoqmknNPy_EEUMH3J84DgQOsYLT3ZUMSsJgiiIdr4wLmkcfymjMr_Oo1urB8lvNTk3-/s1600/Screen+Shot+2017-12-04+at+11.14.29+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;894&quot; data-original-width=&quot;1236&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjINeIRsMuv712FiBVy34GHmsOGJHgTBauI611XB3QpTisV7NLLLcamaeCW-Fwdg0FUJPSjUX6vJYoqmknNPy_EEUMH3J84DgQOsYLT3ZUMSsJgiiIdr4wLmkcfymjMr_Oo1urB8lvNTk3-/s320/Screen+Shot+2017-12-04+at+11.14.29+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
(note: I&#39;m sure the developers or other Googlers figured it out, but didn&#39;t want to aggravate the kids they&#39;re trying to teach)&lt;br /&gt;
&lt;br /&gt;
Yes, I&#39;m a nerd. Yes, I spent too long figuring these things out. Yes, I should be working on my dissertation. Yes, this is how I think on a regular basis.&lt;br /&gt;
&lt;br /&gt;
But hey, I literally did what Google says is impossible...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.imgflip.com/6hhvd.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;294&quot; data-original-width=&quot;360&quot; height=&quot;261&quot; src=&quot;https://i.imgflip.com/6hhvd.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://quickventures.blogspot.com/feeds/8701787209812806831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://quickventures.blogspot.com/2017/12/programmatic-thinking-and-google-doodle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/8701787209812806831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/8701787209812806831'/><link rel='alternate' type='text/html' href='http://quickventures.blogspot.com/2017/12/programmatic-thinking-and-google-doodle.html' title='Programmatic Thinking and the Google Doodle'/><author><name>Evan Ott</name><uri>http://www.blogger.com/profile/15557205131224004226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAYtTTzEvPU_Bo1G-TVglQohzAfrAn6Yt170pfGBS7kVb0t3hUd16t-1P9giJ2vzQU-gfhiZlcayK2FJmNlPJA6KGsxrajLB4lVN8wK9X2jFwSO3I224j8D8myDI35Lg/s113/profile.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqfMnLeB1htpYTBEVR8pMo9CrG8rkuWchMaANrUTr76OIy_fJKWFGSvn43FYmgaOm8JSD1L3JSNYlxXh7z3zFfIjvit4WPHHi_G8v5tz2gYJNov7IOfGaCCOQvXbtsxqeLNTIPP4Lp6ZO_/s72-c/Screen+Shot+2017-12-05+at+3.32.23+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1783350150629634072.post-5829637246403038507</id><published>2016-05-13T09:46:00.000-07:00</published><updated>2016-05-13T09:46:15.961-07:00</updated><title type='text'>How Long is &quot;The Blacklist&#39;s&quot; Blacklist?</title><content type='html'>I&#39;m almost always late to the game on pop culture*. I didn&#39;t know about &lt;i&gt;Firefly&lt;/i&gt;&amp;nbsp;until it was off the air for many years, and am much more likely to wait for shows to hit Netflix than I am to see them when they first run.&lt;br /&gt;
&lt;br /&gt;
Such is the case with &lt;i&gt;The&amp;nbsp;Blacklist&lt;/i&gt;&amp;nbsp;with James Spader (note: the show is not for young viewers -- I&#39;m not sure if I&#39;m even old enough to watch some parts of it -- but this post is more than safe). I watched the pilot earlier today and found it interesting. But you probably want to know what it has to do with statistics.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://netflixlife.com/files/2015/08/The-Blacklist.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://netflixlife.com/files/2015/08/The-Blacklist.jpg&quot; height=&quot;225&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Image from netflixlife.com&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
It&#39;s the list itself. The so-called Blacklist that Spader&#39;s character references in the pilot. A list of all the baddies in the world. Each baddie has a number, and each episode of the show focuses on one baddie. However, these numbers aren&#39;t presented sequentially, which begs the question:&lt;br /&gt;
&lt;br /&gt;
How long is &lt;i&gt;The&amp;nbsp;Blacklist&lt;/i&gt;&#39;s Blacklist?&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
Here are the titles of the first two episodes (after the pilot):&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The Freelancer (No. 145)&lt;/li&gt;
&lt;li&gt;Wujing (No. 84)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Any guesses as to how many baddies are on the list? Obviously, at least 145, right? But can we make a more intelligent guess? Maybe 290 (2 x 145)? Or maybe 229 (145 + 84)? Is there a principled way we can do this?&lt;/div&gt;
&lt;br /&gt;
It turns out, statisticians have already looked at this problem, but with a little bit more serious application: based on observed serial numbers, how many tanks did the Germans have in WWII?&lt;br /&gt;
&lt;br /&gt;
Hence, we&#39;re really looking at the &quot;German tank problem.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
The&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/German_tank_problem&quot; target=&quot;_blank&quot;&gt;Wikipedia page&lt;/a&gt;&amp;nbsp;for the German tank problem outlines things nicely, but here&#39;s the upshot. If you&#39;re the USA during WWII, and you happen to notice that the Nazi tank parts all have serial numbers (bless that German precision), from the chassis to the wheels to the gearboxes. Instead of relying on rumors, why not figure out a statistical model to make a more educated guess? At least if you know what you&#39;re up against, you can plan better.&lt;br /&gt;
&lt;br /&gt;
That&#39;s exactly what they did. And their estimates were constantly better than ones from the intelligence community (doesn&#39;t that make statisticians the &quot;more intelligent community&quot;? -- I digress).&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
The math for this one is a little more challenging than I&#39;d like to go into this time. So I&#39;ll just provide the result, and hope you&#39;ll trust me (or go look up the German tank problem on your own).&lt;br /&gt;
&lt;br /&gt;
The best estimate for the number of tanks (or number of baddies on the Blacklist) is:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpK7t4T7Gxe4heubJYK9VGCVYv0CeK0HCxsawRbnH6jROUz2TW1jShqQc53GnHSns6ksIgcKqVzHjadZIbCRsttFg_ABotvrj0iYm0R3cJN0Cq0xx5P-ka6HAtT7QFD0k06t5qsLjPAX1p/s1600/CodeCogsEqn+%25285%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;87&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpK7t4T7Gxe4heubJYK9VGCVYv0CeK0HCxsawRbnH6jROUz2TW1jShqQc53GnHSns6ksIgcKqVzHjadZIbCRsttFg_ABotvrj0iYm0R3cJN0Cq0xx5P-ka6HAtT7QFD0k06t5qsLjPAX1p/s320/CodeCogsEqn+%25285%2529.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
where &lt;i&gt;m&lt;/i&gt; is the maximum value we&#39;ve seen, and &lt;i&gt;n&lt;/i&gt;&amp;nbsp;is the number of episodes we&#39;ve watched.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
So, based on the first estimate alone, our guess would be 289 baddies.&lt;br /&gt;
&lt;br /&gt;
Adding the second episode, our guess is 216.5&lt;br /&gt;
&lt;br /&gt;
The third episode, &quot;The Stewmaker (No. 161),&quot; though the highest number so far, still brings it down ever slightly to 213.667&lt;br /&gt;
&lt;br /&gt;
Plotting this out for the first 3 seasons yields the following:&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk7VI8Ypi8GekV8sJNA_YaEedGqhZJzj-aK33CCODGw4clKNV9wyTk6mG4FY4OGTh4c7L5vDmlUk9RWc-VQzdhvT1ZXr8JmhddRzA-L3Yfy3Qr3xBMe_aHUzyaWlUwJPdkkjp8CHhqFbKX/s1600/Screen+Shot+2016-05-13+at+11.11.50+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;307&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk7VI8Ypi8GekV8sJNA_YaEedGqhZJzj-aK33CCODGw4clKNV9wyTk6mG4FY4OGTh4c7L5vDmlUk9RWc-VQzdhvT1ZXr8JmhddRzA-L3Yfy3Qr3xBMe_aHUzyaWlUwJPdkkjp8CHhqFbKX/s640/Screen+Shot+2016-05-13+at+11.11.50+AM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Technically, I&#39;m going by number of baddies, not episodes, as one episode has 4 in a row and others split one baddie between two episodes. &lt;i&gt;C&#39;est la vie.&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
So, at the end of season 1, the guess is 167.318. By the end of season 2, it&#39;s 163.744. At the end of season 3, it&#39;s 162.639.&lt;br /&gt;
&lt;br /&gt;
I find this rather fascinating, because that means the third episode (after the pilot) had potentially one of the last baddies on the list.&lt;br /&gt;
&lt;br /&gt;
Anyway, with approximately 20 baddies per season (22 episodes, some cliffhanger episodes where two episodes have the same baddie), this gives &lt;i&gt;The Blacklist&lt;/i&gt;&amp;nbsp;just over 8 seasons of baddies total.&lt;br /&gt;
&lt;br /&gt;
So heads up, James Spader, you&#39;ve only got 5 more seasons of this gig before you need to find your next psychopathic villain role.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* There are some exceptions to this, including &lt;i&gt;Studio 60 on the Sunset Strip&lt;/i&gt;&amp;nbsp;and &lt;i&gt;The Good Guys&lt;/i&gt;. I found them before anyone liked them. And yes, I&#39;m still waiting on other people to like them. (seriously, &lt;i&gt;Studio 60&lt;/i&gt;&amp;nbsp;is probably my favorite show, and yes, I&#39;ve seen &lt;i&gt;Breaking Bad&lt;/i&gt;, &lt;i&gt;Parks &amp;amp; Rec&lt;/i&gt;, &lt;i&gt;The Office, The West Wing, Unbreakable Kimmy Schmidt, Battlestar Galactica &lt;/i&gt;(the new ones)&lt;i&gt;, New Girl,&lt;/i&gt;&amp;nbsp;and so many other phenomenal shows. go watch it)</content><link rel='replies' type='application/atom+xml' href='http://quickventures.blogspot.com/feeds/5829637246403038507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://quickventures.blogspot.com/2016/05/how-long-is-blacklists-blacklist.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/5829637246403038507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/5829637246403038507'/><link rel='alternate' type='text/html' href='http://quickventures.blogspot.com/2016/05/how-long-is-blacklists-blacklist.html' title='How Long is &quot;The Blacklist&#39;s&quot; Blacklist?'/><author><name>Evan Ott</name><uri>http://www.blogger.com/profile/15557205131224004226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAYtTTzEvPU_Bo1G-TVglQohzAfrAn6Yt170pfGBS7kVb0t3hUd16t-1P9giJ2vzQU-gfhiZlcayK2FJmNlPJA6KGsxrajLB4lVN8wK9X2jFwSO3I224j8D8myDI35Lg/s113/profile.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpK7t4T7Gxe4heubJYK9VGCVYv0CeK0HCxsawRbnH6jROUz2TW1jShqQc53GnHSns6ksIgcKqVzHjadZIbCRsttFg_ABotvrj0iYm0R3cJN0Cq0xx5P-ka6HAtT7QFD0k06t5qsLjPAX1p/s72-c/CodeCogsEqn+%25285%2529.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1783350150629634072.post-2046073356029072772</id><published>2016-02-20T09:20:00.001-08:00</published><updated>2016-02-20T09:20:21.393-08:00</updated><title type='text'>The Cereal Box Prize Distribution</title><content type='html'>In October 2015, General Mills introduced a line of &lt;a href=&quot;http://blog.generalmills.com/2015/10/these-are-the-droids-youre-looking-for/&quot; target=&quot;_blank&quot;&gt;&lt;i&gt;Star Wars&lt;/i&gt;&amp;nbsp;prizes &lt;/a&gt;in some of their cereal boxes.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://blog.generalmills.com/wp-content/uploads/Star-Wars-Droid-Viewers-Six1.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://blog.generalmills.com/wp-content/uploads/Star-Wars-Droid-Viewers-Six1.jpg&quot; height=&quot;188&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Much like the boy who asked, &quot;Mr. Owl, how many licks does it take to get to the Tootsie Roll center of a Tootsie Pop?&quot; I wanted to know:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
How many boxes of cereal do I need to buy to get all the prizes?&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
If you looked at the image, screamed &quot;6!&quot; at your screen, and wondered why there are additional sections to this post, let me clarify: we don&#39;t know what prize is inside until we open the box.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
It&#39;s random.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Now, we&#39;re in statistics country.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;br /&gt;
In statistics, we&#39;re all about &lt;i&gt;distributions&lt;/i&gt;. That is, models that say how likely something is. You&#39;re probably familiar with at least one, the normal distribution (a.k.a. the Gaussian distribution, a.k.a. the bell curve).&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://eaott.github.io/data-analysis/_images/paranormal.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://eaott.github.io/data-analysis/_images/paranormal.jpg&quot; height=&quot;320&quot; width=&quot;217&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
If we think about GPA, the normal distribution says (if the average is a C), that C would be in the middle, which is also the most common. A would be far out to the right (which is less common) and B would be in-between. The height of the distribution is an indicator of how likely it is.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Another common distribution (though you may not have thought of it that way) is the &lt;i&gt;Bernoulli distribution&lt;/i&gt;. It also goes by another name: the coin flip. But this isn&#39;t just any coin flip. It can be an unfair coin, where the probability of heads may not be exactly 1/2. As opposed to the normal distribution which can have any real number as its outcome (just with varying probabilities, concentrated around the middle), the Bernoulli distribution comes out as heads with probability &lt;i&gt;p&lt;/i&gt;&amp;nbsp;and tails with probability &lt;i&gt;1-p&lt;/i&gt;. The question it asks is, &quot;how likely is a coin flip to come out heads?&quot; This will be the basis for the cereal box prize distribution.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Now, let&#39;s go deeper.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;br /&gt;
One more distribution we need is the &lt;i&gt;geometric distribution&lt;/i&gt;. It asks a question similar to the cereal box prize distribution: &quot;how many times do I need to flip a coin before I see heads?&quot; While it may sound like a nitpicky nuance to say this is different from the Bernoulli distribution, it&#39;s actually completely different.&lt;br /&gt;
&lt;br /&gt;
If we take one experiment, that is, one sample, from the Bernoulli distribution, we either get heads or tails (a 0 or 1). If we take one experiment from the geometric distribution, we start flipping a coin, stop when we see a head, and report the number of tosses. This can be 1, 2, 3, 4, ... all the way up to infinity. Though it may sound impossible, we can fairly easily compute the probability that we toss the coin once, twice, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps a longer discussion for another time, but as soon as we can compute those probabilities, we can then compute all sorts of things. For example, we can find the average number of coin tosses we need to see a head. If the probability of a single toss coming up heads is&lt;i&gt;&amp;nbsp;p&lt;/i&gt;, then &lt;i&gt;on average&lt;/i&gt;, we should expect it to take &lt;i&gt;1/p&lt;/i&gt;&amp;nbsp;times. Intuitively, the &lt;i&gt;higher&lt;/i&gt; the chance we have of a single toss being heads, the &lt;i&gt;fewer&lt;/i&gt; times we have to toss the coin to see heads (again, on average).&lt;br /&gt;
&lt;br /&gt;
Finally, we&#39;re ready for the cereal box prizes.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
I just lied. We&#39;re going to do a &lt;i&gt;simplified&lt;/i&gt;&amp;nbsp;version of the cereal box prize distribution. The full version is more tricky, and I haven&#39;t quite figured it out yet. Look for Part II sometime soon.&lt;br /&gt;
&lt;br /&gt;
The simplified version is when there are only 2 prizes. Let&#39;s say C-3PO and R2-D2. The probability of getting C-3PO will be &lt;i&gt;p&lt;/i&gt;, which makes the probability of getting R2-D2 &lt;i&gt;1-p&lt;/i&gt;. If &lt;i&gt;p=0.5&lt;/i&gt;, then it&#39;s an even chance of each. &lt;i&gt;p=0.6&lt;/i&gt;&amp;nbsp;is 60-40, and &lt;i&gt;p=0.25&lt;/i&gt;&amp;nbsp;is 25-75.&lt;br /&gt;
&lt;br /&gt;
Now, we can actually answer our main question: how many boxes (on average) do I need to buy to reunite the galaxy-saving duo? It turns out that this question is just like the geometric distribution, with a small twist. We buy one box first. If it&#39;s C-3PO, then we only care about finding R2-D2. If it&#39;s R2-D2, then we only care about finding C-3PO.&lt;br /&gt;
&lt;br /&gt;
We just have two geometric distributions! One based on a success rate &lt;i&gt;p&lt;/i&gt;, the other with a success rate &lt;i&gt;1-p&lt;/i&gt;. If you do a bunch of math...&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHh4kAUDmjGr3j02nBoEask-VRKkFLsSGXrp6dBHc6TFfeY9-uxgUV9bkJpBmX_aP70LB0SLNZs1nRt-HKsupUPosDxcnGSw2vAjaaFAcLYpCEQcQx6Y1iG33BTwUadbp4eWNUHJMHOx9r/s1600/2016-02-20+10.54.57.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHh4kAUDmjGr3j02nBoEask-VRKkFLsSGXrp6dBHc6TFfeY9-uxgUV9bkJpBmX_aP70LB0SLNZs1nRt-HKsupUPosDxcnGSw2vAjaaFAcLYpCEQcQx6Y1iG33BTwUadbp4eWNUHJMHOx9r/s320/2016-02-20+10.54.57.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
We arrive at the nice, elegant answer:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu989htinsH8j_9ESrO3DkmnZcMM9WG987mhNUOdmZcK155Y3O0yPP_1Znblu47dx6kMbVn4lwfQx7BE6qYBp3DQGgv_PykAZfbAeEDKr0Q2AUYImzQiLwbK2Jw30I6g2K9UbnSW8LUuol/s1600/CodeCogsEqn.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu989htinsH8j_9ESrO3DkmnZcMM9WG987mhNUOdmZcK155Y3O0yPP_1Znblu47dx6kMbVn4lwfQx7BE6qYBp3DQGgv_PykAZfbAeEDKr0Q2AUYImzQiLwbK2Jw30I6g2K9UbnSW8LUuol/s200/CodeCogsEqn.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
So the expected number of boxes we need to buy looks like this:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsWVvpccQwiritsZAKYllblQuqV7PfHVzQu3m-rkKMC-PWc59Et5xXpb8beiIc4YG5sJOZUQKGbJS8AFks26-cQsay-bD19AXpV-xQpYfGjcvm_-d5bKH-8gKS2F1W_r7WUQfkS1yQlJLU/s1600/plot%2527.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;202&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsWVvpccQwiritsZAKYllblQuqV7PfHVzQu3m-rkKMC-PWc59Et5xXpb8beiIc4YG5sJOZUQKGbJS8AFks26-cQsay-bD19AXpV-xQpYfGjcvm_-d5bKH-8gKS2F1W_r7WUQfkS1yQlJLU/s320/plot%2527.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
For a 50-50 chance, on average, we&#39;ll need to buy 3 cereal boxes. The farther &lt;i&gt;p&lt;/i&gt;&amp;nbsp;is from 0.50, the worse it gets. A 17-83 split causes us to buy 6 boxes on average. A 10-90 would be 10 boxes. A 2-98 would be 50 boxes!&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
And there you have it. The cereal box prize distribution.&lt;/div&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
Image credits:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Hunt, Kevin. &quot;These are the droids you&#39;re looking for.&quot; Taste of General Mills. 2015 October.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; line-height: 20px; text-align: center;&quot;&gt;Freeman, Matthew. “A visual comparison of normal and paranormal distributions.”&amp;nbsp;&lt;/span&gt;&lt;em style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: Times, &#39;Times New Roman&#39;, serif; line-height: 20px; text-align: center;&quot;&gt;Journal of Epidemiology and Community Health.&lt;/em&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; line-height: 20px; text-align: center;&quot;&gt;&amp;nbsp;2006 January; 60(1): 6&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://quickventures.blogspot.com/feeds/2046073356029072772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://quickventures.blogspot.com/2016/02/the-cereal-box-prize-distribution.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/2046073356029072772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1783350150629634072/posts/default/2046073356029072772'/><link rel='alternate' type='text/html' href='http://quickventures.blogspot.com/2016/02/the-cereal-box-prize-distribution.html' title='The Cereal Box Prize Distribution'/><author><name>Evan Ott</name><uri>http://www.blogger.com/profile/15557205131224004226</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAYtTTzEvPU_Bo1G-TVglQohzAfrAn6Yt170pfGBS7kVb0t3hUd16t-1P9giJ2vzQU-gfhiZlcayK2FJmNlPJA6KGsxrajLB4lVN8wK9X2jFwSO3I224j8D8myDI35Lg/s113/profile.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHh4kAUDmjGr3j02nBoEask-VRKkFLsSGXrp6dBHc6TFfeY9-uxgUV9bkJpBmX_aP70LB0SLNZs1nRt-HKsupUPosDxcnGSw2vAjaaFAcLYpCEQcQx6Y1iG33BTwUadbp4eWNUHJMHOx9r/s72-c/2016-02-20+10.54.57.jpg" height="72" width="72"/><thr:total>2</thr:total></entry></feed>