27
بط بازگشتی رواfaradars.org/fvsft120 مدرس: فرشید شیرافکن تهراننشگاه دانشجوی دکتری دا( سی ارشد کارشنا کارشناسی و: م افزار کامپیوتر نر( ) دکتری: نفورماتیک بیو ا) بط بازگشتی روا1 ﻓﺮادرسFaraDars.org

آموزش روش های حل روابط بازگشتی - بخش دوم

Embed Size (px)

Citation preview

Page 1: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:مدرس

فرشید شیرافکن

دانشجوی دکتری دانشگاه تهران (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )

روابط بازگشتی

1

فرادرس

FaraDars.org

Page 2: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

: فصل دوم

درخت بازگشتروش

2

فرادرس

FaraDars.org

Page 3: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120 بازگشتروش درخت(recursion tree)

.کردحلیاحدسرابازگشتیهایرابطهتوانمیروشاینکمکبه

ازطحسهردرکهراثابتیمقدارنیزوبازگشتیعبارتیکگذاریجاینحوهروشایندر،سطوحتمامثابتمقادیرکردنجمعبا.شودمیدادهنشانآیدمیدستبهعبارتآن

.آیدمیبدستجواب

راحلوتقسیمالگوریتمیکاجرایزمانبازگشتی،رابطهکهزمانیبازگشتهایدرخت.هستندمفیدکندمیتوصیف

3

فرادرس

FaraDars.org

Page 4: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:رسم درخت بازگشت T(8)

nT(n) 2T( ) n

2

T(1) 1

4

مثال

T(8) 2T(4) 8 T(4) 2T(2) 4

T(2) 2T(1) 2

فرادرس

FaraDars.org

Page 5: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

nT(n) 2T( ) n

2

T(1) 1

:هزینه

(8) (4 4) (2 2 2 2) (1 1 1 1 1 1 1 1) 4 8 32

5

فرادرس

FaraDars.org

Page 6: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

nT(n) 2T( ) n

2

T(1) 1

6

مثال

(lgn 1) n nlgn n

:حل رابطه بازگشتی

فرادرس

FaraDars.org

Page 7: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:رسم درخت بازگشت T(4)2n

T(n) 2T( ) n2

T(1) 1

2:هزینه 2 24 (2 2 ) (1 1 1 1) 28

7

مثال

2T(4) 2T(2) 4

2T(2) 2T(1) 2

فرادرس

FaraDars.org

Page 8: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:رسم درخت بازگشت T(8)n n

T(n) 2T( )2 lgn

T(1) 1

8:هزینه 8 8 1 1 18 8( ) 8 8lg3 8

3 2 1 3 2 1

8

مثال

8T(8) 2T(4)

3

4T(4) 2T(2)

2

2T(2) 2T(1)

1

فرادرس

FaraDars.org

Page 9: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

n nT(n) 2T( )

2 lgn

T(1) 1

9

مثال

nn 22 ... n 1

nlgnlg

2

1 1 1n( ... ) n

nlgn 1lg

2

nlg lgn n

:حل رابطه بازگشتی

1 1 1... lgk

k k 1 1

فرادرس

FaraDars.org

Page 10: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:رسم درخت بازگشت n n n

T(n) T( ) T( ) T( ) n2 4 8

27 7

n n n ...8 8

10

مثال

فرادرس

FaraDars.org

Page 11: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

n nT(n) T( ) T( ) cn

a b

hi

i 0

1 1n ( )

a b

) (و ارتفاع سمت راست ) ( حداکثر مقدار بین ارتفاع سمت چپ : ارتفاع درخت

: جمع ضریب ها برابر با یک

: جمع ضریب ها کمتر از یک

nalog

nblog

T(n) (nlgn)

T(n) (n)

11

فرمول

فرادرس

FaraDars.org

Page 12: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

جواب رابطه بازگشتی n 9n

T(n) T( ) T( ) n10 10

hi

i 0

hi

i 0

1 9T(n) n ( )

10 10

n (1) (nlgn)

12

مثال

n nT(n) T( ) T( ) cn

a b

hi

i 0

1 1n ( )

a b

فرادرس

FaraDars.org

Page 13: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:اطوالنی ترین مسیر از ریشه به برگ ه

29 9n n ( ) n ... 1

10 10

:کهاستبرقراروقتیرابطهh

9n 1

10

n10/9h log

n:حدوددرسطحهردردرختهزینه

:مرتبهازدرختارتفاع

:هاهزینهمجموع

lgn

nlgn

13

فرادرس

FaraDars.org

Page 14: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

کنید؟پیدارابازگشتیرابطهجواب n 7nT(n) T( ) T( ) n

5 10

n n10/7 10/7log log

i i

i 0 i 0

1 7 9T(n) n ( ) n ( )

5 10 10

14

مثال

n nT(n) T( ) T( ) cn

a b

hi

i 0

1 1T(n) n ( )

a b

فرادرس

FaraDars.org

Page 15: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

n n nT(n) T( ) T( ) T( ) n

2 4 8

hi

i 0

1 1 1n ( )

2 4 8

hi

i 0

7n ( )

8

15

مثال

8n O(n)

فرادرس

FaraDars.org

Page 16: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

:جواب رابطه بازگشتی 2n 3nT(n) T( ) T( ) n

4 4

n4/3log

2 i

i 0

10T(n) n ( )

16

.مقدار سیگما از یک کمتر است

16

مثال

2T(n) (n )

فرادرس

FaraDars.org

Page 17: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

.جواب رابطه بازگشتی را به دست آورید 2n nT(n) T( ) T( ) n

4 2

n2log

2 i

i 0

5T(n) n ( )

16

.مقدار سیگما از یک کمتر است

17

مثال

2T(n) (n )

فرادرس

FaraDars.org

Page 18: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

درخت بازگشت تولید شده توسط

تایی کاملaیک درخت

:تعداد برگ

:ارتفاع

:مجموع کل هزینه ها

nT(n) aT( ) f (n)

b

ablog

n

nblog

na bb

log 1log i

ii 0

n(n ) a f ( )

b

18

فرادرس

FaraDars.org

Page 19: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

.مجموع کل هزینه های درخت بازگشت تولید شده توسط را مشخص کنید nT(n) 2T( ) n

2

n2 22

log 1log i

ii 0

n(n ) 2 f ( )

2

19

مثال

n2log 1

i 0

n n 1 n nlgn (nlgn)

n2log 1

ii

i 0

n(n) 2

2

فرادرس

FaraDars.org

Page 20: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

. ) (مرتبه را مشخص کنید 2nT(n) 3T( ) n

4 T(1) 1

n3 44

log 1log i

ii 0

n(n ) 3 f ( )

4

34log 2 2n n O(n )

20

مثال

n3 44

log 1log i 2

ii 0

nn 3 ( )

4

n3 44

log 1log 2 i

i 0

3n n ( )

16

فرادرس

FaraDars.org

Page 21: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

مرور

رابطه بازگشتی جواب رابطه بازگشتی

n nT(n) T( ) T( ) n

2 2

n n2 2lg lg

i

i 0 1 0

1 1n ( ) n 1 n(lgn 1)

2 2

n 2nT(n) T( ) T( ) n

3 3

n n3/2 3/2lg lg

i

i 0 i 0

1 2n ( ) n 1

3 3

nlgn

n 9nT(n) T( ) T( ) n

10 10

n n10/9 10/9lg lg

i

i 0 1 0

1 9n ( ) n 1

10 10

nlgn

n 7nT(n) T( ) T( ) n

5 10

n10/7lg

i

i 0

1 7n ( )

5 10

i9n ( ) 10n

10

21

فرادرس

FaraDars.org

Page 22: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

رهمتغیدوبازگشتیروابطبرایبازگشتدرخت

T(8,16) :nرسم درخت بازگشت kT(n,k) T( ,k) T(n, ) kn

2 4

T(*,1) a

T(1,*) a

22

n k2 4log log 1

:بازگشتدرختارتفاع

فرادرس

FaraDars.org

Page 23: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

n k n n k n k knk k n k n ...

2 4 4 2 4 2 4 16

n kT(n,k) T( ,k) T(n, ) kn

2 4

23

حل رابطه بازگشتی

3 9nk nk nk ...

4 16 23 3

nk 1 ( ) ... (nk)4 4

فرادرس

FaraDars.org

Page 24: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

1 2 1 2k k

T n,k T n , T n , nk n n n2 2

T n,1 T 1,k 1

24

مثال

فرادرس

FaraDars.org

Page 25: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120مجموع هزینه ها:

1 2 3 4 5 6k k k k k k

nk (n n ) (n n n n ) ...2 2 4 4 4 4

25

1 2 3 4 5 6k k

nk (n n ) (n n n n ) ..2 4

1 2k k

nk n (n n ) ...2 4

k k 1 1nk n n ... nk(1 ...) nk

2 4 2 4

1 2(n n n)

3 4 1 5 6 2(n n n ,n n n )

فرادرس

FaraDars.org

Page 26: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

26

فرادرسفصل دومپایان

FaraDars.org

Page 27: آموزش روش های حل روابط بازگشتی - بخش دوم

روابط بازگشتیfaradars.org/fvsft120

این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش روابط بازگشتی و روش های حل آنها»

.تهیه شده است

.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید

faradars.org/fvsft120

فرادرس

FaraDars.org