Hofstadter’s Law

Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.

(And it has right now a Wikipedia page that directly links to itself. Even the “Recursion” page does not do this.)

Hofstadter’s Law is a self-referential (or recursive) statement coined by Douglas Hofstadter in his magnum opus Gödel, Escher, Bach. It is a statement about time-taking projects, which seem to take more time than expected, even when the expected time is adjusted for delays.

Hostadter includes this at the end of a chapter on recursion, and particularly on a topic in which he shows how chess is analyzed recursively. He then recounts how programmers once (in the mid 1900s) thought chess could be mastered by a computer within ten years, but ten years later, it was still not even close to mastered, and it would seem to take even longer than ten years still!

Here is my illustration of Hofstadter’s Law:

Hofstadter's Law

The subtlety is of course that the graph is self referential. That is, Hofstadter’s Law as in the title of the graph refers to the last bar, “Actual Time.” At first you might expect that Hofstadter’s Law is present only in the fourth bar, but it is really the fifth bar that is Hofstadter’s Law. In fact, the “Actual Time” would be the “Worst Case Estimate, Taking Into Account Hofstadter’s Law” Taking Into Account Hofstadter’s Law. This leads to an infinite regress, as now the “Actual Time” is the new “Worst Case Estimate, Taking Into Account Hofstadter’s Law.”

5 thoughts on “Hofstadter’s Law

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s