2.2.2. Computational Methods Flashcards

(14 cards)

1
Q

What is meant by a computable problem?

A

a problem that can be solved using an algorithm, must be solvabel is finite, reasonable period of time and will usually have imputs, outputs and calculations

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

What are 3 limiting factors to computable problems?

A

time
computer memory
processing power

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

What are 2 factors which may be considered during the problem definition phase?

A
  1. strengths and weaknesses to the current solution
  2. types of inputs/outputs and 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 where 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

What are 3 purposes of problem decomposition?

A
  1. sections can be developed in parallel
  2. to identify sections which can make use of pre-coded modules or libraries
  3. to simplify testing and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How does divide and conquer technique work? (3 steps)

A
  1. the problem size is halved with every iteration
  2. each individual subproblem is then solved recursively
  3. the solutions to the subproblem 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

What are 3 applications of divide and conquer?

A

merge sort
quick sort
binary search

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

What type of programming construct do many problems 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 type of abstraction is used to group together sections of problems based on their functionality?

A

abstraction by generalisation

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

What are 3 problem solving techniques?

A

pipelining
abstraction
divide and conquer
backtracking
visualitation
data mining
heuristics

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

How does the backtracking algorithm work? (2 steps)

A

by methodically visiting each path and building a solution based on the paths 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
12
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 (intractable)

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

What are 3 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
14
Q

What is pipelining? (2 things)

A

a process where tasks are developed in parallel
in pipelining, the output of one process becomes the input of another, resembling a production line

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