2.2.2 Computational methods Flashcards
What are the features that make a problem solvable?
-abstraction and decomposition
-enumeration
-theoretical approach
-simulation and automation
How do abstraction and decomposition make a problem solvable?
Simplify the complexity of a problem and break it down makes it far easier to write an algorithm to solve a problem
How does enumeration make a problem solvable?
involves designing an algorithm that performs an exhaustive search and attempts all possible solutions until the correct one is found
How does a theoretical approach make a problem solvable?
If a problem can be boiled down to pure theory, I becomes easy to represent using mathematical equations
How do simulation and automation make a problem solvable?
-Simulation is the process of designing a model of a real system in an attempt to understand its behaviour.
-Automation is about building problem solving models and putting them into action
-they both make heavy use of abstraction to turn complex problems into more easily solved problems
What are the key principles of computational methods?
-decomposition
-pattern recognition
-abstraction
-algorithms
-calculations and storage
What is problem recognition?
The ability to:
“Recognise and acknowledge that an issue exists or that a situation needs attention in an existing process or program”.
“Define the problem and determine exactly what it is.”
What is problem decomposition?
“The process of taking a large problem and breaking it down into several smaller problems.”
-not all problems are easily broken down by a top-down approach
What is a good way of tackling problem decomposition?
step wise refinement to produce a top-down modular design
What is the aim of problem decomposition?
To end up with small independent modules, which can then be written by a single person or a small team
What is the divide and conquer technique?
A technique that reduces the size of a problem with each successive iteration
-can also refer to the concept of splitting a task down into smaller tasks, which are then tackled separately (similar to decomposition)
What is backtracking?
-The process of incrementally building towards a solution, abandoning partial success when the solution can’t be completed and going back to a previously successful match
-Logic problems, especially those that involve paths or route-finding, can particularly benefit from using backtracking as an approach
What is data mining?
-the concept of analysing vast amounts of data gathered from a variety of sources to discover new information and trends
-It is often associated with the concept of Big Data which refers to extremely large data sets
Who is data mining used by?
-Used by companies to help them maximise their profits
Practical application of data mining:
-Weather modelling
-Science and engineering
-Medical research
-Law enforcement