Well, again, we continue to discuss problem solving, same as the last two posts in the series. 


Similarities between creativity and problem solving

  1. Both emphasize solution-efficacy.
  2. Both derive from knowledge, information, resources and experience.
  3. Both involve insights.

Stages of creative discoveries

  1. Preparation: Gathering information and resources. 
  2. Incubation: Sitting on the thought for a while as your mind works subconsciously, or as a missing link falls into place. 
  3. Insight: A big idea/discovery that pops into your head. 
  4. Verification: Is the idea/discovery any good?


Constructing the problem space

  1. Register the information.
  2. Store relevant information.
  3. Determine initial state(s), goal state(s), assumptions, heuristics, legal moves/operations and intermediate problem states. 

Solving the problem

Broad approach

  1. Simulate different paths to the goal state.
  2. Try different configurations of the resources.
  3. Transform and retrieve stored info as needed. 
  4. Find the best solution in terms of the best trade-off between solution-efficacy and resource-optimization. 

The general problem solver (GPS)

  1. A limited working memory with rapid storage and retrieval. 
  2. A high capacity long-term memory with slow storage and retrieval.
  3. A serial processor to handle tasks, one at a time, in rapid succession. 
  4. Heuristics and assumptions to simplify and optimize the process. 

Wickelgreen’s State Action tree

The basic principle is that there are certain actions that can be taken from any given state until the goal state is attained. The chain of actions represent a tree where each branch is an action that takes you to the next state. According to Wickelgreen, the following aspects hold when operating through a state-action tree:

  1. Inference. Information analysis to decide the action to take in a state.
  2. Action-sequence. In what order to take the actions.
  3. State evaluation and Hill Climbing. Once the action is taken, evaluate the state to see if you are on the right path and going in the right direction. 
  4. Subgoals. Subgoals help to break up the problem and minimize state-action errors. 
  5. Contradiction. There is contradictory evidence against a state that you’re supposed to be in. 
  6. Back-tracking. Retracing the path to the last verified state-action point and starting there again. 
  7. Finding relationships in the problem. Maybe you don’t need to go through the entire state-action space. Maybe, some state-action subspaces of the entire space are related in terms of action-outcomes.

Modeling and successful problem solving

In computer science, modeling is the term used for designing systems that solve problems. Any system that can solve a problem is a model. Each state is its own goal. There are assumptions, heuristics, legal moves that define the system’s behavior — together known as the system’s rationality module. All parts of the rationality module are usually based on mathematical/logical axioms and first principles.

Successful problem solving in computer science is a matter of designing the right model – one that makes the right assumptions, uses the right reinforcement and back-propogation structures, a mathematically rigorous rationality module and sensible heuristics. 

The point of making so many modelling considerations in computer science is to restrict the problem space, and prevent it from becoming too big and thus too resource intensive. 

Criticisms of the computer science approach to problem solving

Problem solving psychology experts say that computer science tries to reduce thematic and semantic complexity into clear mathematical/logical if-then rules or axioms. This is not representative of true problem solving skills. Even though it’s true that a lot of computer science based approaches have led to big insights in human problem solving, the insights have only been useful in constructing broad guidelines. When it comes to the specifics of the operation, what computers do at this time is much too simplistic. For one, we do not restrict the problem space nearly as much as computers do. 


We’re getting to the end of the series now. The next post is entirely going to focus on impediments to problem solving. As always, hope this helped and feel free to sound off in the comments!