Bài giảng Cơ sở lập trình nâng cao - Chương 8: Phương pháp thiết kế thuật toán − quy hoạch động

10 17 0
Bài giảng Cơ sở lập trình nâng cao - Chương 8: Phương pháp thiết kế thuật toán − quy hoạch động

Đang tải... (xem toàn văn)

Thông tin tài liệu

Programming là phương pháp để giải quyết một lớp lớn các bài toán tối ưu thỏa theo nguyên lý tối ưu Bellman.. Giới thiệu[r]

(1)

CƠ SỞ LẬP TRÌNH NÂNG CAO

Biên soạn: Ths.Tôn Quang Toại TonQuangToai@yahoo.com

TPHCM, NĂM 2013

(2)

PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN

− QUY HOẠCH ĐỘNG −

(3)

Nội dung

• Giới thiệu

• Quy hoạch động Chia để trị

• Quy hoạch động Bài tốn tối ưu • Ngun lý tối ưu Bellman

(4)(5)

Giới thiệu

• Quy hoạch động – Dynamic

Programming nhà toán học người Mĩ Richard

Bellman (1920 – 1984) phát minh vào năm 1957

• Quy hoạch động – Dynamic

(6)

Giới thiệu

• Dựa phương pháp Quy hoạch động,

nhiều thuật toán tiếng đời: Một số thuật toán tiếng dựa phương pháp Quy hoạch động

– Thuật toán Dijkstra

– Thuật toán Ford – Bellman

– Thuật toán Floyd

– Thuật toán Viterbi

– Thuật toán huấn luyện Adaptive Critic

– Thuật toán Cocke – Younger – Kasami

(7)

Quy hoạch động Chia để trị

Bài toán trùng lắp

(8)

Phương pháp

• Phương pháp Quy hoạch động gần giống

với phương pháp Chia để trị

• Cả hai phương pháp dùng để giải

(9)

Phương pháp

• Phương pháp Chia để trị: Là phương

pháp từ xuống (top – down) với ý tưởng:

– [Divide] Chia toán lớn thành

toán nhỏ độc lập

– [Solve] Giải toán nhỏ

– [Combine] Kết hợp lời giải toán nhỏ

(10)

Phương pháp

• Hạn chế phương pháp Chia để trị:

– Khi dùng phương pháp chia để trị để chia

bài toán lớn thành toán con, toán lại chia nhỏ thành nhiều toán nhỏ nữa, …

 Đơi tốn yêu cầu

giải nhiều lần

Ngày đăng: 09/03/2021, 06:02

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan