Questioning the scope of 'simplicity'
Tue, Sep 14, 2021 ❝Pondering the question of whether the problem - as well as the solution - contributes to 'simplicity'.❞Contents
In the post Refining ‘simplicity’, I decided to move away from the property named ‘specialized’ in favor of ‘dedicated’. I thought it would better cover the intended semantics, as both specialized and specific would equally apply otherwise. In doing so, I intuited that these were both relevant properties, but I could not quite put to words why this is the case. I wanted to write about the scope of simplicity and in multiple attempts to write I realized … it is not that simple.
I will explore and transition from the framing of problem statement & solution to the more general framing of question & answer, to demonstrate that the defined properties apply to ‘simplicity’ in the most general sense.
Intuition
The build-up to this point were the words ‘specialized’ and ‘specific’. Probably a consequence of not being a native English speaker. What are the differences exactly between those two words? (At least, in the way I used them.) Or rather how and where they would apply?
I eventually illustrated it as follows:
Given a specific question, we can define an answer that is specialized for this question.
The next thing that comes to mind is:
Can you call an answer/solution simple, if the underlying question/problem is complicated?
Or, said differently: can you give a simple answer to a complicated question? This seems to be exactly the nature of “scope”-question that I started with. Note that we make a distinction between a complex problem (inherent complexity) and a complicated problem (difficult/elaborate by construction, i.e. by choice).
Bound by the question
The simplicity of an answer might be lower-bound by the complication of the question.
Let us assume that the properties defined in Refining ‘simplicity’: specialized, unoptimized, reduced are correct. The simplest answer to a question, would be an answer in the same domain – at the same level of abstraction – as the question (unoptimized), which answers exactly the question (specialized), and uses only strictly necessary components (e.g. concepts) in doing so (reduced). Hence the question must be specific. The wrong question, e.g. a question posed at the wrong level of abstraction, might still give you an answer but is overly general or otherwise inaccurate.
Note that an argument can be made that changing levels of abstraction can make for a shorter, more concise answer. However, you must also consider the hidden cost of having to understand and operate at multiple levels of abstraction, and its assumptions, limitations and restrictions.
The property dedicated, as chosen in the previous post, captures both a property of the question: specific, as well as a related property of the answer: specialized. Both properties are required for true simplicity, although only one applies to the answer.