A Hierarchy of Abstraction

Intelligence seems related to one’s ability to handle high-level abstractions. A minimum intelligence level is necessary to understand certain kinds of things. This post attempts to order concepts by how much intelligence is required to understand them.

I had an employee who could do #1-2 but struggled with #3. I know several people who can do #1-4 just fine but struggle with #5 or cannot do #5 at all. I know people who can do #1-5 but cannot do #6 at all. I know an engineer who can do #1-6 but cannot do #7. I know another engineer who can cruise through #1-8 but struggles with #9.

I have never[1] observed someone go up a level in this hierarchy. Someone who does not grasp a level quickly tends never to grasp it at all. I think your potential to climb this hierarchy is limited by your fluid intelligence.

1. Can imitate simple behavior

Anyone reading this post passes this threshold.

2. Can follow simple verbal instructions

Anyone reading this post passes this threshold.

3. Can follow simple written instructions

Anyone reading this post passes this threshold.

4. Can perform arithmetic

Can solve questions of the following form: “Given a $100,000 initial investment with 4% compounding interest, estimate your profit after 10 years.” The testee is allowed to use a calculator.

5. Can write Python scripts

Anyone who has written original computer code in a mainstream programming language passes this threshold.

6. Understands pointers

Anyone who can implement a pointer-based algorithm in C passes this threshold.

7. Understands recursion

Can implement the Fowler–Noll–Vo hashing algorithm recursively and explain why one would do so.

8. Understands information density

Can crack all three of these problems in an hour or less. Confidently asserting an incorrect answer to the first question fails this test instantly.

The testee may use the Internet to look up details of the Java language spec and how the Enigma machine works. This research does not count towards the hour. Otherwise, using the Internet is forbidden.

9. Thinks in terms of entropy

Can invent unbiased small data[2] algorithms on-the-fly. People with an intuitive grasp of hypothesis space Kolmogorov complexity tend to make good Wall Street quants.

10. ???

Here be dragons.


  1. ↩︎

    I managed to tutor a computer science student from #5 to #6—but I do not think it counts. Ostensibly, she hired me to teach her how pointers work. The real problem was that her college had cancelled the prerequisite class that was supposed to teach her C syntax. She fired me as soon as I had finished explaining the syntax.

  2. ↩︎

    Edit: There used to be a hyperlink here to a sequence of posts that explained what “small data” is. This hyperlink is now broken.