Chapter 6 Advanced Counting 6.1 Recurrence Relations Recurrence Relations Definition: An equation that expresses the element an of the sequence {an} in terms of one or more previous terms of the sequence a0,...,an-1. A sequence is a solution of the recurrence relation if its terms satisfy the recurrence relation. Example: Consider the recurrence relation an = 2a(n-1) –a(n-2), n in N Consider the sequence: an=3n. Is it a solution? 2x3x(n-1)-3x(n-2) =3n YES! (a0 = 0, a1 = 3, a2 = 6,...) Consider the sequence an=5. Is it a solution? 2x5 – 5 = 5 YES! (a0 = 5, a1 = 5, ...) we see that to sequences can be a solution of the same recurrence relation since the initial conditions are also very important. The initial conditions plus the recurrence relation provide a unique recursive definition of a sequence. Modelling Let’s say you put $1 dollar in the bank now. How much will you receive in 50 years if the interest is 4%? B(0) = 1. B(n) = B(n-1) + 0.04xB(n-1) = 1.04 x B(n-1). = 1.04^2 B(n-2) = 1.04^50 B(0) = $ 7.1 (add the interest). Tower of Hanoi How many moves does it take to solve the Hanoi puzzle? Let Hn be the number of moves to solve a problem with n disks. -We first move the top n-1 disks to peg 2 in H(n-1) moves. -We then move the largest disk to peg 3 in 1 move. -We then move the n-1 disks on top of the largest disk in another H(n-1) moves: Total: Hn = 2xH(n-1)+1 -Basis Step: 1 disk = 1 move: H(1)=1. -Hn = 2(2H(n-2)+1)+1 = 2^2H(n-2)+2^1 + 1 .... =2^(n-1)H1 + 2^(n-2) + 2^(n-3)+...+2+1 =2^n-1 (by sums of geometric series 3.1). Examples How many bit-strings of length n with no consecutive 0’s? an is number of bit-strings with no 2 consecutive 0’s in it. How can we generate a bit-string of length n from bit-strings of length n-1? Valid bit-strings fall into 2 classes, ones that end with a “0” and ones that end with a “1”. Ones that end in a “1” could be generated by adding a one to a valid bit-string of any kind: a(n-1) ways. Ones that end with a “0” came about by appending a smaller bit-string of length n-1 that ended with a “1” (otherwise 2 zeros appear), which must have come about in turn by appending a “1” to any valid bit-string of length n-2: a(n-2) ways. Total: an = a(n-1) + a(n-2) n>2. a1 = 2, a2 = 3. Recognize it? 2,3,5,8,13.....? Catalan Numbers In how many ways Cn can we put parentheses around n+1 symbols to indicate in which order they should be processed? Each string x0 x1 x2 ... xn is divided into 2 sub-strings: e.g. ((x0 x1) x2) (x3 x4) Assume break occurs at after position k, then there are Ck x Cn-k-1 ways to put parenthesis around the first & second sub-string. Thus the total is: Cn = C0 Cn-1 + C1Cn-2+ ... +Cn-1C0 with C0=1 and C1 = 1. n 1 Ck Cnk 1 k 0 number of extended binary trees with n internal nodes. 1 2n n 1 n (derivation later) 2 5 14