2.2.2 - Computational methods Flashcards

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

What is meant by a computable problem?

A

A problem that can be solved using an algorithm

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

Give three limiting factors to computable problems

A

● Processing power
● Processor speed
● Computer memory
● Time

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

State two factors which may be considered during the Problem Definition phase

A
  • Strengths and weaknesses of current solution
  • Volume/type/frequency/nature of
  • Inputs
  • Outputs
  • Stored data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the name given to the process in which problems are continually broken down until each subproblem can be represented as a subroutine?

A

Problem decomposition

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

State two purposes of problem decomposition

A
  • Identify sections which can make use of pre-coded modules or libraries
  • Save timecoding
  • Simplify project management
  • Simplify testing and maintenance
  • Faster project delivery
  • Develop sections in parallel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe how the Divide and Conquer technique works

A

The problem size is halved with every iteration. Each individual subproblem is then solved recursively. The solutions to the subproblems are then recombined to form the final solution to the problem.

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

Give two applications of divide and conquer

A
  • Merge sort
  • Binary search
  • Quick sort
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Which programming construct do many problems solved using Divide and Conquer use?

A

Recursion

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

What is representational abstraction?

A

A computational technique in which excessive details are removed to simplify a problem

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

What type of abstraction is used to group together sections of the problem based on their functionality?

A

Abstraction by generalisation

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

State two problem solving techniques

A
  • Backtracking
  • Data mining
  • Abstraction
  • Divide and conquer
  • Visualisation
  • Performance modelling
  • Pipelining
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe how backtracking works

A

The backtracking algorithm works by methodically visiting each path and building a solution based on the paths found to be correct. If a path is found to be invalid at any point, it backtracks to the previous stage and visits an alternate path.

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

When might heuristics be used in problem-solving?

A

When the standard way to solve the problem is unreasonably time-consuming or resource-intensive

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

State two advantages of using performance modelling

A
  • Safe
  • Relatively inexpensive
  • Less time-consuming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is pipelining?

A

A process in which tasks are developed in parallel. The output of one process in pipelining becomes the input of another, resembling a production line.

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

What is the name given to the technique used to identify patterns and trends in large sets of data?

A

Data mining

17
Q

What is decomposition?

A

Splits problem into sub-problems.

Splits these problems further until each problem can be solved.

Allows the use of divide and conquer .

Increase speed of production.

Assign areas to specialities.

Allows use of pre-existing modules.

Allows re-use of new modules.

Need to ensure subprograms can interact correctly.

Can introduce errors.

Reduces processing/memory requirements.

Increases response speeds of programs.