Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
1,86 MB
Nội dung
1 Ch ng 5 Các k thu tthi t k gi ithu t 2 N i dung 1. Quiho ch ng 2. Gi ithu ttham lam 3. Gi ithu tquay lui 3 1.Quiho ch ng Quy ho ch ng(dynamic programming) gi i các bàitoán b ng cách k t h p các l i gi i c a các bàitoán con c a bài toán ang xét. Ph ng pháp này kh d ngkhi các bàitoán con không c l p i v inhau, t c là khi các bàitoán con có dùngchung nh ng bàitoán “cháu” (subsubproblem). Quiho ch ng gi icác bàitoán “cháu” dùng chung này m t l nvàl u l igi i c a chúngtrong m t b ng và sau ó kh i ph itính l ikhi g p l i bàitoán cháu ó. Quiho ch ng c áp d ng cho nh ng bàitoán t i u hóa(optimization problem). 4 B n b c c aquiho ch ng â d ng m t gi ithu t quiho ch ng có th c chia làm b n b c: 1. ctr nghóa c utrúc c a l igi i t i u. 2. nh ngh agiá tr c a l igi i t i u m t cách quy. 3.Tínhtr c a l igi i t i utheoki u t d ilên. 4. C u t o l igi i t i u t nh ngthôngtin ã ctính toán. 5 Thí d 1 Nhânxâu matr n Cho m t chu i<A 1 , A 2 , …, A n > g m n matr n, và tamu n tínhtích cácmatr n. A 1 A 2 … A n (5.1) Tích c axâumatr n này c g ilàm - óng-ngo c- y- (fullyparenthesized ) n u nó là m tmatr n n ho c là tích c a hai xâumatr n m - óng-ngo c- y- . Thí d : A 1 A 2 A 3 A 4 có th c m - óng-ngo c- y- theo 5 cách: (A 1 (A 2 (A 3 A 4 ))) (A 1 ((A 2 A 3 )A 4 ) ((A 1 A 2 )(A 3 A 4 )) (A 1 (A 2 A 3 ))A 4 ) (((A 1 A 2 )A 3 )A 4 ) 6 á à a m óngngo c m t xâumatr n có nh h ng r t l n n chi phí tínhtíchxâumatr n. Thí d : A 1 10 100 A 2 100 5 A 3 5 50 (A 1 (A 2 A 3 ))th chi n 10.000.5+10.5.50=5000+ 2500 = 7500 phép nhân vô h ng. (A 1 (A 2 A 3 ))th chi n 100.5.50+10.100.50 = 25000+ 50000= 75000phép nhân vô h ng. Hai chi phí trên r tkhác bi t nhau. 7 Phátbi ubàitoánnhânxâu matr n à á í í â '‘Cho m tchu i<A 1 , A 2 , …, A n > g m n matr n, v i m i i= 1, 2, …, n, matr n A i có kíchth c p i-1 p i ,ta m - óng- ngo ctíchnàysaocho t ithi uhóa t ng s phép nhân vô h ng”. ây là m t bài toán t i u hóathu c lo ikhó. 8 C utr c c a m tcách m óngngo c t i u c 1: ctr ng hóa c utrúc c a m t l i gi i t i u. Dùng A i j ký hi umatr n k t qu c a vi ctính A i A i+1 …A j . M t s m óng ngo c t i u c atíchxâumatr n A 1 .A 2 … A n Táchxâungay t i v trí n mgi a A k và A k+1 v i m ttr nguyên k,1 k < n. Ngh alà,tr ctiêntatínhcác chu ima tr n A 1 k and A k+1 n và r i nhânchúng v inhau cho ra A 1.n . Chi phí c a s m óng ngo c t i u này= chi phí tính A l k + chí phí tính A k+1 n , + chi phí nhân chúng l i v i nhau. 9 Di n t l igi i m tcách quy â , nh ng bàitoán con c atalàbàitoán xác nhchi phí t i u ng v i s m óng ngo c cho chu i A i .A i+1 … A j v i 1 i j n. tm[i,j]làt ng s t ithi ucác phép nhân vô h ng c òi h i tínhmatr n A i j . Chi phí c acách r nh t tính A 1 n s c ghi m[1, n]. Gi s r ng s m óng ngo c t i u t ch i tíchchu i A i A i+l … A j t i gi a A k and A k+l , v i i k < j.Thì m[i,j] b ng v i chí phí t ithi u tính A i k và A k+1 j , c ng v ichiphí nhân haimatr n này l i v i nhau. m[i,j]=m[i,k] + m[k+1,j] + p i-1 p k p j . 10 M tc ngth c quy v y, nhngh a quychochi phí t i thi u c a m t s m óngngo ccho A i A i+l … A j là nh sau: m[i, j]= 0 n ui=j, =min{m[i,k]+m[k+1, j]+ p i-1 p k p j .} n ui<j. (5.2) giúptheo dõicách t o m t l igi i t i u,hãy nh ngh a: s[i, j]: tr c a k t i ó chúngta tách tíchxâuma tr n A i A i+1 …A j t n m t s m óng ngo c t i u.