Thinking About Thinking (Metacognition)

[ productivity ]

In this post, I explore the notion that we can observe experts in different fields and distill their underlying patterns of thought via the right syntax in order to adapt the “optimal style of thought” for that field (e.g natural sciences, computation, humanities).

A field is just an area of study. My idea is that understanding complexity is about linking things together, but each field has different things, and each thing has it’s own type of link. As we link things together, we can build a clearer visualisation in our head.

The Right Words

I posit how to think about these things and links can be captured by invoking the right word or syntax.

We have just seen, through an example, how important words are in Mathematics. One can hardly believe how a well-chosen word can provide economy of thought.

Henri Poincaré 1854-1912

Thus, by observing experts in respective fields, like a scientist, mathematician, programmer, investor being interviewed, and examining their choice of words, we can capture how they think. Sounds simple enough!

Fields

I categorize fields (subjects of study) into three types: deterministic, semi-deterministic, and humanistic.

Deterministic fields are the sciences and their derived fields. Physics, mathematics, etc. These have fixed laws (of nature).

Semi-deterministic fields just refers to computing: it has fixed laws that are modifiable by humans (e.g we make the laws via telling the computer what to do via programming).

Humanistic fields refers to fields studying human behavior: economics, finance, history, politics, etc. The laws arise due to human behavior.

I argue each field can be thought of in two ways: a primal form, involving linking things together as a graph, and a dual form, which is basically visualising something in your head.

So, let’s try to find the right words to express the things and their links.

A textual representation is how the concept appears on text, or on paper. Aka how we learn. An innate representation is what we need to connect the textual representation to.

Deterministic Framework

Example Fields: Mathematics, natural sciences, engineering.

There are two fundamental things: concepts (abstraction) and physical objects (physical variable/parameter). On the underlying side, they are just numbers, quantities that can vary, basically. But what they represent are two different things. Their textual representation is a symbol and innate representation is a visual.

A concept (more towards the field of mathematics) and a variable/parameter (more towards the field of physics) are the two main players. The difference is in their treatment: both can be visualised, but the former exists in abstract space whereas the latter exists in physical space (e.g our physical reality).

And so we can connect concepts together or variables together. But for the latter, we have to visualise them precisely or build a visual simulation.

For physical variables, we can use these measurements to visualise from a perspective. E.g put yourself in the perspective of a proton in an nucleus (it sounds silly but maybe this works). Physics formalises this: aka how to simulate or think about this ‘correctly’ and ‘accurately’. This idea of visual perspective has an interesting cross-reference to the humanistic framework (down below).

Another idea is that of dependency, whereby to understand or make connections of certain concepts, there must be a backlog graph of existing concepts that you have to build in sequential fashion, aka prerequisites.

They are linked via connections. These can be direct or latent. Direct connections are obvious. Latent ones are sudden inspirations between seemingly unrelated things. The idea is to build up a dense, well-connected network of things in your head.

Lastly, latent connections. These are connections formed by thinking deeply about simple things. Asking yourself ‘what really this thing is’.

There are moments where you put something together and realize this is how the story has to go.

—Jacob Lurie, Breakthrough Prize Acceptance (2:15)

There is a beauty in the way things fit together in an unexpected way.

—Richard Taylor, Breakthrough Prize Acceptance (2:00)

Notice their choice of words: they imply connecting things together. What about the other type of thing aka measurements?

Atoms in the coffee jiggle, which makes the cup jiggle. Heat is just jiggling spreading, which is easy to understand.

—Richard Feynman, Fun to Imagine (1:20)

It's a mixture of partial solving of equations ... and having some sort of picture of what's happening that the equations saying.

—Richard Feynman, Fun to Imagine (56:18)

Feynman is imagining a measurement (the jiggling) and showing how that interacts with another measurement (another bunch of atoms jiggling).


Semideterministic Framework

For semi-deterministic fields, which is essentially computing, I believe it is about breaking down a system into its parts from a top-down fashion. This is the key trick. Look at the system from the highest level, then go down, recursively. So we would have one input > system > output, then you would break it down recursively from there. I’ll call this operation decomposition.

A system can be broken down into its tools/components, recursively (that every component can be viewed as system in itself). Tools could be data or computation. The nodes are data. A computation arrow is defined by the type(s) of data it receives and type(s) of data it produces. We could even argue an interaction is defined by the type of input it allows and the type of output it generates.

We can generalize the notion of decomposition by layers of abstraction. The trick to understanding things in computer science might be to be able to work in linear fashion down the levels of abstraction, understanding how each one works in a top-to-bottom fashion.

For example, to understand how a particular snippet of Python code, we might have to traverse the abstractions, from the structure of the codebase, structure of the program, to the library source code in Python, to the bytecode generated by the interpreter. Then you have the assembly/machine code/instruction set level of the processor executing, then the circuitry/hardware level, the logic gates level, the transistor level the atoms level, subatomic level, etc (to take the limit in a silly example).

Of course, there are too many levels, and there is a depth of abstraction below which the human mind cannot possibly visualise, so the idea would be to get as far down as possible. But the idea is we work with a core set of tools at any abstraction layer, the lowest layer above metal being assembly/machine code, in a computing context.

So, the key idea is to make the connection ‘downwards’ into the next deeper level of abstraction or under the hood.

So to summarize:

  1. Think in terms of systems and components.
  2. Graphical thinking: draw out a graphical view of the system.
  3. Abstraction layers: from top to bottom. Linear.

The idea is that at a given level of abstraction, you have a set of tools to work with that form a system, and you jump between abstraction levels to connect the dots.

Input → system (computation) → output. This is my core paradigm for understanding anything.
—George Hotz, What is Programming? (Noob Lessons!) (54:00)
There's a relatively good understanding of abstraction layers. Atoms, silicon, transistors, logic gates, functional units, processing elements, instruction sets, languages - abstraction layers from the atom to the datacenter.
—Jim Keller, Jim Keller | Lex Fridman Podcast #70 (4:10)
Being able to see something at lots of levels and go between them smoothly seems to be more pronodunced in people that resonate with computing
—Donald Knuth, Donald Knuth | Lex Fridman Podcast #62 (9:13)


Humanistic Framework

These fields encompass markets, finance, economics, history, etc, any kind of field where the aim is to model decisions made by actor’s. In this case, the nodes are actors and their edges are decisions.

So, the key skill I believe is to put yourself in the perspective of an actor/entity and do this across all the different nodes/actors in a situation! Putting yourself in their shoes, examining their historical context and past actions. Then, the name of the game is to understand their perspective and predict what they would do next.

My framework is built on two propositions. The first is that in situations that have thinking participants, the participants’ views of the world never perfectly correspond to the actual state of affairs. The second proposition is that these imperfect views can influence the situation to which they relate through the actions of the participants.

—George Soros, Fallibility, Reflexivity, and the Human Uncertainty Principle

Visualisation: Dual form

We have covered the primal form or words. Now for the dual form of visualising. How do we paint a picture/simulation in our head corresponding to the linked things?

For deterministic fields, we have to precisely visualise things. This means lengths, angles, distances matter.

For semideterministic fields, we visualise computations together. This means we only care about seeing how the inputs and outputs get produced or made or changed.

For humanistic fields, we visualise the network of actions of participants in a chain-reaction sort of manner.

Conclusion

Clearly, complexity or understanding it is about linking things together and having a good mental picture of them. But different discplines have different ways to approach this. By observing interviews of experts and their thought process, we can put the right words to them and try to adapt them so we can learn faster.