260 likes | 426 Views
310205 Course Info. Mathematics for Computer I Semester 2 2006. 310205 Course Info. Instructor: Seree Chinodom E-mail: seree@buu.ac.th Room SD509 Office hours (tentative) : Monday 3:00 – 4 : 00 PM Course homepage: http://www.cs.buu.ac.th/ ~seree/310205. 310205 Course Info.
E N D
310205 Course Info Mathematics for Computer I Semester 2 2006 310205 Mathematicsfor Comter I
310205 Course Info • Instructor: Seree Chinodom • E-mail: seree@buu.ac.th • Room SD509 • Office hours (tentative): • Monday 3:00 – 4:00 PM • Course homepage: • http://www.cs.buu.ac.th/~seree/310205 310205 Mathematicsfor Comter I
310205 Course Info • Objectives: • To introduce students to the concepts and applications of discrete mathematical structures. • To introduce various techniques for designing and analyzing algorithms. • To learn how to apply the techniques in designing and analyzing some fundamental algorithms, such as sorting and graph algorithms. 310205 Mathematicsfor Comter I
310205 Course Info • Syllabus: • Foundations: logic, sets, functions. • Combinatorics: counting, permutations, combinations. • Recurrence relations. • Graph theory: tree, graph, connectivity, graph traversal. • Design and analysis of algorithms (Intro.) • Computability and complexity (Intro.). 310205 Mathematicsfor Comter I
310205 Course Info • Textbooks: • H. Rosen. Discrete Mathematics and Its Applications, 5/E, McGraw-Hill, 2003. 310205 Mathematicsfor Comter I
310205 Course Info • References: • R. P. Grimaldi, Discrete and Combinatorial Mathematics (an Applied Introduction), Addison-Wesley, 2004. • T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 2nd Edition, MIT Press, Cambridge, MA, 2001. • J.A. Dossey, A.D. Otto, L.E. Spence, C. Vanden Eynden, Discrete Mathematics, 4/E, Addison Wesley, 2002. • S. Baase, A. Van Gelder, Computer Algorithms: Introduction to Design and Analysis, 3/E, Addison Wesley, 2000 • M.T. Goodrich, R. Tamassia, Algorithm Design: Foundations, Analysis, and Internet Examples, Wiley, 2002. 310205 Mathematicsfor Comter I
310205 Course Info • Assessment Method (tentative): • 10 Assignments (15%): • 3 In-class Midterm Exams (15+20+25%) • Final Exam (25%) 310205 Mathematicsfor Comter I
Lecture 1 Introduction • Introduction to Discrete Mathematics • Definitions • Applications 310205 Mathematicsfor Comter I
1.1. Introduction to Discrete Math. • Other mathematics courses: • Calculus: • Operations: integration, differentiation, … • Dealing with: continuous real and complex numbers • Scalar: single variable • Vector: multiple variables 310205 Mathematicsfor Comter I
1.1. Introduction to Discrete Math. • Other mathematics courses: • Algebra: • Operations: addition, subtraction, multiplication, division … • Dealing with: continuous real and complex numbers • Scalar: single variable • Vector: multiple variables • Matrix 310205 Mathematicsfor Comter I
1.1. Introduction to Discrete Math. • What is discrete mathematics? • Part of mathematics devoted to the study of discrete objects. • Discrete means consisting of distinct or unconnected elements. • Operations: • Combinatorics: counting discrete objects • Logical operators, relations: specifying relationship between discrete objects • Dealing with: Discrete objects – sets, propositions. 310205 Mathematicsfor Comter I
1.1. A formal definition - Wikipedia • Discrete mathematics, sometimes called finite mathematics, is the study of mathematical structures that are fundamentally discrete, in the sense of not supporting or requiring the notion of continuity. Most, if not all, of the objects studied in finite mathematics are countable sets, such as the integers. • Discrete mathematics has become popular in recent decades because of its applications to computer science. Concepts and notations from discrete mathematics are useful to study or express objects or problems in computer algorithms and programming languages. In some mathematics curricula, finite mathematics courses cover discrete mathematical concepts for business, while discrete mathematics courses emphasize concepts for computer science majors. • For contrast, see continuum, topology, and mathematical analysis. • Discrete mathematics usually includes : • logic - a study of reasoning • set theory - a study of collections of elements • number theory • combinatorics - a study of counting • graph theory • algorithmics - a study of methods of calculation • information theory • the theory of computability and complexity - a study on theoretical limitations on algorithms … 310205 Mathematicsfor Comter I
1.1. Introduction to Discrete Math. • Applications of discrete mathematics: • Formal Languages (computer languages) • Machine translation • Compiler Design • Artificial Intelligence • Relational Database Theory • Network Routing • Algorithm Design • Computer Game • many more (almost all areas of computer science)… A building block of computer science ! (Why ?) 310205 Mathematicsfor Comter I
1.1. Introduction to Discrete Math. • Topics in discrete mathematics I: • Foundations: logic, sets, functions. • Combinatorics: counting, permutations, combinations. • Recurrence relations. • Graph theory: tree, graph, connectivity, graph traversal. • Design and analysis of algorithms (Intro.) • Computability and complexity (Intro.). 310205 Mathematicsfor Comter I
1.2. Application: Formal Language • Formal language: • Language generated by grammars • Grammars: • Generate the words of a language • Determine whether a word is in a language • Words: • Can be combined in various ways • Grammars tell whether a combination of words is a valid sentence • Applications: • Design of Programming Languages and Compilers 310205 Mathematicsfor Comter I
sentence noun phrase verb phrase article adjective noun verb adverb the hungry rabbit eats quickly 1.2. Application: Formal Language • Example 1: • Natural language: English • Is “the hungry rabbits eats quickly” in English language? • Derivation tree of the sentence: 310205 Mathematicsfor Comter I
1.2. Application: Formal Language • Example 2: • Typical problem in the construction of compilers. • Determine whether the word cbab belongs to the language generated by the grammar G = (V, T, S, P), where: • V = a, b, c, A, B, C, S • T = a, b, c • S is the starting symbol • P are the productions: S AB A Ca B Ba B Cb B b C cb C b 310205 Mathematicsfor Comter I
1.2. Application: Formal Language • Example 2 (continued): • Solution: • Begin with S and try to derive cbab using a series of productions. • Since only one production with S, we must start with S AB • Use the only production for A to obtain: S AB CaB • Use the production of C cb since cbab begins with the symbol cb: S AB CaB cbaB • Finish by using the production of B b: S AB CaB cbaB cbab 310205 Mathematicsfor Comter I
1.3. Application: Graph Theory • Example 3 • In Europe: Konigsberg 7-bridge problem • Konigsberg, originally in Prussia, now in Russia • Four sections, two rivers, seven bridges • Euler solved this problem in 1736; the origin of graph theory 310205 Mathematicsfor Comter I
1.3. Application: Graph Theory • Problem: Draw a path (or circuit) with a pencil in such a way that you trace over each bridge once and only once and you complete the 'plan' with one continuous pencil stroke 310205 Mathematicsfor Comter I
1.4. Application: Set Theory • Are there more integers than positive integers ? Are there more integers than real numbers ? 310205 Mathematicsfor Comter I
1.5. Application: Complexity Theory • Example 5: • The Traveling Salesman Problem • Important in • circuit design • network routing • many other CS problems • Given: • n cities c1, c2, . . . , cn • distance between city i and j, dij • Find the shortest tour. 310205 Mathematicsfor Comter I
2 4 1 3 1.5. Application: Complexity Theory • Example 5 (continued): • How many different tours? • Choose the first city n ways, • the second city n-1 ways, • the third city n-2 ways, • etc. • # tours = n (n-1) (n-2) . . . .(2) (1) = n! (Combinations) • A tour requires n-1 additions. • Total number of additions = (n-1) n! (Rule of Product) 310205 Mathematicsfor Comter I
1.5. Application: Complexity Theory • Example 5 (continued): • Assume a very fast PC: • 1 GHz = 1,000,000,000 ops/sec 1 flop = 1 nanosecond = 10-9 sec. • If n=8, T(n) = 7•8! = 282,240 flops << 1 second. • HOWEVER . . . . . . . . . . . . . • If n=50, T(n) = 49•50! = 1.48 1066 = 1.49 1057 seconds = 4.73 1049 years. • ... a long time. You’ll be an old person before it’s finished. • There are some problems for which we do not know if efficient algorithms exist to solve them! 310205 Mathematicsfor Comter I
1.5. Application: Complexity Theory • Example 5 (continued): • What can we do ? • Do not waste time unless you are a genius to save the world • Less ambitious goals • With 90% possible, find the best tour • Find a tour that is no more 1.1 times the best 310205 Mathematicsfor Comter I
Next lecture: LOGIC • Foundation of formal language, complexity theory and others. 310205 Mathematicsfor Comter I