Features of Computation
What are computational methods?
- In A Level Computer Science, computational methods refer to a set of problem-solving techniques that use algorithms and mathematical models to analyse, simulate, and solve complex problems efficiently using a computer
- It’s important to consider if problems can be solved using algorithms and programming code
- For example:
- Sorting a list of numbers is feasible using algorithms like quick sort or merge sort
- But ethical problems or social problems, like determining if a loan should be approved, may incorporate some human input that algorithms could oversimplify or misinterpret
Real-world constraints on computable problems
- Practical limitations such as computing power, speed, and memory can affect whether a problem is solvable
- Running complex machine learning models on a regular laptop might be constrained by limited processing power and memory
Challenges with resource-intensive problems
- Some problems are theoretically solvable but not practical due to resource limitations
- For example, calculating Pi to a billion decimal places is theoretically possible but impractical due to the amount of computational resources needed
Advances in technology
- Technological improvements have expanded the types of problems that can be computationally solved
- For example, genome sequencing has become quicker and more affordable due to advances in technology
Example
- Below is a table of problems identified for an online grocery business
- The table shows which problems are computational and a reason why
| Problem Description | Computational Problem (Yes or No) | Justification |
|---|---|---|
| Inventory levels are not updated in real-time | Yes | Real-time syncing can be achieved through algorithms |
| High rate of employee turnover | No | Root causes are likely cultural or managerial, not algorithmic |
| Incorrectly sorted products in the delivery van | Yes | Sorting algorithms can optimise placement for efficiency |
| Long wait times for customer service | Yes | Queue algorithms can improve response times |
| Poor route optimisation for delivery trucks | Yes | Routing algorithms exist for this specific problem |
| Inadequate marketing strategies | No | Marketing strategies often require creative and human-centric solutions |
Worked Example
The table below outlines various challenges in a public transportation system.
Evaluate each problem and decide whether it is computational and justify each of your decisions.
| Problem Description | Computational
(Yes or No) | Justification | | -------------------- | --------------------------- | ------------- | | Frequent train delays | | | | Overcrowding in peak hours | | | | Difficulty in finding the shortest route | | | | Vandalism in the stations | | | | Inconsistent fare pricing | | | | Inaccurate timetable | | |How to Answer This Question
- Review the Table: Take a moment to read through the problems listed and think about whether a computational solution would be possible
- Fill in the Table: In the “computational” column, specify whether the problem should or should not be solved computationally
- Justify your answers: In the last column, justify your decision for each problem briefly
Answer: | Problem Description | Computational
(Yes or No) | Justification | | -------------------- | --------------------------- | ------------- | | Frequent train delays | Yes | Real-time tracking and predictive algorithms can help in better scheduling | | Overcrowding in peak hours | Yes | Load-balancing algorithms can redistribute passengers or add more trains during peak hours | | Difficulty in finding the shortest route | Yes | Route-finding algorithms can quickly identify the most efficient path | | Vandalism in the stations | No | Requires human intervention such as increased security personnel | | Inconsistent fare pricing | Yes | Dynamic pricing algorithms can ensure fare consistency | | Inaccurate timetable | Yes | Timetabling algorithms can generate more accurate and optimised timetables |