2.2.2 Computational Methods Flashcards
1
Q
What is abstraction?
A
- Separating ideas from reality
- Removing unnecessary details in order to simplify complex problems
2
Q
What is the halting problem?
A
- He proved that there are problems that exist that are not computable
- Some problems cant be solved by computers
3
Q
What were the limits of algorithms held on until later?
A
- Existing hardware
- Memory size
- Processor speed
4
Q
What are tractable problems?
A
- A tractable problem is any problem that can be solved in polynomial time or better
- The algorithm to solve the problem will run quickly enough to be practical and usefuk
5
Q
We are interested in algorithms that can solve problems …
A
- In a reasonable amount of time
- Using a reasonable amount of memory
6
Q
What are intractable problems?
A
- Any problems that can’t be solved in polynomial time or better.
- As soon as input increases - computer takes longer to solve
- Can use heuristics for intractable problems that find a “good enough” answer
7
Q
What are some features of tractable problems that make them great for computational methods?
A
- Enumeration
- Theoretical Approach
- Abstraction/ Decomposition
- Simulation and Automation
8
Q
What is Enumeration?
A
- Designing an algorithm that performs an exhaustive search and attempts all possible solutions until the correct one is found.
9
Q
What is Theoretical Approach?
A
- Putting a problem into pure theory and becomes easy o represent using mathematic equations.
- Computers are great at math’s - better to solve algorithms
10
Q
What is Simulation?
A
- Process of designing a model of a real system in an attempt to understand its behaviour
11
Q
What is automation?
A
- Building problem solving models and putting them into action
- Both simulation and automation make heavy use of abstraction and turn complex problems into 1 that can be more easily solved by algorithms.
12
Q
What are the key principles of computational methods?
A
- Decomposition
- Pattern Recognition
- Abstraction
- Calculations and storage
13
Q
What is Problem Recognition?
A
- It is the ability to “recognise/ acknowledge” that an issue exists or that a situation needs attention in an existing process/program
- Define the problem and determine what it is
14
Q
When presented with a scenario for problem recognition what are some questions to think about?
A
- Is there a problem that needs to be solved?
- If so what is the nature of the problem?
- What data do you need to acquire in order to understand the problem
- What variables are in play that could alter the current state of the problem
- What techniques should be put into consideration
15
Q
What is Problem Decomposition?
A
- Process of taking a large problem and breaking it down into several smaller problems
- Depending on size and complexity of the problem, these smaller problems can often be broken down further
- Repeat process, explore the problem until each lowest level boxes represent a single task/ action which can be put into a procedure, module, function or method.