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

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Complexity Theory Lecture 6
University of Queensland
Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)
1 Complexity ©D.Moshkovitz Cryptography Where Complexity Finally Comes In Handy…
Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Cryptography and Network Security
Proof, Computation, & Randomness Kurt Gödel John von Neumann and Theoretical Computer Science Avi Wigderson School of Mathematics Institute for Advanced.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
March 11, 2015CS21 Lecture 271 CS21 Decidability and Tractability Lecture 27 March 11, 2015.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Complexity and Cryptography
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
Perfect and Statistical Secrecy, probabilistic algorithms, Definitions of Easy and Hard, 1-Way FN -- formal definition.
HSC: Building Stream Cipher from Secure Hash Functions Juncao Li Nov. 29 th 2007 Department of Computer Science Portland State University.
CS470, A.SelcukPublic Key Cryptography1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Public Key Cryptography Topical Lecture Week 10. PUBLIC AB Public Key Cryptography A: Hey B, send me an encoded message. This is how you encode a message.
Discrete Structures for Computer Science Ruoming Jin MW 5:30 – 6:45pm Fall 2009 rm MSB115.
The Power of Randomness in Computation 呂及人中研院資訊所.
A Brief Introduction To The Theory of Computer Science and The PCP Theorem By Dana Moshkovitz Faculty of Mathematics and Computer Science The Weizmann.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
1 Trends in Mathematics: How could they Change Education? László Lovász Eötvös Loránd University Budapest.
CPS Today’s topics l Computability ä Great Ideas Ch. 14 l Artificial Intelligence ä Great Ideas Ch. 15 l Reading up to this point ä Course Pack.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do.
Introduction to the Theory of Computation
Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14.
1 Mathematical Institute Serbian Academy of Sciences and Arts, Belgrade DEUKS Meeting Valencia, September 9-11, 2008, Valencia New PhD modules proposal.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
The Complexity of Primality Testing. What is Primality Testing? Testing whether an integer is prime or not. – An integer p is prime if the only integers.
Cryptography Dec 29. This Lecture In this last lecture for number theory, we will see probably the most important application of number theory in computer.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
Discrete Structures for Computing
. CLASSES RP AND ZPP By: SARIKA PAMMI. CONTENTS:  INTRODUCTION  RP  FACTS ABOUT RP  MONTE CARLO ALGORITHM  CO-RP  ZPP  FACTS ABOUT ZPP  RELATION.
Fast algorithm for the Shortest Vector Problem er (joint with Aggarwal, Dadush, and Stephens-Davidowitz) Oded Regev Courant Institute, NYU UC Irvine, Sloan.
Compsci 100, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our lives?
Class 21: Introducing Complexity David Evans cs302: Theory of Computation University of Virginia Computer Science.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Chapter 11 Theory of Computation. © 2005 Pearson Addison-Wesley. All rights reserved 11-2 Chapter 11: Theory of Computation 11.1 Functions and Their Computation.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
9/22/15UB Fall 2015 CSE565: S. Upadhyaya Lec 7.1 CSE565: Computer Security Lecture 7 Number Theory Concepts Shambhu Upadhyaya Computer Science & Eng. University.
Of 27 12/03/2015 Boole-Shannon: Laws of Communication of Thought 1 Laws of Communication of Thought? Madhu Sudan Harvard.
Copyright 2012, Toshiba Corporation. A Survey on the Algebraic Surface Cryptosystems Koichiro Akiyama ( TOSHIBA Corporation ) Joint work with Prof. Yasuhiro.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
Pseudo-random generators Talk for Amnon ’ s seminar.
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley. All rights reserved.
New Curricula Proposal at FSMN by Miroslav Ćirić & Predrag Krtolica.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Sub-fields of computer science. Sub-fields of computer science.
Part VI NP-Hardness.
CS154, Lecture 18:.
Discrete Mathematics and Its Applications
Where Complexity Finally Comes In Handy…
CS21 Decidability and Tractability
Discrete Mathematics in the Real World
Where Complexity Finally Comes In Handy…
What is Computer Science at Duke?
Where Complexity Finally Comes In Handy…
Presentation transcript:

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), Reproduced with permission in ACM SIGACT News 36, 2 (June 2005),

What Mathematics should CS students learn? Discrete Mathematics: –logic –sets/relations/functions –combinatorics/graphs –probability –automata/formal languages

Traditional Topics –Linear Algebra –Calculus –... –Partial Differential Equations What Mathematics should CS students learn?

Traditional Topic –Linear Algebra √ –Calculus –... –Partial Differential Equations What Mathematics should CS students learn?

Traditional Topic –Linear Algebra √ –Calculus –... –Partial Differential Equations What Mathematics should CS students learn? Central Limit Theorem √

What Mathematics should CS students learn? Traditional Topic –Linear Algebra √ –Calculus √ –... –Partial Differential Equations ?

What should CS students learn from Mathematics? content to be a programmer disciplineart not important methodrigor important

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

What should CS students learn from Mathematics? content to be a programmer disciplineart not important methodrigor important to be a researcher important

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

What should CS students learn from Mathematics? contentdisciplineart methodrigor modelMaths CS (Newton/Liebniz) (Descartes) ? Mathematics (Hilbert)

I will then use the survey to illustrate my points so far. Next: A survey of Computer Science

P = NP ?

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

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

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

modeling business data : QS123 NA55 NA11 Aini Shanti Aini B747 A033 B $399 $500 $211 $188 Aini Shanti B747 A 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

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

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

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

Intel's Pentium bug (1994) x = , y = , 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

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

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?

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

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 )/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

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

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

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

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

What Mathematics should CS students learn? Discrete Mathematics: –logic –sets/relations/functions –combinatorics/graphs –probability –automata/formal languages

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

What should CS students learn from Mathematics? contentdisciplineart methodrigor to be a researcher important

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

What should CS students learn from Mathematics? ContentDisciplineArt methodrigor modelMath CS ?

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

P=NP? NP = co-NP? co-NP = PSPACE? PSPACE = BPP? Maybe: Complexity model is wrong? etc. Complexity Zoo

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!

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