1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN MÔN HỌC GIẢI THUẬT NÂNG CAO

23 632 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

Định dạng
Số trang 23
Dung lượng 265,88 KB

Nội dung

TIỂU LUẬN MÔN HỌC GIẢI THUẬT NÂNG CAO Quy hoạch động là lớp các bài toán mà quyết định ở bước thứ i phụ thuộc vào quyết định ở các bước đã xử lí trước hoặc sau đó. 1.Quy hoạch động 2 1.1. Nguyên lí quy hoạch động 2 1.2. Các giai đoạn của quy hoạch động 2 1.3. Phương pháp quy hoạch động 3 2. Chia để trị 9 2.1. Nguyên lí chia để trị 9 2.2. Sơ đồ chung: 9 2.3. Thuật toán β: 9 2.4 Sơ đồ thuật toán chia để trị: 10 2.5 Bài toán ví dụ 11 2.5.1 Thuật toán Qsort 11 2.5.2 Bài toán tháp Hà Nội 11 2.5.3 Bài toán tạo lịch thi đấu Tennis: 12 3.Phương pháp tham lam 13 3.1. Nguyên lí tham lam 13 3.2. Mô hình 13 3.3.Thuật toán 14 4. Máy Turing 19

Trang 1

ĐẠI HỌC DUY TÂN

TIỂU LUẬN MÔN HỌC GIẢI THUẬT NÂNG CAO

Giảng viên: PGS TS NGUYỄN XUÂN HUY Học viên : LÊ VĂN TỊNH

ĐOÀN SINH CÔNGHOÀNG QUANG VŨ Lớp : K7MCS

Đà Nẵng, 5/2014

Trang 2

MỤC LỤC

1.Quy ho ch đ ng ạch động ộng 2

1.1 Nguyên lí quy ho ch đ ng ạch động ộng 2

1.2 Các giai đo n c a quy ho ch đ ng ạch động ủa quy hoạch động ạch động ộng 2

1.3 Ph ương pháp quy hoạch động ng pháp quy ho ch đ ng ạch động ộng 3

2 Chia đ tr ể trị ị 9

2.1 Nguyên lí chia đ tr ể trị ị 9

2.2 S đ chung: ơng pháp quy hoạch động ồ chung: 9

2.3 Thu t toán ật toán β: 9

2.4 S đ thu t toán chia đ tr : ơng pháp quy hoạch động ồ chung: ật toán ể trị ị 10

2.5 Bài toán ví dụ 11

2.5.1 Thu t toán Q-sort ật toán .11

2.5.2 Bài toán tháp Hà Nội 11

2.5.3 Bài toán tạo lịch thi đấu Tennis: 12

3.Ph ương pháp quy hoạch động ng pháp tham lam 13

3.1 Nguyên lí tham lam 13

3.2 Mô hình 13

3.3.Thu t toán ật toán .14

4 Máy Turing 19

Trang 3

1.Quy ho ch đ ng ạch động ộng

1.1 Nguyên lí quy ho ch đ ng ạch động ộng

Quy ho ch đ ng là l p các bài toán mà quy t đ nh bạch động ộng ớp các bài toán mà quyết định ở bước ết định ở bước ị ở bước ướp các bài toán mà quyết định ở bướcc

th i ph thu c vào quy t đ nh các bụ ộng ết định ở bước ị ở bước ướp các bài toán mà quyết định ở bướcc đã x lí trử lí trước hoặc sau đó ướp các bài toán mà quyết định ở bướcc ho c sau đó ặc sau đó

Đ gi i các bài toán quy ho ch đ ng, ta có th theo s đ sau đây: ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ạch động ộng ể trị ơng pháp quy hoạch động ồ chung:

L p h th c ập hệ thức ệ thức ức :

L p h th c bi u di n tật toán ệ thức biểu diễn tương quan quyết định của bước đang ể trị ễn tương quan quyết định của bước đang ương pháp quy hoạch độngng quan quy t đ nh c a bết định ở bước ị ủa quy hoạch động ướp các bài toán mà quyết định ở bướcc đang

x lí v i các bử lí trước hoặc sau đó ớp các bài toán mà quyết định ở bước ướp các bài toán mà quyết định ở bướcc đã x lí trử lí trước hoặc sau đó ướp các bài toán mà quyết định ở bướcc đó Khi đã có h th c tệ thức biểu diễn tương quan quyết định của bước đang ương pháp quy hoạch độngngquan chúng ta đã có th xây d ng ngay thu t gi i, tuy nhiênể trị ựng ngay thuật giải, tuy nhiên ật toán ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: các h th c này thệ thức biểu diễn tương quan quyết định của bước đang ường là các biểu thức đệ quy, do đó dễ gâyng là các bi u th c đ quy, do đó d gâyể trị ệ thức biểu diễn tương quan quyết định của bước đang ễn tương quan quyết định của bước đang

ra hi n tệ thức biểu diễn tương quan quyết định của bước đang ượng tràn miền nhớ khi ta tổ chức chương trình trựcng tràn mi n nh khi ta t ch c chền nhớ khi ta tổ chức chương trình trực ớp các bài toán mà quyết định ở bước ổ chức chương trình trực ương pháp quy hoạch độngng trình tr cựng ngay thuật giải, tuy nhiên

ti p b ng đ quy ết định ở bước ằng đệ quy ệ thức biểu diễn tương quan quyết định của bước đang

T ch c d li u và ch ổ chức dữ liệu và chương trình ức ữ liệu và chương trình ệ thức ương trình ng trình:

T ch c d li u sao cho đ t các yêu c u sau:ổ chức chương trình trực ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ạch động ầu sau:

 D li u đữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ượng tràn miền nhớ khi ta tổ chức chương trình trựcc tính toán d n theo các bầu sau: ướp các bài toán mà quyết định ở bướcc

 D li u đữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ượng tràn miền nhớ khi ta tổ chức chương trình trực ưc l u tr đ gi m lữ liệu sao cho đạt các yêu cầu sau: ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ượng tràn miền nhớ khi ta tổ chức chương trình trựcng tính toán l p l i.ặc sau đó ạch động

 Kích thướp các bài toán mà quyết định ở bướcc mi n9 nh dành cho l u tr d li u càng nhền nhớ khi ta tổ chức chương trình trực ớp các bài toán mà quyết định ở bước ư ữ liệu sao cho đạt các yêu cầu sau: ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ỏcàng t t, ki u d li u đốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ể trị ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ượng tràn miền nhớ khi ta tổ chức chương trình trựcc ch n phù h p, nên ch n đ n gi nọn phù hợp, nên chọn đơn giản ợng tràn miền nhớ khi ta tổ chức chương trình trực ọn phù hợp, nên chọn đơn giản ơng pháp quy hoạch động ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

d truy c p.ễn tương quan quyết định của bước đang ật toán

Làm t t ốt :

Làm t t thu t toán b ng cách thu g n h th c và gi m kíchốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ật toán ằng đệ quy ọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đang ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

thướp các bài toán mà quyết định ở bướcc mi n nh Thền nhớ khi ta tổ chức chương trình trực ớp các bài toán mà quyết định ở bước ường là các biểu thức đệ quy, do đó dễ gâyng tìm cách dùng m ng m t chi u thayải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ộng ền nhớ khi ta tổ chức chương trình trựccho m ng hai chi u n u giá tr m t dòng (ho c c t) c a m ngải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ền nhớ khi ta tổ chức chương trình trực ết định ở bước ị ộng ặc sau đó ộng ủa quy hoạch động ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: hai chi u ch ph thu c m t dòng (ho c c t) k trền nhớ khi ta tổ chức chương trình trực ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ụ ộng ộng ặc sau đó ộng ền nhớ khi ta tổ chức chương trình trực ướp các bài toán mà quyết định ở bướcc.Trong

m t s trộng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ường là các biểu thức đệ quy, do đó dễ gâyng h p có th thay m ng hai chi u v i các giá trợng tràn miền nhớ khi ta tổ chức chương trình trực ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ền nhớ khi ta tổ chức chương trình trực ớp các bài toán mà quyết định ở bước ị

ph n t ch nh n giá tr 0, 1 b i m ng hai chi u m i b ng cáchầu sau: ử lí trước hoặc sau đó ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ật toán ị ở bước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ền nhớ khi ta tổ chức chương trình trực ớp các bài toán mà quyết định ở bước ằng đệ quy dùng kỹ thu t qu n lý bit.ật toán ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

1.2 Các giai đo n c a quy ho ch đ ng ạch động ủa quy hoạch động ạch động ộng

 Phân rã: Chia bài toán c n gi i thành nh ng bài toán conầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ữ liệu sao cho đạt các yêu cầu sau:

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ỏ ơng pháp quy hoạch động ạch động ớp các bài toán mà quyết định ở bước ầu sau:

thướp các bài toán mà quyết định ở bướcc nh nh t có th gi i m t cách tr c ti p Bài toán xu t phát cóỏ ất có thể giải một cách trực tiếp Bài toán xuất phát có ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ộng ựng ngay thuật giải, tuy nhiên ết định ở bước ấ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ể trị ướp các bài toán mà quyết định ở bước ớp các bài toán mà quyết định ở bướcc l n nh t ất có thể giải một cách trực tiếp Bài toán xuất phát có

 Gi i các bài toán con và ghi nh n l i gi i: L u tr l i gi iải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ật toán ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ư ữ liệu sao cho đạt các yêu cầu sau: ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

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 đóủa quy hoạch động ộng ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ể trị ử lí trước hoặc sau đó ụ ạch động ền nhớ khi ta tổ chức chương trình trực ầu sau:không ph i gi i l p l i cùng m t bài toán.ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ặc sau đó ạch động ộng

Trang 4

 T ng h p l i gi i: L n lổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ầu sau: ượng tràn miền nhớ khi ta tổ chức chương trình trực ừ lời giải của các bài toán con ờng là các biểu thức đệ quy, do đó dễ gâyt t l i gi i c a các bài toán conải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch độngkích thướp các bài toán mà quyết định ở bướcc nh h n xây d ng l i gi i c a bài toán kích thỏ ơng pháp quy hoạch động ựng ngay thuật giải, tuy nhiên ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động ướp các bài toán mà quyết định ở bước ớp các bài toán mà quyết định ở bướcc l n

h n, cho đ n khi thu đơng pháp quy hoạch động ết định ở bước ượng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gâyc l i gi i c a bài toán xu t phát (là bài toánải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động ất có thể giải một cách trực tiếp Bài toán xuất phát cócon có kích thướp các bài toán mà quyết định ở bước ớp các bài toán mà quyết định ở bướcc l n nh t) ất có thể giải một cách trực tiếp Bài toán xuất phát có

1.3 Ph ương trình ng pháp quy ho ch đ ng ạch động ộng

Phương pháp quy hoạch độngng pháp quy ho ch đ ng g m 6 bạch động ộng ồ chung: ướp các bài toán mà quyết định ở bướcc:

B ước 1 c 1: Chia nh bài toánỏ

L p vector P có các thành ph n x1, x2, xn M i vector P ngật toán ầu sau: ỗi vector P ứng

v i m t bài toán con c a bài toán Ban đ u ta xây d ng P v i m t thànhớp các bài toán mà quyết định ở bước ộng ủa quy hoạch động ầu sau: ựng ngay thuật giải, tuy nhiên ớp các bài toán mà quyết định ở bước ộng

ph n duy nh t.ầu sau: ất có thể giải một cách trực tiếp Bài toán xuất phát có

B ước 1 c 2: L p h th c quy ho ch đ ngật toán ệ thức biểu diễn tương quan quyết định của bước đang ạch động ộng

Xây d ng hàm f(P) là hàm t i u c a vector P (hay hàm t iựng ngay thuật giải, tuy nhiên ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ủa quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

u cho m i bài toán con): f(P) = g(f(P1), f(P2), , f(Pn))

ư ỗi vector P ứng

G có th là hàm Max, Min ho c t ng tùy thu c vào yêu c uể trị ặc sau đó ổ chức chương trình trực ộng ầu sau:

c a bài toán là tìm Max, Min hay tính t ng.ủa quy hoạch động ổ chức chương trình trực

P g i là vector cha P1, P2, P3, , Pn g i là vector con.ọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản

B ước 1 c 3: Ki m traể trị

N u không xây d ng đết định ở bước ựng ngay thuật giải, tuy nhiên ượng tràn miền nhớ khi ta tổ chức chương trình trựcc hàm f thì thêm ti p ho c b điết định ở bước ặc sau đó ỏ

t ng thành ph n c a vector P r i quay l i bừ lời giải của các bài toán con ầu sau: ủa quy hoạch động ồ chung: ạch động ướp các bài toán mà quyết định ở bướcc 2 N u đết định ở bước ượng tràn miền nhớ khi ta tổ chức chương trình trựcc thì làm ti pết định ở bước

bướp các bài toán mà quyết định ở bướcc 4

B ước 1 c 4: T i u hóa h th cốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ệ thức biểu diễn tương quan quyết định của bước đang

T i u vector P b ng cách xét t ng thành ph n x c a vectorốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ằng đệ quy ừ lời giải của các bài toán con ầu sau: ủa quy hoạch độngP:

Ch n vector P t t nh t trong P1, P2, P3, , Pn ch khác nhauọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát có ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trongthành ph n x sao cho có th đ a P t t nh t vào thay P1, P2, P3, , Pn trongầu sau: ể trị ư ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát cóhàm g mà không làm thay đ i giá tr c a hàm g thì có th đ n gi n thànhổ chức chương trình trực ị ủa quy hoạch động ể trị ơng pháp quy hoạch động ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

ph n x c a vector P.ầu sau: ủa quy hoạch động

B ước 1 c 5: Ch n ki u quy ho ch đ ngọn phù hợp, nên chọn đơn giản ể trị ạch động ộng

Ki u 1 ểu 1 : N u các thành ph n c a vector con P1 luôn ≤ hay ≥ết định ở bước ầu sau: ủa quy hoạch độngcác thành ph n c a vector cha P thì ta có th dùng các vòng l p for l ngầu sau: ủa quy hoạch động ể trị ặc sau đó ồ chung:nhau đ cài đ t.ể trị ặc sau đó

Ki u 2 ểu 1 : N u vector P và vector P1 luôn có m i quan h chaết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đangcon m t chi u thì ta có th dùng phộng ền nhớ khi ta tổ chức chương trình trực ể trị ương pháp quy hoạch độngng pháp đ quy có nh đ cài đ t.ệ thức biểu diễn tương quan quyết định của bước đang ớp các bài toán mà quyết định ở bước ể trị ặc sau đó

Ki u 3 ểu 1 : N u vector P và vector P1 luôn có m i quan h chaết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đangcon hai chi u nh ng không rõ đâu là vector cha, đâu là vector con vì cònền nhớ khi ta tổ chức chương trình trực ư

Trang 5

ph thu c vào t ng bài toán thì ta có th dùng phụ ộng ừ lời giải của các bài toán con ể trị ương pháp quy hoạch độngng pháp repeat … until

đ cài đ t.ể trị ặc sau đó

B ước 1 c 6: T i u hóa b nh (ch dùng cho cài đ t ki u 1)ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ộng ớp các bài toán mà quyết định ở bước ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ặc sau đó ể trị

Đ n gi n vector P b ng cách xét t ng thành ph n x c aơng pháp quy hoạch động ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ằng đệ quy ừ lời giải của các bài toán con ầu sau: ủa quy hoạch độngvector P:

N u f(P(…, x, .)) = g(f(P1(…, x1, .)), f(P2( , x2, .)), .,ết định ở bướcf(Pn( , xn, ))) và x-x1, x-x2, , x-xn ≤ T nào đó thì ta ch c n đ a ra vòngỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ầu sau: ư

l p c a x lên đ u tiên và b x ra kh i vector P và l u T+1 vector P.ặc sau đó ủa quy hoạch động ầu sau: ỏ ỏ ư

1.4 bài toán ví dụ :

1.4.1Bài toán Chia th ưởng ng

C n chia h t m ph n thầu sau: ết định ở bước ầu sau: ưở bướcng cho n h c sinh s p theo th tọn phù hợp, nên chọn đơn giản ắp theo thứ tự ựng ngay thuật giải, tuy nhiên

t gi i tr xu ng sao cho m i b n không nh n ít ph n thừ lời giải của các bài toán con ỏ ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ỗi vector P ứng ạch động ật toán ầu sau: ưở bướcng h n b nơng pháp quy hoạch động ạch động

x p sau mình 1 <= m, n <= 70 Hãy tính s cách chia ết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

Thí d , v i s ph n thụ ớp các bài toán mà quyết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcng m = 7, và s h c sinh n = 4 sẽ có 11 cáchốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giảnchia 7 ph n thầu sau: ưở bướcng cho 4 h c sinh theo yêu c u c a đ u bài ọn phù hợp, nên chọn đơn giản ầu sau: ủa quy hoạch động ầu sau: Đó là:

Th c hi nựng ngay thuật giải, tuy nhiên ệ thức biểu diễn tương quan quyết định của bước đang :

- L p h th c ật toán ệ thức biểu diễn tương quan quyết định của bước đang

G i Chia(i, j) là s cách chia i ph n thọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcng cho j h c sinh, ta th y: ọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát có

- N u không có h c sinh nào (j = 0) thì không có cách chia nào (Chia =ết định ở bước ọn phù hợp, nên chọn đơn giản0)

Trang 6

- N u không có ph n thết định ở bước ầu sau: ưở bướcng nào (i = 0) thì ch có 1 cách chia (Chiaỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong

- m i h c sinh nh n 0 ph n thỗi vector P ứng ọn phù hợp, nên chọn đơn giản ật toán ầu sau: ưở bướcng Ta cũng quy ướp các bài toán mà quyết định ở bướcc Chia(0, 0) =1

- N u s ph n thết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcng ít h n s h c sinh (i < j ) thì trong m i phơng pháp quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ương pháp quy hoạch độngng

án chia, t h c sinh th i + 1 tr đi sẽ không đừ lời giải của các bài toán con ọn phù hợp, nên chọn đơn giản ở bước ượng tràn miền nhớ khi ta tổ chức chương trình trựcc nh n ph nật toán ầu sau:

thưở bướcng nào:

Chia(i, j) = Chia(i, i) n u i < j ết định ở bước

Ta xét t t c các phất có thể giải một cách trực tiếp Bài toán xuất phát có ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ương pháp quy hoạch độngng án chia trong trường là các biểu thức đệ quy, do đó dễ gâyng h p i >=j Ta tách cácợng tràn miền nhớ khi ta tổ chức chương trình trực

phương pháp quy hoạch độngng án chia thành hai nhóm không giao nhau d a trên s ph n thựng ngay thuật giải, tuy nhiên ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcng

mà h c sinh đ ng cu i b ng thành tích, h c sinh th j , đọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ọn phù hợp, nên chọn đơn giản ượng tràn miền nhớ khi ta tổ chức chương trình trựcc nh n: ật toán

- Nhóm th nh t g m các phất có thể giải một cách trực tiếp Bài toán xuất phát có ồ chung: ương pháp quy hoạch độngng án trong đó h c sinh th jọn phù hợp, nên chọn đơn giảnkhông đượng tràn miền nhớ khi ta tổ chức chương trình trựcc nh n thật toán ưở bướcng, t c là i ph n thầu sau: ưở bướcng ch chia cho j - 1 h cỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ọn phù hợp, nên chọn đơn giảnsinh và do đó, s cách chia, t c là s ph n t c a nhóm này sẽ là: Chia(i, j -ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ử lí trước hoặc sau đó ủa quy hoạch động1)

- Nhóm th hai g m các phồ chung: ương pháp quy hoạch độngng án trong đó h c sinh th j cũng đọn phù hợp, nên chọn đơn giản ượng tràn miền nhớ khi ta tổ chức chương trình trựcc

nh n thật toán ưở bướcng Khi đó, do h c sinh đ ng cu i b ng thành tích đọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ượng tràn miền nhớ khi ta tổ chức chương trình trựcc nh nật toán

thưở bướcng

thì m i h c sinh khác cũng sẽ có thọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ưở bướcng Do ai cũng đượng tràn miền nhớ khi ta tổ chức chương trình trựcc thưở bướcng nên ta

b t c a m i ngớp các bài toán mà quyết định ở bước ủa quy hoạch động ỗi vector P ứng ường là các biểu thức đệ quy, do đó dễ gâyi m t ph n thộng ầu sau: ưở bướcng (đ h lĩnh sau), s ph n thể trị ọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcngcòn

l i (i -j ) sẽ đạch động ượng tràn miền nhớ khi ta tổ chức chương trình trựcc chia choj h c sinh S cách chia khi đó sẽ là Chia(i -j, j ).ọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

T ng s cách chia cho trổ chức chương trình trực ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ường là các biểu thức đệ quy, do đó dễ gâyng h p i >=j sẽ là t ng s ph n t c a haiợng tràn miền nhớ khi ta tổ chức chương trình trực ổ chức chương trình trực ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ử lí trước hoặc sau đó ủa quy hoạch độngnhóm, ta có:

Chia(i, j) = Chia(i, j - 1) + Chia(i - j, j)

T ng h p l i ta có: ổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ạch động

Đi u ki n Chia(i, j) ền nhớ khi ta tổ chức chương trình trực ệ thức biểu diễn tương quan quyết định của bước đang

i: s ph n thốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ưở bướcng

j: s h c sinh ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản

Trang 7

(Các tính ch t c a hàm Chia(i, j),Chia i ph n thất có thể giải một cách trực tiếp Bài toán xuất phát có ủa quy hoạch động ầu sau: ưở bướcng cho j

h c sinh)ọn phù hợp, nên chọn đơn giản

1.4.2 xâu đ i x ng Palindrome ốt ức

Dãy kí t s đựng ngay thuật giải, tuy nhiên ượng tràn miền nhớ khi ta tổ chức chương trình trực ọn phù hợp, nên chọn đơn giảnc g i là đ i x ng (palindrome) n u các ph nốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ết định ở bước ầu sau:

t cách đ u đ u và cu i gi ng nhau Cho dãy s t o b i n kí t g m các chử lí trước hoặc sau đó ền nhớ khi ta tổ chức chương trình trực ầu sau: ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ạch động ở bước ựng ngay thuật giải, tuy nhiên ồ chung: ữ liệu sao cho đạt các yêu cầu sau:cái hoa và thường là các biểu thức đệ quy, do đó dễ gâyng phân bi t và các ch s Hãy cho bi t c n xoá đi t s ítệ thức biểu diễn tương quan quyết định của bước đang ữ liệu sao cho đạt các yêu cầu sau: ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ết định ở bước ầu sau: ừ lời giải của các bài toán con

nh t là bao nhiêu kí t đ thu đất có thể giải một cách trực tiếp Bài toán xuất phát có ựng ngay thuật giải, tuy nhiên ể trị ượng tràn miền nhớ khi ta tổ chức chương trình trựcc m t dãy đ i x ng Gi thi t r ng sauộng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ết định ở bước ằng đệ quy khi xoá b t m t s kí t ớp các bài toán mà quyết định ở bước ộng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ựng ngay thuật giải, tuy nhiên

t s thì các kí t còn l i sẽ t đ ng xích l i sát nhau.ừ lời giải của các bài toán con ựng ngay thuật giải, tuy nhiên ạch động ựng ngay thuật giải, tuy nhiên ộng ạch động

Thí d , v i dãy s g m 9 kí t , s = 'baeadbadb' thì c n xoá ítụ ớp các bài toán mà quyết định ở bước ồ chung: ựng ngay thuật giải, tuy nhiên ầu sau:

nh t 4 kí t , ch ng ất có thể giải một cách trực tiếp Bài toán xuất phát có ựng ngay thuật giải, tuy nhiên ẳng

h n, các kí t th 5, 7, 8 và 9 sẽ thu đạch động ựng ngay thuật giải, tuy nhiên ượng tràn miền nhớ khi ta tổ chức chương trình trựcc dãy đ i x ng chi u dài 5 làốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ền nhớ khi ta tổ chức chương trình trựcbaeab:

baeadbadb baeab

Dĩ nhiên là có nhi u cách xoá Thí d , có th xoá các kí t th 2, 3, 4 và 6 tền nhớ khi ta tổ chức chương trình trực ụ ể trị ựng ngay thuật giải, tuy nhiên ừ lời giải của các bài toán condãy s đ thu để trị ượng tràn miền nhớ khi ta tổ chức chương trình trựcc dãy con đ i x ng khác là bdadb v i cùng chi u dài 5: ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ớp các bài toán mà quyết định ở bước ền nhớ khi ta tổ chức chương trình trực

Th c hi n:ựng ngay thuật giải, tuy nhiên ệ thức biểu diễn tương quan quyết định của bước đang

G i dãy d li u vào là s Ta tìm chi u dài c a dãy con đ iọn phù hợp, nên chọn đơn giản ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ền nhớ khi ta tổ chức chương trình trực ủa quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

x ng v dài nh t trích t s Khi đó s kí t c n xoá t s sẽ là t = length(s) -ất có thể giải một cách trực tiếp Bài toán xuất phát có ừ lời giải của các bài toán con ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ựng ngay thuật giải, tuy nhiên ầu sau: ừ lời giải của các bài toán conlength(v) Dãy con đây đở bước ượng tràn miền nhớ khi ta tổ chức chương trình trựcc hi u là dãy thu để trị ượng tràn miền nhớ khi ta tổ chức chương trình trựcc t s b ng cách xoáừ lời giải của các bài toán con ằng đệ quy

đi m t s ph n t trong s Thí d v i dãy s = baeadbadb thì dãy conộng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ử lí trước hoặc sau đó ụ ớp các bài toán mà quyết định ở bước

đ i x ng dài nh t c a s sẽ là baeab ho c bdadb,… Các dãy này đ u cóốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát có ủa quy hoạch động ặc sau đó ền nhớ khi ta tổ chức chương trình trựcchi u dài 5 ền nhớ khi ta tổ chức chương trình trực

L p h th c: ật toán ệ thức biểu diễn tương quan quyết định của bước đang

G i p(i, j) là chi u dài c a dãy con dài nh t thu đọn phù hợp, nên chọn đơn giản ền nhớ khi ta tổ chức chương trình trực ủa quy hoạch động ất có thể giải một cách trực tiếp Bài toán xuất phát có ượng tràn miền nhớ khi ta tổ chức chương trình trựcc khi

gi i bài toán ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

v i d li u vào là đo n s[i j] Khi đó p(1, n) là chi u dài c a dãy con đ iớp các bài toán mà quyết định ở bước ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ạch động ền nhớ khi ta tổ chức chương trình trực ủa quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

x ng dài nh t trong dãy n kí t s[1 n] và do đó s kí t c n lo i b kh iất có thể giải một cách trực tiếp Bài toán xuất phát có ựng ngay thuật giải, tuy nhiên ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ựng ngay thuật giải, tuy nhiên ầu sau: ạch động ỏ ỏdãy s[1 n] sẽ là n-p(1,n)

Ta li t kê m t s tính ch t quan tr ng c a hàm hai bi n p(i, j) Ta có: ệ thức biểu diễn tương quan quyết định của bước đang ộng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát có ọn phù hợp, nên chọn đơn giản ủa quy hoạch động ết định ở bước

- N u i > j, t c là ch s đ u trái l n h n ch s đ u ph i, taết định ở bước ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ớp các bài toán mà quyết định ở bước ơng pháp quy hoạch động ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: quy ướp các bài toán mà quyết định ở bướcc đ t ặc sau đó p(i, j) = 0

- N u i = j thì p(i, i) = 1 vì dãy kh o sát ch ch a đúng 1 kí tết định ở bước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ựng ngay thuật giải, tuy nhiênnên nó là đ i x ng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

Trang 8

- N u i < j và s[i] = s[j] thì p(i, j) = p(i + 1, j – 1) + 2 Vì hai kíết định ở bước

t đ u và ựng ngay thuật giải, tuy nhiên ầu sau: cu i dãy s[i,j] gi ng nhau nên ch c n xác đ nh chi u dàiốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ầu sau: ị ền nhớ khi ta tổ chức chương trình trực

c a dãy con đ i ủa quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản x ng dài nh t trong đo n gi a là s[i + 1, j –ất có thể giải một cách trực tiếp Bài toán xuất phát có ạch động ữ liệu sao cho đạt các yêu cầu sau:1] r i c ng thêm 2 đ n v ng ồ chung: ộng ơng pháp quy hoạch động ị v i hai kí t đ u và cu i dãyớp các bài toán mà quyết định ở bước ựng ngay thuật giải, tuy nhiên ầu sau: ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

là đượng tràn miền nhớ khi ta tổ chức chương trình trựcc

- N u i < j và s[i] ≠ s[j], t c là hai kí t đ u và cu i c a dãyết định ở bước ựng ngay thuật giải, tuy nhiên ầu sau: ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ủa quy hoạch độngcon s[i j] là khác nhau thì ta kh o sát hai dãy con là s[i (j – 1)] và s[(i +ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: 1) j] đ l y ể trị ất có thể giải một cách trực tiếp Bài toán xuất phát có chi u dài c a dãy con đ i x ng dài nh t trong hai dãy nàyền nhớ khi ta tổ chức chương trình trực ủa quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ất có thể giải một cách trực tiếp Bài toán xuất phát cólàm k t qu : ết định ở bước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

p(i,j) = max(p(i,j-1),p(i+1,j)) V n đ đ t ra là c n tính p(1,ất có thể giải một cách trực tiếp Bài toán xuất phát có ền nhớ khi ta tổ chức chương trình trực ặc sau đó ầu sau:n) Mà mu n ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản tính đượng tràn miền nhớ khi ta tổ chức chương trình trựcc p(1, n) ta ph i tính đải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ượng tràn miền nhớ khi ta tổ chức chương trình trựcc các p(i, j) v i m i i, j =ớp các bài toán mà quyết định ở bước ọn phù hợp, nên chọn đơn giản1 n

1.4.3 bài toán c m hoa ắm hoa

C n c m h t k bó hoa khác nhau vào n l x p th ng hàngầu sau: ắp theo thứ tự ết định ở bước ọn phù hợp, nên chọn đơn giản ết định ở bước ẳng sao cho bó hoa có s hi u nh đốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đang ỏ ượng tràn miền nhớ khi ta tổ chức chương trình trựcc đ t trặc sau đó ướp các bài toán mà quyết định ở bướcc bó hoa có s hi u l n V iốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đang ớp các bài toán mà quyết định ở bước ớp các bài toán mà quyết định ở bước

m i bó hoa i ta bi t giá tr th m mĩ khi c m bó hoa đó vào l j là v[i, j] ỗi vector P ứng ết định ở bước ị ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j] ắp theo thứ tự ọn phù hợp, nên chọn đơn giảnYêu c u: Xác đ nh m t phầu sau: ị ộng ương pháp quy hoạch độngng án c m hoa sao cho t ng giá tr th m mĩ làắp theo thứ tự ổ chức chương trình trực ị ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j]

l n ớp các bài toán mà quyết định ở bước

nh t ất có thể giải một cách trực tiếp Bài toán xuất phát có

D li u vào ghi trong t p văn b n HOA.INP: ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ệ thức biểu diễn tương quan quyết định của bước đang ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

- Dòng đ u tiên là hai tr k và n ầu sau: ị

- T dòng th hai tr đi là các giá tr v[i, j] trong kho ng 0 10, v i i = 1 k ừ lời giải của các bài toán con ở bước ị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ớp các bài toán mà quyết định ở bước

Trang 9

và j = 1 n; 1 <= k <= n <= 100

D li u ra ghi trong t p văn b n HOA.OUT: dòng đ u tiên là t ng giá trữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ệ thức biểu diễn tương quan quyết định của bước đang ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ầu sau: ổ chức chương trình trực ị

th m ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j]

mĩ c a phủa quy hoạch động ương pháp quy hoạch độngng án c m hoa t i u T dòng th hai là dãy k s hi u lắp theo thứ tự ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ừ lời giải của các bài toán con ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đang ọn phù hợp, nên chọn đơn giản

đượng tràn miền nhớ khi ta tổ chức chương trình trựcc

ch n cho m i bó hoa.Các s li u vào và ra đ u là s t nhiên và đọn phù hợp, nên chọn đơn giản ỗi vector P ứng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ệ thức biểu diễn tương quan quyết định của bước đang ền nhớ khi ta tổ chức chương trình trực ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ựng ngay thuật giải, tuy nhiên ượng tràn miền nhớ khi ta tổ chức chương trình trựcc ghicách nhau b i d u cách trên m i dòng.ở bước ất có thể giải một cách trực tiếp Bài toán xuất phát có ỗi vector P ứng

K t qu cho bi t t ng giá tr th m mĩ sẽ ết định ở bước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ết định ở bước ổ chức chương trình trực ị ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j]

đ t là 24 (đi m) n u c m hoa nh sau: ạch động ể trị ết định ở bước ắp theo thứ tự ư

- Bó hoa 1 c m vào l 1;ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

- Bó hoa 2 c m vào l 3; ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

- Bó hoa 3 c m vào l 4; ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

- Bó hoa 4 c m vào l 6.ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

L p h th c: G i T(i, j) là t ng giá tr th m mĩ khi gi i bài toán v i i bó hoaật toán ệ thức biểu diễn tương quan quyết định của bước đang ọn phù hợp, nên chọn đơn giản ổ chức chương trình trực ị ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j] ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ớp các bài toán mà quyết định ở bước

mã s ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

1 i và j l mã s 1 j, t c là đ th m mĩ thu đọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ộng ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j] ượng tràn miền nhớ khi ta tổ chức chương trình trựcc khi c m h t i bó hoa đ uắp theo thứ tự ết định ở bước ầu sau:tiên vào j l đ u tiên, ta th y: ọn phù hợp, nên chọn đơn giản ầu sau: ất có thể giải một cách trực tiếp Bài toán xuất phát có

a) N u s bó hoa nhi u h n s l , i > j thì không có cách c m nào vì đ uết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ền nhớ khi ta tổ chức chương trình trực ơng pháp quy hoạch động ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ắp theo thứ tự ầu sau:bài yêu c u ph i c m h t các bó hoa, m i bó vào đúng 1 l T(i, j) = 0 ầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ắp theo thứ tự ết định ở bước ỗi vector P ứng ọn phù hợp, nên chọn đơn giản

b) N u s bó hoa b ng s l (i = j) thì ch có m t cách c m là bó nào vào lết định ở bước ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ằng đệ quy ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ỉ phụ thuộc một dòng (hoặc cột) kề trước.Trong ộng ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

đó

c) Ta xét trường là các biểu thức đệ quy, do đó dễ gâyng h p s bó hoa ít h n h n s l (i < j) Có hai tình hu ng:ợng tràn miền nhớ khi ta tổ chức chương trình trực ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ơng pháp quy hoạch động ẳng ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

l cu i cùng, t c l th j đọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ượng tràn miền nhớ khi ta tổ chức chương trình trựcc ch n cho phọn phù hợp, nên chọn đơn giản ương pháp quy hoạch độngng án t i u và l th jốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ọn phù hợp, nên chọn đơn giảnkhông đượng tràn miền nhớ khi ta tổ chức chương trình trựccch n ọn phù hợp, nên chọn đơn giản

- N u l cu i cùng, l th j đết định ở bước ọn phù hợp, nên chọn đơn giản ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ượng tràn miền nhớ khi ta tổ chức chương trình trựcc ch n đ c m bó hoa (cu iọn phù hợp, nên chọn đơn giản ể trị ắp theo thứ tự ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giảncùng) i thì i - 1 bó hoa đ u tiên sẽ đầu sau: ượng tràn miền nhớ khi ta tổ chức chương trình trựcc phân ph i vào j - 1 l đ u tiên.ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ọn phù hợp, nên chọn đơn giản ầu sau:

T ng giá tr ổ chức chương trình trực ị th m mĩ s khi đó sẽ là T(i - 1, j - 1) + v[i, j] ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j]

Trang 10

- N u l th j không đết định ở bước ọn phù hợp, nên chọn đơn giản ượng tràn miền nhớ khi ta tổ chức chương trình trựcc ch n cho phọn phù hợp, nên chọn đơn giản ương pháp quy hoạch độngng án t i u thì iốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư

bó hoa ph i ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: đượng tràn miền nhớ khi ta tổ chức chương trình trực ắp theo thứ tực c m vào j-1 l đ u tiên và do đó t ng giá tr th m mĩọn phù hợp, nên chọn đơn giản ầu sau: ổ chức chương trình trực ị ẩm mĩ khi cắm bó hoa đó vào lọ j là v[i, j]

sẽ là T(i, j-1)

T ng h p l i ta có giá tr t i u khi c m i bó hoa vào j l là: ổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ạch động ị ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ư ắp theo thứ tự ọn phù hợp, nên chọn đơn giản

T(i,j) = max {T(i-1,j-1)+v[i,j],T(i,j-1)}

2 Chia đ tr ểu 1 ị

2.1 Nguyên lí chia đ tr ểu 1 ị

Chia đ tr là m t trong nh ng phể trị ị ộng ữ liệu sao cho đạt các yêu cầu sau: ương pháp quy hoạch độngng pháp thi t k gi iết định ở bước ết định ở bước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: thu t c b n bao g m các thao tác:ật toán ơng pháp quy hoạch động ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ồ chung:

2.2 S đ chung: ơng trình ồ chung:

S đ chung c a thu t toán chia đ tr (Divide and Conquer) g m 3ơng pháp quy hoạch động ồ chung: ủa quy hoạch động ật toán ể trị ị ồ chung:thành ph n:ầu sau:

- Chia (Divide): Chia bài toán c n gi i S ra thành các bài toánầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: con S1, S2, S3,

- Tr (Conquer): Gi i các bài toán con m t cách đ quy.ị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ộng ệ thức biểu diễn tương quan quyết định của bước đang

- T ng h p (Combine): T ng h p l i gi i c a bài toán S1,ổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch độngS2, S3, thành l i gi i c a bài toán S.ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động

Đ phân tích đ ph c t p c a thu t toán có th s d ng công th để trị ộng ạch động ủa quy hoạch động ật toán ể trị ử lí trước hoặc sau đó ụ ệ thức biểu diễn tương quan quyết định của bước đangquy

V n đ đ t ra là c n gi i các bài toán con đ c l p b ng cách nào? Đó làất có thể giải một cách trực tiếp Bài toán xuất phát có ền nhớ khi ta tổ chức chương trình trực ặc sau đó ầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ộng ật toán ằng đệ quy

v n đ trung tâm c a bài toán 0ất có thể giải một cách trực tiếp Bài toán xuất phát có ền nhớ khi ta tổ chức chương trình trực ủa quy hoạch động

2.3 Thu t toán ập hệ thức β:

Gi s chúng ta có thu t toán đ gi i bài toán kích thải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ử lí trước hoặc sau đó ật toán α để giải bài toán kích thước ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ướp các bài toán mà quyết định ở bướcc

d li u vào n v i th i gian b ch n b i cn2 (c: h ng s ) Xét thu t gi i ữ liệu sao cho đạt các yêu cầu sau: ệ thức biểu diễn tương quan quyết định của bước đang ớp các bài toán mà quyết định ở bước ờng là các biểu thức đệ quy, do đó dễ gây ị ặc sau đó ở bước ằng đệ quy ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ật toán ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: β

đ gi i chính bài toán đó b ng cách:ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ằng đệ quy

Trang 11

- Bướp các bài toán mà quyết định ở bướcc 1: Chia bài toán c n gi i thành 3 bài toán con v iầu sau: ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ớp các bài toán mà quyết định ở bướckích thướp các bài toán mà quyết định ở bướcc n/2.

- Bướp các bài toán mà quyết định ở bướcc 2: Gi i 3 bài toán b ng thu t toán ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ằng đệ quy ật toán α để giải bài toán kích thước

- Bướp các bài toán mà quyết định ở bướcc 3 T ng h p l i gi i c a 3 bài toán con đ thu đổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động ể trị ượng tràn miền nhớ khi ta tổ chức chương trình trựcc

l i gi i c a bài toán.ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động

* Tính đúng đ n c a thu t toán ắp theo thứ tự ủa quy hoạch động ật toán β

Gi s bải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ử lí trước hoặc sau đó ướp các bài toán mà quyết định ở bướcc 3 đòi h i th i gian dn(d: h ng s ).ỏ ờng là các biểu thức đệ quy, do đó dễ gây ằng đệ quy ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản

G i: ọn phù hợp, nên chọn đơn giản

T (n) = th i gian c a thu t toán α để giải bài toán kích thước ờng là các biểu thức đệ quy, do đó dễ gây ủa quy hoạch động ật toán α để giải bài toán kích thước

T (n) = th i gian c a thu t toán β ờng là các biểu thức đệ quy, do đó dễ gây ủa quy hoạch động ật toán β

Ta có:

T (n) = cn2 (theo gi thuy t)α để giải bài toán kích thước ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ết định ở bước

T (n) = 3.T (n/2) + dn = ¾.cn2 + dnβ α để giải bài toán kích thước

N u:ết định ở bước

dn < c.n2/4 hay n > 4 d/c thì thu t toán nhanh h n thu t toánật toán β ơng pháp quy hoạch động ật toán

α để giải bài toán kích thước

Do 4.d/c là h ng s nên v i n đ l n ta luôn có n > 4 d/c.ằng đệ quy ốt, kiểu dữ liệu được chọn phù hợp, nên chọn đơn giản ớp các bài toán mà quyết định ở bước ủa quy hoạch động ớp các bài toán mà quyết định ở bước

Đi u đó cho th y vi c s d ng thu t toán đ gi i bài toán đ t ra b ngền nhớ khi ta tổ chức chương trình trực ất có thể giải một cách trực tiếp Bài toán xuất phát có ệ thức biểu diễn tương quan quyết định của bước đang ử lí trước hoặc sau đó ụ ật toán β ể trị ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ặc sau đó ằng đệ quy cách chia nó thành các bài toán con có kích thướp các bài toán mà quyết định ở bướcc càng ngày càng nhỏ

đ n khi thu đết định ở bước ượng tràn miền nhớ khi ta tổ chức chương trình trựcc bài toán con kích thướp các bài toán mà quyết định ở bướcc n0 < 4.d/c sẽ thu đượng tràn miền nhớ khi ta tổ chức chương trình trựcc hi uệ thức biểu diễn tương quan quyết định của bước đang

qu cao ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây:

2.4 S đ thu t toán chia đ tr : ơng trình ồ chung: ập hệ thức ểu 1 ị

Chia bài toán thành r bài toán con có kích thướp các bài toán mà quyết định ở bướcc n/k;

for (m i bài toán trong r bài toán con) doỗi vector P ứng

Divide_and_Conquer(n/k);

T ng h p l i gi i c a r bài toán con đ thu đổ chức chương trình trực ợng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gây ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động ể trị ượng tràn miền nhớ khi ta tổ chức chương trình trực ờng là các biểu thức đệ quy, do đó dễ gâyc l i gi i c a bài toán;ải các bài toán quy hoạch động, ta có thể theo sơ đồ sau đây: ủa quy hoạch động

Ngày đăng: 22/12/2014, 08:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w