Monday 6 July 2015

Problem Solving

Problem Solving is a broad concept which can be defined as finding the appropriate solution to a problem and ultimately solving it. Just a little comment: when saying Problem Solving, it means fixing the problem by finding and applying the solutions, it is not only finding and applying the solution rather rigorously moving from finding, applying and fixing the problem, a program that accomplishes that is an ideal program, any one of these steps missing may demote the program's efficacy (in my eyes, of course).

Problem Solving involves following important prerequisite questions
What is a Problem?
What is a Solution?
What is Solving?

There can be thousands of answers, but my answers derive from my model of Problem Solving, which I call Pattern Model. According to this model, every single entity, process, action - everything that is observable or un-observable - is stored in the mind as a Pattern. A pattern is a collection of marked recurrent stages of an entity or process where each stage is marked on the bases of time, status, results, modification rate. This is explained in greater detail in Pattern Model.

For Problem Solving Model, we have a huge, complex storage for Patterns. These Patterns are accessed upon every input of a new pattern. The Pattern Recognizer(PR) tries to recognize every Pattern before sending it to storage; and while doing so the PR tags the Pattern as Recognized, Partially Recognized, Unrecognized. Now, there are two most obvious cases when a pattern is considered a problem (i.e. answering the question " What is the Problem with it?"):

A. Incomplete Pattern

B. Unrecognized Pattern

Out of these two the first one is a more obvious situation in which the program will try to detect the Problem and the type of Problem. Before we dwell any further let's see how Problem Solving process occurs.


[Click the above image to enlarge]

This is the whole process in a nut shell.

The above figure is divided into two conspicuous sections: white and pink. The pink section is the real program that tries to solve the problem. The white part is the associated programs. If you notice, the problem solving program requires an accessible storage which is represented as a brown cylinder in the figure. This stores a huge variety of patterns which include incomplete, complete, variation and unique patterns along with the acquired solutions for completing the incomplete patterns. Such a storage is extremely helpful for the Problem Solving program (or Problem Solver) because this program first searches for the solutions for the problems that are already stored for other patterns, the program tries to apply those solutions first. If, after applying those solutions, the incomplete pattern turns into a complete and valid pattern - the solution is stored for that pattern as well. If, after applying those stored solutions, the incomplete pattern does not solve - a new solution is designed by the Problem Solver itself.

Since, all the solutions to patterns are themselves patterns of some sort; therefore, by reading those solution patterns the Problem Solver will generate its own solution pattern.

There are thousands of advantages of a pattern model; since the Pattern Modeler converts both abstract and concrete world into a pattern and therefore allowing the other programs to exploit those patterns in order to comprehend the existing patterns and generate new ones.

This problem solving is just an example of Pattern Model; in fact, Pattern Model is such an expansive technique that it can literally empower the computer to generate thoughts, ideas, creativity, and even enable them to dream! Pattern Model is the back-stage thing in this article, which will be dealt separately in another article.

No comments:

Post a Comment