Qualitative improvement for problem solving
Robb Seaton has written an excellent, must read article on the “The Science of Problem Solving.”
In the quest to optimize the process wherein the solver is happier most of the time and is able to do it more quickly, I observed that the approach could be further refined. We can and we should develop a better strategy.
So, here we go.
Key challenge
The article proposes two ideas:
- Leverage the sleep time for the incubation, and
- Think about the problem in different moods
These ideas are plausible. However, they suffer from a steep cost in terms of the time invested for reaping the “aha!” moment.
To discuss the reason and a possible solution, let us introduce a variable called “protag,” short for the protagonist, so that we say that the “Protag wants to solve the problem,” rather than, “We want to solve the problem of improving the problem solving.”
Let’s begin analyzing the terrain. What are the minimum, always available tools for the protag? The triplet: the body, the mind and the intellect.
A few definitions
- What is sleep? A tight binding of the body and the mind.
- What is a mood (happy or unhappy etc.)? A tight binding of the mind and the intellect.
- We can get rid of a minor lemma: the necessity of the sleep. We agree it to be a necessity for obvious reasons. We acknowledge it and leave it because we want to explore another interesting dimension of this “problem solving” hypergraph.
Formulating the conjecture
Could there be a more effective approach, in which, lesser cost in terms of time and physical energy is spent, to improve the problem solving ability?
Search for an answer
Let’s model the problem in terms of protag’s mind’s quest to walk out of the maze. The darker the maze, the scarier the problem.
For the mind trying to navigate through the dark maze, the intellect is the torch that illuminates. The brighter the torch, the easier to avoid obstacles and hence, the faster the solution. The candela of this torch depends on the mind’s ability to recall a specific pattern.
Since the mind can travel faster than light, the protag can optimize the effort required to boost the candela simply by a continual build-up of the pattern library. In other words, the protag need not worry about the mind facing the heavy burden of carrying the library in one hand and the torch in the other.
Why do the bindings matter?
During the navigation, the protag’s mind has reached a door it wants to unlock. It has summoned every single pattern to be applied for unlocking it. In the process, the mind (as algorithm) has exhausted the problem space. How does it react?
It does not know how to react!
In practice, the mind slips into the library of dark patterns and picks up the thing that is on the top of the stack.
It can be a feeling of fatigue, or it can be a tantrum.
The mind yells and throws an egg into an electric fan. Meanwhile, the poor protag, suffering from a tight coupling of the mind and the intellect as well as that of the body and the mind, might actually:
- throw an egg into an electric fan,
- take a drink,
- sleep,
- take a shower, or
- take a stroll in the park — we all get the idea.
Clearly, to bring in a qualitative improvement, the protag ought to work on actively decoupling the body, mind and the intellect, before and during problem solving.
It can start with a realization, that “I am not my mind!” just as “I am not my pen!” Once this realization is internalized, the protag can liberate negative feelings (like “I am exhausted,” “I am angry”) from the stable of dark patterns; treating them more as blinking LEDs indicating exhaustion of the pattern library, rather than “dark walls.”
The protag can then say, “Oh, this LED says that I need to add more patterns in the library, so how about applying the intellect for synthesis of existing patterns. But, exactly how am I supposed to compose them?”
Good question.
By now, must have noticed that, instead of the mind leading the protag to a solution, what is happening is quite the other way? On a happiness scale, this approach looks better. May be, even wiser.
Enriching the library of patterns
We might say that the process for understanding is akin to parsing a new program. During parsing, the type information is generated and most of it is strongly typed as in Haskell. Now that the pattern is parsed, and does not exist in the pattern library, how to store in the library in terms of existing patterns in the library. Summon the Common Lisp and defmacro to the rescue. But, this defmacro must obey one rule:
Never violate type safety, i.e. 2 + “Hello I am an A” is a a big no-no.
Consequently, it should be no surprise that a well-chosen set of primitives, together with a good set of macros is especially valuable. In that sense, we can say that the acquiring knowledge is constant re-factoring of this “language of thoughts.”
Let P be the no. of primitive types and M be the no. of macros.
Then, the size of the library, denoted by L is:
L = P + O(M), in big-O notation.
Intuitively, P < M. But, M “grows”, for each defmacro.
To shrink “M,” the protag must re-factor the existing macros in the library by leveraging macro writing macros.
Essentially, this illustrates the difference between the smart and the smarter,
M(smart) > M(smarter) in numbers, but,
M(smart) < M(smarter) in enrichment due to re-factoring.
As L grows, P should grow O(N), while the growth of M must be tamed from O(N^x) to O(N^y.logN) for some N, x and y, such that x > y.
Building this all important library is more akin to growing a plant from the seeds. How does the protag water this plant?
In other words, how does the protag know that a new macro needs to be introduced?
Thinking about thinking will surely help, but only so much.
The protag can know that for a new macro must be introduced, only when its mind is faced with an unlocked door. Hence, building the library is a constant struggle: the protag must improve the candella by attempting radically new problems. It is going to take time, but lesser, compared to depending on the bolt from the blue.
However, as every seasoned Lisper knows: growing a library of macros, where many of them are macro writing macros, is hard. So, the protag must wander in different disciplines for inspiration: like Physics, Cognitive Psychology, Literature, Music, Maths, Poetry, Sculpture, Sports, and so many different pursuits.
Inspiration
Let’s simplify the definition of an inspiration. An inspiration is an external force that upsets the equilibrium in the protag’s universe, mandating a re-assessment of the library and the eventual struggle to re-factor the macros and in the rare case, the addition of a new primitive.
Wrapping up, let’s look at the pros and cons of this approach.
The pros
- Greater accuracy a.k.a. qualitative improvement
- Faster
- As a nice side effect, finer control over emotions i.e. to be phenomenally happy even during the oddest of the odds
The cons
- Conscious and systematic effort is required to develop the skill.
- Where is the roadmap?
- How does one assess the progress?
- Where does one even begin?
Closing remarks
This merits further thought. But, since we now understand the problem better, we can work towards a better solution.
Thanks
I wish to convey a sense of deep gratitude towards the author of the article. The article left with interesting questions and the pursuit of the answers was both, a profitable and a pleasant outcome.
Comments welcome.