Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to...

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

Transcript of Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to...

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