Tip #24 – Ten Approaches to Improving the Problem-Solving Process


Tip #24 – Ten Approaches to Improving the Problem-Solving Process

Tip #24 – Ten Approaches to Improving the Problem-Solving Process

All problem-solving with computers involves performing actions to reduce the tension between the current Actual state and some future Ideal state.

The actions that are used to reduce the tension involve:

1) storing/retrieving data; or

2) performing operations on the data

This problem-solving process can be visualized as trying to find shortest distance between a current location and a desired destination on a map.

The Ten Approaches to Improving the Problem-Solving Process

1. Artificial Intelligence – if current state and desired state are known, the computer determines difference between between two states, and decides what actions are needed to transform current state into ideal. If ideal state is not known and an algorithm is known for determining when you are getting closer to ideal state, computer tries possibilities and selects those that agree with the algorithm.

2. Business Intelligence – we may not know what ideal state is –Business Intelligence just tries to surface actionable information from an ocean of data. Then, the user can then select which “actionable information” looks best. Business intelligence brings a wide variety of information into a single data warehouse, converts the various terms used in talking about the data into a single language by creating a data dictionary. Then, it surfaces actionable information by creating dashboards  and scorecards.

3. Expert Systems – In this situation, you may not know destination, but a map of all actions (or roads) is available (e.g. think of a medical application where you only know symptoms and are looking for root cause of the symptoms) – Instead of giving the person an entire reference manual or map, you ask the person a set of “narrowing questions” that “zero in” on the target destination. Experts have mapped the entire terrain already, and the computer is used to help you quickly navigate to the desired location.

4. Reusable Components – A reusable component is like having the car created for you with the fuel needed to drive down a given road.  This automates the effort involved in going down a paticular street, but is of no help if street is not between the current location and the destination.

5. Wizards – Good if problem can be solved by using same general steps with different options at each step.

6. Reusable Services – A reusable service is just like having only the fuel for the car created for you. This reduces the effort involved in going down a given road, provided the road is between the current location and the destination.

7. Automate Redundant Steps – When the same steps are repeated over and over, effort can be saved by automating them.

8. Summarize Data – When data is very detailed, effort can be reduced, and clutter removed, by using abstraction.

9. Improve Natural Interface – The interface between the user and the computer is extremely important in solving problems. By using voice recognition, visual recognition with web cams, gestures, and other similar techniques, the interface between the computer and the person entering the data, or the person trying to solve the problem, can be made more “natural,” and this can be an important approach to simplifying the problem-solving process. The Natural Interface also has two sides – it also applies to how we receive information back from the computer. Windows Presentation Foundation has provided many new improvements on how we receive information.

10. Use Microsoft Robotics – Some problems require that we get outside the computer and perform operations on material objects, rather than just data. Microsoft Robotics allows one to apply Artificial Intelligence and Automation to objects that lie beyond the computer.

LearnVisualStudio is currently having a sale on all of its memberships. Click on the link below to receive your discount now:



Learn Visual Studio.NET