Cs 173 discrete mathematical structures
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

CS 173: Discrete Mathematical Structures PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on
  • Presentation posted in: General

CS 173: Discrete Mathematical Structures. Cinda Heeren [email protected] 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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cs 173 discrete mathematical structures

CS 173:Discrete Mathematical Structures

Cinda Heeren

[email protected]

Siebel Center, rm 2213

Office Hours: W 12:30-2:30


Cs 173 announcements

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


Cs173 partially ordered sets posets

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


Cs173 partially ordered sets posets1

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


Cs173 partially ordered sets posets2

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


Cs173 partially ordered sets posets3

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


Cs173 partially ordered sets posets4

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


Cs173 partially ordered sets posets5

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


Cs173 partially ordered sets posets6

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


Cs173 partially ordered sets posets7

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


Cs173 hasse diagrams

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


Cs173 hasse diagrams1

{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


Cs173 hasse diagrams2

CS173Hasse Diagrams

Reds are maximal.

Blues are minimal.

Consider this poset:

Cs173 - Spring 2004


Cs173 hasse diagrams3

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


Cs173 hasse diagrams4

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


Cs173 upper and lower bounds

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


Cs173 upper and lower bounds1

{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


Cs173 upper and lower bounds2

{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


Cs173 upper and lower bounds3

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


Cs173 upper and lower bounds4

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


Cs173 total orders

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


Cs173 total orders1

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


Cs173 total orders2

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


Cs173 total orders3

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


Cs173 total orders4

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


Cs173 graphs

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


Cs173 graphs1

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


Cs173 graphs2

CS173Graphs

Cs173 - Spring 2004


Cs173 graphs3

CS173Graphs

Definitions you should understand:

  • Vertex

  • Edge

  • Weights

  • Degree

  • Neighbors

  • Connected

  • Complete

  • Bipartite

  • Planar

  • Cycle

  • Tree

  • Path

  • Circuit

Cs173 - Spring 2004


Cs173 graphs4

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


Cs173 graphs5

A

B

C

D

E

outside

CS173Graphs

Model the floor plan as a graph.

A

B

C

D

E

Cs173 - Spring 2004


Cs173 graphs6

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


Cs173 graphs7

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


Cs173 graphs8

CS173Graphs

Pick a vertex and attempt to find the Eulerian Cycle...

Cs173 - Spring 2004


Cs173 graphs9

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


Cs173 graphs10

All

Orange

Green

Orange and green

Beats me!

CS173Graphs

Quiz time:

Which graphs have an Eulerian Circuit?

Cs173 - Spring 2004


Cs173 graphs11

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


Cs173 graphs12

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


Cs173 graphs13

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


Cs173 graphs14

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


Cs173 graphs15

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


Cs173 graphs16

CS173Graphs

Cs173 - Spring 2004


  • Login