Adding Complexity Can Help

The human mind is quite good at integrating many loosely related features into a coherent picture.

Therefore it can be helpful to make a problem (computationally) harder by adding more pieces of information or further constraints. Note: We are talking about problems like writing a book, solving a mathematical puzzle, planning a trip.

Once you have a lot of these mosaic pieces, immerse yourself in them and with good chance a coherent picture will emerge.

Examples:


Direct example - which language is easier to read? BF, or Python? Python is an extremely complex language. You can count the BF operators on your fingers.

Sure, but BF is not intended to be easy to read. At worst, complexity is orthagonal to readability. Smalltalk (YMMV) is easy to read and much simpler than Python. But I doubt that Python is easier to read than BF *because* it's more complex.

Alrighty, let's go to a better example - would you rather work in EssAndKayCombinators, or SchemeLanguage? Ultimately, the combinators represent the minimalist subset of the functional paradigm, however complexity is added to make things sensible.

Hmm, I intended this page for real-world problems, but maybe this pattern can be applied to technical problems too. -- .gz


I have done some - minor - world building for RolePlaying, where it is especially important to have a wide range of options at hand, to avoid that the players feel themself forced to follow one (linear) story or plot. Constructing a lot of mostly independent parts and sub-plots beforehand actually simplifies the later game, because in spite of the added complexity, the many pieces seem to fall together in just the right way at the right time and then build a coherent lively picture. -- GunnarZarncke


CategoryProblemSolvingStrategy CategoryComplexity CategorySolutions


EditText of this page (last edited April 3, 2007) or FindPage with title or text search