Difference between revisions of "Main Page"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Je suis finis.)
Line 43: Line 43:
  
 
If you need assistance from an [[explain xkcd:Administrators|admin]], post a message to the [[explain xkcd:Community portal/Admin requests|Admin requests]] board.
 
If you need assistance from an [[explain xkcd:Administrators|admin]], post a message to the [[explain xkcd:Community portal/Admin requests|Admin requests]] board.
<html><a href="https://plus.google.com/100547197257043990051" rel="publisher">Google+</a></html>
+
 
 
[[Category:Root category]]
 
[[Category:Root category]]

Revision as of 12:24, 18 December 2013

Welcome to the explain xkcd wiki!
We have an explanation for all 2 xkcd comics, and only 10 (0%) are incomplete. Help us finish them!

Latest comic

Go to this comic explanation

Complexity Analysis
PERPETUALLY OPTIMISTIC CASE: Early in the execution, our research group makes a breakthrough on proving P=NP.
Title text: PERPETUALLY OPTIMISTIC CASE: Early in the execution, our research group makes a breakthrough on proving P=NP.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: Created by a PERPETUALLY OPTIMISTIC BOT - Please change this comment when editing this page. Do NOT delete this tag too soon.

Cueball is teaching about an algorithm's complexity. The average-case complexity of the algorithm is written as O(n log n), in Big O notation, expressing the asymptotic runtime of the algorithm as the number of inputs to it grows larger and larger.

The joke of the comic involves taking the terms "best case" and "worst case" far more broadly and literally than intended. Cueball is presenting not just the best/worst cases for the data input into the function, but also the global environment as a whole, taking in factors such as the United States Congress which should fall far outside the scope of the algorithm.

In particular the joke regards the analysis of a closed system, common in engineering. In recent times, technology has become so prevalent and integrated with humanity, that conventionally closed systems are now behaving in open manners. Results have been emerging on the world stage regarding external feedback of engineering choices, and people have been engineering more and more for the larger situation possibly using more Game theory than Big O, but continuing to use the analytical approaches that assume systems are closed produces ridiculous results because living beings and societies are now in the loop.

The "best case" for an algorithm is typically its runtime when its inputs have optimal values and it runs in as little time as possible. The joke here is that not only does it run quicker than this by being terminated early because it's 'unnecessary', but its runtime appears to be an hour shorter still because of an act of Congress changing daylight saving time, giving it an end time (in local time) that is an hour less than it would otherwise have been. Potentially this would result in an end time that is less than its start time, and therefore an apparently negative 'runtime'. Daylight saving time is a recurrent theme on xkcd, and it is clear that Randall is not a fan, so Congress making surprise DST changes is another way for Randall to mock the concept.

The "worst case" refers to the movie Groundhog Day, in which the same events occur over and over in a sort of time loop. (This movie has been referenced before in 1076: Groundhog Day.) If the hardware running the algorithm is stuck in this kind of loop that resets to a previous time before it ever gets finished, then the algorithm would never terminate. This gives rise to a philosophical question as to whether the whole world is reset after every day, or just the town where the movie takes place. If it is just the town, and you can still connect to their hardware from outside, then from that perspective the algorithm would appear to be taking an interminably long time to run. If the whole world resets, since people (aside from the movie's main character) do not experience the reset of the day, it would only appear to take as long as it did on the final day when it successfully completed.

This may be an indirect reference to the halting problem, a famous problem in computer science. The halting problem is undecidable, meaning that there is no general algorithm that can tell whether a given algorithm will halt, but the widely-accepted traditional proof of this relies on external action on details of a system considered closed.

The title text refers to perhaps an even more famous problem in computer science: P versus NP. This asks whether every problem whose solution can be quickly verified (in nondeterministic polynomial time, NP) can also be quickly solved (in polynomial time, P). The P-versus-NP problem is one of the seven Millennium Prize Problems, and as such has a $1 million prize for its solution. Presumably, the problem discussed here is in NP, so if P=NP, its worst-case runtime would be some polynomial O(nk). However, P vs. NP is a Millennium Prize Problem for a reason, and most computer scientists expect that P != NP, so hoping for a breakthrough in proving P=NP is "perpetually optimistic". This may be a reference to Optimism bias and the Planning fallacy, whereby people tend to assume that the most favourable outcome will be the most likely.

Transcript

[Cueball is holding a presentation pointer stick, pointing to a table behind him that towers above him. The table has a heading above it and then two columns and three rows. the first column is slim and the second much broader.]
Results of algorithm complexity analysis:
Average case O(n log n)
Best case Algorithm turns out to be unnecessary and is halted, then Congress enacts surprise daylight saving time and we gain an hour
Worst case Town in which hardware is located enters a Groundhog Day scenario, algorithm never terminates


Is this out of date? Clicking here will fix that.

New here?

Last 7 days (Top 10)

Lots of people contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account here.

You can read a brief introduction about this wiki at explain xkcd. Feel free to sign up for an account and contribute to the wiki! We need explanations for comics, characters, themes, memes and everything in between. If it is referenced in an xkcd web comic, it should be here.

  • List of all comics contains a table of most recent xkcd comics and links to the rest, and the corresponding explanations. There are incomplete explanations listed here. Feel free to help out by expanding them!
  • We sell advertising space to pay for our server costs. To learn more, go here.

Rules

Don't be a jerk. There are a lot of comics that don't have set in stone explanations; feel free to put multiple interpretations in the wiki page for each comic.

If you want to talk about a specific comic, use its discussion page.

Please only submit material directly related to —and helping everyone better understand— xkcd... and of course only submit material that can legally be posted (and freely edited). Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users who repeatedly post such content will be blocked.

If you need assistance from an admin, post a message to the Admin requests board.