http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Giải thuật qui hoạch động (Dynamic Programming) Giải thuật Qui hoạch động (Dynamic Programming) ? Giải thuật Qui hoạch động (Dynamic Programming) giống giải thuật chia để trị (Divide and Conquer) việc chia nhỏ toán thành toán nhỏ sau thành tốn nhỏ Nhưng khơng giống chia để trị, tốn khơng giải cách độc lập Thay vào đó, kết toán lưu lại sử dụng cho toán tương tự toán gối (Overlapping Sub-problems) Chúng ta sử dụng Qui hoạch động (Dynamic Programming) có tốn mà chia thành toán tương tự nhau, kết chúng tái sử dụng Thường giải thuật sử dụng cho tối ưu hóa Trước giải tốn con, giải thuật Qui hoạch động cố gắng kiểm tra kết tốn giải trước Các lời giải toán kết hợp lại để thu lời giải tối ưu Do đó, nói rằng: • Bài tốn ban đầu nên phân chia thành tốn gối nhỏ • Lời giải tối ưu tốn thu sử dụng lời giải tối ưu toán • Giải thuật Qui hoạch động sử dụng phương pháp lưu trữ (Memoization) – tức lưu trữ lời giải toán giải, sau cần giải lại tốn lấy sử dụng kết tính tốn So sánh Giải thuật tham lam giải thuật qui hoạch động • Giải thuật tham lam (Greedy Algorithms) giải thuật tìm kiếm, lựa chọn giải pháp tối ưu địa phương bước với hi vọng tìm giải pháp tối ưu toàn cục http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com • Giải thuật Qui hoạch động tối ưu hóa tốn gối Giải thuật chia để trị giải thuật Qui hoạch động: • Giải thuật chia để trị (Divide and Conquer) kết hợp lời giải tốn để tìm lời giải tốn ban đầu • Giải thuật Qui hoạch động sử dụng kết tốn sau cố gắng tối ưu toán lớn Giải thuật Qui hoạch động sử dụng phương pháp lưu trữ (Memoization) để ghi nhớ kết tốn giải Ví dụ giải thuật Qui hoạch động Dưới số tốn giải sử dụng giải thuật Qui hoạch động: • Dãy Fibonacci • Bài tốn tháp Hà Nội (Tower of Hanoi) • Bài tốn ba lơ • Giải thuật Qui hoạch động sử dụng hai phương pháp Phân tích (Topdown) Qui nạp (Bottom-up) Và tất nhiên dựa vào vòng đời làm việc CPU việc tham chiếu tới kết lời giải trước tốn việc giải lại tốn http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ...http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va- giai- thuat/ index.jsp Copyright © vietjack.com • Giải thuật Qui hoạch động tối ưu hóa... ưu toán lớn Giải thuật Qui hoạch động sử dụng phương pháp lưu trữ (Memoization) để ghi nhớ kết tốn giải Ví dụ giải thuật Qui hoạch động Dưới số tốn giải sử dụng giải thuật Qui hoạch động: • Dãy... Giải thuật chia để trị giải thuật Qui hoạch động: • Giải thuật chia để trị (Divide and Conquer) kết hợp lời giải toán để tìm lời giải tốn ban đầu • Giải thuật Qui hoạch động sử dụng kết tốn sau