Chapter 7 advanced counting techniques
Download
1 / 48

Chapter 7: - PowerPoint PPT Presentation


  • 426 Views
  • Updated On :

Chapter 7: Advanced Counting Techniques § 7.1: Recurrence Relations A recurrence relation (R.R., or just recurrence ) for a sequence { a n } is an equation that expresses a n in terms of one or more previous elements a 0 , …, a n −1 of the sequence, for all n ≥ n 0 .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter 7:' - paul2


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
Chapter 7 advanced counting techniques l.jpg

Chapter 7:Advanced Counting Techniques

(c)2001-2003, Michael P. Frank


7 1 recurrence relations l.jpg
§7.1: Recurrence Relations

  • A recurrence relation (R.R., or just recurrence) for a sequence {an} is an equation that expresses an in terms of one or more previous elements a0, …, an−1 of the sequence, for all n≥n0.

    • A recursive definition, without the base cases.

  • A particular sequence (described non-recursively) is said to solve the given recurrence relation if it is consistent with the definition of the recurrence.

    • A given recurrence relation may have many solutions.

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Recurrence relation example l.jpg
Recurrence Relation Example

  • Consider the recurrence relation

    an = 2an−1 − an−2 (n≥2).

  • Which of the following are solutions?an = 3nan = 2n

    an = 5

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Example applications l.jpg
Example Applications

  • Recurrence relation for growth of a bank account with P% interest per given period:

    Mn = Mn−1 + (P/100)Mn−1

  • Growth of a population in which each organism yields 1 new one every period starting 2 periods after its birth.

    Pn = Pn−1 + Pn−2 (Fibonacci relation)

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Solving compound interest rr l.jpg
Solving Compound Interest RR

  • Mn = Mn−1 + (P/100)Mn−1

    = (1 + P/100) Mn−1

    = rMn−1 (let r = 1 + P/100)

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Tower of hanoi example l.jpg
Tower of Hanoi Example

  • Problem: Get all disks from peg 1 to peg 2.

    • Only move 1 disk at a time.

    • Never set a larger disk on a smaller one.

Peg #1

Peg #2

Peg #3

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Hanoi recurrence relation l.jpg
Hanoi Recurrence Relation

  • Let Hn = # moves for a stack of n disks.

  • Optimal strategy:

    • Move top n−1 disks to spare peg. (Hn−1 moves)

    • Move bottom disk. (1 move)

    • Move top n−1 to bottom disk. (Hn−1 moves)

  • Note: Hn = 2Hn−1 + 1

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Solving tower of hanoi rr l.jpg
Solving Tower of Hanoi RR

Hn = 2 Hn−1 + 1

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Finding recurrence relation l.jpg
Finding Recurrence Relation

Ex: Find a recurrence relation and give initial conditions for the number of bit strings of length n that do not have two consecutive 0s. How many such bit strings are there of length 5?

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Codeword enumeration l.jpg
Codeword Enumeration

Ex:Consider a string of decimal digits a valid codeword if it contains an even number of 0 digits. For example, 1230407869 is valid, whereas 120987045608 is not valid. Let an be the number of valid n-digit codewords. Find a recurrence relation for an .

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


Catalan numbers l.jpg
Catalan Numbers

Ex: Find a recurrence relation for Cn , the number of ways to parenthesize the product of n+1 numbers, x0, x1,…, xn, to specify the order of multiplication. For example, C3 = 5.

§ 7.1 – Recurrence Relations

(c)2001-2003, Michael P. Frank


7 2 solving recurrences l.jpg
§7.2: Solving Recurrences

General Solution Schemas

  • A linear homogeneous recurrence of degree k with constant coefficients (“k-LiHoReCoCo”) is a recurrence of the forman = c1an−1 + … + ckan−k,where the ciare all real, and ck≠ 0.

  • The solution is uniquely determined if k initial conditions a0…ak−1 are provided.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Solving lihorecocos l.jpg
Solving LiHoReCoCos

  • Basic idea: Look for solutions of the form an = rn, where r is a constant.

  • This requires the characteristic equation:rn = c1rn−1 + … + ckrn−k, i.e., rk − c1rk−1 − … − ck = 0

  • The solutions (characteristic roots) can yield an explicit formula for the sequence.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Solving 2 lihorecocos l.jpg
Solving 2-LiHoReCoCos

  • Consider an arbitrary 2-LiHoReCoCo:an = c1an−1 + c2an−2

  • It has the characteristic equation (C.E.): r2 − c1r − c2 = 0

  • Thm. 1: If this CE has 2 roots r1≠r2, thenan = α1r1n + α2r2n for n≥0for some constants α1, α2.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example l.jpg
Example

  • Solve the recurrence an = an−1 + 2an−2 given the initial conditions a0 = 2, a1 = 7.

  • Solution:

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example continued l.jpg
Example Continued…

  • To find α1 and α2, solve the equations for the initial conditions a0 and a1:

    Simplifying, we have the pair of equations:

    which we can solve easily by substitution:

  • Final answer:

Check: {an≥0} = 2, 7, 11, 25, 47, 97 …

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example17 l.jpg
Example

  • Find an explicit formula for the Fibonacci numbers.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


The case of degenerate roots l.jpg
The Case of Degenerate Roots

  • Now, what if the C.E. r2 − c1r − c2 = 0 has only 1 root r0?

  • Theorem 2: Then,an = α1r0n + α2nr0n, for all n≥0,for some constants α1, α2.

  • Ex:

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


K lihorecocos l.jpg
k-LiHoReCoCos

  • Consider a k-LiHoReCoCo:

  • It’s C.E. is:

  • Thm.3: If this has k distinct roots ri, then the solutions to the recurrence are of the form:

    for all n≥0, where the αi are constants.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example20 l.jpg
Example

  • Ex:

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Degenerate k lihorecocos l.jpg
Degenerate k-LiHoReCoCos

  • Suppose there are t roots r1,…,rt with multiplicities m1,…,mt. Then:

    for all n≥0, where all the α are constants.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example22 l.jpg
Example

  • Ex:

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Li no recocos l.jpg
LiNoReCoCos

  • Linear nonhomogeneous RRs with constant coefficients may (unlike LiHoReCoCos) contain some terms F(n) that depend only on n (and not on any ai’s). General form:

    an = c1an−1 + … + ckan−k + F(n)

The associated homogeneous recurrence relation(associated LiHoReCoCo).

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Solutions of linorecocos l.jpg
Solutions of LiNoReCoCos

  • A useful theorem about LiNoReCoCos:

    • If an = p(n) is any particular solution to the LiNoReCoCo

    • Then all its solutions are of the form:an = p(n) + h(n),where an = h(n) is any solution to the associated homogeneous RR

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example25 l.jpg
Example

  • Find all solutions to an = 3an−1+2n. Which solution has a1 = 3?

    • Notice this is a 1-LiNoReCoCo. Its associated 1-LiHoReCoCo is an = 3an−1, whose solutions are all of the form an = α3n. Thus the solutions to the original problem are all of the form an = p(n) + α3n. So, all we need to do is find one p(n) that works.

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Trial solutions l.jpg
Trial Solutions

  • If the extra terms F(n) are a degree-t polynomial in n, you should try a degree-t polynomial as the particular solution p(n).

  • This case: F(n) is linear so try an = cn + d.

    (for all n) (collect terms) So

    So is a solution.

  • Check: an≥1 = {−5/2, −7/2, −9/2, … }

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Finding a desired solution l.jpg
Finding a Desired Solution

  • From the previous, we know that all general solutions to our example are of the form:

    Solve this for α for the given case, a1 = 3:

  • The answer is

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


Example28 l.jpg
Example

Ex:

§ 7.2 – Solving Recurrences

(c)2001-2003, Michael P. Frank


7 3 divide conquer r r s l.jpg
§7.3: Divide & Conquer R.R.s

Main points so far:

  • Many types of problems are solvable by reducing a problem of size n into some number a of independent subproblems, each of size n/b, where a1 and b>1.

  • The time complexity to solve such problems is given by a recurrence relation:

    • T(n) = a·T(n/b) + g(n)

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Divide conquer examples l.jpg
Divide+Conquer Examples

  • Binary search: Break list into 1 sub-problem (smaller list) (so a=1) of size n/2 (so b=2).

    • So T(n) = T(n/2)+c (g(n)=c constant)

  • Merge sort: Break list of length n into 2 sublists (a=2), each of size n/2 (so b=2), then merge them, in g(n) = Θ(n) time.

    • So T(n) = 2T(n/2) + cn (roughly, for some c)

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Divide conquer examples31 l.jpg
Divide+Conquer Examples

  • Finding the Maximum and Minimum: Break list into 2 sub-problem (smaller list) (so a=2) of size n/2 (so b=2).

    • So T(n) = 2T(n/2)+2 (g(n)=2 constant)

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Fast multiplication example l.jpg
Fast Multiplication Example

  • The ordinary grade-school algorithm takes Θ(n2) steps to multiply two n-digit numbers.

    • This seems like too much work!

  • So, let’s find an asymptotically faster multiplication algorithm!

  • To find the product cd of two 2n-digit base-b numbers, c=(c2n-1c2n-2…c0)b and d=(d2n-1d2n-2…d0)b,

    First, we break c and d in half:

    c=bnC1+C0, d=bnD1+D0, and then... (see next slide)

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Derivation of fast multiplication l.jpg

Zero

Derivation of Fast Multiplication

(Multiply out

polynomials)

(Factor last polynomial)

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Recurrence rel for fast mult l.jpg
Recurrence Rel. for Fast Mult.

Notice that the time complexity T(n) of the fast multiplication algorithm obeys the recurrence:

  • T(2n)=3T(n)+(n)i.e.,

  • T(n)=3T(n/2)+(n)

    So a=3, b=2.

Time to do the needed adds &

subtracts of n-digit and 2n-digit

numbers

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


The master theorem l.jpg
The Master Theorem

Consider a function f(n) that, for all n=bk for all kZ+,,satisfies the recurrence relation:

f(n) = a f (n/b) + cnd

with a≥1, integer b>1, real c>0, d≥0. Then:

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Examples l.jpg
Examples

Consider a function f(n) that, for all n=2k for all kZ+,,satisfies the recurrence relation:

f(n) = 5f(n/2) + 3. Then:

Complexity of Merge Sort:

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Example37 l.jpg
Example

  • Recall that complexity of fast multiply was:

    T(n)=3T(n/2)+(n)

  • Thus, a=3, b=2, d=1. So a > bd, so case 3 of the master theorem applies, so:

    which is (n1.58…), so the new algorithm is strictly faster than ordinary Θ(n2) multiply!

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


Example38 l.jpg
Example

  • The Closest-Pair Problem:a set of n points,

  • How can this closest pair of points be found in an efficient way?

    T(n)=2T(n/2)+7n

§ 7.3 – D-C Recurrence Relations

(c)2001-2003, Michael P. Frank


7 4 generating functions l.jpg
§7.4: Generating Functions

  • Definition:generating function for the sequence of real numbers is the infinite series

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Examples40 l.jpg
Examples

  • What is the generating function of the sequence 1,1,1,1,1,1?

  • What is the generating function of the sequence ?

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Examples41 l.jpg
Examples

  • The function f(x)=1/(1x) is the generating function of the sequence 1,1,1,…for |x|<1.

  • The function f(x)=1/(1ax) is the generating function of the sequence 1,a,a2,…for |ax|<1.

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Theorem l.jpg
Theorem

Convolution of ak and bk

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Example43 l.jpg
Example

What sequence has the generating function

f(x)=1/(1x)2 ?

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Extended binomial coefficient l.jpg

Note:u positive integer,

Extended Binomial Coefficient

Examples:

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Extended binomial theorem l.jpg
Extended Binomial Theorem

Can be proved using Maclaurin series.

Examples:

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Example46 l.jpg
Example

Find the number of solutions of

Sol: Find the coefficient of x17,

The answer is

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Example47 l.jpg
Example

Solve the recurrence relation:

Sol: Let G(x) be the generating function of {ak},

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


Example cont d l.jpg
Example(Cont’d)

§ 7.4 – Generating Functions

(c)2001-2003, Michael P. Frank


ad