1 / 42

CS 173: Discrete Mathematical Structures

CS 173: Discrete Mathematical Structures. Cinda Heeren heeren@cs.uiuc.edu Siebel Center, rm 2213 Office Hours: W 12:30-2:30. CS 173 Announcements. Homework #12 available, due 12/11, 8a. Final exam 12/14, 8-11a. Email Cinda with conflicts.

sawyer
Download Presentation

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

Presentation Transcript


  1. CS 173:Discrete Mathematical Structures Cinda Heeren heeren@cs.uiuc.edu Siebel Center, rm 2213 Office Hours: W 12:30-2:30

  2. CS 173 Announcements • Homework #12 available, due 12/11, 8a. • Final exam 12/14, 8-11a. Email Cinda with conflicts. • Review 12/12, 5-6p, SC1404. Additional reviews will be announced. Cs173 - Spring 2004

  3. a  a for any real If a  b, b  c then a  c If a  b, b  a then a = b = order < Actually total order. CS173Partially Ordered Sets (POSets) Let R be a relation then R is a Partially Ordered Set (POSet) if it is • Reflexive - aRa, a • Transitive - aRb  bRc  aRc, a,b,c • Antisymmetric - aRb  bRa  a=b, a,b Ex. (R,), the relation “” on the real numbers, is a partial order. Reflexive? How do you check? Transitive? Antisymmetric? Cs173 - Spring 2004

  4. Yes, or No? Yes, x|x since x=1x (k=1) a|b means b=ak, b|c means c=bj. Does c=am for some m? c = bj = akj (m=kj) a|b means b=ak, b|a means a=bj. But b = bjk (subst) only if jk=1. jk=1 means j=k=1, and we have b=a1, or b=a CS173Partially Ordered Sets (POSets) Ex. (Z+, | ), the relation “divides” on positive integers. Reflexive? Transitive? Antisymmetric? Cs173 - Spring 2004

  5. 3|-3, and -3|3, but 3  -3. Yes, or No? Yes, x|x since x=1x (k=1) a|b means b=ak, b|c means c=bj. Does c=am for some m? c = bj = akj (m=kj) Not a poset. CS173Partially Ordered Sets (POSets) Ex. (Z, | ), the relation “divides” on integers. Reflexive? Transitive? Antisymmetric? Cs173 - Spring 2004

  6. A  B, B  A  A=B Now take an x, and suppose it’s in A. Must it also be in C? Yes, A  A, A 2S A  B, B  C. Does that mean A  C? A  B means x A  x B B  C means x B  x C Yes, by… Modus Ponens Modus Tollens DeMorgan’s Transitivity Yes, by MP A poset. CS173Partially Ordered Sets (POSets) Ex. (2S,  ), the relation “subset” on set of all subsets of S. Reflexive? Transitive? Antisymmetric? Cs173 - Spring 2004

  7. CS173Partially Ordered Sets (POSets) When we don’t have a special relation definition in mind, we use the symbol “” to denote a partial order on a set. When we know we’re talking about a partial order, we’ll write “a  b” instead of “aRb” when discussing members of the relation. We will also write “a < b” if a  b and a  b. Cs173 - Spring 2004

  8. 0110  1000 0110  0000 0110  1110 0110  10111 Huh? CS173Partially Ordered Sets (POSets) Ex. A common partial order on bit strings of length n, {0,1}n, is defined as: a1a2…an  b1b2…bn If and only if ai  bi,  i. 0110 and 1000 are “incomparable” … We can’t tell which is “bigger.” As a bit of an aside, this relation is exactly the same as the last example, (2S,  ). Set S, on which we build 2S, has a size. That’s n. Suppose S is {a,b}. Then 2S = { {}, {a}, {b}, {a,b} } Think of bit strings as membership indicators for the elts of S Then 2S can be represented by {00,10,01,11} Cs173 - Spring 2004

  9. In the string relation, we said 0001 because every bit in 00 is less than or = the corresp bit in 01. String on the right has at least all the 1 bits of the left, maybe more. If each 1 represents an element in S, then right side has all elts of the left, maybe more. CS173Partially Ordered Sets (POSets) 0110 and 1000 are “incomparable” … We can’t tell which is “bigger.” As a bit of an aside, this relation is exactly the same as the last example, (2S,  ). Set S, on which we build 2S, has a size. That’s n. Suppose S is {a,b}. Then 2S = { {}, {a}, {b}, {a,b} } Think of bit strings as membership indicators for the elts of S Then 2S can be represented by {00,10,01,11} Cs173 - Spring 2004

  10. Dictionary order, or alphabetic order, or lexicographic order is a partial order on words in the english language. This idea can be generalized to strings over any alphabet. CS173Partially Ordered Sets (POSets) Let (S,  ) be a PO. If a  b, or b  a, then a and b are comparable. Otherwise, they are incomparable. Ex. In poset (Z+, |), 3 and 6 are comparable, 6 and 3 are comparable, 3 and 5 are not, 8 and 12 are not. A total order is a partial order where every pair of elements is comparable. Ex. (Z+, ), is a total order, because for every pair (a,b) in ZxZ, either a  b, or b  a. Cs173 - Spring 2004

  11. 4 3 2 Draw edge (a,b) if a b Don’t draw up arrows Don’t draw self loops Don’t draw transitive edges 1 CS173Hasse Diagrams Hasse diagrams are a special kind of graphs used to describe posets. Ex. In poset ({1,2,3,4}, ), we can draw the following picture to describe the relation. Cs173 - Spring 2004

  12. {a,b,c} or 111 {a,b} or 110 {a,c} or 101 {b,c} or 011 {a} or 100 {b} or 010 {c} or 001 {} or 000 CS173Hasse Diagrams Have you seen this one before? Cs173 - Spring 2004

  13. CS173Hasse Diagrams Reds are maximal. Blues are minimal. Consider this poset: Cs173 - Spring 2004

  14. Did you get it right? Intuition: If a is maxiMAL, then no one beats a. If a is maxiMUM, a beats everything. Must minimum and maximum exist? Only if set is finite. No. Only if set is transitive. Yes. CS173Hasse Diagrams Definition: In a poset S, an element z is a minimum element if bS, zb. Write the defn of maximum! Cs173 - Spring 2004

  15. CS173Hasse Diagrams Theorem: In every poset, if the maximum element exists, it is unique. Similarly for minimum. Proof: Suppose there are two maximum elements, a1 and a2, with a1a2. Then a1  a2, and a2a1, by defn of maximum. So a1=a2, a contradiction. Thus, our supposition was incorrect, and the maximum element, if it exists, is unique. Similar proof for minimum. Cs173 - Spring 2004

  16. CS173Upper and Lower Bounds Defn: Let (S, ) be a partial order. If AS, then an upper bound for A is any element x  S (perhaps in A also) such that  a  A, a  x. A lower bound for A is any x  S such that  a  A, a  x. Ex. The upper bound of {g,j} is a. Why not b? a b c d e f j h g i Cs173 - Spring 2004

  17. {a, b} has no UB. CS173Upper and Lower Bounds Defn: Let (S, ) be a partial order. If AS, then an upper bound for A is any element x  S (perhaps in A also) such that  a  A, a  x. A lower bound for A is any x  S such that  a  A, a  x. Ex. The upper bound of {g,j} is a. Why not b? a b Ex. The upper bounds of {g,i} is/are… A. I have no clue. B. c and e C. a D. a, c, and e c d e f j h g i Cs173 - Spring 2004

  18. {g, h, i, j} has no LB. CS173Upper and Lower Bounds Defn: Let (S, ) be a partial order. If AS, then an upper bound for A is any element x  S (perhaps in A also) such that  a  A, a  x. A lower bound for A is any x  S such that  a  A, a  x. Ex. The lower bounds of {a,b} are d, f, i, and j. a b Ex. The lower bounds of {c,d} is/are… A. I have no clue. B. f, i C. j, i, g, h D. e, f, j c d e f j h g i Cs173 - Spring 2004

  19. CS173Upper and Lower Bounds Defn: Given poset (S, ) and AS, x  S is a leastupper bound (LUB) for A if x is an upper bound and for upper bound y of A, y  x. x is a greatestlower bound for A if x is a lower bound and if x  y for every UB y of A. a b Ex. LUB of {i,j} = d. Ex. GLB of {g,j} is… A. I have no clue. B. a C. non-existent D. e, f, j c d e f j h g i Cs173 - Spring 2004

  20. This is because c and d are incomparable. CS173Upper and Lower Bounds Ex. In the following poset, c and d are lower bounds for {a,b}, but there is no GLB. Similarly, a and b are upper bounds for {c,d}, but there is no LUB. a b c d Cs173 - Spring 2004

  21. shoes belt jacket socks jeans swter jwlry In what order will you get dressed while respecting constraints? uwear shirt CS173Total Orders Consider the problem of getting dressed. Precedence constraints are modeled by a poset in which a  b iff you must put on a before b. Let (S, ) be a poset (S finite). We will extend  to a total order on S, so we can decide for all incomparable pairs whether to make a  b, or vice versa w/o violating T,R,A. Cs173 - Spring 2004

  22. shoes belt jacket socks jeans swter jwlry NOT A REAL PROOF! Should use induction!! uwear shirt CS173Total Orders Things we need: Lemma: Every finite non-empty poset (S, ) has at least one minimal element. Proof: choose a0 S. If a0 was not minimal, then there exists a1 a0, and so on until a minimal element is found. Cs173 - Spring 2004

  23. shoes belt jacket socks jeans swter jwlry uwear shirt CS173Total Orders More things we need: Lemma: If (S, ) is a poset with a minimal, then (S-{a}, ) is also a poset. Proof: If you remove minimal a reflexivity and antisymmetry still hold. If x,y,z  S-{a}, with x  y and y  z, then x  z too, since (S, ) was transitive. Cs173 - Spring 2004

  24. shoes belt jacket socks jeans swter jwlry Depending on which min elt is chosen each time, a different total order is obtained, but all TOs will be consistent with the PO. uwear shirt CS173Total Orders Think about what this means: • There is always a minimal element. • If you remove it you still have a poset. alg Topological Sort Input: poset (S, ) Out: elements of S in total order While S   Remove any min elt from S and output it. This suggests: Cs173 - Spring 2004

  25. shoes belt jacket socks jeans swter jwlry uwear shirt t CS173Total Orders alg Topological Sort Input: poset (S, ) Out: elements of S in total order While S   Remove any min elt from S and output it. Cs173 - Spring 2004

  26. Why are these two problems on the same slide? CS173Graphs Suppose YOU are the person in charge of scheduling finals. Conflict exams are not allowed…that is, no student can have two exams scheduled for any one time. How many exam periods do you need? Suppose I give you a graph consisting of vertices and edges. Your task is to label the vertices with colors. Vertices which share an edge cannot be colored the same. How many colors do you need? Cs173 - Spring 2004

  27. CS173Graphs Graphs are a very general way of representing data. We can use graphs to model things as diverse as: • Scheduling problems • Routes for travelling between cities • Connections between atoms in a molecule • Paths that messages can take in a network • Dependence relations between events in a large project Cs173 - Spring 2004

  28. CS173Graphs Cs173 - Spring 2004

  29. CS173Graphs Definitions you should understand: • Vertex • Edge • Weights • Degree • Neighbors • Connected • Complete • Bipartite • Planar • Cycle • Tree • Path • Circuit Cs173 - Spring 2004

  30. A B C D E Why or why not? CS173Graphs A real estate agent wishes to give a tour of this house, starting and ending outside, and going through each door exactly once. Can she do it? Cs173 - Spring 2004

  31. A B C D E outside CS173Graphs Model the floor plan as a graph. A B C D E Cs173 - Spring 2004

  32. Is there an Eulerian Path (or circuit) in this graph? Given a graph, how can we tell if an Eulerian Path (or circuit) exists? A “circuit” is a path that begins and ends at the same vertex. CS173Graphs An equivalent question is: Can we traverse the graph, visiting each edge exactly once? A B C D E outside Cs173 - Spring 2004

  33. CS173Graphs A connected graph contains an Eulerian Circuit if and only if every vertex has even degree. A connected graph contains an Eulerian Path if and only if exactly 2 vertices have odd degree. Cs173 - Spring 2004

  34. CS173Graphs Pick a vertex and attempt to find the Eulerian Cycle... Cs173 - Spring 2004

  35. CS173Graphs The algorithm: • Pick a vertex u. • Follow any edge from u to another vertex v. • Travel from v to any other vertex. (This is possible because all vertices have even degree.) • Continue forging a path until vertex u is reached again. • If all edges are on the path, quit. Otherwise, pick any vertex u’ on the current path, and repeat the process to return to u’, and then splice the new route into the path. • Do this until all edges are included in the path. Cs173 - Spring 2004

  36. All Orange Green Orange and green Beats me! CS173Graphs Quiz time: Which graphs have an Eulerian Circuit? Cs173 - Spring 2004

  37. All Orange Green Orange and green Beats me! Bonus: Give a descriptive name for the green graph. CS173Graphs Quiz time: Which graphs have an Eulerian Path? Cs173 - Spring 2004

  38. 4 1 7 12 6 11 14 13 8 3 2 10 CS173Graphs • Suppose you live in an itty bitty town, where none of the streets are paved. Your community WANTS to build a swimming pool, but they MUST perform some road upgrades, and the budget is limited. • The road committee has decided that it’s important for a paved path to exist between every pair of houses in the town. • A swimming pool will cost $1 million. The cost of paving each stretch of road is given in the graph below ($10k). • Given these constraints, the graph, and a budget of $1.4 million, can you upgrade the roads AND build a swimming pool? 5 9 Cs173 - Spring 2004

  39. Can we build the swimming pool? Which would you pave first? • (b,e) • (e,h) • (b,c) • (d,e) • None of these. Which would you pave second? • (a,b) • (e,h) • (b,f) • (g,h) • None of these. CS173Graphs • The road committee has decided that it’s important for a paved path to exist between every pair of houses in the town. Which ones should we pave in order to minimize cost? 4 1 a b c 12 6 5 7 11 14 d e f 9 8 3 13 2 10 g h i Cs173 - Spring 2004

  40. CS173Graphs • Alternative algorithm: 4 1 a b c 12 6 5 7 11 14 d e f 9 8 3 13 2 10 g h i Cs173 - Spring 2004

  41. More formal study of this in cs473, FUN! CS173Graphs Official name for the structure you created: “Minimal cost spanning tree” 4 1 a b c 12 6 5 7 11 14 d e f 9 8 3 13 2 10 g h i Cs173 - Spring 2004

  42. CS173Graphs Cs173 - Spring 2004

More Related