thiết kế thuật toán-vét cạn và tham lam
DESCRIPTION
kkkkkkjjjnnnnjjjTRANSCRIPT
Nội dung của chươ ng này trình bày hai chiến lượ c thiết k ếthuật giải thôngdụng là vét cạn và tham lam. Nội dung của chươ ng, ngoài phần trình bày vềcác phươ ng pháp còn có những ví dụcụthể, cảthuật giải và càiđặt,
đểngườ iđọc cómột cái nhìn chi tiết vềviệc từthuật toánđến chươ ng trình.1. Vét cạn (Exhausted search)Vét cạn, duyệt, quay lui… là một sốtên gọi tuy khôngđồng ngh ĩ a nhưngcùng chỉmột phươ ng pháp r ấtđơ
n giản trong tin học:tìm nghiệm của một bàitoán bằng cách xem xét tất cảcác phươ ng án có thể.Đối vớ i con ngườ i phươ ng pháp này thườ ng là không khảthi vì sốphươ ng án cần kiểm tra quá lớ n. Tuy nhiênđối vớ i máy tính, nhờ tố
cđộxửlí nhanh, máy tính có thểgiải r ất nhiều bài toán bằng phươ ng pháp vét cạn.Ư uđiểm lớ n nhất của phươ ng pháp vét cạn làluônđảm bảo tìm ra nghiệmchính xác. Ngoài ra phươ ng pháp vét cạn còn có một số
ưuđiểm so vớ i các phươ ng pháp khác làđòi hỏi r ất ít bộnhớ và càiđặtđơ n giản. Hạn chếduy nhấtcủa phươ ng pháp này làthờ i gian thự c thi rất lớ n,độphức tạ
p thườ ngở bậc mũ.Dođó vét cạn thườ ng chỉáp dụng tốt vớ i các bài toán có kích thướ c nhỏ.1.1. Bài toán tìm cấu hình tổhợ pThườ ng những bài toán trong Tin học có yêu cầu dạng: tìm cácđối tượ ng xthoảmãn nh
ữngđiều kiện nhấtđịnh trong một tậ p S cácđối tượ ng cho tr ướ c. Bàitoán tìm cấu hình tổhợ p là bài toán yêu cầu tìm cácđối tượ ng x có dạng là mộtvector thoảmãn cácđiều kiện sau:1. Đối tượ ng x g
ồm n phần tử: x = (x1,x2,…xn).2. Mỗi phần tửxicó thểnhận một trong các giá tr ịr ờ i r ạc a1, a2, … am.3. x thoảmãn các ràng buộc có thểcho bở i hàm logic G(x).Tuỳ
từng tr ườ ng hợ p mà bài toán có thểyêu cầu: tìm một nghiệm, tìm tất cả nghiệm hoặcđếm sốnghiệm.Tr ướ c hết chúng ta nhắc lại một sốcấu hình tổhợ p cơ bản.
a) T ổ hợ pMột tổhợ p chậ p k của n là một tậ p con k phần tửcủa tậ p n phần tử.Chẳng hạn tậ p {1,2,3,4} có các tổhợ p chậ p 2 là: {1,2}, {1,3, {1,4, {2,3}, {2,4},{3,4}. Vì trong tậ p hợ p các phần tử
ảcác tổhợ p châp k củatập n phần tử .Để đơ n giản ta chỉxét bài toán tìm các tổhợ p của tậ p các số nguyên từ1đến n.Đối vớ i một tậ p hữu hạn bất kì, bằ
ng cáchđánh sốthứtựcủacác phần tử, ta cũngđưađượ c vềbài toánđối vớ i tậ p các sốnguyên từ1đến n. Nghiệm cần tìm của bài toán tìm các tổhợ p chậ p k của n phần t
ửphải thoảmãncácđiều kiện sau:1. Là một vector x =(x1,x2,…xk )2. xilấy giá tr ịtrong tậ p {1,2,…n}3. Ràng buộc: xi<xi+1vớ i mọi giá tr ịi từ1đến k-1.Có ràng buộ
c 3 là vì tậ p hợ p không phân biệt thứtựphần tửnên ta sắ p xế p các phần tửtheo thứtựtăng dần.b) Chỉ nh hợ p l ặ pChỉnh hợ p lặ p chậ p k của n là một dãy k thành ph
ần, mỗi thành phần là một phần tửcủa tậ p n phần tử, có xétđến thứtựvà không yêu cầu các thành phần khácnhau.Một ví dụdễthấy nhất của chỉnh hợ p lặ p là các dãy nhịphân. Mộ
t dãy nhị phânđộdài m là một chỉnh hợ p lặ p chậ p m của tậ p 2 phần tử{0,1}. Chẳng hạn101 là một dãy nhịphânđộdài 3. Ngoài ra ta còn có 7 dãy nhịphânđộdài 3 nữalà 000, 001, 010, 011, 100, 110, 111. Vì có xét thứtựnên dãy 101 và dãy 011 là 2dãy khác nhau. Nhưvậy, bài toánxácđịnh tấ
t cảcác chỉnh hợ p lặp chập k của tập nphần tử yêu cầu tìm các nghiệm nhưsau:1. Là một vector x =(x1,x2,…xk )2. xilấy giá tr ịtrong tậ p {1,2,…n}3. Không có ràng buộc nào giữ
a các thành phần.Chú ý là cũng nhưbài toán tìm tổhợ p, ta chỉxétđối vớ i tậ p n sốnguyên từ 1đến n. Nếu tậ p hợ p cần tìm chỉnh hợ p không phải là tậ p các sốnguyên từ1đến nthì ta có thể đánh s
ốcác phần tửcủa tậ pđóđể đưa vềtậ p các sốnguyên từ1đến nc) Chỉ nh hợ p không l ặ pKhác vớ i chỉnh hợ p lặ p là các thành phầnđượ c phép lặ p lại, tứ
c là có thể giống nhau, chỉnh hợ p không lặ p chậ p k của tậ p n phần tửcũng là một dãy k thành phần lấy từtậ p n phần tửcó xét thứtựnhưng các thành phần khôngđượ c phépgiống nhau.
You're reading a free preview. Pages 3 to 29 are not shown in this preview.
Đọc phiên bản đầy đủ
Chẳng h
ạn có n ngườ i, một cách chọn ra k ngườ iđểxế p thành một hàng làmột chỉnh hợ p không lặ p chậ p k của n.Một tr ườ ng hợ pđặc biệt của chỉnh hợ p không lặ p là hoán vị. Hoán vịcủ
amột tậ p n phần tửlà một chỉnh hợ p không lặ p chậ p n. Nói một cách tr ực quan thìhoán vịcủa tậ p n phần tửlà phép thayđổi vịtrí của các phần tử(dođó mớ i gọi làhoán vị). Nghi
ệm của bài toántìm các chỉnh hợ p không lặp chập k của tập n số nguyên từ 1đến nlà các vector x thoảmãn cácđiều kiện:1. x có k thành phần: x = (x1,x2,…xk)2. Các giá tr ịxi lấy trong tậ p {1,2,..n}3. Ràng buộ
c: các giá tr ịxiđôi một khác nhau, tức là xi≠xj vớ i mọi i≠ j.Đó là một sốbài toán tìm cấu hình tổhợ p cơ bản. Chúng ta sẽxem xét một số bài toán khácđểthấy tính phổbiến của lớ p các bài toán d
ạng này.d) Bài toán x ế p hậuCho bàn cờ vua nxn. Hãy xế p n con hậu lên bàn cờ sao cho không con nàokhống chếcon nào. Hai 2 con hậu khống chếnhau nếu chúngở trên cùng mộthàng, một cột hoặc mộtđườ ng chéo.Chẳng hạn ta có một cáchđặt sau, các ôđ
en là các vịtríđặt hậu:Đểchuyển bài toán này v ềdạng chuẩn của bài toán tìm cấu hình tổhợ p, tacó có nhận xét: mỗi con hậu phảiở trên một hàng và một cột. Dođó ta coi con hậuthứiở hàng i và nế
u biết x[i] là cộtđặt con hậu thứi thì ta suy rađượ c lờ i giải.Vậy nghiệm của bài toán có thểcoi là một vector x gồm n thành phần vớ i ý ngh ĩ a:1. Con hậu thứiđượ cđặtở hàng i và cột x[i].2. x[i] l
ấy giá tr ịtrong tậ p {1,2…n}3. Ràng buộc: các giá tr ịx[i] khác nhau từngđôi một và không có 2 con hậuở trên cùng mộtđườ ng chéo.Trong phần càiđặt, chúng ta sẽphân tích chi tiết vềcác ràng buộc trên.
You're Reading a Free Preview
Page 3 is not shown in this preview.TẢI VỀ
You're Reading a Free Preview
Page 4 is not shown in this preview.TẢI VỀ
Similar to Thiết kế thuật toán-vét cạn và tham lam
BÀI TẬP LỚN
Chuyên đề đồ thị trong lập trình Pascal [FULL]
Thuật giải di truyền cho bài toán người du lịch
bai tap BFS
Toán rời rạc (1)
BÀI TOÁN TÔ MÀU ĐỒ THỊ
Bài toán người đi du lịch
Quy hoạch động
Mot So Bai Toan Quy Hoach Dong Kinh Dien
Quy Hoach Dong
BaiGiang OTOMAT&NNHT
Qui hoạch động
Các Bài Toán Duyệt
quyhoach_dong
Otomat và ngôn ngữ hình thức
Giải thuật chia để trị
TTNT
Tri tue
Bai Toan Toi Uu Va Thuat Toan Tham Lam
Tai Lieu Giao Khoa Chuyen Tin 2
ctdl&giaithuat16
Cac Ham Va Thu Tuc Trong Pascal
Kien_truc_bo_lenh_MIPS
Quy Hoach Dong
Quy Hoach Dong
Bai_giang_CTDL>
Chuong_2_-_Cac_thuat_toan_sap_xep
giai thuat doi sanh mau
Chuyen De On Thi HSG - Do Thi Trong Lap Trinh Pascal - BVP.pdf
Bai Giang Phuong Phap Tinh
Thêm từ Người dùng này
6464VP
Tai Lieu Giao Khoa Chuyen Tin 2 Www.itperday
Mot So Bai Toan Quy Hoach Dong Kinh Dien
Thiết kế thuật toán-vét cạn và tham lamJul 28, 2012 by nhuthangbk
(0 ratings)3.2K views
EMBED
DOWNLOAD
ADD TO LIBRARYDownload as PDF, TXT
More informationRELATED
BÀI TẬP LỚNby Kienmoi Rio
Chuyên đề đồ thị trong lập trình Pascal [FULL]by Dustin Đỗ
Thuật giải di truyền cho bài toán người du lịchby Cá Chép
bai tap BFSby traminh83
PreviousNextPage 1 of 7ABOUT
Browse books Site directory Giới thiệu về Scribd Meet the team Our blog
Tham gia nhóm của chúng tôi! Contact Us
ĐỐI TÁC
Nhà xuất bản Nhà phát triển / API
MEMBERSHIPS
Join today Invite Friends Gifts
HỖ TRỢ
Trợ giúp FAQ Accessibility Báo chi Purchase help AdChoices
PHÁP LÝ
Điều khoản Bảo mật Bản quyền
Copyright © 2016 Scribd Inc.Terms of service Accessibility Privacy Mobile Site Site Language:
Tiếng Việt