Computational methods Flashcards

1
Q

What is meany 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 3 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 2 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 2 purposes of problem decomposition

A
  • Identify sections which can make use of pre-coded modules or libraries
  • Save time coding
  • 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 if 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 2 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 solve 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 2 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

What is meant by heuristics?

A

Heuristics are a non-optimal, ‘rule-of-thumb’ approach to problem-solving which are used to find an approximate solution to a problem when the standard solution is unreasonably time-consuming or resource-intensive to find

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

What is meant by performance modelling?

A
  • Provides mathematical methods to test a variety of loads on different operating systems
  • Performance modelling provides a cheaper, less time-consuming, safer method of testing applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
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
15
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
16
Q

State 2 advantages of using performance modelling

A
  • Safe
  • Relatively inexpensive
  • Less time-consuming
17
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

18
Q

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

A

Data mining

19
Q

What is meany by data mining?

A
  • Data mining is a technique used to identify patterns or outliers in large sets of data, termed big data
  • Data mining is used in software designed to spot trends or identify correlations between data which are not immediately obvious