problem solving Flashcards
well-defined problems
problems that are clear to understand and the solution has defined expectations.
ill-defined problems
messy problems which are not clear how to solve.
Stages of problem solving
- Understand the problem
- Devise a plan
- carry out the plan
- Review your work
- understand the problem
- do you have all the data?
- is the problem unsolvable?
- do you have to solve the whole problem?
- is it possible to divide the problem?
- Devise a plan
- are the patterns?
- can maths help?
- are the any similar problems that have already been solved?
- Carry out the plan
solve the problem continuously checking youre doing it right
- Review your work
- can the solution be improved?
- is any of the solution reusable?
- is it effectively solved?
Why do algorithms help
- helps understand the problem
- executed more quickly
- possible to resort to trial and error
problem recognition
The ability to recognize and acknowledge that an issue exists or that a situation needs attention in an existing process or program. The ability to define a problem and know exactly what it is.
Computable
a problem is computable is we can come up with an algorithm that will solve every instance of the problem in a finite number of steps
intractable problem
a problem which cannot be completely solved.
problem decomposition
the process of taking a big problem and breaking it down into smaller problems until you fully explored the problems. Each of these smaller problems translate into one task which is more easily programmable as an individual module, function or procedure.
Top-down Problem solving
an approach to solve a problem that involves breaking down the main problem into sub-problems.
divide and conquer
a technique based around reducing the size of a problem with successive iterations. You look at a problem, apply some rules and discard any data that does not match then repeat the process with any information which is left. E.g. binary search.
divide and conquer advantages
- efficient
- short runtime
examples of solving problems using mathematical techniques
- estimating time
- estimating cost
examples of messy problems that need humans to solve/help solve
- predicting the results of a race/ game
- planning shop layouts
- designing a new car
5 methods of problem solving
- enumeration
- simulation
- theoretical approach
- trial and error
- creative solution
enumeration (method of problem solving)
Designing an algorithm that performs an exhaustive search
enumeration example
find the solution to an anagram by testing every permutation of letters
simulation (method of problem solving)
The process of designing a model of a real system in order to understand the behavior of the system, and to evaluate various strategies for its operation
simulation examples
- Financial risk analysis
- Amusement park rides
- Population predications
- Managing inventory systems
- Queueing problems
Theoretical approach (method of problem solving)
the problem be broken down into pure theory and be represented by mathematics
Trial and error (method of problem solving)
If you don’t know how to solve a problem using trial and error may help the process/ completely solve the problem depending on its complexity.
creative solution (method of problem solving)
Finding a solution to a problem which doesn’t follow the expected algorithms and rules but still provides an alternative solution
abstraction
A way of managing complexity hiding some of the detail which is not neccessary and only representing what is important when solving the problem