Documente Academic
Documente Profesional
Documente Cultură
Analysis
By
Nazir Ahmad Zafar
Dr Nazir A. Zafar
Lecture No 5
Dr Nazir A. Zafar
(a0 x + a1 x
k
k 1
+ . . . + ak )( x b1 )
d1 +1
( x b2 )
d 2 +1
...,
Dr Nazir A. Zafar
Today Covered
In this lecture following will be covered
Assumption in solving recurrence
The substitution Method
The recursion tree Method
The Master Theorem
Conclusion
Dr Nazir A. Zafar
T ( n) = n
n
T 2 + T 2 + (n) otherwise
Dr Nazir A. Zafar
if n = 1
(1)
T ( n) =
n
2.T ( 2 ) + (n) otherwise
Dr Nazir A. Zafar
Dr Nazir A. Zafar
Substitution Method
Substitution method has two steps
Guess the form of the solution
Use mathematical induction to find constants and
show that the solution does work
The name Substitution comes from the substitution
of guessed answer for the function when the
inductive hypothesis is applied to smaller values.
Method is powerful, but it can be applied only in
cases when it is easy to guess the form of answer
The substitution method can be used to establish
either upper or lower bounds on a recurrence.
Dr Nazir A. Zafar
Proof
let us suppose that
log = t
log = s
c
b
b
a
a = b and b = c
s
Now b t = c,
a = c,
st
s t = log ca ,
Dr Nazir A. Zafar
(a s ) t = c
log ca = s t
log ba log bc = log ca proved
Advanced Algorithms Analysis and Design
log 4n
log 4n
=n
=n
log 34
log 3 (3
log 4n
log 34
) = log 3 (n
3
3
3
4
3
4
log = log
n
4
Dr Nazir A. Zafar
n
4
log 34
n
3
n
3
c
b
c
a
if n = 1
1
T ( n) =
n
3 T ( 4 ) + n otherwise
Solution:
n
(1) T (n) = 3 T ( ) + n
4
(4) T (
n
4
) = 3T (
k 1
and so on
n
n
)
+
4k
4 k 1
n
Now substitute the value of T ( ) from (2) to (1)
4
n
n
n
3
= 32 T ( 2 ) + ( ) n + n
4
4
substitute the value of T (
n
) from (3) to (5) equation, we have
2
4
n
n
3
T ( n) = 3 3 T ( 3 ) + 2 + ( ) n + n
4
4
4
Dr Nazir A. Zafar
2 n
T ( n) = 3 T ( 3 ) + 3 2 + n + n
4
4
4
3
3 k 1
3 k 2
3
3 0
n
T ( n) = 3 T ( k ) + ( ) n + ( ) + + ( ) n + ( ) n
4
4
4
4
4
k
T (n) = 3 T ( ) + n 1 + ( ) + ( ) + .... + ( )
4
4
4
n
3 k
1 ( 4)
k
T (n) = 3 T (1) + n 1 (
3
3k
T (n) = 3 1 + 4n(1 k )
4
k
Dr Nazir A. Zafar
1 + x + x + ... + x
2
k 1
1 xk
)
= 1 (
1 x
T (1) = 1
Advanced Algorithms Analysis and Design
3
3
k
T (n) = 3 + 4n (1 k ) = 3 + 4n (1 )
4
n
k
n3
= 3 + 4n(
)
n
k
= 3 + 4(n 3 ) = 1 3 + 4n 4 3
k
= 4 n 3 3 = 4n 3 3
log n
4
4 k = n,
Dr Nazir A. Zafar
k = log n4
log n4
T ( n) = 4n 3 n
T ( n) = 4n 3 n
T ( n) = 4n 3 n
log 34
0 1
Dr Nazir A. Zafar
let = log 34
A Hard Example
Solve the recurrecnce relation given below
if n = 1
1
T ( n) =
n
aT ( b ) + n otherwise
Solution :
n
n
n
T (n) = aT ( ) + n = a a T ( 2 ) + a + n
b
b
b
n
a
n
n a
2
= a T ( 2 ) + ( )n + n = a aT ( 3 ) + 2 + ( )n + n
b
b
b
b b
n
a 2
a
3
= a T ( 3 ) + ( ) n + ( )n + n
b
b
b
2
Dr Nazir A. Zafar
A Hard Example
Continuing this process we get
n
a k 1
a k 2
a 1
k
T (n) = a T ( k ) + ( ) n + ( ) n + .... + ( ) n + n
b
b
b
b
n
a
a 2
a k 1
k
= a T ( k ) + n 1 + ( ) + ( ) + .... + ( )
b
b
b
b
a
a k 1
Dr Nazir A. Zafar
A Hard Example
a k
1 ( )
k
b
a
k
k
b
= a T (1) + n
)(1 k )
= a T (1) + n(
ba
b
1 a
b
b a
= a 1 + n(
)(
)
k
ba
b
k
b
b a
= a + n(
)(
)
ba
n
k
Dr Nazir A. Zafar
n = b
A Hard Example
b
k
k
)(b a )
= a +(
ba
k
b
b
k
k
=a +
b
a
ba
ba
k
b
ba b k
k
)a
=
b + (
ba
ba
Dr Nazir A. Zafar
A Hard Example
b
a
log bn
k
)b
a
T ( n) = (
ba
ba
let = log
b
a
log ba
k
=
b
n
ba
ba
a
b
b
a
T ( n) =
n
n T ( n) ( n)
ba
ba
Dr Nazir A. Zafar
if n = 1
1
T ( n) =
n
2
3 T ( 4 ) + cn otherwise
Solution:
n
2
(1) T (n) = 3 T ( ) + cn
4
n
n
n 2
(2) T ( ) = 3 T ( 2 ) + c( )
4
4
4
Dr Nazir A. Zafar
Contd..
n
n
n 2
(3) T ( 2 ) = 3 T ( 3 ) + c( 2 )
4
4
4
n
n
n 2
(4) T ( 3 ) = 3 T ( 4 ) + c( 3 )
4
4
4
and so on
n
n
n 2
(5) T ( k 1 ) = 3 T ( k ) + c( k 1 )
4
4
4
Dr Nazir A. Zafar
Contd..
n
Now substitute the value of T ( ) from (2) to (1)
4
n
n 2
2
(6) T (n) = 33T ( 2 ) + c( ) + cn
4
4
n
n 2
2
= 3 T ( 2 ) + 3c( ) + cn
4
4
2
n
substitute the value of T ( 2 ) from (3) to (6), we have
4
n
n 2
n 2
T ( n) = 3 3T ( 3 ) + c( 2 ) + 3c ( ) + cn 2
4
4
4
Dr Nazir A. Zafar
Contd..
n
n 2
n 2
2
2
T (n) = 3 T ( 3 ) + 3 c( 2 ) + 3c ( ) + cn
4
4
4
3
n
3 2 2
3 1 2
2
T (n) = 3 T ( 3 ) + ( 2 ) cn + ( 2 ) cn + cn
4
4
4
3
Dr Nazir A. Zafar
Contd..
3
3 2
3 k 1
T (n) = 3 T (1) + cn 1 + + ( ) + +( )
16
16 16
3 k
1 ( )
16
T (n) = 3 k 1 + cn 2 (
3
1
16
k
3
16
2
k
= 3 + cn (1 k )
13
16
Dr Nazir A. Zafar
Contd..
since 4 = n (4 ) = n
k
(4 ) = n
2 k
16 = n
k
16
3
T (n) = 3 + cn (1 k )
13
16
k
2
k
n
16
3
= 3 k + cn 2 (
)
2
13
n
16
2
k
= 3 + c (n 3 )
13
k
16
16
2
k
= c n + (1 c)3
13
13
Dr Nazir A. Zafar
Contd..
16 2
16 log n
T (n) = cn + (1 c)3 4
13
13
16 2
16
log 3
=
cn + (1
c)n 4
13
13
let log 34 =
16
16 2
T (n) = cn + (1 c)n
13
13
Hence T (n) (n )
2
Dr Nazir A. Zafar
Observations
if n = 1
1
T ( n) =
n
k
+
(
)
otherwise
a
T
cn
= en + fn
k
log a
b
= en + fn
k
log b 1
b
= en + f .n
k
= ( n
Dr Nazir A. Zafar
k1 . log b
b
max( k , k1 )
suppose b = a
k1
= en + f .n
k
k1
)
Advanced Algorithms Analysis and Design
Dr Nazir A. Zafar
(1)
T ( n) =
n
3.T ( ) + (n 2 )
4
if n = 1
if otherwise
1
T ( n) =
n
3.T ( ) + cn 2
4
if n = 1
if otherwise
T(n/4)
T(n/4)
T(n/4)
c.n2
c.(n/4)2
c.(n/4)2
T(n/16) T(n/16)
Dr Nazir A. Zafar
T(n/16)
T(n/16) T(n/16)
c.(n/4)2
T(n/16)
T(n/16) T(n/16)
T(n/16)
c.(n/4)2
c.n2
c.(n/4)2
c.n2
c.(n/4)2
2
c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)2 c(n/16)
(3/16).c.n2
(3/16)2.c.n2
Log4n
Suppose n = 4
c.n2
c.n2
c.(n/4)2
c.(n/4)2
c.(n/4)2
(3/16).c.n2
2
2
2
2
2
c(n/16)2 c(n/16)2 c(n/16) c(n/16)2 c(n/16)2 c(n/16) c(n/16) c(n/16) c(n/16)
(3/16)2.c.n2
(3/42)k-1 cn2
T(n/4k)
T(1)
T(1)
Dr Nazir A. Zafar
T(n/4k)
T(1)
T(n/4k)
T(1)
T(1)
T(n/4k)
T(1)
T(n/4k)
T(1)
T(n/4k)
T(1) T(1)
T(n/4k)
T(1)
T(1)
T(n/4k)
T(1)
(nlog43)
T ( n) = 3
log 4n
T ( n ) = ( n
Dr Nazir A. Zafar
log 3 4
3 k 1 2
3 1
3 0
) + ( 2 ) + ( 2 ) + +( 2 ) cn
4
4
4
T ( n ) = ( n
log 3 4
3 1
3 k 1 2
3 0
) + ( 2 ) + ( 2 ) + +( 2 ) cn
4
4
4
Where 4 = n k = log 4 n
k
T ( n ) ( n
log 3 4
T ( n ) ( n
3 1
3 0
2
) + ( 2 ) + ( 2 ) + cn
4
4
log 3 4
)+(
3
1 ( )
16
)cn = (n
2
log 3 4
16 2
) + cn
13
Hence T (n) = (n 2 )
Dr Nazir A. Zafar
Master Theorem
Dr Nazir A. Zafar
Master Theorem
Lemma 1:
Let a 1, b > 1 be constants, f(n) a non-negative
function defined on exact power of b by recurrence
(1)
T ( n) =
n
a.T ( ) + f (n)
b
if n = 1
if n = b i
T ( n ) = ( n
log b a
)+
log b n 1
j =0
Dr Nazir A. Zafar
n
a .f ( j )
b
j
Master Theorem
Lemma 2: Let a 1, b > 1 be constants, let f(n) be a
non-negative function defined on exact power of b. A
function g(n) defined over exact powers of b by
g ( n) =
log b n 1
j =0
n
a .f ( j )
b
j
n
g
n
=
n
2. If
3. If a.f(n/b) c.f(n), for some constant c < 1 and for all
n b, then g(n) = (f(n))
log b a
Dr Nazir A. Zafar
Master Theorem
Proof:
log b a
)
Case 1: f ( n) = ( n
Which implies that
n
n logb a
)
f ( j ) = (( j )
b
b
log b n 1
j =0
n
a .f ( j )
b
j
(1)
(2)
g ( n) = (
log b n 1
j =0
Dr Nazir A. Zafar
n logb a
)
a .( j )
b
j
Master Theorem
log b n 1
Consider
j =0
n logb
log b
a .( j )
=n
.
b
a
b
logb a
Assume that:
log b log b
a
j =0
a.b
b
logb a
=x
a
log b n 1
logb a
) = log b x
Dr Nazir A. Zafar
Master Theorem
log b 1
n
j =0
n logb
j
a .( j )
b
log b 1
n
=n
log b
j =0
=n
log b a
a.b
b
logb a
) =n
j
log b a
log b n 1
j
b
(
)
j =0
log b n 1
.((b ) + (b ) + ... + (b )
=n
log b
= n logb
. log b b
n
1
(b )
1
b
1
log b
log b
(
)
(
)=n
(
)= n
b 1
b 1
b 1
log b n
. log b n
n 1
log b a
log b a
log b a
( ) = c.n
c.n
= ( n )
b 1
Hence proved
Dr Nazir A. Zafar
Master Theorem
Case 2:
f ( n ) = ( n
log b a
n
n logb a
f ( j ) = (( j ) )
b
b
log b n 1
j =0
n
a .f ( j )
b
j
(3)
(4)
g ( n ) = (
Dr Nazir A. Zafar
log b n 1
j =0
n logb a
a .( j ) )
b
j
Master Theorem
log b 1
n
g ( n ) = (
j =0
n logb a
j
a .( j ) )
b
= ( n
log b a
a
b
g ( n ) = ( n
log b
= (n
1)
j =0
= ( n
Dr Nazir A. Zafar
log b a
j =0
log b n 1
logb a
log b a
(
b
logb a
) )
=1
. (1 + 1 + ... + 1 )
. log b )
case is proved
Advanced Algorithms Analysis and Design
Master Theorem
Case 3:
n
n
c
Given that: a. f ( ) c. f (n) f ( ) . f (n)
b
a
b
n
c 2
n
c
n
c 2
f ( 2 ) . f ( ) ( ) . f ( n) f ( 2 ) ( ) . f ( n)
b
a
b
a
b
a
n
c 3
n
c 2 n
c 3
f ( 3 ) ( ) . f ( ) ( ) . f ( n) f ( 3 ) ( ) . f ( n)
b
a
b
a
b
a
n
c j
In general: f ( j ) ( ) . f (n)
b
a
n
j
Equivalently: a . f ( j ) c j . f (n)
b
Dr Nazir A. Zafar
Master Theorem
We are given that: g (n) =
log b n 1
n
a .f ( j )
b
j
j =0
(5)
n
j
We have proved that: a . f ( j ) c . f (n)
b
j
(6)
g ( n) =
log b n 1
j =0
n
a .f ( j )
b
j
log b n 1
j =0
1
g (n) = f (n)(
) = ( f (n))
1 c
Dr Nazir A. Zafar
j
c
f
n
.
(
)
c . f ( n)
j =0
(7)
Advanced Algorithms Analysis and Design
Master Theorem
Since f(n) appears in definition of g(n) and all
terms of g(n) are non-negative, we can conclude
easily that
g (n) = ( f (n))
(8)
g (n) = ( f (n))
From Equations (8) and (9)
Hence it proves the lemma
Dr Nazir A. Zafar
(9)
g (n) = ( f (n))
Master Theorem
Lemma 3 Let a 1, b > 1 be constants, let f(n) be a nonnegative function defined on exact power of b. Define T(n) on
exact powers of b by the recurrence
(1)
T ( n) =
n
a.T ( ) + f (n)
b
if n = 1
if n = b i
a +
Dr Nazir A. Zafar
Master Theorem
Proof: Case 1
Given that
(1)
T ( n) =
n
a.T ( ) + f (n)
b
log b a
)+
if n = 1
if n = b i
log b n 1
j =0
log b a
) + ( n
n
a .f ( j )
b
j
log b a
Master Theorem
Case 2
Again given that
(1)
T ( n) =
n
a.T ( ) + f (n)
b
log b a
)+
log b n 1
j =0
log b a
) + ( n
if n = 1
if n = b i
n
a .f ( j )
b
j
log b a
. lg n)
Master Theorem
Case 3
By Lemma 4.2: T (n) = (n
log b a
)+
log b n 1
j =0
By Lemma 4.3: T ( n) = ( n
log b a +
Since
f ( n) = ( n
Hence
T (n) = ( f (n))
log b a
n
a .f ( j )
b
j
) + ( f (n))
Conclusion
Dr Nazir A. Zafar