Bài giảng Phân tích thiết kế giải thuật: Chương 1 - ĐH Bách khoa
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Phân tích thiết kế giải thuật: Chương 1 - ĐH Bách khoa DynamicProgramming10.2.2004 Ch.1:DynamicProgramming 1 Giớithiệu° Dynamicprogramming — giảibàitoánbằngcáchkếthợpcáclờigiảicủacácbàitoáncon. — (ởđây“programming”khôngcónghĩalàlậptrình).° Sosánhdynamicprogrammingvà“chiavàtrị”(divideandconquer) — Giảithuậtchiavàtrị ° chiabàitoánthànhcácbàitoánconđộclập, ° giảichúngbằngđệquy, ° kếthợpchúngđểcólờigiảichobàitoánbanđầu. — Giảithuậtdynamicprogramming ° cácbàitoánconkhôngđộclậpvớinhau:chúngcóchungcác bàitoánconnhỏhơn. ° giảimỗibàitoánconchỉmộtlần,vàghinhớlờigiảiđó trongmộtbảngđểtruycậpkhicầnđến.10.2.2004 Ch.1:DynamicProgramming 2 Bàitoántốiưu° Bàitoántốiưu — cóthểcónhiềulờigiải — mỗilờigiảicómộttrị° Tìmlờigiảicótrịtốiưu(cựctiểuhaycựcđại).10.2.2004 Ch.1:DynamicProgramming 3 Nguyêntắccủadynamicprogramming° Mộtgiảithuậtdynamicprogrammingđượcxâydựngquabốnbước: 1.Xácđịnhcấutrúccủamộtlờigiảitốiưu. 2.Địnhnghĩađệquychogiátrịcủamộtlờigiảitốiưu. 3.Tínhgiátrịcủamộtlờigiảitốiưutừdướilên(“bottomup”). 4.Xâydựnglờigiảitốiưutừcácthôngtinđãtính.10.2.2004 Ch.1:DynamicProgramming 4 Nhânmộtchuỗimatrận° Chomộtchuỗimatrận A1,A2,...,An .° XácđịnhtíchA1A2 Andựatrêngiảithuậtxácđịnhtíchcủahaima trận.° Biểudiễncáchtínhtíchcủamộtchuỗimatrậnbằngcách“đặtgiữa ngoặc”(parenthesize)cáccặpmatrậnsẽđượcnhânvớinhau.° Mộttíchcủamộtchuỗimatrậnlàfullyparenthesizednếunólà — mộtmatrậnhoặclà — tíchcủahaitíchcủachuỗimatrậnfullyparenthesizedkhác,và đượcđặtgiữangoặc. Vídụ:mộtvàitíchcủachuỗimatrậnđượcfullyparenthesized — A — (AB) — ((AB)C).10.2.2004 Ch.1:DynamicProgramming 5 Chuỗimatrậnfullyparenthesized° Vídụ:Chomộtchuỗimatrận A1,A2,A3,A4 .TíchA1A2A3A4cóthể đượcfullyparenthesizedtheođúng5cáchkhácnhau: (A1(A2(A3A4))) (A1((A2A3)A4)) ((A1A2)(A3A4)) ((A1(A2A3))A4) (((A1A2)A3)A4)10.2.2004 Ch.1:DynamicProgramming 6 Nhânhaimatrận° TíchcủahaimatrậnAvàBvới — Acóchiềulàp q — Bcóchiềulàq r làmộtmatrậnCcóchiềulàp r. MATRIXMULTIPLY(A,B) 1ifcolumns[A] rows[B] 2thenerror“cácchiềukhôngtươngthích” 3elsefori 1torows[A] 4doforj 1tocolumns[B] 5doC[i,j] 0 6fork 1tocolumns[A] 7doC[i,j] C[i,j]+A[i,k] B[k,j] 8returnC° ThờigianđểtínhCtỷlệvớisốphépnhânvôhướngthựcthitrong dòng7,tứclàp q r.10.2.2004 Ch.1:DynamicProgramming 7 Phítổnđểnhânmộtchuỗimatrận° Nhậnxét:Phítổnnhânmộtchuỗimatrậntùythuộcvàocáchđặt giữangoặc(parenthesization).° Vídụ:Chochuỗimatrận A1,A2,A3 trongđócácchiều(dimension) củacácmatrậnlà10 100,100 5,và5 50 Cóđúng2cáchđểđóngngoặchoàntoàntíchA1A2A3: — Cách1:((A1A2)A3) ° TínhA1A2cần10 100 5=5000phépnhânvôhướng ° KếđónhânA1A2vớiA3cần10 5 50=2500phépnhânvôhướng ° Tổngcộng:7500phépnhânvôhướng — Cách2:(A1(A2A3)) ° TínhA2A3cần100 5 50=25000phépnhânvôhướng ° KếđónhânA1vớiA2A3cần10 100 50=50000phépnhânvô hướng ° Tổngcộng:75000phépnhânvôhướng.10.2.2004 Ch.1:DynamicProgramming 8 Bàitoánnhânchuỗimatrận° Chochuỗimatrận A1,A2,...,An gồmnmatrận,trongđóchiềucủa Ailàpi 1 pi,vớii=1,2,…,n.° Bàitoán:XácđịnhmộtđóngngoặchoàntoànchotíchA1A2 Ansao chosốphépnhânvôhướnglàtốithiểu.° Giảibàitoántrênbằngcáchvétcạn?10.2 ...
Tìm kiếm theo từ khóa liên quan:
Phân tích thiết kế giải thuật Bài giảng Phân tích thiết kế giải thuật Dynamic Programming Nguyên tắc của Dynamic Programming Yếu tố áp dụng Dynamic Programming Biến dạng của Dynamic ProgrammingGợi ý tài liệu liên quan:
-
166 trang 34 0 0
-
Human capital as the source of economic growth
11 trang 30 0 0 -
40 trang 30 0 0
-
Phần tích thiết kế giải thuật (phần 1)
11 trang 28 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật - TS. Phan Thị Hà
140 trang 27 0 0 -
Bài giảng Phân tích thiết kế giải thuật: Branch and Bound - GV. Hà Đại Dương
14 trang 23 0 0 -
Phần tích thiết kế giải thuật (phần 15)
0 trang 22 0 0 -
Bài giảng Phân tích thiết kế giải thuật: The Greedy algorithms - GV. Hà Đại Dương
21 trang 22 0 0 -
Phần tích thiết kế giải thuật (phần 4)
11 trang 21 0 0 -
Ebook Operations research: Principles and applications (Second edition) - Part 2
274 trang 21 0 0 -
Bài giảng Phân tích thiết kế giải thuật: Đánh giá độ phức tạp thuật toán - GV. Hà Đại Dương
17 trang 21 0 0 -
Phân tích thiết kế giải thuật (Bài giảng tiếng Anh) - Chapter 8: Approximation Algorithms
22 trang 20 0 0 -
40 trang 20 0 0
-
Bài giảng Cấu trúc dữ liệu giải thuật: Phân tích thiết kế giải thuật
50 trang 20 0 0 -
Phân tích và thiết kế giải thuật
349 trang 20 0 0 -
Bài giảng Phân tích thiết kế giải thuật - Chương 8: Giải thuật tìm kiếm trong đồ thị
42 trang 19 0 0 -
Phần tích thiết kế giải thuật (phần 9)
7 trang 19 0 0 -
Phân tích thiết kế giải thuật - Chương 6: Giải thuật quay lui
37 trang 18 0 0 -
PHÂN TÍCH VÀ THIẾT KẾ GIẢI THUẬT ALGORITHMS ANALYSIS AND DESIGN
124 trang 17 0 0 -
Bài giảng Phân tích thiết kế giải thuật - Chương 12: NP-Đầy Đủ
48 trang 17 0 0