110 likes | 238 Views
Relevance of Maths for CS. John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2012/13. Two Broad Types of Relevance. task-imposed maths performed by programs maths issues raised by CS concepts/techniques themselves. Task-Imposed Mathematics.
E N D
Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2012/13
Two Broad Types of Relevance • task-imposed maths performed by programs • maths issues raised by CS concepts/techniques themselves
Task-Imposed Mathematics • computation to help maths itself, e.g. • testing numbers for primehood • proving mathematical theorems • doing algebraic manipulations • detecting and categorizing mathematical formulas in text • computational science, e.g. • simulation of molecules, galaxies, the weather, … • massive statistical calculations in data mining and statistical approaches to natural language understanding, etc.
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
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.
Maths Issues raised by CS Techniques/Concepts Themselves • (there are tastes of all these 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. [introduced in the Foundations module]
Maths Issues raised … (contd) • Maths involved in the calculations done by a data-structuring technique, e.g. in "hashing" (more on this later—related to Question 0 of the Personal Quiz) • 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.
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]
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: amongst the main types of “natural” or “nature-inspired” computing • Relatedly: maths involved in algorithms for automated learning-- "machine learning".
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").
Summary: Two Broad Types of Relevance • task-imposed maths performed by programs • maths issues raised by CS concepts/techniques themselves