2.2.2 Computational Methods Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

How does hardware pose limits on computable algorithms?

A

A particular proem may require more memory than is feasible, rendering it ‘unsolvable.’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does exponential complexity pose limits on computable algorithms?

A

The problem requires an exponential amount of work to be done. Using faster/more processors will make little difference.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the computational methods to solve tractable problems?

A
  • Enumeration
  • Abstraction
  • Decomposition
  • Theoretical approach
  • Simulation and automation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is enumeration?

A

Many problems, including puzzles, can be solved using this method.
This involves designing an algorithm that performs an exhaustive search and attempts all possible solutions until the correct one is found.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How is abstraction and decomposition good in solving algorithms?

A

These techniques simplify the complexity of the problem and break it down, making it easier to write an algorithm and solve the problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How does a theoretical approach help solve algorithms?

A

If a problem is reduced to pure theory, it can be represented using mathematic equations.

Computers are great at maths, so these problems are great candidates for being solved by algorithms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is simulation and automation?

A

Simulation - the process of designing a model of a real system in an attempt to understand its behaviour

Automation - building problem-solving models and putting them into action

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does simulation help in solving algorithms?

A

They tend to make heavy use of abstraction and are ways of turning complex problems into ones that can be solved more easily by algorithms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is problem recognition?

A

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 determine exactly what it is.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is problem decomposition?

A

The process of taking a large problem and breaking it down into smaller several sub problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How can you tackle problem decomposition?

A

Using step-wise refinement to produce a top-down modular design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Divide and Conquer?

A

Technique that reduces the size of a problem with each successive iteration.​

It can also refer to the task of splitting a task into smaller tasks, which are then tackled separately.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does (in general) the Divide and Conquer technique work?

A
  1. Take a problem (e.g., a data set)
  2. Apply some rules
  3. Based on the outcome of the rules, discard data that doesn’t match
  4. Repeat the process with data that is left
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is abstraction?

A

Hiding unnecessary detail and showing details that are important in context in order to reduce complexity.

A representation of reality, using symbols to show real-life features or irrelevant features left out. ​

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is backtracking?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is data mining?

A

The concept of analysing vast amounts of data gathered from a variety of sources to discover new information and trends.

17
Q

What is heuristics?

A

Approach to solving problems that allows or even encourages us to make use of our experience and find a solution that can be considered “good enough”.​

18
Q

What is performance modelling?

A

The process of approximating how well models perform using mathematics.

This method is based around the use of simulation and mathematical approximations within those simulations without having to perform detailed testing, which could be prohibited due to time or cost.

19
Q

What is pipelining?

A

Splitting a task into manageable chunks and overlapping these small processes to speed up the overall process.

The data/process is arranged in a series, and the output of one process is the input of the next.

20
Q

What is visualisation?

A

Creating a mental image of what a program will do or how it will work.​

21
Q

Why is abstraction important when solving a problem?

A

When tackling a problem, you need to consider which details are important to the solution and which ones are not.

In any scenario, there would be many variable you would have to consider. No program should aim to replicate all of these variables and their possible interactions.

22
Q

What is ‘Big Data’ ?

A
  • Associated with data mining
  • Refers to extremely large data sets

These can be analysed computationally using various data mining techniques to reveal patterns, trends and associations, especially towards human interactions and behaviour.

23
Q

Where is data mining used in?

A
  • Weather modelling
  • Business and economics
  • Stock market
  • Science and engineering
  • Medical research
  • Law enforcement
24
Q

Why would heuristics be used?

A

Trying to find an exact answer may be unrealistic or even impractical due to hardware limitations. So a solution with a high probability of being correct may be acceptable.

They don’t guarantee the best solution, but the results produced will be satisfactory. This is why heuristics is referred to as the rule of thumb.

25
Q

Why is visualisation needed to solve a problem?

A

This is more beneficial to humans than computers; they can help explain complex situations by presenting the information in a simpler, visual format to make it easier to understand the problem.