The inventor's paradox is a phenomenon that occurs in seeking a solution to a given problem. Instead of solving a specific type of problem, which would seem intuitively easier, it can be easier to solve a more general problem, which covers the specifics of the sought-after solution. The inventor's paradox has been used to describe phenomena in mathematics, programming, and logic, as well as other areas that involve critical thinking.
In the book How to Solve It, Hungarian mathematician George Pólya introduces what he defines as the inventor's paradox:
Or, in other words, to solve what one desires to solve, one may have to solve more than that in order to get a properly working flow of information.
When solving a problem, the natural inclination typically is to remove as much excessive variability and produce limitations on the subject at hand as possible. Doing this can create unforeseen and intrinsically awkward parameters.[1] The goal is to find elegant and relatively simple solutions to broader problems, allowing for the ability to focus on the specific portion that was originally of concern.[2] There lies the inventor's paradox, that it is often significantly easier to find a general solution than a more specific one, since the general solution may naturally have a simpler algorithm and cleaner design, and typically can take less time to solve in comparison with a particular problem.
The sum of numbers sequentially from 1-99:
1+2+3+ … +97+98+99
(1+99)+(2+98)+(3+97)+ … +(48+52)+(49+51)+(50)
Although appearing in several applications, it can be easiest to explain through inspection of a relatively simple mathematical sequence.[3]
1+3=4
1+3+5=9
and further along in the sequence:
1+3+5+7+9=25
In allowing the sequence to expand to a point where the sum cannot be found quickly, we can simplify by finding that the sum of consecutive odd numbers follows:[4]
n | |
\sum | |
k=1 |
(2k-1)=n2.
As an example in applying the same logic, it may be harder to solve a 25-case problem than it would be to solve an n-case problem, and then apply it to the case where n=25.[5]
This paradox has applications in writing efficient computer programs. It is intuitive to write programs that are specialized, but in practice it can become easier to develop more generalized procedures.[6] According to Bruce Tate, some of the most successful frameworks are simple generalizations of complex problems, and he says that Visual Basic, the Internet, and Apache web servers plug-ins are primary examples of such practice.[2] In the investigation of the semantics of language, many logicians find themselves facing this paradox. An example of application can be seen in the inherent concern of logicians with the conditions of truth within a sentence, and not, in fact, with the conditions under which a sentence can be truly asserted.[4] Additionally, the paradox has been shown to have applications in industry.[1]