2.2.2 Computational Methods Flashcards
(30 cards)
What is abstraction?
- Separating ideas from reality
- Removing unnecessary details in order to simplify complex problems
What is the halting problem?
- He proved that there are problems that exist that are not computable
- Some problems cant be solved by computers
What were the limits of algorithms held on until later?
- Existing hardware
- Memory size
- Processor speed
What are tractable problems?
- A tractable problem is any problem that can be solved in polynomial time or better
- The algorithm to solve the problem will run quickly enough to be practical and usefuk
We are interested in algorithms that can solve problems …
- In a reasonable amount of time
- Using a reasonable amount of memory
What are intractable problems?
- Any problems that can’t be solved in polynomial time or better.
- As soon as input increases - computer takes longer to solve
- Can use heuristics for intractable problems that find a “good enough” answer
What are some features of tractable problems that make them great for computational methods?
- Enumeration
- Theoretical Approach
- Abstraction/ Decomposition
- Simulation and Automation
What is Enumeration?
- Designing an algorithm that performs an exhaustive search and attempts all possible solutions until the correct one is found.
What is Theoretical Approach?
- Putting a problem into pure theory and becomes easy o represent using mathematic equations.
- Computers are great at math’s - better to solve algorithms
What is Simulation?
- Process of designing a model of a real system in an attempt to understand its behaviour
What is automation?
- Building problem solving models and putting them into action
- Both simulation and automation make heavy use of abstraction and turn complex problems into 1 that can be more easily solved by algorithms.
What are the key principles of computational methods?
- Decomposition
- Pattern Recognition
- Abstraction
- Calculations and storage
What is Problem Recognition?
- It is the ability to “recognise/ acknowledge” that an issue exists or that a situation needs attention in an existing process/program
- Define the problem and determine what it is
When presented with a scenario for problem recognition what are some questions to think about?
- Is there a problem that needs to be solved?
- If so what is the nature of the problem?
- What data do you need to acquire in order to understand the problem
- What variables are in play that could alter the current state of the problem
- What techniques should be put into consideration
What is Problem Decomposition?
- Process of taking a large problem and breaking it down into several smaller problems
- Depending on size and complexity of the problem, these smaller problems can often be broken down further
- Repeat process, explore the problem until each lowest level boxes represent a single task/ action which can be put into a procedure, module, function or method.
What is step-wise refinement and top-down modular?
- Using step-wise refinement to produce a top down modular design
- Way of tackling problem decomposition
Exam Question: Describe how decomposition can be used in the design of the game Four in a Row
- Breaks a problem down into component parts
- Game can be divided into subprograms
- Subprograms can then be programmed as subroutines
What is Divide and Conquer?
- Is a technique that reduces the size of a problem with each successive iteration
- Splitting a task down into smaller tasks which are then tackled separately.
What is backtracking?
- Process of incrementally building towards a solution and abandoning partial success when the solution can’t be completed and going to a previously successful match
- Used for logic problems, path/route-finding
What is Data Mining?
- Analysing vast amounts of data gathered from a variety of sources to discover new information and trends
What can Data Mining be seen in?
- Used by companies to maximise profits.
- Weather Modelling
- Business and Economics
- Stock Market
- Medical Research
What is Heuristics
- Rule of thumb
- Make use of our experience to find a solution that is good enough
- A solution that has high probability of being correct may be acceptable and provide good results
Exam Question: A multi national retailer has a very large database, storing customers, stock and orders. The retailer uses data mining to retrieve a variety of information. Explain how they will use data mining?
- Can look for links between a customer’s purchases
- Give recommendations for further purchases
- Check for days/times/months where increases are likely and what the increase will purchase
- Matching sales
What is Performance Modelling?
- Process of approximating how well models perform using mathematical approximations and simulations