There are two different types of problems, ill-defined and well-defined: different approaches are used for each.Well-defined problems have specific goals and clear expected solutions, while ill-defined problems do not.Finally a solution is selected to be implemented and verified.
However, already in 1958, John Mc Carthy proposed the advice taker, to represent information in formal logic and to derive answers to questions using automated theorem-proving.
A important step in this direction was made by Cordell Green in 1969, using a resolution theorem prover for question-answering and for such other applications in artificial intelligence as robot planning.
In these disciplines, problem solving is part of a larger process that encompasses problem determination, de-duplication, analysis, diagnosis, repair, and other steps.
Other problem solving tools are linear and nonlinear programming, queuing systems, and simulation.
It can also be applied to a product or process prior to an actual failure event—when a potential problem can be predicted and analyzed, and mitigation applied so the problem never occurs.
Techniques such as failure mode and effects analysis can be used to proactively reduce the likelihood of problems occurring.Problem solving in psychology refers to the process of finding solutions to problems encountered in life.Solutions to these problems are usually situation- or context-specific.Researchers' underlying assumption was that simple tasks such as the Tower of Hanoi correspond to the main properties of "real world" problems and thus the characteristic cognitive processes within participants' attempts to solve simple problems are the same for "real world" problems too; simple problems were used for reasons of convenience and with the expectation that thought generalizations to more complex problems would become possible.Perhaps the best-known and most impressive example of this line of research is the work by Allen Newell and Herbert A. In computer science and in the part of artificial intelligence that deals with algorithms ("algorithmics"), problem solving includes techniques of algorithms, heuristics and root cause analysis.The ability to understand what the goal of the problem is, and what rules could be applied, represents the key to solving the problem.Sometimes the problem requires abstract thinking or coming up with a creative solution.Much of computer science involves designing completely automatic systems that will later solve some specific problem -- systems to accept input data and, in a reasonable amount of time, calculate the correct response or a correct-enough approximation.In addition, people in computer science spend a surprisingly large amount of human time finding and fixing problems in their programs -- debugging.The process starts with problem finding and problem shaping, where the problem is discovered and simplified.The next step is to generate possible solutions and evaluate them.