Juggling exploration and exploitation in intuition
I spend my life building abstractions and automating processes. It’s (literally) my job, yes; but my head’s always whirring away to that end.
Say I’m tackling some piano piece. I transform the score’s markings into musical language. I reify that musical language into instructions: “play this key here,” “increase in volume,” etc. I execute those instructions via complex musculature. Reacting to the sound produced, I form an interpretation which (hopefully) maps emotion onto the score via a series of fine adjustments.
I’ve spent many years automating these processes, relegating always more to my subconscious. I find even now that my playing of a passage will never match the sound in my head until it’s memorized, and my hands navigate the keys unbidden. I build these automations by finding patterns and constructing abstractions. I might not be able to read a trio of notes at tempo if I address them individually, but I could recognize their collective shape on the page as an arpeggiated triad or an ascending scale, which I could then execute without further thought.
I suspect intuition is the automation of acts once executed consciously. Of course I’ve built most of this intuition unconsciously, but as I’ve begun to study studying, I’ve tried to exert conscious control of that growth. Cognizance has been the primary mechanism: constant reflection on and criticism of my actions informed by their outcomes.
Now I wonder: if I automate ever more layers of activity so I can focus my attention on higher levels still, can I ever stop scrutinizing the automated abstractions? What if a powerful new skill won’t emerge until I change the way I’ve always intuitively performed some basic task? Maybe the skill tree’s actually a maze, and I need to backtrack!
I’ve found new layers of understanding in my work1 that required me to abandon fundamental concepts I’d automated long ago. And in my piano education, I’ve spent years unlearning bad habits I developed as a child. So how should we balance exploration and exploitation here? It seems we can trust nothing, yet if we spend all our time questioning assumptions, we’ll never draw any conclusions.
- Including (software engineering alert!): fun with dependent, existential, and generalized abstract data types; invisible (to me) dangers in traditional asynchronous models; the ubiquitous and unformalized transactions and state machines in imperative logic; the value of immutable memory; knitting together the declarative, functional, and imperative; etc. Someday I’ll write technically about software engineering again…