Computational Methods

Problem Recognition

About Computational Methods

This is how to make a problem solvable. We are making a problem "commutable".

A problem can be solved if you can apply one or more of these approaches:
Enumeration
Simulation
Visualisations
Theoretical Approach
Pattern recognition
Backtracking
Data Mining
Heuristics
Performance modelling
Pipelining
✅ Creative solution

ADD NOTES FROM C&D ACTIVITIES

CS referred to as: The study of problems that are not commutable.

Determining the problem, its cause and how to fix it.
e,g. noticing traffic lights cause a lot of traffic, and doing something about it 🚙

Is? What? Data needed to gather to understand problem fully? To what extend think problem is solvable.

TRAFFIC LIGHT BRIDGE: TIMES OF CONGESTION?

💸Simulation: Modelling a problem.
Financial risk analysis, managing inventory, queuing system (arrival time, time between arrivals, no of servers and service time).

🗒 Enumeration: Designing an algorithm that tries all possible solutions until problem is solved (exhaustive search).
all possible solutions in chess

click to edit

image
🕊 Divide and Conquer: Apply a set of rules then discard what doesn't apply to that.
-looking through a dictionary.

👚Pattern recognition:recognising patterns and regularities in data, e.g. medical diagnosis 👩‍⚕️, speed camera, overcrowded railway platform

image
Performance Modelling
Tests how an algorithm will perform in terms of exacution time and space. Big-O notation measures efficiency, using mathematical approximations. 👄Kylie Jenner Lip kit. 2.5 million people Glastonbury 2019, sold of in 34 minutes.
How will it perform after it is released?
How well will the model perform?

Backtracking: Going down a certain route to solve a problem, realising it is wrong/ there is a better route, take another routes, repeat until exit is fount.

  • Depth first search.
    image

Heuristics find a 'good enough' solutions w/ a high probability of success but will not always give the best possible solution (rule of thumb), most probably due to budgets and time restrictions.

  • taking an 'educated guess' when answering a Q in class
  • path developed by storms and hurricanes 🌬
  • Virus Checking 👾
  • DNA Analysis

Data Mining: Analysing vast amount of data to find trends and patterns in data, eg customer shopping habits can help w/ advertising.

  • Customising preferences (Amazon recommendations)
  • Big data: Collecting and storing huge amounts of data.
  • Wayz, Netflix uses crowd sourced data.

image
Problem Decomposition:

  • Step-wise refinement & Top down modular design
  • Binary Search 🔖

image

image
Visualisation 👁 Visual representation of complex model.

  • Using binary tree hierarchy diagrams to represent tables.
  • Flowcharts
  • Graphs
  • Trees

Pipelining: Multiple instructions exacted at the same time.

  • Intel chips can reach processing speeds of > 3GHz.
    image

👩🏿‍🔬Theoretical Approach: represented by mathematics, security encryption, e,g. a key w/ large prime numbers