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

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

Embed Size (px)

Citation preview

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

2006 310205 Mathematicsfor Comter I 1

310205 Course Info

Mathematics for Computer I

Semester 2 2006

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

2006 310205 Mathematicsfor Comter I 2

310205 Course Info

Instructor: Seree Chinodom • E-mail: [email protected]

• Room SD509

• Office hours (tentative):

• Monday 3:00 – 4:00 PM Course homepage:

• http://www.cs.buu.ac.th/~seree/310205

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

2006 310205 Mathematicsfor Comter I 3

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.

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

2006 310205 Mathematicsfor Comter I 4

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

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

2006 310205 Mathematicsfor Comter I 5

310205 Course Info

Textbooks: • H. Rosen. Discrete Mathematics and Its Applications,

5/E, McGraw-Hill, 2003.

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

2006 310205 Mathematicsfor Comter I 6

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.

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

2006 310205 Mathematicsfor Comter I 7

310205 Course Info

Assessment Method (tentative): • 10 Assignments (15%):

• 3 In-class Midterm Exams (15+20+25%)

• Final Exam (25%)

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

2006 310205 Mathematicsfor Comter I 8

Lecture 1 Introduction

Introduction to Discrete Mathematics• Definitions

• Applications

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

2006 310205 Mathematicsfor Comter I 9

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

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

2006 310205 Mathematicsfor Comter I 10

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

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

2006 310205 Mathematicsfor Comter I 11

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.

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

2006 310205 Mathematicsfor Comter I 12

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 …

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

2006 310205 Mathematicsfor Comter I 13

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

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

2006 310205 Mathematicsfor Comter I 14

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

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

2006 310205 Mathematicsfor Comter I 15

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

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

2006 310205 Mathematicsfor Comter I 16

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

article adjective noun

the hungry rabbit

verb adverb

eats quickly

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

2006 310205 Mathematicsfor Comter I 17

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

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

2006 310205 Mathematicsfor Comter I 18

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

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

2006 310205 Mathematicsfor Comter I 19

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

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

2006 310205 Mathematicsfor Comter I 20

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

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

2006 310205 Mathematicsfor Comter I 21

1.4. Application: Set Theory

Are there more integers than positive integers ? Are there more integers than real numbers ?

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

2006 310205 Mathematicsfor Comter I 22

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.

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

2006 310205 Mathematicsfor Comter I 23

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

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

2006 310205 Mathematicsfor Comter I 24

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!

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

2006 310205 Mathematicsfor Comter I 25

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

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

2006 310205 Mathematicsfor Comter I 26

Next lecture: LOGIC

Foundation of formal language, complexity theory and others.