Upload
everett-converse
View
220
Download
2
Tags:
Embed Size (px)
Citation preview
2006 310205 Mathematicsfor Comter I 1
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
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.
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.).
2006 310205 Mathematicsfor Comter I 5
310205 Course Info
Textbooks: • H. Rosen. Discrete Mathematics and Its Applications,
5/E, McGraw-Hill, 2003.
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.
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%)
2006 310205 Mathematicsfor Comter I 8
Lecture 1 Introduction
Introduction to Discrete Mathematics• Definitions
• Applications
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
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
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.
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 …
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 ?)
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.).
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
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
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
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
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
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
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 ?
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.
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
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!
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
2006 310205 Mathematicsfor Comter I 26
Next lecture: LOGIC
Foundation of formal language, complexity theory and others.