Bài giảng Lập trình động
Số trang: 69
Loại file: pdf
Dung lượng: 452.45 KB
Lượt xem: 12
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 Lập trình động" tìm hiểu về quy hoạch động; đặc điểm của phương pháp chia để trị; một chiến lược tối ưu có đặc trưng; chuỗi con đơn điệu dài nhất. Mời các bạn cùng tham khảo bài giảng để nắm chi tiết nội dung kiến thức.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình động DynamicProgrammingIntroductionQuy hoạch động: Thường dùng để giải các bài toán tối ưu; Phân rã bài toán thành các bài toán con; hình thành lời giải từ các bài toán con; Lưu trữ lời giải các bài toán con trong một bảng dữ liệu thay cho giải lại các bài toán con (đệ quy). Đặc điểm của phương pháp chia để trị: •Thường phát sinh các bài toán con “mới” •Lời giải các bài toán con thường được sử dụng nhiều lần (“phủ chồng”).2013-09-22 Dao Thanh Tinh 2Introduction (2)Ví dụ 1: Tính số Fibonacci thứ n Đệ quy: với f0=0 và f1 = 1 long f(int m) { if (n==0) return 0;Theo công thức: else if (n==1) return 1; n n 1 5 1 5 else return f(n-1) + f(n); } 2 2 fn Ví dụ, để tính f(n) phải tính f(2) n-1 lần! 5 Tiết kiệm bộ nhớ:Dùng mảng: f0 = 0; f1=1;f[0] = 0; f[1]=1; for (i=2; in;i++)for (i=2; in;i++) { tg = f1 + f0; f[i] = f[i-1] + f[i-2]; f0 = f1;output f[n]; f1 = tg; } output f1;2013-09-22 Dao Thanh Tinh 3Introduction (3)Số Fibonacci thứ nn=50F(n) =12,586,269,025Phương pháp đệ quy 650 800sCác phương pháp khác 1s2013-09-22 Dao Thanh Tinh 4Introduction (4) Tiếp cận theo hướng bottom-up 1. Xuất phát từ những bài toán cơ sở có lời giải (cách giải đơn giản hoặc có sẵn) 2. Từ tập lời giải các bài toán con tìm lời giải của bài toán lớn hơn.2013-09-22 Dao Thanh Tinh 5Introduction (5) PRINCIPLE OF OPTIMALITY “An optimal policy has the property that whatever the initial state and initial decisions are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decisions.” Richard Bellman “The Theory of Dynamic Programming”, Bulletin of the American Mathematical Society, Vol. 60, No. 6, 1954 (503-515).2013-09-22 Dao Thanh Tinh 6Introduction (6)Một chiến lược tối ưu có đặc trưng: với mọi trạng thái khởi tạo và quyết định ban đầu, các quyết định tiếp theo phải thiết lập được chiến lược tối ưu đối với trạng thái được hình thành từ các quyết định trước đó. Chiến lược tối ưu: có thể trong một số bước đầu tiên lựa chọn dường như không tốt nhưng tổng hợp cả quá trình phải tốt nhất.2013-09-22 Dao Thanh Tinh 7Introduction (7) Kỹ thuật giải bài toán bằng phương pháp QHĐ: a) Bắt đầu với những trường hợp con nhỏ nhất (thường là đơn giải nhất và giải được ngay). b) Tổ hợp các kết quả đã có (không phải tính lại) của các trường hợp con, sẽ đạt đạt tới kết quả của trường hợp có kích thước lớn và tổng quát hơn, cho đến khi cuối cùng đạt tới lời giải của bài toán ban đầu.2013-09-22 Dao Thanh Tinh 8Introduction (8) Ví dụ 2: Xét bài toán: Cho túi T có sức chứa 10kg và 3 đồ vật: 1) 5kg, trị giá 4$ 2) 4kg, trị giá 10$ 3) 6kg, trị giá 3$ Xếp những đồ vật nào vào túi để có giá trị lớn nhất?2013-09-22 Dao Thanh Tinh 9 Introduction (9) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0!!!! đv 0 1 2 3 4 5 6 7 8 9 10Giá trị lớn nhất 0 0 0 0 0 0 0 0 0 0 0 0của túi: 2013-09-22 Dao Thanh Tinh 10 Introduction (10) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0Giá trị lớn nhất 1 0 0 0 0 0 4 4 4 4 4 4của túi: 2013-09-22 Dao Thanh Tinh 11 Introduction (11) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1,2 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 4 4 4 4 4Giá trị lớn nhấtcủa túi: 2 0 0 0 0 10 10 10 10 10 14 14 2013-09-22 Dao Thanh Tinh 12 Introduction (12) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1,2,3 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 4 4 4 4 4 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình động DynamicProgrammingIntroductionQuy hoạch động: Thường dùng để giải các bài toán tối ưu; Phân rã bài toán thành các bài toán con; hình thành lời giải từ các bài toán con; Lưu trữ lời giải các bài toán con trong một bảng dữ liệu thay cho giải lại các bài toán con (đệ quy). Đặc điểm của phương pháp chia để trị: •Thường phát sinh các bài toán con “mới” •Lời giải các bài toán con thường được sử dụng nhiều lần (“phủ chồng”).2013-09-22 Dao Thanh Tinh 2Introduction (2)Ví dụ 1: Tính số Fibonacci thứ n Đệ quy: với f0=0 và f1 = 1 long f(int m) { if (n==0) return 0;Theo công thức: else if (n==1) return 1; n n 1 5 1 5 else return f(n-1) + f(n); } 2 2 fn Ví dụ, để tính f(n) phải tính f(2) n-1 lần! 5 Tiết kiệm bộ nhớ:Dùng mảng: f0 = 0; f1=1;f[0] = 0; f[1]=1; for (i=2; in;i++)for (i=2; in;i++) { tg = f1 + f0; f[i] = f[i-1] + f[i-2]; f0 = f1;output f[n]; f1 = tg; } output f1;2013-09-22 Dao Thanh Tinh 3Introduction (3)Số Fibonacci thứ nn=50F(n) =12,586,269,025Phương pháp đệ quy 650 800sCác phương pháp khác 1s2013-09-22 Dao Thanh Tinh 4Introduction (4) Tiếp cận theo hướng bottom-up 1. Xuất phát từ những bài toán cơ sở có lời giải (cách giải đơn giản hoặc có sẵn) 2. Từ tập lời giải các bài toán con tìm lời giải của bài toán lớn hơn.2013-09-22 Dao Thanh Tinh 5Introduction (5) PRINCIPLE OF OPTIMALITY “An optimal policy has the property that whatever the initial state and initial decisions are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decisions.” Richard Bellman “The Theory of Dynamic Programming”, Bulletin of the American Mathematical Society, Vol. 60, No. 6, 1954 (503-515).2013-09-22 Dao Thanh Tinh 6Introduction (6)Một chiến lược tối ưu có đặc trưng: với mọi trạng thái khởi tạo và quyết định ban đầu, các quyết định tiếp theo phải thiết lập được chiến lược tối ưu đối với trạng thái được hình thành từ các quyết định trước đó. Chiến lược tối ưu: có thể trong một số bước đầu tiên lựa chọn dường như không tốt nhưng tổng hợp cả quá trình phải tốt nhất.2013-09-22 Dao Thanh Tinh 7Introduction (7) Kỹ thuật giải bài toán bằng phương pháp QHĐ: a) Bắt đầu với những trường hợp con nhỏ nhất (thường là đơn giải nhất và giải được ngay). b) Tổ hợp các kết quả đã có (không phải tính lại) của các trường hợp con, sẽ đạt đạt tới kết quả của trường hợp có kích thước lớn và tổng quát hơn, cho đến khi cuối cùng đạt tới lời giải của bài toán ban đầu.2013-09-22 Dao Thanh Tinh 8Introduction (8) Ví dụ 2: Xét bài toán: Cho túi T có sức chứa 10kg và 3 đồ vật: 1) 5kg, trị giá 4$ 2) 4kg, trị giá 10$ 3) 6kg, trị giá 3$ Xếp những đồ vật nào vào túi để có giá trị lớn nhất?2013-09-22 Dao Thanh Tinh 9 Introduction (9) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0!!!! đv 0 1 2 3 4 5 6 7 8 9 10Giá trị lớn nhất 0 0 0 0 0 0 0 0 0 0 0 0của túi: 2013-09-22 Dao Thanh Tinh 10 Introduction (10) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0Giá trị lớn nhất 1 0 0 0 0 0 4 4 4 4 4 4của túi: 2013-09-22 Dao Thanh Tinh 11 Introduction (11) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1,2 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 4 4 4 4 4Giá trị lớn nhấtcủa túi: 2 0 0 0 0 10 10 10 10 10 14 14 2013-09-22 Dao Thanh Tinh 12 Introduction (12) Túi có kích thước từ 0 đến 10, sử dụng đồ vật thứ 0,1,2,3 đv 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 4 4 4 4 4 ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình động Lập trình động Quy hoạch động Kỹ thuật giải bài toán Lưu trữ lời giải các bài toán conGợ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