Data Structures

by radimentary

LesserWrong is turning out to be much better than I initially expected. Here is a fantastic post. However, I found part of the idea instinctively unpalatable, and I’m going to describe a more charitable way of understanding the phenomenon in question.

Maps and Button Walls

The main idea of the post:

I, and other nerds, are conceptual cartographers, attempting to piece together a map of reality. I’ve often wondered how I seem to update my map so consistently, since I make no specific effort to remember any alterations or additions I deem worth making. Shouldn’t I be forgetting them? Maybe I should dedicate some time to writing down and reviewing these precious insights!


Now the contrast. Others are not making maps. I think of them rather as like a big wall of buttons. Push a button, and a slip of paper comes out. When I ask such a button-type person a question, I am pushing a certain button, and they, without even thinking, spit out the coresponding piece of paper (there is some relatedness here to the idea of “cached thoughts” as Eliezer Yudkowsky spoke of them. You could well say that these people are mostly just vast collections of cached thoughts).

Roughly speaking, the main dichotomy asserted is that “nerds” – people who have maps – care about internal consistency and building accurate models of reality, and “normals” – people who have button walls – care about optimizing for signalling and status games.

The button-wall is a play on the good old Chinese room, and also recalls the sequences on Guessing the Teacher’s Password. When is there such a thing as genuine understanding behind the answers you are receiving in a conversation?

Recently, inspired by Friends, my wife and I tried to list the 50 states as quickly as we could. Our strategies were strikingly different. I listed the states out from Alaska, Hawaii, Washington, zig-zagging haphazardly up and down my mental map of the nation until I ended up at Maine. My wife, meanwhile, listed the states out in alphabetical order according to the famous mnemonic song, “Alabama, Alaska, …”

It seems like my knowledge of states places them on a literal mental map, and my wife has a button-wall there instead. On further reflection, however, when I tried to recall the state capitals, I had (along with somewhat lower success) something more like a button wall, a name for each state that corresponded to no actual location on the map. You might say that my knowledge of US geography is a wall of buttons in the shape of a map, with a button on each state that produces the name of its capital.

Initially, the map vs. button wall dichotomy seemed to fit like a glove. However, I think there’s a better explanation than that “some people just don’t have a concept of truth.” I think there’s more to the story than that knowledge sometimes serves the function of accurately marking out reality and sometimes signals group affiliation and status.

Data Structures

The difference between maps and buttons is not exactly a difference of “concepts of truth,” but rather a mere difference of data structures, and a very natural one. There are plenty of algorithmic problems in which the right data structure is something simple like a linked list or hashtable for small input sizes, but something dastardly like a balanced binary search tree or segtree in other regimes. It all depends on the application.

There’s no one perfect data structure design for a dictionary. If you wanted to autocomplete search queries quickly, you might want to build something which knows about prefixes, like a trie. A lookup-table would suffice if you’re looking to translate into French. If you want to build a spell-checker, you’d need some third alternative altogether with a concept of Hamming distance. A different metric altogether would be needed for a thesaurus. No one dictionary design is more true to reality than the others.

For someone who only has to remember the list of the states and cities they’ve been in, it’s perhaps better to design a wall of buttons, each with a cached response about what each place was like. For my wife, who had to list out all the states to pass a test at school, it’s better to use a mnemonic like the song. In my social studies class, however, we had to fill out the names and capitals of states on a map. That’s why I place the states in actual geographic locations mentally.

Knowledge always serves a purpose. Nobody remembers the whole map of a territory they will never visit. In general, a look-up table from Ikea is the perfect solution whenever no heavy-duty work is needed.

If the topic is politics, the data structure you need is not a blank state description of a perfect working government down to the tax bracketsĀ unless you’re a professional political scientist. What you need is just a lookup table of your tribe’s authorized responses on gun control, health care, immigration, and gay marriage. Just because that’s all you have doesn’t mean you don’t believe truth exists as such. It just means your brain has optimized for the application.

Of course, when something sturdier than Ikea furniture is called for, you’ll probably want to head over to Home Depot and build your own supertable with a remote control lazy Susan, secret compartments, and massage footrests. That’s expensive, and you’ll have to throw out your old Ikea lookup table, but that’s OK – it’s called amortization! You’ll recuperate the costs by heavy use. One day, you realize you’re more interested in politics than you’ve ever been, and you start reading actual books, consulting expert blogs, and constructing long, thoughtful responses on the fly instead of

if (abortion) return “It’s a woman’s choice!”

That’s when the wall of buttons gets taken down to be replaced by the map. And not a moment before!


I want to highlight the exact detail which made me think the data-structure model is better than the “relationship with the truth” model. Here is the opening anecdote from the Maps vs Buttons post:

It took me the longest time to see through the illusion that was “rational” discussion.

The setting: A friend and I exchange inquiries about each other’s beliefs about X.

The result: the friend would give a number of answers that allowed me to piece together their view of X. An astounding percentage of the time, even a majority, perhaps, one of their answers would contradict another. So, I point this out. My friend, after hearing an explanation, agrees it is a contradiction. We move on, me convinced that I had contributed to their work (the work I assumed that others, not just myself, engaged in: namely, piecing together as accurate a model of reality as possible), only to find, weeks or months later, that on discussing X again, they still gave the same contradictory answers as before, with apparently no memory of our past discussion.

Or discussions. This pattern has repeated up to 4 times (that I’ve bothered to keep track), my interlocutor agreeing with my corrections, and then showing no sign of having even heard of them down the road.

One of the main distinctions between the “wall of buttons” and the “map of territory” models of reality, therefore, is that the latter requires higher levels of internal consistency. A more detailed model of reality cannot tolerate contradiction. Why is that?

It’s actually simple. Internal errors are isolated in simple data structures, but corrupt everything in more complicated ones.

Imagine you have a simple array of pointers to canned answers, and one of the pointers is garbled. That only breaks that one entry, and the rest of the table is completely unharmed. So maybe if someone points out that error, you’re not too worried about it. Now imagine that you have a binary search tree and the left child pointer from the root node is garbled. That breaks the entire fucking lower half of the data. Psychologically, it’s the difference between consistently misspelling the word misspell and having left hemispatial neglect. Of course people are going to assign these bugs different priorities. Would you blame someone for not fixing the former, even if you pointed it out four times?

This is a wonderful feature of simplicity. Errors are isolated! A single bit error in one entry of a hashtable doesn’t mean the whole table is corrupt. But if you drew a map of the United States and ended up with 49 states somehow, you’d probably have to throw the whole thing out and start from scratch.

As always, every idea comes with an injunction. Keep it simple, stupid! Button walls are probably for the best in all the fields where you don’t care to be an expert. And using one certainly doesn’t mean you care more about status games than truth.