Presentation is loading. Please wait.

Presentation is loading. Please wait.

What should Computer Science students learn from Mathematics? Y. C. Tay Department of Mathematics Department of Computer Science National University of.

Similar presentations


Presentation on theme: "What should Computer Science students learn from Mathematics? Y. C. Tay Department of Mathematics Department of Computer Science National University of."— Presentation transcript:

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


Download ppt "What should Computer Science students learn from Mathematics? Y. C. Tay Department of Mathematics Department of Computer Science National University of."

Similar presentations


Ads by Google