1 / 37

370 likes | 526 Vues

CS 173: Discrete Mathematical Structures. Cinda Heeren heeren@cs.uiuc.edu Rm 2213 Siebel Center Office Hours: W 9:30-11:30a. CS 173 Announcements. Homework 4 available. Due 02/12, 8a. Midterm 1: 2/23/06, 7-9p, location SC 1404. Michael Tito Janet Cindy Bobby. Katherine Scruse

Télécharger la présentation
## CS 173: Discrete Mathematical Structures

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

**CS 173:Discrete Mathematical Structures**Cinda Heeren heeren@cs.uiuc.edu Rm 2213 Siebel Center Office Hours: W 9:30-11:30a**CS 173 Announcements**• Homework 4 available. Due 02/12, 8a. • Midterm 1: 2/23/06, 7-9p, location SC 1404. Cs173 - Spring 2004**Michael Tito Janet Cindy Bobby**Katherine Scruse Carol Brady Mother Teresa CS 173 Functions - misc. properties • f() = • f({a}) = {f(a)} • f(A U B) = f(A) U f(B) • f(A B) f(A) f(B) Cs173 - Spring 2004**CS 173 Functions - misc. properties**f(A B) f(A) f(B)? Choose an arbitrary b f(A B), and show that it must also be an element of f(A) f(B). f(A B) = {x : a (A B), f(a) = x} So, a (A B) such that f(a) = b. If a A (it is), then f(a) = b f(A). If a B (it is), then f(a) = b f(B). b f(A), and b f(B), so b f(A) f(B). Cs173 - Spring 2004**Michael Tito Janet Cindy Bobby**Katherine Scruse Carol Brady Mother Teresa CS 173 Functions - misc. properties • f-1() = • f-1(A U B) = f-1(A) U f-1(B) • f-1(A B) = f-1(A) f-1(B) Cs173 - Spring 2004**Michael Tito Janet Cindy Bobby**Katherine Scruse Carol Brady Mother Teresa Not one-to-one Every b B has at most 1 preimage. CS 173 Functions - injection A function f: A B is one-to-one (injective, an injection) if a,b,c, (f(a) = b f(c) = b) a = c Cs173 - Spring 2004**Michael Tito Janet Cindy Bobby**Katherine Scruse Carol Brady Mother Teresa Not onto Every b B has at least 1 preimage. CS 173 Functions - surjection A function f: A B is onto (surjective, a surjection) if b B, a A f(a) = b Cs173 - Spring 2004**Isaak Bri Lynette Aidan Evan**Isaak Bri Lynette Aidan Evan Cinda Dee Deb Katrina Dawn Cinda Dee Deb Katrina Dawn Every b B has exactly 1 preimage. An important implication of this characteristic: The preimage (f-1) is a function! CS 173 Functions - bijection A function f: A B is bijective if it is one-to-one and onto. Cs173 - Spring 2004**yes**yes yes CS 173 Functions - examples Suppose f: R+ R+, f(x) = x2. Is f one-to-one? Is f onto? Is f bijective? Cs173 - Spring 2004**no**yes no CS 173 Functions - examples Suppose f: R R+, f(x) = x2. Is f one-to-one? Is f onto? Is f bijective? Cs173 - Spring 2004**no**no no CS 173 Functions - examples Suppose f: R R, f(x) = x2. Is f one-to-one? Is f onto? Is f bijective? Cs173 - Spring 2004**CS 173 Functions - composition**Let f:AB, and g:BC be functions. Then the composition of f and g is: (g o f)(x) = g(f(x)) Cs173 - Spring 2004**CS 173 Functions - a little problem**Let f:AB, and g:BC be functions. Prove that if f and g are one to one, then g o f :AC is one to one. Recall defn of one to one: f:A->B is 1to1 if f(a)=b and f(c)=b --> a=c. Suppose g(f(x)) = y and g(f(w)) = y. Show that x=w. f(x) = f(w) since g is 1 to 1. Then x = w since f is 1 to 1. Cs173 - Spring 2004**CS 173 Functions - another**Let f:AB, and g:BC be functions. Prove that if f and g are onto, then g o f :AC is onto. Cs173 - Spring 2004**In this course, log2 n is written lg n. If we write log n,**assume log2 n. CS 173 Familiar functions Polynomials: f(x) = a0xn + a1xn-1 + … + an-1x1 + anx0 Ex: f(x) = x3 - 2x2 + 15 Exponentials: f(x) = cdx Ex: f(x) = 310x, f(x) = ex Logarithms: log2 x = y, where 2y = x. Cs173 - Spring 2004**0**CS 173 Familiar functions Ceiling: f(x) = x the least integer y so that x y. Ex: 1.2 = 2; -1.2 = -1; 1 = 1 Floor: f(x) = x the greatest integer y so that x y. Ex: 1.8 = 1; -1.8 = -2; -5 = -5 Quiz: what is -1.2 + 1.1 ? Cs173 - Spring 2004**In this case our algorithm takes about n time units.**We say the algorithm has “order n” running time. CS 173 Two example algorithms. Suppose we wish to find the maximum number in a sequence of n numbers. How long should we spend doing this? Suppose it takes 1 time unit to make a comparison between two numbers. We really have no clue how long the algorithm takes to run, but we have an inkling that it depends linearly on n. Cs173 - Spring 2004**In this case the algorithm takes about lg n time units.**We say the algorithm has “order log n” running time. CS 173 Two example algorithms. I have a number between 0 and 63. You ask a question, I’ll tell you yes or no. How long will it take you to find my secret number? Suppose it takes 1 time unit to answer a query about my number. We really have no clue how long the algorithm takes to run, but we have an inkling that it depends logarithmically on n. Cs173 - Spring 2004**Who is the tortoise?**Who is the hare? How would you describe blue’s performance? At each distance, who wins? CS 173 Who wins the race? The following graph gives times for completing races of length x, for 4 different competitors. time distance Cs173 - Spring 2004**Every unit increase in x results in the same increase in**f(x). Linear functions CS 173 Quiz time… Describe these functions: f(x) x Cs173 - Spring 2004**Very slow growing.**Logarithmic function CS 173 Quiz time… Describe this function: Cs173 - Spring 2004**Very fast growing.**Exponential function CS 173 Quiz time… Describe this function: Cs173 - Spring 2004**Polynomial**Quadratic function CS 173 Quiz time… Describe this function: f(x) x Cs173 - Spring 2004**CS 173 Growth of functions**Algorithm analysis is concerned with: • Type of function that describes run time (we ignore constant factors since different machines have different speed/cycle) • Large values of x Cs173 - Spring 2004**We say “f(x) is big O of g(x)”**Recipe for proving f(x) = O(g(x)): find a c and k so that the inequality holds. CS 173 Growth of functions Important definition: For functions f and g we write f(x) = O(g(x)) to denote c,k so that x>k, f(x) c·g(x) Cs173 - Spring 2004**c·g(x)**g(x) We give an eventual upper bound on f(x) k CS 173 Growth of functions f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) f(x) x Cs173 - Spring 2004**There’s k**There’s c CS 173 Growth of functions (examples) f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) 3n = O(15n) since n>0, 3n 1·15n Cs173 - Spring 2004**5**8 0 5 CS 173 Growth of functions (examples) f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) 15n = O(3n) since n>__, 15n __·3n Cs173 - Spring 2004**1**CS 173 Growth of functions (examples) f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) x2 = O(x3) since x> __, x2 x3 Cs173 - Spring 2004**0**1000 CS 173 Growth of functions (examples) f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) 1000x2 = O(x2) since x> __, 1000x2 ____·x2 Cs173 - Spring 2004**100x 100x2**100 100x2 k = 1, c = 20100 CS 173 Growth of functions (examples) f(x) = O(g(x)) iff c,k so that x>k, f(x) c·g(x) Prove that x2 + 100x + 100 = O((1/100)x2) x2 + 100x + 100 201x2 when x > 1 20100·(1/100)x2 Cs173 - Spring 2004**Nothing works for k**Try c = 10 k = 200, c = 11 Similar problem, different technique. Try c = 11 200 CS 173 Growth of functions (examples) Prove that 5x + 100 = O(x/2) Need x> ___, 5x + 100 ___ · x/2 x> ___, 5x + 100 10 · x/2 x> ___, 5x + 100 5x + x/2 x> ___, 100 x/2 Cs173 - Spring 2004**CS173Growth of functions**Guidelines: • In general, only the largest term in a sum matters. a0xn + a1xn-1 + … + an-1x1 + anx0 = O(xn) • n dominates lg n. n5lg n = O(n6) • List of common functions in increasing O() order: 1 n (n lg n) n2 n3 … 2n n! Cs173 - Spring 2004**Questions?**CS173Growth of functions (more examples) • So Cs173 - Spring 2004**c = c1+c2,**k = max{k1,k2} CS173Growth of functions - a theorem If f1(x) = O(g1(x)) and f2(x)=O(g2(x)), then f1(x) + f2(x) = O(max{g1(x),g2(x)}) Proof: Let h(x) = max{g1(x),g2(x)})… Need to find constants c and k so that x>k, f1(x) + f2(x) c•h(x). Know f1(x) c1• g1(x) and f2(x) c2• g2(x). So, f1(x) + f2(x) c1•g1(x) + c2•g2(x) c1•h(x) + c2•h(x) = (c1+c2)•h(x) Cs173 - Spring 2004**This is just the case where g1(x) = g2(x) = g(x)**CS173Growth of functions - a corollary We know: If f1(x) = O(g1(x)) and f2(x)=O(g2(x)), then f1(x) + f2(x) = O(max{g1(x),g2(x)}) Corollary: If f1(x) = O(g(x)) and f2(x)=O(g(x)), then f1(x) + f2(x) = O(g(x)). Cs173 - Spring 2004**CS173Growth of functions - another theorem**If f1(x) = O(g1(x)) and f2(x)=O(g2(x)), then f1(x)·f2(x) = O(g1(x)·g2(x)) Proof: Cs173 - Spring 2004

More Related