Friday, November 23, 2007

Problem Solving

Problem solving is the process by which you get answers to questions, or devise methods to satisfy particular requirements. These can range from easy to difficult and can involve the use of complex processes. Problem solving is a form of Critical Thinking and as such applies to non-trivial tasks.

Examples of areas, which frequently rely on problem solving:

• Computing
• Design
• Engineering
• Experimentation
• Logistics
• Management
• Marketing
• Mathematics
• Physics
• Quality control
• Writing


Problem Solving As Taught In School

School systems generally encourage problem solving but often (and ironically) the workloads and pressure placed on students to make the grade discourages this from happening. Getting high marks and managing workload is best accomplished by not trying to understand all material in depth because it would consume too much time. As a result, problem solving skill development becomes a variable largely left up to the student.

Nevertheless, there's numerous ways to help grow this skill set, regardless of the stage you're at. I'm going to outline ways to stimulate your inner mechanisms to help you solve problems depending on whether they are Shorter Term or Longer Term.


Shorter Term Problem Solving

Shorter term problem solving is used when you are under a time constraint, such as when writing a test or meeting a project deadline. There is a strong reliance on previous knowledge and understanding known analytical "tools". However, you are skimming the surface, since you aren't going as far as you can in gaining a deep understanding. But there are circumstances where it is not desirable to do this anyway, as it would be inefficient for performing the task.

Below is an outline of mental checklists and strategies for shorter term problem solving:

• What is the nature of the problem?

• What are you trying to solve?

• Is this similar to something you've done before? If not, how is it different? What information do you need that is lacking?

• What are the analysis "tools" you have available right now?

• Possibly reword the problem and write it separately so that it's easier to follow and work from

• Don't get stressed. Just calmly turn the problem over and over in your mind until you reach a solution

• Draw a neat, labeled diagram, if applicable

• In problems where you are being asked to generalize, consider looking at specific cases first. For instance, a math problem where you are asked to find a general result in terms of an integer N. Look at cases N=1,2,3... to gain a feel of what is happening for progressively larger numbers

• If you're a student preparing for a test, what are you expected to know and figure out? If you're preparing for a contest (e.g. in math or physics), what is the intended "audience" for this test? What are these people typically expected to know? What are they typically expected to figure out? It can be non-trivial to determine this

• Try to visualize the final answer/solution and then ask yourself how reasonable it is


Longer Term Problem Solving

Longer term problem solving is when there is no rigid time limit, such as research or design problems. In problems like these there is often new ground to cover, with no clear precedent to give direction, meaning there is likely much trial and error before a solution is found. Problems such as these can take days, weeks, months or even years to fully solve. For example, the problem of finding a linkage that can convert rotational motion into straight-line motion, was attempted by many engineers and mathematicians for over 80 years until a French engineer Charles Nicolas Peaucellier (1832-1913) finally solved it.

These problems require a deeper commitment and broader understanding to arrive at the solution. There is overlap with the shorter-term techniques mentioned, but overall the process is much more rigorous.

Below is an outline of mental checklists and strategies for longer term problem solving:

• Understand the derivations that went into the equation(s) you are using

• Think consciously about the processes you are going through as you progress through the solution, and make note of them. This can save time for future problems

• Is it easier to compare this problem to something done before and flesh out the extra details, or just start from scratch?

• What have other people done to solve this particular problem or class of problem?

• What are the fundamentals that you need to know? Are there any specialized analysis methods that can assist you? Computer models?

• Get background information after you've had a chance to think about the problem from different angles. This way the background information makes more sense. After doing this, you can go back to the problem, possibly acquiring additional information as you progress

• After spending some time working on your own and not progressing, ask other people who have experience for help

• Is the solution to this problem part of a larger more general problem?

• What are the main components of the problem? These are the bare essentials for the solution to work (e.g. design). By understanding the key parts you can handle associated complexities more easily

• Should you focus on just one particular aspect of the problem rather than try to visualize everything in its entirety? Top Down versus Bottom Up approach, or a balance of both?

• Think of the problems that you've solved in the past and think about how you found the solutions and what you went through during those processes. What did you waste time on and what helped you? Compare that to your current problem in order to help you arrive at the solution faster

• Is it easier to eliminate wrong answers/possibilities or find the best one?

• Are you getting too theoretical/analytical and overlooking practicality?

• If you're designing, allow for thresholds (tolerances) so that you can adjust some of the variables as you go on

• What is it about the problem you are not getting? Is it a fundamental piece or certain assumptions, which are hindering you? Or, is it a more global lack of understanding on where to begin and how to carry things out? What questions do you need to ask/answer before moving forward?

• Don't get emotionally attached to a wrong approach because you spent so much time and energy on it and want it to work. There are times when you have to let it go and do something else entirely. All the more reason to plan ahead and leave room for modification as you progress

• Iteration. This is common in design. You get a broad sense of what the solution might be and you move back and forth between various possibilities, eventually narrowing those possibilities down until you find what works. This may include building something and testing it and then going back to the drawing board

• Change the way you look at the problem (the perspective) to make it easier. For example, the ways to do "X", versus the ways to not-do "X"?

• What other approaches are there? If the alternative approaches seem improbable that gives you more confidence to stick to your current approach. By doing this you're eliminating obvious wrong choices to help you settle on the right ones

• Sleep on it. Let your unconscious mind work

• Use physics (tangible) to solve a mathematical problem (intangible). In other words, solve a mathematical problem by envisioning a related physics problem and using the (intuitive) physics solution to solve the math problem. For example, what is the maximum area given a constant perimeter closed curve? Imagine filling the interior of the curve with water or air. It would fill no greater than a circular shape (similar to a balloon)

• Look for clues in nature. For example, when designing a robot, analyze the walking motion of certain animals to determine the best ways to have the robot walk. Similarly, look for examples in nature to aid in the development of medicine and treatments

• Imagine the extreme effect of different variables to better understand their influence. For example, increasing the pressure to a very high level would tend to straighten out the flow. Therefore, pressure influences direction

• Scale the problem down to a size you can easily test

• Look at your constraints and plot them versus your functions of interest (e.g. linear programming)

• Some problems are minimal or maximal in nature. Some variables may contribute positively while others may contribute negatively, resulting in a net maximum or minimum at some value. Design problems often require balancing opposing contributions to obtain the optimal configuration

• Don't reinvent the wheel. There are times when the solution is readily available

• Guess (extrapolate) where your solution path is taking you and make the "jump" to get there faster

0 comments: