SLR24 Notes Flashcards

1
Q

What is a computable problem?

A

A computable problem is one that can be solved with algorithms.

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

What is a tractable problem?

A

A tractable problem is one that can be solved in polynomial time or better, meaning it runs quickly enough to be practical and useful.

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

What is an intractable problem?

A

An intractable problem is one that cannot be solved in polynomial time or better, meaning it becomes unsolvable within a reasonable time frame as input size increases.

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

What is a heuristic method?

A

Heuristic methods can be used to solve intractable problems by sacrificing the optimal answer for one that is ‘good enough’.

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

How can abstraction and decomposition help solve problems?

A

Abstraction and decomposition simplify the complexity of a problem, making it easier to write an algorithm to solve the problem.

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

What is enumeration?

A

Enumeration involves designing an algorithm that performs an exhaustive search and attempts all possible solutions until the correct one is found. It is useful for puzzles.

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

What is a theoretical approach in problem-solving?

A

A theoretical approach involves reducing the problem to pure theory, represented using mathematical equations, making it easier for computers to solve.

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

What is simulation?

A

Simulation involves designing a model of a real system to understand its behavior.

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

What is automation?

A

Automation involves building problem-solving models and putting them into action, often using abstraction to turn complex problems into solvable ones.

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

What is problem recognition?

A

Problem recognition is the ability to recognize that a problem exists and to define it clearly, including identifying the system requirements.

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

What questions help with problem recognition?

A

Questions include: Is there a problem? What is its exact nature? What data is needed? What variables are involved? What processes and techniques should be considered?

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

What is problem decomposition?

A

Problem decomposition is the process of breaking a large problem into smaller, more manageable subproblems, making the project easier to manage.

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

What is step-wise refinement?

A

Step-wise refinement is a method of breaking down a problem into smaller modules, which can be tested in isolation before integration into the final solution.

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

How does problem decomposition aid in development?

A

Decomposition allows multiple parts of a project to be developed in parallel, speeding up delivery and making debugging easier.

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

What is the divide and conquer technique?

A

Divide and conquer reduces the size of a problem with each iteration by halving the problem and solving the subproblems recursively.

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

What is the principle of ‘decrease and conquer’?

A

Decrease and conquer is similar to divide and conquer, but the problem is reduced by less than half in each iteration.

17
Q

What is the time complexity of divide and conquer?

A

Divide and conquer generally has a time complexity of O(logn), where the time taken to solve does not grow as significantly as the problem size increases.

18
Q

What is representational abstraction?

A

Representational abstraction removes excessive details to simplify a problem, allowing programmers to focus on the core aspects of a solution.

19
Q

What is abstraction in computer games?

A

In computer games, abstraction allows developers to focus on the realism and enjoyability of the game without trying to replicate every variable and interaction.

20
Q

What are levels of abstraction?

A

Levels of abstraction allow complex projects to be split into simpler components, making it easier for teams to work on different layers of a system.

21
Q

What is abstraction by generalisation?

A

Abstraction by generalisation creates a broader concept by focusing on common features and ignoring specific details.

22
Q

What is backtracking?

A

Backtracking is a method where partial solutions are built incrementally, and if the solution cannot be completed, it backtracks to a previous successful state.

23
Q

What is data mining?

A

Data mining is the process of analyzing vast amounts of data to discover trends, correlations, and outliers that are not immediately obvious.

24
Q

What is Big Data?

A

Big Data refers to large datasets that are analyzed computationally to reveal patterns and trends, especially in areas like human behavior.

25
Q

What are heuristics in problem-solving?

A

Heuristics use experience and estimates to find an approximate solution when the standard solution is too time-consuming or resource-intensive.

26
Q

What is performance modeling?

A

Performance modeling approximates how well a system performs using simulations and mathematical approximations, which is crucial for safety-critical systems.

27
Q

What is pipelining?

A

Pipelining involves splitting a large task into manageable chunks, processing them in parallel to speed up the overall process.

28
Q

What are visualizations?

A

Visualizations allow us to present data in a more understandable format, helping to identify trends that are not otherwise obvious.

29
Q

What are the uses of visualizations?

A

Visualizations are used to create mental images of how a program works, identify trends, and inform business decisions by representing data as graphs, charts, or tables.

30
Q

What is abstraction’s role in simplification?

A

Abstraction simplifies complex problems by focusing only on the most relevant components, making it easier to develop algorithms.

31
Q

How can decomposition improve problem-solving?

A

Decomposition makes large problems manageable by breaking them into smaller, more understandable sub-problems.

32
Q

What is recursion in backtracking?

A

In backtracking, recursion allows the solution process to explore multiple paths, and backtrack if a solution cannot be completed.

33
Q

What is the goal of divide and conquer?

A

The goal of divide and conquer is to break down a problem into smaller parts, solve the subproblems, and combine them to form the final solution.