Download presentation

Presentation is loading. Please wait.

Published byEverett Converse Modified over 2 years ago

1
1 2006 310205 Mathematicsfor Comter I 310205 Course Info Mathematics for Computer I Semester 2 2006

2
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 http://www.cs.buu.ac.th/~seree/310205

3
3 2006 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.

4
4 2006 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.).

5
5 2006 310205 Mathematicsfor Comter I 310205 Course Info Textbooks: H. Rosen. Discrete Mathematics and Its Applications, 5/E, McGraw-Hill, 2003.

6
6 2006 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.

7
7 2006 310205 Mathematicsfor Comter I 310205 Course Info Assessment Method (tentative): 10 Assignments (15%): 3 In-class Midterm Exams (15+20+25%) Final Exam (25%)

8
8 2006 310205 Mathematicsfor Comter I Lecture 1 Introduction Introduction to Discrete Mathematics Definitions Applications

9
9 2006 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

10
10 2006 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

11
11 2006 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.

12
12 2006 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.discretecontinuitycountable setsintegers 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.computer sciencealgorithms programming languagesfinite mathematics For contrast, see continuum, topology, and mathematical analysis.continuumtopologymathematical analysis Discrete mathematics usually includes : logic - a study of reasoning logic set theory - a study of collections of elements set theory number theory combinatorics - a study of counting combinatorics graph theory algorithmics - a study of methods of calculation algorithmics information theory the theory of computability and complexity - a study on theoretical limitations on algorithms …computabilitycomplexity

13
13 2006 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 ?)

14
14 2006 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.).

15
15 2006 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

16
16 2006 310205 Mathematicsfor Comter I 1.2. Application: Formal Language Example 1: Natural language: English Is the hungry rabbits eats quickly in English language? Derivation tree of the sentence: sentence verb phrasenoun phrase articleadjectivenoun thehungryrabbit verbadverb eatsquickly

17
17 2006 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

18
18 2006 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

19
19 2006 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

20
20 2006 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

21
21 2006 310205 Mathematicsfor Comter I 1.4. Application: Set Theory Are there more integers than positive integers ? Are there more integers than real numbers ?

22
22 2006 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 c 1, c 2,..., c n distance between city i and j, d ij Find the shortest tour.

23
23 2006 310205 Mathematicsfor Comter I 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) 1 2 3 4

24
24 2006 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) = 78! = 282,240 flops << 1 second. HOWEVER............. If n=50, T(n) = 4950! = 1.48 10 66 = 1.49 10 57 seconds = 4.73 10 49 years.... a long time. Youll be an old person before its finished. There are some problems for which we do not know if efficient algorithms exist to solve them!

25
25 2006 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

26
26 2006 310205 Mathematicsfor Comter I Next lecture: LOGIC Foundation of formal language, complexity theory and others.

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google