Bài giảng Chương 3: Quy hoạch động
Số trang: 65
Loại file: ppt
Dung lượng: 2.11 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 7 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Chương 3: Quy hoạch động sẽ cung cấp cho các bạn những kiến thức về các bài toán con chung lồng nhau và giải thuật quy hoạch động; giải thuật quy hoạch động giải bài toán tập độc lập lớn nhất, cái túi, dãy con lớn nhất, dãy con chung dài nhất, nhân dãy ma trận.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 3: Quy hoạch động Chương 3. Quy hoạch động 9.1. Các bài toán con chung lồng nhau và giải thuật quy hoạch độ 9.2. Giải thuật quy hoạch động giải bài toán tập độc lập lớn nhất . 9.3. Giải thuật quy hoạch động giải bài toán cái túi 9.4. Giải thuật quy hoạch động giải bài toán dãy con lớn nhất 9.5. Giải thuật quy hoạch động giải bài toán dãy con chung dài nh . 9.6. Giải thuật quy hoạch động giải nhân dãy ma trận. 1 9.1.Các bài toán con chung lồng nhau và g9.1.1. Ví dụ về bài toán con chung lồng nhau9.1.2. Quy hoạch động là gì?9.1.3. Ba giai đoạn của bài toán quy hoạch động 2 9.1.1. Các bài toán con chung lồng nhau trong giải thuật chia để trịKhi chia bài toán thành các bài toán con, trong nhiều trường hợp, các bài toán con khác nhau lại chứa các bài toán con hoàn toàn giống nhau. Ta nói rằng chúng chứa các bài toán con chung giống nhauVí dụ: 3 Ví dụ về bài toán con lồng nhau Tính số Fibonaci thứ nĐịnh nghĩa số Fibonaci F(n): F(0)=0 F(1)=1 F(n)=F(n-2)+F(n-1) với n>1Ví dụ:F(2)=1, F(3)= 2, F(4) = 3 , F(5)=5, F(6)=8 4 Ví dụ: Tính số Fibonaci thứ nTính theo đệ quy {top down}:Function R_Fibonaci(n); If n So sánh hai giải thuật Khi tính F(5): Giải thuật đệ quy tính F(5) = F(3)+F(4) Tính F(3) F(3)= F(2)+F(1) F(2)=F(1)+F(0) = 1 Để tính F(5): 2 lần tính F(3) F(3)= 1+1= 2 3 lần tính F(2) Tính F(4) F(4)= F(2)+F(3) F(2)= F(0)+F(1) = 1 F(3)=F(1)+F(2) = 1+F(2) F(2)= F(0)+F(1) = 2 F(3)= 1+2 =3 F(4) = 2+3 = 5 Tổng hợp F(5) = 3+5 =8 6 F5 Tính F5 F3 F4 F1 F2 F2 F3 F0 F1 F0 F1 F1 F2 F0 F1 2 lần tính F(3) 3 lần tính F(2) 7 Dùng Quy hoạch động để tính số Fibonacy thứ nFunction Fibonaci(n); If n < 2 then f:= n else begin f_0:=0 ; f_1:= 1; For k:=2 to n do begin f:=f_0+f_1 ; f_0:= f_1; f_1:= f; end; end; Return f; 8 9.1.2. Quy hoạch động là gì?Quy hoạch động là một ký thuật thiết kế thuật toán trong đó:Bài toán được chia thành những bài toán con kích thước nhỏ hơn và giải chúng một cách độc lập, ghi lại các kết quả, để tổng hợp thành lời giải của bài toán ban đầu Khác với chia để trị: Trong giải thuật chia để trị: Các bài toán con độc lập, sau đó các bài toán con này được giải một cách đệ quy. Trong giải thuật quy hoạch động: Các bài toán con là không độc lập với nhau, nghĩa là các bài toán con cùng có chung các bài toán con nhỏ hơn. 9 9.1.3. Ba giai đoạn của quy hoạch động Phân rã: Chia bài toán cần giải thành những bài toán con nhỏ hơn có cùng dạng với bài toán ban đầu sao cho bài toán con kích thước nhỏ nhất có thể giải một cách trực tiếp. Bài toán xuất phát có thể coi là bài toán con có kích thước lớn nhất Giải các bài toán con và ghi nhận lời giải: Lưu trữ lời giải của các bài toán con vào một bảng để sử dụng lại nhiều lần do đó không phải giải lặp lại cùng một bài toán. Tổng hợp lời giải: Lần lượt từ lời giải của các bài toán con kích thước nhỏ hơn xây dựng lời giải của bài toán kích thước lớn hơn, cho đến khi thu được lời giải của bài toán xuất phát (là bài toán con có kích thước lớn nhất). 10 Lược đồ quy hoạch động Kỹ thuật giảicác bài toán concủa quy hoạch Phânrãđộng là quá trìnhđi từ dưới lên Giảivàghinhận(bottom – up) là lờigiảicácbàitoánđiểm khác quan contrọng vớiphương phápchia để trị, trong Tổnghợpđó các bài toán lờigiảicon được trị một Bottomcách đệ quy (top– down). Up 11 Các yếu tố của một giải thuật quy hoạch động giải bài toán tối ưu Cơ sở của quy hoạch động: Những trường hợp đơn giản có thể tính trực tiếp Cấu trúc con tối ưu: Phương pháp chia nh ...
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 3: Quy hoạch động Chương 3. Quy hoạch động 9.1. Các bài toán con chung lồng nhau và giải thuật quy hoạch độ 9.2. Giải thuật quy hoạch động giải bài toán tập độc lập lớn nhất . 9.3. Giải thuật quy hoạch động giải bài toán cái túi 9.4. Giải thuật quy hoạch động giải bài toán dãy con lớn nhất 9.5. Giải thuật quy hoạch động giải bài toán dãy con chung dài nh . 9.6. Giải thuật quy hoạch động giải nhân dãy ma trận. 1 9.1.Các bài toán con chung lồng nhau và g9.1.1. Ví dụ về bài toán con chung lồng nhau9.1.2. Quy hoạch động là gì?9.1.3. Ba giai đoạn của bài toán quy hoạch động 2 9.1.1. Các bài toán con chung lồng nhau trong giải thuật chia để trịKhi chia bài toán thành các bài toán con, trong nhiều trường hợp, các bài toán con khác nhau lại chứa các bài toán con hoàn toàn giống nhau. Ta nói rằng chúng chứa các bài toán con chung giống nhauVí dụ: 3 Ví dụ về bài toán con lồng nhau Tính số Fibonaci thứ nĐịnh nghĩa số Fibonaci F(n): F(0)=0 F(1)=1 F(n)=F(n-2)+F(n-1) với n>1Ví dụ:F(2)=1, F(3)= 2, F(4) = 3 , F(5)=5, F(6)=8 4 Ví dụ: Tính số Fibonaci thứ nTính theo đệ quy {top down}:Function R_Fibonaci(n); If n So sánh hai giải thuật Khi tính F(5): Giải thuật đệ quy tính F(5) = F(3)+F(4) Tính F(3) F(3)= F(2)+F(1) F(2)=F(1)+F(0) = 1 Để tính F(5): 2 lần tính F(3) F(3)= 1+1= 2 3 lần tính F(2) Tính F(4) F(4)= F(2)+F(3) F(2)= F(0)+F(1) = 1 F(3)=F(1)+F(2) = 1+F(2) F(2)= F(0)+F(1) = 2 F(3)= 1+2 =3 F(4) = 2+3 = 5 Tổng hợp F(5) = 3+5 =8 6 F5 Tính F5 F3 F4 F1 F2 F2 F3 F0 F1 F0 F1 F1 F2 F0 F1 2 lần tính F(3) 3 lần tính F(2) 7 Dùng Quy hoạch động để tính số Fibonacy thứ nFunction Fibonaci(n); If n < 2 then f:= n else begin f_0:=0 ; f_1:= 1; For k:=2 to n do begin f:=f_0+f_1 ; f_0:= f_1; f_1:= f; end; end; Return f; 8 9.1.2. Quy hoạch động là gì?Quy hoạch động là một ký thuật thiết kế thuật toán trong đó:Bài toán được chia thành những bài toán con kích thước nhỏ hơn và giải chúng một cách độc lập, ghi lại các kết quả, để tổng hợp thành lời giải của bài toán ban đầu Khác với chia để trị: Trong giải thuật chia để trị: Các bài toán con độc lập, sau đó các bài toán con này được giải một cách đệ quy. Trong giải thuật quy hoạch động: Các bài toán con là không độc lập với nhau, nghĩa là các bài toán con cùng có chung các bài toán con nhỏ hơn. 9 9.1.3. Ba giai đoạn của quy hoạch động Phân rã: Chia bài toán cần giải thành những bài toán con nhỏ hơn có cùng dạng với bài toán ban đầu sao cho bài toán con kích thước nhỏ nhất có thể giải một cách trực tiếp. Bài toán xuất phát có thể coi là bài toán con có kích thước lớn nhất Giải các bài toán con và ghi nhận lời giải: Lưu trữ lời giải của các bài toán con vào một bảng để sử dụng lại nhiều lần do đó không phải giải lặp lại cùng một bài toán. Tổng hợp lời giải: Lần lượt từ lời giải của các bài toán con kích thước nhỏ hơn xây dựng lời giải của bài toán kích thước lớn hơn, cho đến khi thu được lời giải của bài toán xuất phát (là bài toán con có kích thước lớn nhất). 10 Lược đồ quy hoạch động Kỹ thuật giảicác bài toán concủa quy hoạch Phânrãđộng là quá trìnhđi từ dưới lên Giảivàghinhận(bottom – up) là lờigiảicácbàitoánđiểm khác quan contrọng vớiphương phápchia để trị, trong Tổnghợpđó các bài toán lờigiảicon được trị một Bottomcách đệ quy (top– down). Up 11 Các yếu tố của một giải thuật quy hoạch động giải bài toán tối ưu Cơ sở của quy hoạch động: Những trường hợp đơn giản có thể tính trực tiếp Cấu trúc con tối ưu: Phương pháp chia nh ...
Tìm kiếm theo từ khóa liên quan:
Quy hoạch động Bài giảng Quy hoạch động Bài toán con chung lồng nhau Giải thuật quy hoạch động Bài toán tập độc lập lớn nhất Bài toán dãy con lớn nhấtGợi ý tài liệu liên quan:
-
Phân tích và thiết kế giải thuật: Các kỹ thuật thiết kế giải thuật - Chương 5
0 trang 51 0 0 -
Giáo trình Toán kinh tế: Phần 1 - Bùi Minh Trí
184 trang 44 0 0 -
Tối ưu hóa quản lý năng lượng trên ô tô lai kiểu song song dựa trên giải thuật quy hoạch động
12 trang 40 0 0 -
61 trang 38 0 0
-
7 trang 33 0 0
-
Giáo trình Cấu trúc dữ liệu: Phần 2
108 trang 32 0 0 -
Bài giảng cơ sở lập trình nâng cao - Chương 8
37 trang 31 0 0 -
7 trang 27 0 0
-
Tổng hợp bài tập Tối ưu hoá: Phần 1
177 trang 27 0 0 -
Giải các bài toán tin bằng phương pháp quy hoạch động
14 trang 24 0 0