Image Image Image Image Image Image Image Image Image Image
Scroll to top


Three-Dimensional Thinking and Job Problem

Three-Dimensional Thinking and Job Problem

| On 05, Jul 2006

Three-Dimensional Thinking and Job Problem
Andrei Kossoroukov

Some time ago I was listening to a presentation of different challenges in problem solving processes. The presentation was delivered by Mike Hilton, President of Sunaptic Solutions. One of the challenges was related to the limitations all of us tend to create when solving problems.

There is a well-know cliché, “think outside the box”. In the last few years that phrase has become annoying, and almost nobody has been taking it seriously. The first thought which I personally have hearing that phrase is “think outside the bun”, coming from Taco Bell advertisements.

Instead of “thinking outside the box”, Mike suggested another term, “three-dimensional thinking”. Mike’s presentation inspired me to write this short article.

Chopsticks and triangles
To illustrate the three-dimensional thinking I would like to suggest one well-known old puzzle.

First, one is asked to put together a triangle using three chopsticks, what is a trivial task. Then the person is asked to make two triangles using five chopsticks, what is a rather trivial task too. However, the next task is to make four triangles using six chopsticks without breaking them. Each side of an equilateral triangle should be made of one chopstick. To solve this puzzle one has to move the triangles from the flat surface to the three-dimensional space and make a tetrahedron. The tetrahedron has four triangular sides, and six chopsticks are needed to put it up.

Don’t try to take the “three-dimensional thinking” term literally. It can be four- and fivedimensional, and the dimensions do not necessarily represent space dimensions. Below is an example of another puzzle.

Switches and Light Bulbs
You got 3 light bulbs in a room and 3 switches outside the room on another floor. Each switch is connected to one and only one light bulb. Turning the switches on or off, you cannot see which bulb is going on or off. However, you know exactly which position of the switches means “on” and which one means “off”. You can exit the room and re-enter once. How can you match up the switches to the bulbs?

My first impression of the task when I heard it was “That’s impossible!” I tried to consider all different combinations of switch positions trying to match them with possible combinations of the light bulb states. The number of combinations was not even eight; it was four, since I could not distinguish between the bulbs. All bulbs were the same. What were the possible states? All switches are on, all switches are off, two switches are on and one switch is on, one switch is on and two switches are off. In any of these state combinations there were always at least two switches (or two bulbs) that were undistinguishable.

Well, let’s look at the puzzle from the other angle, I thought. How many positions does a switch have? Only two (off and on). If we match a switch in a selected position with a bulb, we would be able to match two switches with two bulbs only. However we have three bulbs. So far it seems impossible to solve the task.

Think, think… We are trying to consider different states of the bulbs. Well, it is not just the two mentioned above. A bulb can be broken, that’s another state; or can be removed, that’s one more state. How can we break a bulb from outside the room?
I found a solution quite soon. The formal process of thinking of another person could be different though. However, after a number of attempts to think about different states of the switches and bulbs, one finds a state of bulbs that can be achieved using the switches. It is “recently turned off”!
If you turn a bulb on, then wait for a little while, then turn it off and enter the room, the bulb will be off but still warm. That’s the solution! Assuming that all bulbs are off in the beginning, one can turn two switches on, wait a little, and then turn one of them off. One bulb will be off (and cold), one bulb will be on, and the third one will be off but warm. The task that seemed to have no solution is solved. To do it, we added one more dimension, in fact, just a second one, into a one-dimensional (and discrete) system. In addition to the “on/off” dimension we have added the “cold/warm” dimension.

SSIS Challenge
Let’s consider a multi-functional health care computer system with a significantly large database. The database holds millions of records of patient information that was collected from different sources over a number of years. Apparently some patient names and other demographics could be entered incorrectly; short names such as Bill for William are also possible. However, in general, the information is correct, since the data has been used for years and constantly corrected.

Searching for a patient in this system may not bring all relevant results if the exact match is used and the patient name was misspelled. To provide more relevant results it was suggested to use MS SQL Server 2005 Integration Services (SSIS) for search. SSIS has a feature called “fuzzy lookup” that matches the words based on common misspellings or variants.

The architecture of the search looked fine on paper, and the suggested solution was being implemented. However, during the development it was immediately found that the SSIS package was slow. This might not be a problem for a batch task, and, in fact, the solution worked quite fine for those, but it was not acceptable for using with searches initiated from the user interface. The searches were taking 10 seconds and more, which was definitely not an option. Convincing the future users that the slow behavior is something what they should live with was not even considered.

The development team started looking into fixing this problem. Eventually it was found that SSIS is designed to perform well on big volumes, and was not really designed for speed. What could the team suggest?

Well, improving user experience could have been done in a few different ways. Firstly, there were other areas of the code that could have been improved such as the business layer or the UI. However, this would not help in a major way, the best result that could have been theoretically achieved was still not close to the response time that would satisfy users. The other solution was to improve the hardware performance that could possibly result in additional cost for the client. It could be definitely an option to re-write the code without using SSIS, but that would take a lot of development time, and the timeframe was tough.

The solution was found (as you may expect) when the team looked at the problem from a new dimension. The problem was not really the fact that the search speed was slow, rather that the user experienced inconvenience. To improve user experience it was suggested to give users a choice of selecting a search based on exact matching or based on fuzzy lookups. In most cases the user would choose the exact matching search what would return an instant response. In case of the “fuzzy lookup”, the choice would be made consciously and therefore the user frustration would be minimal.

The Job Problem
A few years ago I was having a discussion with a pastor from Minneapolis. The discussion was taking place on one of the Internet forums that provided us with a luxury of unhurried pace of thinking. The topic of discussion was the controversy in the Book of Job, which had puzzled me for many years.

Everyone knows the narrative of the book. Job was an Arabian patriarch who lived in the land of Uz in great prosperity. Job was a sincere and an upright man who feared God. Satan challenged Job’s integrity, and to prove him wrong God gave Job into Satan’s hand. Job lost his children, wealth, and was afflicted with a malignant ulcer. Job had hard time keeping his integrity. The problem that he faced was a contradiction of his system of the world axioms with the reality. He believed that he did not do anything wrong, he did not even say anything against God, and he could not understand why God punished him. Part of his belief was that his suffering must have been a result of a punishment.

The vast part of the Book of Job is the discussion that Job was having with his friends. And the discussion seemed to reach the dead end since there was no reasonable solution of the problem. If the punishment really was a result of Job’s sins then Job is insincere liar. If Job was not such a sinner, then the punishment is unfair, what Job would never expect from God. Job and his friends considered all possible aspects of the problem, looked at it from all possible angles, and none of them satisfied Job. The pastor I had a chat with on that Internet forum called this situation the Job problem. To find a solution of the problem Job had to start thinking beyond that system of axioms he used. He had to look at the problem not even from a different angle but from another dimension. When he realized that he could not judge God and provide human reasons for God actions, he found the solution of the problem.

The Job problems in our live can be solved using three-dimensional thinking, which, in fact, does not always break the system of axioms and assumptions we make, but often extends the axioms and assumptions into another dimension.

In 1970-s the pastor lived in the USSR and was solving his personal Job problem. As you may know, the Communist party in the former USSR was an essential part of the government, state, and power. Becoming a communist was mandatory to the young man who wanted to make his career in a government organization. To the young man that meant having enough money to support his family and even prosper. On the other hand, being a communist meant being involved in activities that the young man considered insincere. For instance, he could not vote in favor of idiotic decisions that communist bosses quite often made. Being in the opposition could cost a career, job, and sometimes freedom.

A joke of those years was that one could not be sincere, clever, and a communist at the same time. A sincere clever man would never become a communist, a clever communist is insincere, and a sincere communist is a fool.

The young man was not a fool, and he wanted to make a career to support his family, but he did not want to become a communist. What to do? He faced his personal Job problem, and the solution was not simple. It may sound simple today, but to make it he needed to move to another dimension of his model of the world. He decided to leave the USSR. He immigrated to the US and became a pastor.

Decision making process is a part of our life. We make decisions every day, and very often we experience a Job problem. To solve the problem we have to realize that our assumptions often create limits beyond which we cannot move. We need to reconsider the assumptions; we have to move to the third (and to the fourth if needed) dimension to solve the problem.

1. Chopsticks and triangles.
The assumption was that we had to construct triangles on a flat surface. Once we decided that we didn’t have to, we found a solution.

2. Switches and Light Bulbs
The assumption was that the bulbs could be in only one of the two states: turned off or turned on. Once we decided that we could determine more that two states (such as recently turned off, for example), the puzzle was solved.

3. SSIS Challenge
The assumption was that users would always need to perform a “fuzzy lookup” when searching for patient records. Once we decided that the users might have a choice of how they wanted to search the database, we solved the problem.

4. The Job Problem
Job’s assumption was that God’s rules could be judged and understood by a man. He had to realize that he could not approach God’s actions with human measurements.

5. The Pastor’s dilemma
Pastor was trying to avoid becoming a communist, but he could not manage it in the USSR. He had to leave the USSR to solve the dilemma.

Interesting enough that trying to solve the problem in two dimensions quite often we hit a limitation. Like a two-dimensional creature that cannot move from inside a circle on a flat surface, we are not able to find a solution before we move into another dimension. About the author: Andrei Kossoroukov has a broad variety of interests. He received a M.S. degree in Mathematics, specializing in numbers theory. After graduation, he applied his knowledge to different practical tasks, primarily in the computer software industry. He has publications on computer programming and information technologies, on methods of applied mathematics and modeling of geochemical processes. Currently he works as a Senior Technical Architect for a system integration company, Visiphor Corporation.

Kossoroukov has also written books on security and capital markets and articles on philosophy and history. In his free time he writes fiction, travels the world, and presents illustrated travel diaries on his web site,

Teaching part time information technology courses for MBA students in Kingston College and Lansbridge University (Vancouver, BC, Canada), Andrei discovered The TRIZ Journal. Since then he has been using the journal as one of the primary sources for inspiration in his lectures. Now his is proud to present to The TRIZ Journal readers his new article, “Three-Dimensional Thinking and Job Problem”.