Loading in 5 sec....

CS 173: Discrete Mathematical StructuresPowerPoint Presentation

CS 173: Discrete Mathematical Structures

- 152 Views
- Uploaded on
- Presentation posted in: General

CS 173: Discrete Mathematical Structures

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

CS 173:Discrete Mathematical Structures

Cinda Heeren

heeren@cs.uiuc.edu

Siebel Center, rm 2213

Office Hours: W 12:30-2:30

- 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

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.

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

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

Ex. (Z+, | ), the relation “divides” on positive integers.

Reflexive?

Transitive?

Antisymmetric?

Cs173 - Spring 2004

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.

Ex. (Z, | ), the relation “divides” on integers.

Reflexive?

Transitive?

Antisymmetric?

Cs173 - Spring 2004

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.

Ex. (2S, ), the relation “subset” on set of all subsets of S.

Reflexive?

Transitive?

Antisymmetric?

Cs173 - Spring 2004

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

0110 1000

0110 0000

0110 1110

0110 10111

Huh?

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

In the string relation, we said 0001 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.

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

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.

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

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

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

{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

Have you seen this one before?

Cs173 - Spring 2004

Reds are maximal.

Blues are minimal.

Consider this poset:

Cs173 - Spring 2004

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.

Definition: In a poset S, an element z is a minimum element if bS, zb.

Write the defn of maximum!

Cs173 - Spring 2004

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

Then a1 a2, and a2a1, 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

Defn: Let (S, ) be a partial order. If AS, 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

{a, b} has no UB.

Defn: Let (S, ) be a partial order. If AS, 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

{g, h, i, j} has no LB.

Defn: Let (S, ) be a partial order. If AS, 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

Defn: Given poset (S, ) and AS, 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

This is because c and d are incomparable.

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

shoes

belt

jacket

socks

jeans

swter

jwlry

In what order will you get dressed while respecting constraints?

uwear

shirt

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

shoes

belt

jacket

socks

jeans

swter

jwlry

NOT A REAL PROOF! Should use induction!!

uwear

shirt

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

shoes

belt

jacket

socks

jeans

swter

jwlry

uwear

shirt

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

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

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

shoes

belt

jacket

socks

jeans

swter

jwlry

uwear

shirt

t

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

Why are these two problems on the same slide?

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

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 - Spring 2004

Definitions you should understand:

- Vertex
- Edge
- Weights
- Degree
- Neighbors
- Connected
- Complete
- Bipartite
- Planar
- Cycle
- Tree
- Path
- Circuit

Cs173 - Spring 2004

A

B

C

D

E

Why or why not?

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

A

B

C

D

E

outside

Model the floor plan as a graph.

A

B

C

D

E

Cs173 - Spring 2004

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.

An equivalent question is: Can we traverse the graph, visiting each edge exactly once?

A

B

C

D

E

outside

Cs173 - Spring 2004

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

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

Cs173 - Spring 2004

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

All

Orange

Green

Orange and green

Beats me!

Quiz time:

Which graphs have an Eulerian Circuit?

Cs173 - Spring 2004

All

Orange

Green

Orange and green

Beats me!

Bonus: Give a descriptive name for the green graph.

Quiz time:

Which graphs have an Eulerian Path?

Cs173 - Spring 2004

4

1

7

12

6

11

14

13

8

3

2

10

- 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

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.

- 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

- 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

More formal study of this in cs473, FUN!

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 - Spring 2004