Download presentation
Presentation is loading. Please wait.
Published byEmily Morrison Modified over 9 years ago
1
What should Computer Science students learn from Mathematics? Y. C. Tay Department of Mathematics Department of Computer Science National University of Singapore Proc. Asian Technology Conference in Mathematics, Singapore (Dec. 2004), 38--51. Reproduced with permission in ACM SIGACT News 36, 2 (June 2005), 131--143.
2
What Mathematics should CS students learn? Discrete Mathematics: –logic –sets/relations/functions –combinatorics/graphs –probability –automata/formal languages
3
Traditional Topics –Linear Algebra –Calculus –... –Partial Differential Equations What Mathematics should CS students learn?
4
Traditional Topic –Linear Algebra √ –Calculus –... –Partial Differential Equations What Mathematics should CS students learn?
5
Traditional Topic –Linear Algebra √ –Calculus –... –Partial Differential Equations What Mathematics should CS students learn? Central Limit Theorem √
6
What Mathematics should CS students learn? Traditional Topic –Linear Algebra √ –Calculus √ –... –Partial Differential Equations ?
7
What should CS students learn from Mathematics? content to be a programmer disciplineart not important methodrigor important
8
What should CS students learn from Mathematics? contentdisciplineart methodrigor MathematicsCS definitiondata structure does 2 divide 2 ?example: Common virus trick : buffer overflows lemma/theoremsubroutine/procedure example:{ x : x >0 } contains a minimumAriane 5 rocket explosionproofalgorithm example:if... then...example:one-page proofthousand-line codegcd (b, c)=d d=bx+cy definition
9
What should CS students learn from Mathematics? content to be a programmer disciplineart not important methodrigor important to be a researcher important
10
What should CS students learn from Mathematics? contentdisciplineart methodrigor formalizing concepts with definitions gaining intuition from examples formulating conjectures to capture intuition proving conjectures with lemmas/theorems deriving corollaries/generalizations how to construct a theory
11
What should CS students learn from Mathematics? contentdisciplineart methodrigor modelMaths CS (Newton/Liebniz) (Descartes) ? Mathematics (Hilbert)
12
I will then use the survey to illustrate my points so far. Next: A survey of Computer Science
13
P = NP ?
14
functions NPP (fast computation possible) n is a prime n is not a prime if n has a factor d such that 1<d<m otherwise P = NPP PP NP P = NP ? f PRIME f FACTOR
15
traditional cryptography decryption key = encryption key (secret) public key cryptography decryption key encryption key (secret) (public) example: p q = n primes P easy to generate p, q P hard to factor n to get secret p,q P = NP ? f PRIME f FACTOR Public key cryptography security datanetwork electronic commerce
16
factorization try one factor at a time slow try all factors simultaneously fast possible with quantum states danger to public key cryptography P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network quantum physics
17
modeling business data : QS123 NA55 NA11 Aini Shanti Aini 88235235 11220000 88235235 B747 A033 B747 200 16 200 $399 $500 $211 $188 Aini Shanti 88235235 11220000 B747 A033 200 16 QS123 NA55 NA11 B747 A033 B747 QS123 NA55 NA11 Aini Shanti Aini $399 $500 $211 $188 or relational database ($$$) Mathematically, table relation P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics
18
putting business data on the web: XML <!ATTLIST PRODUCT NAME CDATA #IMPLIED CATEGORY (HandTool|Table|Shop-Professional) "HandTool" INVENTORY (InStock|Backordered|Discontinued) "InStock"> <!ATTLIST SPECIFICATIONS WEIGHT CDATA #IMPLIED POWER CDATA #IMPLIED> <!ATTLIST OPTIONS FINISH (Metal|Polished|Matte) "Matte" CASE (HardShell|Soft|NotApplicable) "HardShell"> <!ATTLIST PRICE WHOLESALE CDATA #IMPLIED STREET CDATA #IMPLIED SHIPPING CDATA #IMPLIED> ]> example: formal language: grammar to generate XML documents automata theory: how to parse XML documents XML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics
19
telephone traffic good model Internet traffic bad model Poisson process fractals XML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics
20
UKXYZ China... ISP how much should Y charge for forwarding traffic? pricing game ISP profit network efficiency games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics
21
Intel's Pentium bug (1994) x = 4195835, y = 3145727, specification implementationhardware bug verification = proof that gates/circuits satisfy specification $$$ specification implementation verificationhardware bug games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics computability Computer Science verification complexity
22
Distributed Computing: Geographically separated computers collaborate through message exchange to achieve some global objective Example: Power blackout Computer that control power generators should agree on powering up sequence possible? complexity Computer Science computability distributed computing
23
Assume computers C 1,..., C n want to reach consensus by exchanging messages; each C k can fail and message delay is unbounded Impossibility Theorem: No algorithm can guarantee fault-tolerant consensus. relativity fault-tolerant consensus distributed computing complexity Computer Science computability Proof?
24
How to overcome Impossibility Theorem? One way: randomized algorithms (when stuck: toss a coin) consensus achievable in practice, computed by randomization (but with small error probability) power of randomization relativity randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability
25
how to toss a coin in an algorithm? X 0 =2004 deterministic but “look” random Is there a pseudo-random number generator such that no fast algorithm can distinguish its output from a “true” random sequence? Yes P NP pseudo-random number generator X k+1 =remainder ((1317X k +26797)/121072) X 1 =45525 X 2 =84218 X 3 =55891 relativity pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability
26
another impossibility result: if program P halts when run on input D otherwise Halting Problem: Is there an algorithm to compute ? Theorem: No. pseudo-random number generator relativity Halting problem randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability
27
Can aliens in another galaxy compute and solve fault-tolerant consensus? Answer: No magic: Church-Turing Thesis magic? relativity universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability
28
Church-Turing Thesis: is computable (by any means) is computable with a Turing machine thesis theorem in Mathematics law in Physics Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability
29
verification relativity Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics end of survey
30
What Mathematics should CS students learn? Discrete Mathematics: –logic –sets/relations/functions –combinatorics/graphs –probability –automata/formal languages
31
logic automata graphs formal languages verification Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics relativity combinatorics probability
32
What should CS students learn from Mathematics? contentdisciplineart methodrigor to be a researcher important
33
relativity verification Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics method
34
What should CS students learn from Mathematics? ContentDisciplineArt methodrigor modelMath CS ?
35
relativity verification Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics model
36
P=NP? NP = co-NP? co-NP = PSPACE? PSPACE = BPP? Maybe: Complexity model is wrong? etc. Complexity Zoo
37
relativity verification Church-Turing Law Science universality Halting problem pseudo-random number generator randomized algorithms fault-tolerant consensus distributed computing complexity Computer Science computability games fractalsXML P = NP ? f PRIME f FACTOR Public key cryptography data security electronic commerce network relations quantum physics model Thank You!
38
What should Computer Science students learn from Mathematics? Y. C. Tay Department of Mathematics Department of Computer Science National University of Singapore
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.