49
กกกกกกกกกกกกกก (Dynamic programming) 1

กำหนดการพลวัต ( Dynamic programming )

Embed Size (px)

DESCRIPTION

กำหนดการพลวัต ( Dynamic programming ). Dynamic programming จะเหมาะกับการแก้ปัญหา optimization ตัวอย่างเช่น Longest Common Subsequence. Longest Common Subsequence. X = มี subsequences < H , E , L, L, O >  < H , E > < H , E , L, L, O >  < H , E , O > - PowerPoint PPT Presentation

Citation preview

Page 1: กำหนดการพลวัต ( Dynamic programming )

1

กำ��หนดกำ�รพลวั�ต(Dynamic programming)

Page 2: กำหนดการพลวัต ( Dynamic programming )

2☺Dynamic programming จะเหมาะกั�บกัาร

แกั�ปั�ญหา optimization ตั�วอย่�างเช่�น Longest Common Subsequence

Page 3: กำหนดการพลวัต ( Dynamic programming )

3

Page 4: กำหนดการพลวัต ( Dynamic programming )

4Longest Common Subsequence

☺X = <H, E, L, L, O> ม� subsequences <H, E, L, L, O> <H, E> <H, E, L, L, O> <H, E, O> <H, E, L, L, O> <> …☺Y = <H, E, R, O> <H, E, R, O> <H, E> <H, E, R, O> <H, O> <H, E, R, O> <H, E, O> …☺ ลำ�าดั�บย่�อย่ร�วม Common subsequence(X, Y)☺ ลำ�าดั�บย่�อย่ร�วมที่��ย่าวที่��สุ�ดั longest common subsequence(X, Y)

หร อLCS

ม�ลำ�าดั�บย่�อย่ที่�!งหมดั 25 = 32

Page 5: กำหนดการพลวัต ( Dynamic programming )

5น"ย่าม

ตั�วว�ดัคุ�ณภาพของLCS

Page 6: กำหนดการพลวัต ( Dynamic programming )

6คุ�าตัอบปั�ญหาใหญ�ไดั�จากัคุ�าตัอบปั�ญหาย่�อย่ๆ

Page 7: กำหนดการพลวัต ( Dynamic programming )

7คุ�าตัอบปั�ญหาใหญ�ไดั�จากัคุ�าตัอบปั�ญหาย่�อย่ๆ

Page 8: กำหนดการพลวัต ( Dynamic programming )

8Recurrence ของ L(i,j)

Page 9: กำหนดการพลวัต ( Dynamic programming )

9Recurrence ของ L(i,j)

Page 10: กำหนดการพลวัต ( Dynamic programming )

10Recurrence ของ L(i,j)

Page 11: กำหนดการพลวัต ( Dynamic programming )

11LCS: Top-down

Page 12: กำหนดการพลวัต ( Dynamic programming )

12 หาคุวามย่าว LCS : เวลำากัารที่�างาน

Page 13: กำหนดการพลวัต ( Dynamic programming )

13LCS: Best case เม อ?

Page 14: กำหนดการพลวัต ( Dynamic programming )

14Top-down + Memoization

Page 15: กำหนดการพลวัต ( Dynamic programming )

15LCS: memoization

Page 16: กำหนดการพลวัต ( Dynamic programming )

16LCS : Bottom-up

Page 17: กำหนดการพลวัต ( Dynamic programming )

17LCS : Dynamic Programming

Page 18: กำหนดการพลวัต ( Dynamic programming )

18 ตั�องกัาร LCS : จ�าผลำกัารตั�ดัสุ"นใจ

Page 19: กำหนดการพลวัต ( Dynamic programming )

19จ�าผลำกัารตั�ดัสุ"นใจ

Page 20: กำหนดการพลวัต ( Dynamic programming )

20ใช่�ผลำกัารตั�ดัสุ"นใจสุร�างคุ�าตัอบ

Page 21: กำหนดการพลวัต ( Dynamic programming )

21 ตั�องกัารปัระหย่�ดั ไม�จ�าผลำกัารตั�ดัสุ"นใจ

Page 22: กำหนดการพลวัต ( Dynamic programming )

22LCS_Soln(x,y,L)

Page 23: กำหนดการพลวัต ( Dynamic programming )

23 สุะกัดัผ"ดั : หาคุ�าใกัลำ�เคุ�ย่ง

Page 24: กำหนดการพลวัต ( Dynamic programming )

24Minimum Edit Distance

Page 25: กำหนดการพลวัต ( Dynamic programming )

25 สุร�ปัลำ�กัษณะของปั�ญหาที่��เหมาะกั�บ Dynamic Prog.

Page 26: กำหนดการพลวัต ( Dynamic programming )

26Optimal substructures

Page 27: กำหนดการพลวัต ( Dynamic programming )

27Longest Simple Path

Page 28: กำหนดการพลวัต ( Dynamic programming )

280/1 Knapsack

Page 29: กำหนดการพลวัต ( Dynamic programming )

290/1 Knapsack

Page 30: กำหนดการพลวัต ( Dynamic programming )

30แบ�งปั�ญหาใหญ�เปั-นปั�ญหาย่�อย่

Page 31: กำหนดการพลวัต ( Dynamic programming )

31หาคุ�าตัอบใหญ�จากัคุ�าตัอบเลำ.กั

Page 32: กำหนดการพลวัต ( Dynamic programming )

32 ปั�ญหาใหญ� : ปั�ญหาย่�อย่

Page 33: กำหนดการพลวัต ( Dynamic programming )

33 เข�ย่น recurrence V(i, j)

Page 34: กำหนดการพลวัต ( Dynamic programming )

34Knapsack : Top-down

Page 35: กำหนดการพลวัต ( Dynamic programming )

35

Page 36: กำหนดการพลวัต ( Dynamic programming )

36

Page 37: กำหนดการพลวัต ( Dynamic programming )

37

Page 38: กำหนดการพลวัต ( Dynamic programming )

38

Page 39: กำหนดการพลวัต ( Dynamic programming )

39

Page 40: กำหนดการพลวัต ( Dynamic programming )

40

Page 41: กำหนดการพลวัต ( Dynamic programming )

41

Page 42: กำหนดการพลวัต ( Dynamic programming )

42

Page 43: กำหนดการพลวัต ( Dynamic programming )

43

Page 44: กำหนดการพลวัต ( Dynamic programming )

44

Page 45: กำหนดการพลวัต ( Dynamic programming )

45

Page 46: กำหนดการพลวัต ( Dynamic programming )

46

Page 47: กำหนดการพลวัต ( Dynamic programming )

47

Page 48: กำหนดการพลวัต ( Dynamic programming )

48

Page 49: กำหนดการพลวัต ( Dynamic programming )

49