discrete structure li tak sing( 李德成 ) lectures 20-22 1

61
Discrete Structure Li Tak Sing( 李李李 ) Lectures 20-22 1

Upload: blake-melton

Post on 17-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Discrete Structure

Li Tak Sing(李德成 )

Lectures 20-22

1

Page 2: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Section 4.3.3 Well-founded orders

Well-foundedA poset is said to be well-founded if every

descending chain of elements is finite. In this case, the partial order is called a well-founded order.

2

Page 3: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Examples of well-founded poset

The < relations of N.100>90>78>.. This chain must end with finite

terms.

<{a,b}*, shorter>aa shorter aab shorter abaaa

3

Page 4: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Examples of posets that are not well-founded.The < relation of Z.

30>28>21>2>-4>......

The < relation of R+

30.2>29.2>20.4>15.8>....>0.004>0.00058>....

4

Page 5: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

The minimal Element Property

If A is a well-founded set, then every subset of A has a minimal element. Conversely, if every nonempty subset of A has a minimal element, then A is well-founded.

5

Page 6: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Lexicograhic or ordering of tuples

The linear ordering < on N can be used to create the lexicographic order on Nk, which is defined as follows.

if and only if there is an index such that and for each , . This ordering is a total ordering on Nk. It is also well-ordering.

6

Page 7: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

For each set S, show that the given partial order on S is well-founded.1. Let S be a set of trees. Let means that s has

fewer nodes.

2. Let S be a set of trees. Let means that s has fewer leaves than t.

7

Page 8: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

1. Consider an arbitrary binary tree with n nodes. A descending chain starting from the tree cannot have more than n+1 elements. Therefore the descending chain must be finite. Therefore the poset is well-founded.

8

Page 9: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

2. Consider an arbitrary binary tree with n nodes. A descending chain starting from the tree cannot have more than n+1 elements. Therefore the descending chain must be finite. Therefore the poset is well-founded.

9

Page 10: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

Suppose we define the relation on NN as follows:

iff

Is NN well-founded with respect to ?

10

Page 11: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

Yes, it is well-founded.

For any , any descending chain can only contain at most elements, hence it is finite. Therefore the poset is well-founded.

11

Page 12: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Chapter 5 Analysis Techniques

We need to see if an algorithm is efficient or not.

Least time and least space. Which one is more important? Generally, time is a more important factor because you can buy space but not time.

12

Page 13: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Worst-case running time

The running time is measured by counting the number of operations instead of doing the real timing during the execution of a program.

The number of operations performed by an algorithm usually depends on the size or structure of the input.

Some algorithm also depends on the structure of the input. For example some sorting algorithms perform poorly when the original list is already sorted.

13

Page 14: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Worst-case running time

An input of size n is a worst-case input if, when compared to all other inputs of size n, it causes an algorithm A to execute the largest number of operations.

For any input I we'll denote its size by size(I), and we'll let time(I) denote the number of operations executed by A on I. Then, the worst-case function for A is defined as follows:WA(n)=max{time(I)|I is an input and size(I)=n}

14

Page 15: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Optimal in the worst case

An algorithm A is optimal in the worst case for problem P, if for any algorithm B that exits, or ever will exist, the following relationship holds: WA(n)WB(n) for all n>0

15

Page 16: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Steps to find an algorithm that is optimal(Find an algorithm) Find or design an

algorithm A to solve P. Then do an analysis of A to find the worst-case function WA.

(Find a lower bound) Find a function F such that F(n)WB for all n>0 and for all alogrithms B that solve P.

Compare F and WA. If F= WA, then A is optimal in the worst case.

16

Page 17: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Steps to find an algorithm that is optimal

Suppose we know that FWA. This means that F(n)<WA(n) for some n. In this case there are two possible courses of action to consider:Try to build a new algorithm C such that

WC(n)WA(n) for all n>0

Try to find a new function G such that F(n) G(n) WB(n) for all n>0 and for all algorithms B that solve P.

17

Page 18: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Matrix Multiplication

,

The product is the following 2 by 2 matrix:

18

Page 19: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Matrix Multiplication

if two nn matrices are multiplied together, multiplications and additions are needed. However, there are special algorithm that can be reduced the number of multiplication.

19

Page 20: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Matrix Multiplication

=

20

Page 21: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Matrix Multiplication

Then the matrix product is given using the remaining eight additions as

21

Page 22: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

In the last method, only 7 multiplications are needed.

Multiplication of larger-size matrices is broken down into multiplying many 2 by 2 matrices. So the number of multiplication operations becomes less than n3.

The known lower bound for the number of multiplication operations needed to multiply two n by n matrices is n2.

Strassen showed how to multiply two matrices with n2.81 multiplications. The number 2.81 is related to log27.

22

Page 23: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Finding the minimum

Problem: to find the minimum number in an unsorted list of a numbers.

We'll count the number of comparison operations that an algorithm makes between elements of the list.

To find the minimum number in a list of n numbers, the minimum number must be compared with the other n-1 numbers. Therefore, n-1 is a lower bound on the number of comparisons needed to find the minimum number in a list of n numbers.

23

Page 24: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Finding the minimum

The following algorithm is optimal because the operation is executed exactly n-1 times.m:=a[1];for i:=2 to n do m:=if ma[i] then m else a[i]od

24

Page 25: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Decision trees

A decision tree for an algorithm is a tree whose nodes represent decision points in the algorithm and whose leaves represent possible outcomes.

Decision trees can be useful in trying to construct an algorithm or trying to find properties of a decision tree.

25

Page 26: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Decision trees

If an algorithm makes decisions based on the comparison of two objects, then it can be represented by a binary decision tree. Each nonleaf node in the tree represents a pair of objects to be compared by the algorithm, and each branch from that node represents a path taken by the algorithm based on the comparison. Each leaf can represent an outcome of the algorithm.

26

Page 27: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Lower bounds for decision tree algorithmsSuppose that a problem has n possible

outcomes and it can be solved by a binary decision tree algorithm. What is the best binary decision tree algorithm? We may not know the answer, but we can find a lower bound for the depth of any binary decision tree to solve the problem. Since the program has n possible outcomes, it follows that any binary decision tree algorithm to solve the problem must have at least n leaves, one for each of the n possible outcomes. Recall that the number of leaves in a binary tree of depth d is at most 2d.

27

Page 28: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Lower bounds for decision tree algorithmsSo if d is the depth of a binary decision

tree to solve a problem with n possible outcomes, then we must have n2d. We can solve this inequality for d by taking log2 of both sides to obtain log2n d. Since d is a natural number, it follows that

log2nd

28

Page 29: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Ternary decision tree

We can do the same analysis for ternary decision trees. The number of leaves in a ternary tree of depth d is at most 3d. If d is the depth of a ternary decision tree to solve a problem with n possible outcomes, then we must have n3d. Or:

log3nd

29

Page 30: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Binary Search

Suppose we search a sorted list in a binary fashion. That is, we check the middle element of the list to see whether it's the key we are looking for. If not, then we perform the same operation on either the left half or the right half of the list, depending on the value of the key. This algorithm has a nice representation as a decision tree. For example, suppose we have the following sorted list of 15 numbers:x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15,

30

Page 31: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Decision tree for binary search

u s u

x1

u s u

x3

u s u

x5

u s u

x7

u s u

x9

u s u

x11

u s u

x13

u s u

x15

s

x2

s

x6

s

x10

s

x14

s

x4

s

x12

s

x8

31

Page 32: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Binary search

Suppose we're given a number key K, and we must find whether it is in the list. The decision tree for a binary search of the list has the number x8 at its root. This represents the comparison of K with x8. If K=x8, then we are successful in one comparison. If K<x8, then we go to the left child of x8; otherwise we go to the right child of x8. The result is a ternary decision tree in which the leaves are labeled with either S, for successful search, or U, for unsuccessful search.

32

Page 33: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Binary search

Since the depth of the tree is 4, it follows that there will be four comparisons in the worst case to find whether K is in the list. Is this an optimal algorithm? To see that the answer is yes, we can observe that there are 31 possible outcomes for the given program: 15 leaves labeled with S to represent successful searches; and 16 leaves labeled with U to represent the gaps where K<x1, xi<K<xi+1 for 1i<15, and x15<K. Therefore, a worst-case lower bound for the number of comparisons is log331=4. Therefore the hyphen algorithm is optimal.

33

Page 34: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Examples

A solution to a problem has x possible outcomes. An algorithm to solve the problem has a binary decision tree of depth 5.

Draw a picture of the decision tree for an optimal algorithm to find the maximum number in the list x1, x2, x3 and x4.

34

Page 35: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Finding a bad coin

Suppose we are asked to use a pan balance to find the heavy coin among eight coins with the assumption that they all look alike and the other seven all have the same weight. One way to proceed is to always place coins in the two pans that include the bad coin, so the pan will always go down.

35

Page 36: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

This gives a binary decision tree, where each internal node of the tree represents the pan balance. If the left side goes down, then the heavy coin is on the left side of the balance. Otherwise, the heavy coin is on the right side of the balance. Each leaf represents one coin that is the heavy coin. Suppose we label the coins with the numbers 1, 2,..., 8.

36

Page 37: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

The decision tree for one algorithm is shown in Figure 5.2, where the numbers on either side of a nonleaf node represent the coins on either side of the pan balance. This algorithm finds the heavy coin in three weighings. Can we do any better? Look at the next example.

37

Page 38: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

An Optimal Solution

We are asked to use a pan balance to find the heavy coin among eight coins with the assumption that they all look alike and the other seven all have the same weight. In this case we'll weigh coins with the possibility that the two pans are balanced. So a decision tree can have nodes with three children.

38

Page 39: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

We don't have to use all eight coins on the first weighing. For example, the above shows the decision tree for one algorithm. Notice that there is no middle branch on the middle subtree because, at this point, one of the coins 7 or 8 must be the heavy one. This algorithm finds the heavy coin in two weighings.

39

Page 40: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

This algorithm is an optimal pan-balance algorithm for the problem, where we are counting the number of weighings to find the heavy coin. To see this, notice that any one of the eight coins could be the heavy one. Therefore, there must be at least eight leaves on any algorithm's decision tree.

40

Page 41: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

But a binary tree of depth d can have 2d possible leaves. So to get eight leaves, we must have 2d ≥ 8. This implies that d ≥ 3. But a ternary tree of depth d can have 3d possible leaves. So to get eight leaves, we must have 3d ≥ 8, or d ≥ 2. Therefore, 2 is a lower bound for the number of weighings. Since the algorithm solves the problem in two weighings, it is optimal.

41

Page 42: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

A Lower Bound Computation

Suppose we have a set of 13 coins in which at most one coin is bad and a bad coin may be heavier or lighter than the other coins. The problem is to use a pan balance to find the bad coin if it exists and say whether it is heavy or light. We'll find a lower bound on the heights of decision trees for pan-balance algorithms to solve the problem.

42

Page 43: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Any solution must tell whether a bad coin is heavy or light. Thus there are 27 possible conditions: no bad coin and the 13 pairs of conditions (ith coin light, ith coin heavy). Therefore, any decision tree for the problem must have at least 27 leaves. So a ternary decision tree of depth d must satisfy 3d ≥ 27, or d ≥ 3. This gives us a lower bound of 3.

43

Page 44: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Now the big question: Is there an algorithm to solve the problem, where the decision tree of the algorithm has depth 3? The answer is no. Just look at the cases of different initial weighings, and note in each case that the remaining possible conditions cannot be distinguished with just two more weighings. Thus any decision tree for this problem must have depth 4 or more. 44

Page 45: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

5.2 Finding Closed Forms

A closed from is an expression that can be computed by applying a fixed number of familiar operations to the arguments. A closed form can't have an ellipsis because the number of operations to evaluate the form would not be fixed. For example, the expression n(n+1)/2 is a closed form, but the expression 1+2+...+n is not a closed form.

45

Page 46: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Closed Forms of Elementary Finite Sums, ,... , form an AP series, then

...

if a,b,....,x form an AP with common difference, then the number of terms in the AP is:

46

Page 47: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Examples

Evaluate each of the followings:1. 4+7+10+...40

2. 5+10+20+40+..+160

47

Page 48: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

48

Page 49: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Examples

Find a closed form for each of the following sums.1. 2+4+6+...+2n

2. 2+7+12+...+(5n+2)

3. 2+6+...+2(3n).

49

Page 50: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

1. n(n+1)

50

Page 51: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Simple sort

a[i], i=1,...,n are n numbers.We want to sort these numbers in

ascending order.min(a,i,n) is the index of the minimum

number among the elements of a[i],..a[n].exchange(a[i],a[j]) is the usual operation

of swapping elements and does not use any comparison.

51

Page 52: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Simple sort

The algorithm

for i:=1 to n-1 do j:=min(a,i,n); exchange(a[i],a[j])od

The algorithm makes n-1 comparison in the first round, then n-2 comparison in the second round,...

So the total number of comparisons made is: (n-1)+(n-2)+....1=n(n-1)/2

52

Page 53: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Simple sort

Exactly n(n-1)/2 comparisons are made for all inputs. So every set of input corresponds to the worst case.

53

Page 54: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

For the following algorithm, answer each question by giving a formula in terms of n:

for i:=1 to n do for j:=1 to i do x:=x+f(x) od; x:=x+g(x) odFind the number of times the assignment statement (:=)

is executed during the running of the program.

54

Page 55: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

55

Page 56: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

For the following algorithm, answer each question by giving a formula in terms of n:

i:=1;while i<n+1 do

i:=i+2;for j:=1 to i do S od

odFind the number of times the statement S is executed

during the running of the program.

56

Page 57: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

When n is odd, the answer is:

3+5+7+...+(n+2)=

When n is even, the answer is:

3+5+7+...+(n+1)=

57

Page 58: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

Find a closed form, in terms of n, for the number of times S is executed in the following algorithm:

for i:=1 to n dofor j:=i to n do

Sod

od

58

Page 59: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

59

Page 60: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Example

Find the exact number of times, in terms of the natural number n, that S is executed in the following algorithm:

i:=0;while i<n do

S;i:=i+2

od

60

Page 61: Discrete Structure Li Tak Sing( 李德成 ) Lectures 20-22 1

Solution

61