1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc dữ liệu - Phần 7 potx

50 180 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phương pháp quy hoạch động
Trường học Trường Phạm Hồng Thái
Chuyên ngành Cấu trúc dữ liệu
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 50
Dung lượng 482,61 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

GVGD: Tr ng Ph c H i

(dynamic programming)

Trang 3

Nguyên lý quy ho ch đ ng

 Chia đ tr là ph ng pháp ch đ o trong vi c thi t

k các thu t toán có tính ch t đ quy

 Chia đ tr phân nh bài toán và gi i quy t đ c l p

t ng ph n m t cách đ quy

T t ng đ quy d hi u và d cài đ t nh ng tiêu

t n nhi u b nh (stack l u tr các l i g i)

Trang 8

Nguyên lý quy ho ch đ ng

 Xây d ng l i gi i c a m t bài toán thông qua l i

gi i c a các bài toán con

 Các bài con ti p t c đ c chia nh đ gi i quy t

nh ng không s d ng k thu t đ quy

S d ng b ng tra c u đ l u l i k t qu đã tính

đ c và tính d n đ n nghi m c a bài toán b ng

m t công th c xác đ nh

Trang 9

N i dung

1 Nguyên lý quy ho ch đ ng

3 Ph ng pháp quy ho ch đ ng

2 Công th c truy h i

Trang 10

Công th c truy h i

 Trong quá trình quay lui, đ quy s g i l i nhi u

l n các bài toán con đã đ c g i các b c tr c

 Gây tiêu t n th i gian th c hi n l p l i và tài nguyên b

nh

theo m t công th c xác đ nh đ tìm nghi m cho bài toán ban đ u

 Công th c k t h p nghi m c a các bài toán con đ tìm nghi m c a bài toán l n h n g i là công th c truy h i

Trang 11

Công th c truy h i

 Ví d 1

 Xét l i bài toán tìm ph n t th N c a dãy Fibonacci

Gi i bài toán m t cách nhìn khác

d n cho các s Fibonacci ti p theo

Trang 13

Công th c truy h i

Gi i thu t s d ng công th c truy h i v i đ ph c

t p O(N)

Fibonacci (N) F[0] = 1

Trang 14

for ( int i = 2; i <= N; i++)

F[i] = F[i-1] + F[i-2];

return F[N];

}

Trang 15

Công th c truy h i

 Ví d 2

Trang 16

Công th c truy h i

T o b ng l u tr nghi m c a các bài toán con

 G i C[i][j] là giá tr c a , v y giá tr c a là C[N][k]

Trang 18

Công th c truy h i

Gi i thu t s d ng b ng tra c u đ ph c t p O(n2)

ToHop (N, k) For (j = 0; j <= k; j++) C[0][j] = 0

For (i = 0; i <= N; i++) C[i][0] = 1

Trang 19

for ( int i = 1; i <= N; i++)

C[i][j] = C[i-1][j] + C[i-1][j-1];

Trang 21

Ph ng pháp quy ho ch đ ng

 Quy ho ch đ ng do Bellman đ xu t nh m gi i quy t các bài toán t i u có b n ch t đ quy

 Quy ho ch đ ng có c s là nguyên lý t i u Bellman

 Quy ho ch đ ng b t đ u t vi c tìm nghi m t t c bài toán c s và k t h p chúng đ d n tìm nghi m

c a bài toán ban đ u

Trang 22

 S d ng công th c truy h i đ l n gi i các bài toán l n h n

d n đ t đ c bài toán ban đ u

Trang 23

Ph ng pháp quy ho ch đ ng

i u ki n đ áp d ng ph ng pháp quy ho ch

đ ng cho các bài toán

các bài toán con (xác đ nh công th c truy h i)

m t hình th c ch p nh n đ c (b ng ph ng án)

 Xác đ nh công th c truy h i là công vi c ch y u

và ph c t p nh t c a ph ng pháp quy ho ch đ ng

Trang 25

Ph ng pháp quy ho ch đ ng

 Quy ho ch đ ng không hi u qu trong các tr ng

h p sau

án quá l n

 S k t h p nghi m c a các bài toán con ch a ch c tìm

đ c nghi m c a bài toán ban đ u

Trang 26

Ph ng pháp quy ho ch đ ng

 Quy ho ch đ ng đ c ng d ng đ gi i các bài toán t i u trong kinh t (t i thi u chi phí, t i đa

l i nhu n, …)

 Bài toán cái túi

 Bài toán chia k o

 …

Trang 27

N i dung

1 Nguyên lý quy ho ch đ ng

3 Ph ng pháp quy ho ch đ ng

2 Công th c truy h i

Trang 28

M t s bài toán ng d ng

 Dãy con chung dài nh t

m t s ph n t trên A và B đ 2 dãy còn l i là gi ng nhau

Trang 29

M t s bài toán ng d ng

 Phân tích bài toán

ph n t và dãy B có j ph n t

Nh n xét

dãy chung luôn là 0

Trang 31

ph ng án quy ho ch đ ng l u nghi m các bài toán con

và dãy b t k

 Các dòng i, c t j ti p theo th hi n chi u dài dãy chung dài nh t c a dãy A có i ph n t và B có j ph n t

Trang 35

đ l n ng c theo giá tr max đó

Trang 37

M t s bài toán ng d ng

 Cài đ t ngôn ng

void Trace( int L[][MAX], int A[], int M,

int B[], int N, int T[], int &P) {

Trang 38

M t s bài toán ng d ng

 Bài toán cái túi

l ng c a chúng là l n nh t nh ng không v t quá W

Trang 41

M t s bài toán ng d ng

 Phân tích bài toán

 Không ch n A[i]: F[i][j] = F[i-1][j]

 Ch n A[i]: F[i][j] = F[i-1][j-A[i]] + A[i]

Trang 45

j (A[1] ≤ j) thì ch n, ngh a là A[1][j] = A[1]

Trang 49

M t s bài toán ng d ng

Gi i thu t tra b ng truy v t

Trace (F[][], A[], N, W) While (N >= 1) Do

Trang 50

M t s bài toán ng d ng

 Cài đ t ngôn ng

void Trace( int L[][MAX], int A[], int N, int W,

Ngày đăng: 08/08/2014, 04:21

TỪ KHÓA LIÊN QUAN

w