Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mathematical Induction II Lecture 21 Section 4.3 Mon, Feb 27, 2006.

Similar presentations


Presentation on theme: "Mathematical Induction II Lecture 21 Section 4.3 Mon, Feb 27, 2006."— Presentation transcript:

1 Mathematical Induction II Lecture 21 Section 4.3 Mon, Feb 27, 2006

2 Example: Binary Search Trees In a complete binary search tree of depth n - 1, (n rows) what is the average number of comparisons required to locate an element? (Assuming all positions are equally likely.) Analysis Elements in row 1 require 1 comparison. Elements in row 2 require 2 comparisons. Elements in row 3 require 3 comparisons. In general, elements in row k require k comparisons.

3 Example: Binary Search Trees Further analysis Row 1 contains 1 element. Row 2 contains 2 elements. Row 3 contains 4 elements. In general, row k contains 2 k - 1 elements. Fact The average number of comparisons is the total number of comparisons required for all elements divided by the number of elements.

4 Example: Binary Search Trees The total number of elements is 1 + 2 + 4 + 8 + … + 2 n – 1. The total number of comparisons is 1  1 + 2  2 + 3  4 + 4  8 + … + n  2 n – 1. Therefore, the average is

5 Example: Binary Search Trees Prove by mathematical induction that 1 + 2 + 4 + 8 + … + 2 n – 1 = 2 n – 1. Prove by mathematical induction that 1  1 + 2  2 + 3  4 + 4  8 + … + n  2 n – 1 = (n – 1)2 n + 1. Then, the average is This is approximately equal to n – 1 (for large n).

6 Binary Search Trees In reality, it often requires two comparisons at each node. Is the value less than the node? If not, is the value greater than the node? If not, then the value equals the node. In other words, we must make a three-way decision at each node.

7 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60

8 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60 2 21

9 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60 2 21 12 3

10 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60 2 21 12 4 3 5

11 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60 2 21 1122 4 3 5 4

12 Binary Search Trees So, exactly how many comparisons does it take to locate an element? 40 20 70503010 60 2 21 1122 4 3 655 4

13 Binary Search Trees It takes an average of 1.5 comparisons to move down one level. Then it takes 2 comparisons to match a value at that level. Level 1: 2 comparisons. Level 2: 1.5 + 2 = 3.5 comparisons. Level 3: 2(1.5) + 2 = 5 comparisons. Level n: (n – 1)(1.5) + 2 = 1.5n + 0.5.

14 Binary Search Trees To find the average, we must compute 1  2 + 2  (3.5) + 4  5 + … + 2 n – 1  (1.5n + 0.5). We could work this our from scratch… Or use what we have already worked out:

15 Binary Search Trees Therefore, the average is For large n, this is approximately 1.5n – 1.

16 Binary Search Trees What if we changed the order in which we did the comparisons at each node? Is the value equal to the node? If not, is the value less than the node? If not, then the value is greater than the node. Will that be more or less efficient than the previous order?

17 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60

18 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60 1 22

19 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60 1 22 22 3

20 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60 1 22 22 5 3 5

21 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60 1 22 2222 5 3 5 3

22 Binary Search Trees Exactly how many comparisons does it take to locate an element? 40 20 70503010 60 1 22 2222 5 3 555 3

23 Binary Search Trees To find the average, we must compute 1  1 + 2  3 + 4  5 + … + 2 n – 1  (2n – 1). Again, we can use what we have already worked out:

24 Binary Search Trees Therefore, the average is For large n, this is approximately 2n – 3. This is larger (worse) than 1.5n – 1. Therefore, it is better not to check for equality first when searching a binary tree.

25 Example: Recursive Sequences Define a sequence a 1 = 2, a n = 2a n – 1 – 1 for n  2. Find a non-recursive formula for a n and prove that it is correct. Analysis {a n } = {2, 3, 5, 9, 17, 33, …}. {a n – 1} = {1, 2, 4, 8, 16, 32, …}. Conjecture that a n = 2 n – 1 + 1.

26 Example: Recursive Sequences Proof: Basic Step P(1) is true since a 1 = 2 = 2 0 + 1. Inductive Step Suppose that a k = 2 k – 1 + 1 for some k  1.

27 Example: Recursive Sequences Then a k + 1 = 2a k – 1 (by def.) = 2(2 k – 1 + 1) – 1 (by ind. hyp.) = 2 k + 2 – 1 = 2 k + 1. Therefore, P(k + 1) is true. Therefore, a n = 2 n + 1 for all n  1.

28 Example: Contest Problem Let n be a positive integer. Suppose we have n red dots and n blue dots in the plane such that no three dots are collinear. Prove that it is possible to connect the red dots to the blue dots in distinct pairs such that none of the line segments intersect.

29 Example: Contest Problem

30

31 Proof: Basic Step P(1) is obviously true since there is only one pair of dots and only one segment.

32 Example: Contest Problem Proof: Basic Step P(1) is obviously true since there is only one pair of dots and only one segment.

33 Example: Contest Problem Inductive Step Suppose P(1), …, P(k) are true for some k  1. Now suppose we have a collection of k + 1 red dots and k + 1 blue dots. Consider the convex hull of this set.

34 Example: Contest Problem There are two possibilities. Case 1: The dots on the convex hull are not all the same color. Case 2: The dots on the convex hull are all the same color.

35 Example: Contest Problem There are two possibilities. Case 1: The dots on the convex hull are not all the same color. Case 2: The dots on the convex hull are all the same color.

36 Example: Contest Problem Case 1: Suppose they are not all the same color. Choose two adjacent dots of different colors on the convex hull and connect them with a segment.

37 Example: Contest Problem

38

39

40 By induction, the remaining collection of k red dots and k blue dots may be connected so that no two segments intersect. Nor will any of those segments intersect the first segment because it is on the convex hull and no three dots are collinear. Therefore, the entire set of dots may be connected with non-intersecting segments.

41 Example: Contest Problem

42

43 Case 2: Suppose they are all the same color, say red. Choose a line that is not parallel to any segment connecting any two dots. Move the line across the set of dots, from right to left. Keep count of the number of red dots and the number of blue dots to the right of the line.

44 Example: Contest Problem 0 red dots, so far (r = 0). 0 blue dot, so far (b = 0).

45 Example: Contest Problem 1 red dots, so far (r = 1). 0 blue dot, so far (b = 0).

46 Example: Contest Problem 1 red dots, so far (r = 1). 1 blue dot, so far (b = 1).

47 Example: Contest Problem 2 red dots, so far (r = 2). 1 blue dot, so far (b = 1).

48 Example: Contest Problem 3 red dots, so far (r = 3). 1 blue dot, so far (b = 1).

49 Example: Contest Problem Initially, r – b = 0. At the end, r – b = 0. Just after passing the first dot, r – b = 1. Just before passing the last dot, r – b = –1. The line meets only one dot at a time. Therefore, somewhere in between, r – b must be 0.

50 Example: Contest Problem 3 red dots (r = 3). 1 blue dot (b = 1). r – b = 2.

51 Example: Contest Problem 3 red dots (r = 3). 2 blue dot (b = 2). r – b = 1.

52 Example: Contest Problem 3 red dots (r = 3). 3 blue dot (b = 3). r – b = 0.

53 Example: Contest Problem Apply the induction hypothesis. The dots on the right may be connected with non-intersecting segments. The dots on the left may be connected with non-intersecting segments. Therefore, the entire set of dots may be connected with non-intersecting segments.

54 Example: Contest Problem Therefore, P(n) is true for all n  1.

55 Example: Contest Problem Therefore, P(n) is true for all n  1.

56 Example: Contest Problem Therefore, P(n) is true for all n  1.


Download ppt "Mathematical Induction II Lecture 21 Section 4.3 Mon, Feb 27, 2006."

Similar presentations


Ads by Google