11
Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS Intro to Maths for CS 2013/14

Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Embed Size (px)

Citation preview

Page 1: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Relevance of Maths for CS

John Barnden

School of Computer ScienceUniversity of Birmingham

Intro to Maths for CSIntro to Maths for CS

2013/14

Page 2: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Two Broad Types of Relevance

• Maths coming from the task performed by a program

• maths issues raised by CS concepts/techniques themselves

Page 3: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Task-Imposed Mathematics• computation to help maths investigation itself, e.g.

– testing numbers for primehood– proving mathematical theorems– doing algebraic manipulations– detecting and categorizing mathematical formulas in

documents

• computational science, e.g. – simulation of molecules, galaxies, the weather, …

• massive statistical calculations in data mining and statistical approaches to natural language understanding, etc.

Page 4: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Task-Imposed Mathematics, contd

• maths involved in the mechanical, physical, visual and geographical aspects of robotics and computer games

• Maths involved in recognition and production of facial expressions, gesture, body language, …

• calculation in general tools, e.g.– statistical calculation in database systems– calculations in word-processing and diagram-drawing

software

Page 5: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Task-Imposed Mathematics, contd

• It's not just that you need mathematical sensitivity to understand the imposed task and program it more reliably and helpfully,

• but there can be major maths complications in exactly how the task is done

– e.g., clever ways of streamlining large scientific calculations.

Page 6: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Maths Issues raised by CS Techniques/Concepts Themselves

(there are tastes of all these issues in various modules in this school, some at undergraduate levels and some at master's level)

• Analysis of the "space complexity" and "time complexity" of algorithms (i.e. programs, basically)

– This concerns how much data an algorithm needs to store and how long the algorithm takes, as a function of the "size" of the problem.

– This matter is very important for making intelligent choices of algorithms for particular real-world problems.

– Even if you don’t yourself work out the formulas, you need to understand them and their significance.

[issue introduced in the Foundations module]

Page 7: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Maths Issues raised … (contd)

• Maths involved in the calculations done by a data-structuring technique, e.g. in "hashing"

• Maths involved in the core concepts on which modern "relational“ database software is built

– the word "relational" alludes to an abstract notion of "relation" that brings in complicated mathematical reasoning.

• Maths involved in computer security, notably the cryptography involved in securely encrypting documents sent over the internet, incl. in activities like electronic voting.

Page 8: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Maths Issues raised … (contd)

• Maths involved in the verification of programs - i.e. reliably establishing that a program does what it is meant to do, or uncovering often difficult-to-see cases where it might not.

– Especially difficult and important in modern, highly parallel and distributed computing, interfacing with awkward entities such as people!

[touched upon in Foundations]

Page 9: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Maths Issues raised … (contd)

• Maths (incl. pure, statistical and probabilistic, and calculus) involved in the nature of various advanced, non-traditional sorts of computational framework, such as neural networks, evolutionary computing and quantum computing

– Neural and evolutionary: these are main types of “natural” or “nature-inspired” computing

• Relatedly: maths involved in algorithms for automated learning-- "machine learning".

Page 10: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Maths Issues raised … (contd)• Maths involved in the general abstract notions of what

programs, computers, computation, etc. are.

– this includes proofs of what can and cannot be done through computing (e.g. the "Halting Problem")

– and proofs about the equivalence or otherwise of different computational frameworks.

• Relatedly: precise mathematical specifications of the meaning of individual programs.

• Statistical/probabilistic maths involved in the theory of information and orderedness (cf. "entropy").

Page 11: Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14

Summary: Two Broad Types of Relevance

• task-imposed maths performed by programs

• maths issues raised by CS concepts/techniques themselves