Tai Lieu Quy Hoach Dong

download Tai Lieu Quy Hoach Dong

of 31

Transcript of Tai Lieu Quy Hoach Dong

Chng 3 QUY HOCH NG MC TIU CA CHNG - Hiu v nm vng bn cht ca phng php quy hoch ng. - Cung cp mt cch tip cn mi trong vic gii quyt cc bi ton ti u mang bn cht quy. - Sinh vin cn nm vng phn l thuyt c th hnh thnh cc k nng trong vic tip cn v gii cc bi ton quy hoch ng. NI DUNG BI GING L THUYT Quy hoch ng (Dynamic programming) l mt k thut nhm n gin ha vic tnh ton cc cng thc truy hi bng cch lu tr ton b hay mt phn kt qu tnh ton ti mi bc vi mc ch s dng li. Bn cht ca quy hoch ng l nhm thay th m hnh tnh ton t trn xung (top-down) bng m hnh tnh ton t di ln (bottom-up). Quy hoch ng thng dng gii cc bi ton ti u c bn cht qui Vic tm nghim ti u ca bi ton cho c thc hin da trn vic tm nghim ti u ca cc bi ton con. Kt qu ca cc bi ton con c ghi nhn li phc v cho vic gii cc bi ton ln hn v gii c bi ton yu cu. 3.1. Bi ton quy hoch Bi ton quy hoch l bi ton ti u: gm c mt hm f gi l hm mc tiu hay hm nh gi, cc hm g1, g2, gn cho gi tr logic gi l hm rng buc. Yu cu ca bi ton l tm mt cu hnh x tha mn tt c cc rng buc g1, g2, gn: gi(x)=TRUE ( 1 i i: n) v x l tt nht, theo ngha khng tn ti mt cu hnh y no khc tha mn cc hm rng buc m f(y) tt hn f(x). V d: Tm (x, y) Hm mc tiu : x + y max Hm rng buc : x2 + y2 1 Xt trong mt phng ta , nhng cp (x, y) tha mn x2 + y2 1 l ta ca nhng im nm trong hnh trn c tm O l gc ta , bn knh 1. Vy nghim ca bi ton bt buc nm trong hnh trn . Nhng ng thng c phng trnh x + y = C (C l mt hng s) l ng thng vung gc vi ng phn gic gc phn t th nht. Ta phi tm s C ln nht m ng thng x +

1

y = C vn c im chung vi ng trn (O, 1). ng thng l mt tip tuyn ca ng trn : x + y = 2 . Tip im ( 1 2 , 1 2 ) tng ng vi nghim ti u ca bi ton cho.

Cc dng bi ton quy hoch rt phong ph v a dng, ng dng nhiu trong thc t, nhng cng cn bit rng a s cc bi ton quy hoch l khng gii c, hoc cha gii c. Cho n nay ngi ta mi ch c thut ton n gii gii bi ton quy hoch tuyn tnh li, v mt vi thut ton khc p dng cho bi ton c th. 3.2. Phng php quy hoch ng Phng php quy hoch ng dng gii bi ton ti u c bn cht quy, tc l vic tm phng n ti u cho bi ton c th a v tm phng n ti u ca s hu hn cc bi ton con. i vi nhiu thut ton quy chng ta tm hiu, nguyn l chia tr thng ng vai tr ch o trong vic thit k thut ton. gii quyt mt bi ton ln, ta chia n lm nhiu bi ton con cng dng vi n gii quyt c lp. Trong phng php quy hoch ng, nguyn l ny cng c th hin r : Khi khng bit cn phi gii quyt nhng bi ton con no, ta s i gii quyt tt c cc bi ton con v lu tr nhng li gii hay p s ca chng vi mc ch s dng li theo mt s phi hp no gii quyt nhng bi ton tng qut hn. chnh l im khc nhau gia quy hoch ng v php phn gii quy v cng l ni dung ca phng php quy hoch ng : Php phn gii quy bt u t bi ton ln phn r thnh nhiu bi ton con v i gii tng bi ton con . Vic gii quyt tng bi ton con li a v php phn r tip thnh nhiu bi ton nh hn v li i gii tip bi ton nh hn bt k n c gii hay cha. Quy hoch ng bt u t vic gii tt c cc bi ton nh nht (bi ton c s) t tng bc gii quyt nhng bi ton ln hn, cho ti khi gii c bi ton ln nht ( bi ton ban u). Ta xt mt v d n gin Dy Fibonacci l dy v hn cc s nguyn dng F[1], F[2],. c nh ngha nh sau :

2

1 i 2 F[1] = F[i 2] + F[i 1] i > 2 Hy tnh F[6]

Xt hai cch ci t chng trnh int F(int i) { if(i