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

Preview:

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

1

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

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

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

3

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

5น"ย่าม

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

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

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

8Recurrence ของ L(i,j)

9Recurrence ของ L(i,j)

10Recurrence ของ L(i,j)

11LCS: Top-down

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

13LCS: Best case เม อ?

14Top-down + Memoization

15LCS: memoization

16LCS : Bottom-up

17LCS : Dynamic Programming

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

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

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

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

22LCS_Soln(x,y,L)

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

24Minimum Edit Distance

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

26Optimal substructures

27Longest Simple Path

280/1 Knapsack

290/1 Knapsack

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

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

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

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

34Knapsack : Top-down

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49