2.2.2 Computational methods Flashcards
What is meant by a computable problem?
A problem that can be solved using an algorithm
Give three limiting factors to computable problems
- Processing power
- Computer memory
- Time
What are tractable problems?
Problems that are considered to be computable // can be solved using computational methods
Decomposition
- Breaking a complex problem into manageable sub-problems
- The lowest sub problems can be coded as a procedure, module, function or method
Abstraction
Removing unnecessary features and keeping the necessary features that are important in context
Enumeration
Method that involves designing an algorithm that performs an exhaustive search and attempts possible solutions until the correct one is found
Simulation
- Process of designing a model of a real system to understand its behaviour
Automation
Building problem solving models and putting them into action
Theoretical approach
- Problem is represented using mathematical equations
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
Divide and conquer
A technique that reduces the size of a problem with each successive iteration
Divide and conquer steps (4)
- Take a problem/data set
- Apply some rules
- Based on the outcome of those rules, discard any data that doesn’t match
- Repeat the process with the data that is left
Backtracking
The process of incrementally building towards a solution, abandoning partial success when the solution cannot be completed and going back to a previously successful match
Data mining
The concept of analysing vast amounts of data gathered from a variety of sources to discover new information and trends
Practical applications of data mining
- Business and economics
- Science and engineering
- Law enforcement
Heuristics
An approach to solving problems that allows/encourages us to make use of our experience and find a solution that can be considered good enough
Performance modelling
The process of approximating how well models perform using mathematics
Pipelining
Splitting up a large task into manageable chunks and overlapping these smaller processes to speed up the overall process
Visualisation
Creating a mental image of what a program will do or how it will work
What are the advantages of using a visualisation?
- Presents info in a simpler form to understand
- Can best explain complex situations
Characteristics of a problem that are needed to be solved using computational methods
- Problems to be clearly defined
- Needs to be computable
- Data requirements