diff --git a/ipynb/Advent 2017.ipynb b/ipynb/Advent 2017.ipynb index 125b1ff..4eb3558 100644 --- a/ipynb/Advent 2017.ipynb +++ b/ipynb/Advent 2017.ipynb @@ -493,7 +493,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**:" + "## Part Two" ] }, { @@ -575,7 +575,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**:" + "## Part Two" ] }, { @@ -735,7 +735,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "For **Part Two** I can re-use my `spiral` generator, yay! Here's a function to sum the neighboring squares (I can use my `neighbors8` function, yay!):" + "## Part Two\n", + "\n", + "I can re-use my `spiral` generator, yay! Here's a function to sum the neighboring squares (I can use my `neighbors8` function, yay!):" ] }, { @@ -838,7 +840,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:**" + "## Part Two" ] }, { @@ -945,7 +947,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:**\n", + "## Part Two\n", "\n", "Part Two seems tricky, so I'll include an optional argument, `verbose`, and check if the printout it produces matches the example in the puzzle description:" ] @@ -1148,7 +1150,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:** Here I will just replace the `set` of `seen` banks with a `dict` of `{bank: cycle_number}`; everything else is the same, and the final result is the current cycle number minus the cycle number of the previously-seen tuple of banks." + "## Part Two\n", + "\n", + "Here I will just replace the `set` of `seen` banks with a `dict` of `{bank: cycle_number}`; everything else is the same, and the final result is the current cycle number minus the cycle number of the previously-seen tuple of banks." ] }, { @@ -1275,7 +1279,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:**\n", + "## Part Two\n", "\n", "A program is *wrong* if it is the bottom of a tower that is a different weight from all its sibling towers:" ] @@ -1447,7 +1451,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:**\n", + "## Part Two\n", "\n", "Here I modify the interpreter to keep track of the highest value of any register at any time." ] @@ -1487,7 +1491,7 @@ "source": [ "# [Day 9](https://adventofcode.com/2017/day/9): Stream Processing\n", "\n", - "For this problem I could have a single finite-state machine that handles all five magic characters, `'{}'`, but I think it is easier to first clean up the garbage, using regular expressions:" + "For this problem I could have defined a single parser that handles all five magic characters, `'{}'`, but I think it is easier to first clean up the garbage, using regular expressions:" ] }, { @@ -1556,8 +1560,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two:**\n", - "\n", + "## Part Two\n", "At first I thought that the amount of garbage is just the difference in lengths of `text2` and `text3`:" ] }, @@ -1730,7 +1733,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**:\n", + "## Part Two\n", "\n", "Now it gets *really* complicated: string processing, the suffix, hex string output, and dense hashing. But just take them one at a time:" ] @@ -1860,7 +1863,7 @@ "source": [ "This one seemed so easy that I didn't bother testing it on the simple examples in the puzzle; all I did was confirm that the answer for my puzzle input was correct.\n", "\n", - "**Part Two:**\n", + "## Part Two\n", "\n", "This looks pretty easy; repeat Part One, but keep track of the maximum number of steps we get from the origin at any point in the path:" ] @@ -1974,7 +1977,7 @@ "source": [ "That's the answer for Part One.\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "I did almost all the work; I just need to count the number of distinct groups. That's a set of sets, and regular `set`s are not hashable, so I use my `Set` class:" ] @@ -2078,7 +2081,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**\n", + "## Part Two\n", "\n", "A packet is safe if no scanner catches it. We now have the possibility of a delay, so I update `caught` to allow for an optional delay, and define `safe_delay`: " ] @@ -2181,7 +2184,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**\n", + "## Part Two\n", "\n", "So as not to worry about running off the edge of the grid, I'll surround the grid with `'0'` bits:" ] @@ -2327,7 +2330,7 @@ "source": [ "Notice I also decided to use `@jit` (i.e. `numba.jit`) to speed things up, since this is the slowest-running day yet.\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "A small change: only consider numbers that match the **criteria** of being divisible by 4 or 8, respectively;" ] @@ -2520,7 +2523,7 @@ "source": [ "That's the right answer.\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "My first thought was to define a dance as a permutation: a list of numbers `[11, 1, 9, ...]` which says that the net effect of the dance is that the first dancer (`a`) ends up in position, the second (`b`) stays in position 1, and so on. Applying that permutation once is a lot faster than interpreting all 10,000 moves of the dance, and it is feasible to apply the permutation a billion times. I tried that (code not shown here), but that was a mistake: it took 15 minutes to run, and it got the wrong answer. The problem is that a dance is *not* just a permutation, because a dance can reference dancer *names*, not just positions.\n", "\n", @@ -2660,7 +2663,7 @@ "source": [ "That's the right answer.\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "But Part Two is not so easy, if we care about the run time. Insertion into a `list` has to move all the elements after the insertion down, so insertion is O(N) and `spinlock` is O(N2). That's no problem when N = 2017, but when N is 50 million? We're gonna need a bigger boat, where by \"boat\" I mean algorithm or data structure. My first thought is a (circular) linked list, because insertion is O(1). I can implement the three key methods: `skip` to move ahead, `insert` to add a new node after the current one, and `find` to find a piece of data (with a linear search):" ] @@ -2933,7 +2936,7 @@ "source": [ "That was easy. (One tricky bit: the `pc` is incremented by 1 every time through the loop, regardless of the instruction. Therefore, the `'jgz'` jump instruction increments by \"`vy - 1`\" so that the net increment is \"`vy`\".)\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "In Part Two we have to run two copies of the program, and send messages between them. I'll break up the loop in `run18` into\n", "two functions. First, `run18_2`, creates (in `ps`) two structures to hold the state variables necessary to run a program:\n", @@ -3090,8 +3093,7 @@ "metadata": {}, "source": [ "That's the right answer.\n", - "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "This is a surprisingly easy Part Two; I already generated the characters in the path; all I have to do is count them: " ] @@ -3199,7 +3201,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**\n", + "## Part Two\n", "\n", "I'll add the function `remove_collisions`, and now the thing we repeatedly do is the composition of `remove_collisions` and `update`. Also, instead of finding the `id` of the `closest` particle, now we just need to count the number of surviving particles:" ] @@ -3632,7 +3634,7 @@ "source": [ "That's correct!\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "Huh — It looks like I don't need to change any code for Part Two, just do `18` repetitions instead of `5`. \n", "\n", @@ -3824,7 +3826,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**\n", + "## Part Two\n", "\n", "It looks like I can't re-use any of my code from Part One (except by copy-and-paste). I have the following concerns:\n", "- I want to replace the `set` of `infected` nodes with a `dict`, `status[node]`, which can be `I`, `F`, `C`, or `W` (default `C` for clean).\n", @@ -3836,7 +3838,9 @@ { "cell_type": "code", "execution_count": 112, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "def bursts(N, net):\n", @@ -3865,7 +3869,9 @@ { "cell_type": "code", "execution_count": 113, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "# Of the first 100 bursts of the test network, 26 will result in infection\n", @@ -3956,7 +3962,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Part Two**\n", + "## Part Two\n", "\n", "The hint of \"You'll need to **optimize the program**\" reminded me of a puzzle from 2016 where I had to understand what the program was doing and make it more efficient. It wasn't obvious what Day 23's program was doing, but I began the process of re-writing it as a Python program, converting the `jnz` instructions to `if` and `while` statements. Eventually I realized that the inner loop was doing \"`b % d`\", and my program became the following:" ] @@ -4032,7 +4038,9 @@ { "cell_type": "code", "execution_count": 117, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "def component_table(pairs):\n", @@ -4062,7 +4070,9 @@ { "cell_type": "code", "execution_count": 118, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "def chains(chain=(), port=0, ctable=ctable):\n", @@ -4115,7 +4125,7 @@ "source": [ "I was worried it was going to be slow, so I measured the `%time`, but it turned out not too bad.\n", "\n", - "**Part Two**\n", + "## Part Two\n", "\n", "Now we want to find the strength of the longest chain, but if there is a tie, pick the strongest one:" ] @@ -4296,18 +4306,18 @@ "Here are my answers:\n", "\n", "\n", - "* **Total Reuse**: The major function defined in Part One is called again in Part Two:\n", - "
Days 3 (`spiral`), 6 (`spread`, but `realloc2` is copy-paste-edit), 9, 12, 14 (`bits`), \n", + "* **Total Reuse (11 days)**: The major function defined in Part One is called again in Part Two:\n", + "
Days 3 (`spiral`), 6 (`spread`, but `realloc2` is copy-edit), 9, 12, 14 (`bits`), \n", "15 (`A, B, gen, judge`), 16 (`perform`), 19 (`follow_tubes`), 20 (`update, particles`), 21 (`enhance`),\n", "24 (`chains`, `strength`)\n", "\n", - "* **Generalization**: A major function from Part One is generalized in Part Two (e.g. by adding an optional parameter):\n", + "* **Generalization (1 day)**: A major function from Part One is generalized in Part Two (e.g. by adding an optional parameter):\n", "
Days 13 (`caught`)\n", "\n", - "* **Copy-edit**: The major function from Part One is copied and edited for Part Two:\n", + "* **Copy-edit (7 days)**: The major function from Part One is copied and edited for Part Two:\n", "
Days 5 (`run2`), 8 (`run8_2`), 10 (`knothash2`), 11 (`follow2`), 17 (`spinlock2`), 18 (`run18_2`), 22 (`parse_net2`, `burst2`)\n", "\n", - "* **All new**: All the code for Part Two (except possibly reading and parsing the input) is brand new: \n", + "* **All new (5 days)**: All the code for Part Two (except possibly reading and parsing the input) is brand new: \n", "
Days 1, 2, 4, 7, 23\n", "\n", "I think I did a reasonably good job of facilitating reuse. It seems like using generators and higher-order functions like `repeat` helps.\n", @@ -4320,7 +4330,7 @@ "source": [ "# Verification and Run Times\n", "\n", - "A little test harness and a report on run times:" + "A little test harness and a report on all the run times that are over 5 seconds per day:" ] }, { @@ -4410,21 +4420,23 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "All the days together run in a but less than a minute; only 4 days take more than 5 seconds each; and only 2 take more than 10 seconds.\n", + "\n", "# Development Time\n", "\n", - "Here is a plot of the time taken to program solutions each day, for me, the first person to finish, and the hundredth person. I'm usually about triple the time of the first solver, and a little slower than the 100th." + "Here is a plot of the time it took to program solutions each day, for me, the first person to finish, and the hundredth person. My mean time to solve is a little slower than the 100th solver, and five times slower than the first solver." ] }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 132, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\nIk4AAAAASUVORK5CYII=\n", + "image/png": "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\nAhARERExU/4fVvCSb2uTD9sAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -4436,6 +4448,7 @@ " plt.style.use('seaborn-whitegrid')\n", " X = ints(1, len(times[0]) - 2)\n", " for (mark, label, *Y) in times:\n", + " label = '{} (μ={:.0f} min)'.format(label, mean(Y))\n", " plt.plot(X, Y, mark, label=label)\n", " plt.xlabel('Day Number'); \n", " plt.ylabel('Minutes to Solve Both Parts')\n", @@ -4457,9 +4470,9 @@ "I asked [Kevin Wang](https://github.com/kevmo314), last year's overall time leader and my colleague at Google, how he manages to go so fast. His answers:\n", "\n", "- \"My code tends to be eccentrically terse.\"\n", - "- \"I save the most time by just observing that a problem is an adaptation of a common problem\" (such as a topological sort, or a search problem, or the Chinese Remainder Theorem).\n", + "- \"I try to minimize the amount of code I write: each line of code is just another chance for a typo.\"\n", + "- \"I save the most time by just observing that a problem is an adaptation of a common problem\" (such as a topological sort, or union-find, or A* search, or the Chinese Remainder Theorem).\n", "- \"A lot of it is just finding patterns and not making mistakes.\"\n", - "- \"I also try to minimize the amount of code I write: each line of code is just another chance for a typo.\"\n", "- \"For AoC it's important to just read the input/output and skip all the instructions first. Especially for the first few days, you can guess what the problem is based on the sample input/output.\"" ] }