Agenda:: Solving Recurrence Relations

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

29 January 2024

L-06
AGENDA:
Solving Recurrence Relations
❑ Recursion Tree Method
❑ Master Method
Recursion Tree Method
Steps:

1. Draw the recursion Tree

2. Compute the cost at each level

3. Compute the overall cost

Represents the solution of


recurrence relation
𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝒏; 𝑻 𝟏 =𝟏
𝟐

T(n) = n n

𝒏 𝒏
T(𝟐) T(𝟐) T(n/2) + T(n/2) = 2T(n/2)

𝒏
𝑻𝒐𝒕𝒂𝒍 𝑪𝒐𝒔𝒕 = 𝑻 𝒏 = 𝟐𝑻 + 𝒏
𝟐
𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝒏; 𝑻 𝟏 =𝟏
𝟐

T(n) = n 𝒏 𝒏 𝒏
𝑻 = 𝟐𝑻 𝟐 +
𝟐 𝟐 𝟐

T(n/2) = n/2
𝒏 𝒏
T(𝟐) T(𝟐)

𝒏 𝒏
T(𝟐𝟐) T(𝟐𝟐)
𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝒏; 𝑻 𝟏 =𝟏
𝟐

T(n) = n

n/2 n/2

𝒏 𝒏 𝒏 𝒏
T(𝟐𝟐) T(𝟐𝟐) T(𝟐𝟐) T(𝟐𝟐)
𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝒏; 𝑻 𝟏 =𝟏
𝟐
𝑛 𝑛 𝑛
𝑇 = 2𝑇 +
T(n) = n 22 23 22

𝑻
𝒏
= 𝒏
𝟐𝟐
𝟐𝟐

n/2 n/2

𝒏 𝒏
T(𝟐𝟑) T(𝟐𝟑)
𝒏 𝒏 𝒏 𝒏
T(𝟐𝟐) T(𝟐𝟐) T(𝟐𝟐) T(𝟐𝟐)
T(n) = n

n/2 n/2

𝒏 𝒏 𝒏 𝒏
𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐

𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏
T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑) T(𝟐𝟑)
T(n) = n

n/2 n/2

𝒏 𝒏 𝒏 𝒏
𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐

𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏
𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑

T(1) T(1) T(1)


T(1) T(1)
T(n) = n n

n/2 2. n/2 = n
n/2

𝒏 𝒏 𝒏 𝒏 4.(n/22) = n
𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐

𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏
8.(n/23) = n
𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑

T(1) T(1) T(1)


T(1) T(1)
n

Total Cost = T(n) = n + n + n + ……. + n ( Hight of tree times)


Height of the tree is maximum distance of root and leaf node in terms of number of edges
ROOT ROOT

L3

1
L1 L1
2 2

L2 L2 L3
3
3 3
Height = 3
Height = 3
𝒏 𝒏 𝒏 𝒏
𝒏 → → 𝟐 → 𝟑 → ⋯……….→ 𝒊 = 𝟏
𝟐 𝟐 𝟐 𝟐

i = Height of the recursion Tree


𝒏 𝒊 → 𝒊 = 𝐥𝐨𝐠 𝒏
= 𝟏 → 𝒏 = 𝟐 𝟐
𝟐𝒊
T(n) = n n

n/2 2. n/2 = n
n/2

𝒏 𝒏 𝒏 𝒏 4.(n/22) = n
𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐

𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 𝒏 8.(n/23) = n
𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑 𝟐𝟑

T(1) T(1) T(1)


T(1) T(1)
n

Total Cost = T(n) = n + n + n + ……. + n ( logn times) = nlogn = O(nlogn)


𝒏
𝑻 𝒏 =𝑻 + 𝒌 , 𝑻 𝟏 = 𝟏 , 𝑾𝒉𝒆𝒓𝒆 𝒌 𝒊𝒔 𝒂 𝒄𝒐𝒏𝒔𝒕𝒂𝒏𝒕,
𝟐
𝑛 𝑛
𝑇 =𝑇 2 +𝑘
K 2 2
T(n) =
K
T(n/2) =
𝒏
𝑻( )
𝟐
𝒏
𝑻( 𝟐)
𝟐

K
T(n) =

𝒏
𝑻( 𝟐)
𝟐
K K
T(n) = T(n/22) =

𝒏
𝑘 𝑻( 𝟑)
𝟐

𝒏 K
𝑻( 𝟐) T(n) =
𝟐

𝒏
𝑻( 𝟑)
𝟐
K k
T(n) =

𝑘 k

𝒌 k

.
.
.
.

𝑻(𝟏) k

Total Cost = k + k + k+ …….+ k( height of the tree times)


𝒏 𝒏 𝒏 𝒏
𝒏 → → 𝟐 → 𝟑 → ⋯……….→ 𝒊 = 𝟏
𝟐 𝟐 𝟐 𝟐

i = Height of the recursion Tree


𝒏 𝒊 → 𝒊 = 𝐥𝐨𝐠 𝒏
= 𝟏 → 𝒏 = 𝟐 𝟐
𝟐𝒊
K k
T(n) =

𝑘 k

𝒌 k

.
.
.
.

𝑻(𝟏) k

T(n) = Total Cost = k + k + k+ …….+ k( logn times) = klogn = O(logn)


Master Theorem
The form of recurrence relation is as follow to apply master theorem
𝒏
𝑻 𝒏 = 𝒂𝑻 + 𝒇 𝒏 𝒘𝒉𝒆𝒓𝒆 𝒂 ≥ 𝟏 ; 𝒃 > 𝟏 and f(n) = O(nk)
𝒃

Case 1 : 𝒏𝐥𝐨𝐠𝒃 𝒂 > 𝒇(𝒏) 𝑻 𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 )

Case 2 : 𝒏𝐥𝐨𝐠𝒃 𝒂 < 𝒇(𝒏) 𝑻 𝒏 = 𝜽(𝒇(𝒏))

Case 3 : 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒇(𝒏) 𝑻 𝒏 = 𝜽 𝒇 𝒏 𝒍𝒐𝒈𝒏 = 𝜽 𝒏𝐥𝐨𝐠𝒃 𝒂 𝒍𝒐𝒈𝒏


Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟐𝑻 +𝒏
𝟐
a=2 b=2 f(n) = n

Case 3
𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟐 𝟐 = 𝒏𝟏 = 𝒏 = 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒇 𝒏 𝒍𝒐𝒈𝒏 = 𝜽(𝒏𝒍𝒐𝒈𝒏)
Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝒏𝟐
𝟐

a=2 b=2 f(n) = n2


Case 2
𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟐 𝟐 = 𝒏𝟏 = 𝒏 < 𝒏𝟐 = 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒇 𝒏 = 𝜽(𝒏𝟐)
Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟒𝑻 +𝒏
𝟐
a=4 b=2 f(n) = n
Case 1
𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟐 𝟒 = 𝒏𝟐 > 𝒏 = 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝜽(𝒏𝟐)
Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟒𝑻 + 𝒏𝟐
𝟐
a=4 b=2 f(n) = n2
Case 3

𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟐 𝟒 = 𝒏𝟐 = 𝒏𝟐= 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒇 𝒏 𝒍𝒐𝒈𝒏 = 𝜽(𝒏𝟐𝒍𝒐𝒈𝒏)
Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟑𝑻 +𝒏
𝟐
a=3 b=2 f(n) = n
Case 1
𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟐 𝟑 >𝒏 = 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝜽(𝒏𝐥𝐨𝐠𝟐 𝟑 )
Applying Master Theorem
𝒏
𝑻 𝒏 = 𝟕𝑻 + 𝒏𝟑
𝟑

a=7 b=3 f(n) = n3


Case 2
𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝐥𝐨𝐠 𝟑 𝟕 < 𝒏𝟑 = 𝒇(𝒏)

𝑻 𝒏 = 𝜽 𝒇(𝒏 ) = 𝜽(𝒏𝟑 )
Extension of Master Theorem
The form of recurrence relation is as follow to apply extension of Master theorem
𝒏
𝑻 𝒏 = 𝒂𝑻 + 𝒇 𝒏 𝒂 ≥ 𝟏 ; 𝒃 > 𝟏 and f(n) = O(𝒏log𝒃 𝒂 logkn)
𝒃

Case 1 : k < -1 𝑻 𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 )

Case 2 : k = -1 𝑻 𝒏 = 𝜽(𝒏log𝒃 𝒂 loglogn)

Case 3 : k > -1 𝑻 𝒏 = 𝜽 𝒏log𝒃 𝒂 logk+1n


Extension of Master Theorem
𝒏 𝒏
𝑻 𝒏 = 𝟐𝑻 +
𝟐 𝒍𝒐𝒈𝟐𝒏

a =2 , b = 2 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝒍𝒐𝒈𝟐 𝟐 = 𝒏𝟏 = n
f(n) = 𝒏𝐥𝐨𝐠 𝒃 𝒂 logkn = nlog-2n = k=-2
Case 1 : k < -1 𝑻 𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 )

𝒏 𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝟐 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 ) = 𝜽(𝒏)
𝟐 𝒍𝒐𝒈 𝒏
Extension of Master Theorem
𝒏 𝒏
𝑻 𝒏 = 𝟐𝑻 +
𝟐 𝒍𝒐𝒈𝒏

a =2 , b = 2 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝒍𝒐𝒈𝟐 𝟐 = 𝒏𝟏 = n
f(n) = 𝒏𝐥𝐨𝐠 𝒃 𝒂 logkn = nlog-1n k=-1
Case 2 : k = -1 𝑻 𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 𝒍𝒐𝒈𝒍𝒐𝒈𝒏)

𝒏 𝒏
𝑻 𝒏 = 𝟐𝑻 + 𝟐 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 𝒍𝒐𝒈𝒍𝒐𝒈𝒏) = 𝜽(𝒏𝒍𝒐𝒈𝒍𝒐𝒈𝒏)
𝟐 𝒍𝒐𝒈 𝒏
Extension of Master Theorem
𝒏
𝑻 𝒏 = 𝟒𝑻 + 𝒏𝟐𝒍𝒐𝒈𝟐𝒏
𝟐

a =4 , b = 2 𝒏𝐥𝐨𝐠𝒃 𝒂 = 𝒏𝒍𝒐𝒈𝟐 𝟒 = 𝒏𝟐
f(n) = 𝒏𝐥𝐨𝐠 𝒃 𝒂 logkn = n2log2n k=2
+𝟏
Case 3 : k > -1 𝑻 𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 𝒍𝒐𝒈𝒌 𝒏)

𝒏 +𝟏
𝑻 𝒏 = 𝟒𝑻 + 𝒏𝟐𝒍𝒐𝒈𝟐𝒏 = 𝜽(𝒏𝐥𝐨𝐠𝒃 𝒂 𝒍𝒐𝒈𝒌 𝒏) = 𝜽(𝒏𝟐𝒍𝒐𝒈𝟑𝒏)
𝟐
Transformation Method
𝑻 𝒏 = 𝟐𝑻( 𝒏) + log 𝟐 𝒏

𝑻 𝒏 = 𝑻( 𝒏) + log 𝟐 𝒏

𝑻 𝒏 = 𝟐𝑻 𝒏 +𝟏

𝑻 𝒏 = 𝑻( 𝒏) + 𝟏

𝑻 𝒏 = 𝒏𝑻( 𝒏) + 𝒏
Transformation Method
𝑻 𝒏 = 𝟐𝑻( 𝒏) + log 𝟐 𝒏 𝑻 𝒏 = 𝑻( 𝒏) + log 𝟐 𝒏 𝑻 𝒏 = 𝑻 𝒏 +𝟏

log2n = m n = 2m log2n = m n = 2m log2n = m n = 2m

𝑻 2m = 𝟐𝑻( 2m) + 𝒎 𝑻 2m = 𝑻( 2m) + 𝒎 𝑻 2m = 𝑻( 2m) + 𝟏

𝑻 2m = 𝟐𝑻(2m/2) + 𝒎 𝑻 2m = 𝑻(2m/2) + 𝒎 𝑻 2m = 𝑻(2m/2) + 𝟏

Let us Assume T(2m) = S(m)


𝑺 m = 𝟐𝑺(𝐦/𝟐) + 𝒎 𝑺 m = 𝑺(𝐦/𝟐) + 𝒎 𝑺 m = 𝑺(𝐦/𝟐) + 𝟏
𝑺 m = 𝜽(𝒎𝒍𝒐𝒈𝒎) 𝑺 m = 𝜽(𝒎) 𝑺 m = 𝜽(𝒍𝒐𝒈𝒎)

T n = 𝜽(𝒍𝒐𝒈𝒏𝒍𝒐𝒈𝒍𝒐𝒈𝒏) T n = 𝜽(𝒍𝒐𝒈𝒏) T n = 𝜽(𝒍𝒐𝒈𝒍𝒐𝒈𝒏)

You might also like