Trời mở đầu Ly do chon đề tài Với sự tiến bộ vuot bac cita cong nghé phin cứng của máy tỉnh hiện may chúng, ta vẫn chưa thể tìm được lời giải tôi ưu cho các bài toán có độ phúc tạp cao
Trang 1ĐÁNH GIÁ THIỆU QUÁ CA GIẢI THUẬT DI TRUYỂN GIẢI
BÀI TOÁN CÂY KHUNG TRUYEN THÔNG TỎI ƯU VỚI CÁC
KỸ THUẬT MÃ HÓA CÂY
LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên ngành Công nghệ thông tin
Hà Nội - Năm 2012
Trang 2DANII GIA EU QUÁ CỦA GIẢI THUẬT DI TRUYẺN GIẢI BÀI TOÁ
CÂY KHUNG TRUYÊN THÔNG TỚI ƯU VỚI CÁC KỸ THUAT MÃ HÓA
CÂY
Chuyên ngành : Công Kghệ Thông Tin
LUAN VAN THAC ST KHOA HOC
NGANH CONG NGHE THONG ‘TIN
NGƯỜI IƯỚNG DẮN KIIOA HỌC : PGS TS Nguyén Dttc Nghia
Hà Nội — Nam 2012
Trang 3
CÁC KIIÁI NIỆM CƠ BẢN
1.1 Khái niệm thuật toán
1.2 Các dặc trưng của thuật toán:
1.3 Độ phức tạp của thuật toán
1.3.1 Tiêu chỉ đánh giá thuật toán nguoi 18 1.3.2 Cách xác định độ phúc Ip của thuật loán - 19
1.4 Cac bai toan NP
1.4.1 Bai toén 141 wu (Optimization Problem) - 24
1.4.2 Hài toán quyết định se TỔ
1.4.3 Thuật toán không đơn định và lớp P, NP - a 27 1.4.4 Phép qui dan da thitc va lop NP-day da - - 29
Trang 41.4.5 Bài toán AWP-KhÓ, che ieee teenies, TỔ
BAI TOAN CAY KIIUNG TRUYEN THONG TOI UU
THUẬT TOÁN DI TRUYÊN VÀ CÁC PHƯƠNG PHIÁP MÃ HÓA CÂY 53
3.1.1 Téng quan về giải thuật di truyễn và các ứng dụng - 53
3.2 Một số phương pháp mã hóa cây 56
3.2.2 Mã hóa NetKeys (Network Random Keys Dncoding) coi 59
3.2.4 MB héa LB (Link Biased Lincoding) cseccsusseisiesnentsmeesineintasenteneeen 63
Trang 53.2.5 Mã hóa 7MB (Link and Node Hiased Hncodig) ì seo 63
3.3 Ứng dụng của thuật toán di truyền vào kết quả thực nghiệm
3.3.1 Chọn lọc cá thể cành eerrriiiaeeusoroou ĐỒ,
3.3.3 Toán tử đột biến cọ Hee eeredaarireseesreoooe, ÔW
3.4 Mô hình lai ghép đề xuất
Trang 6Danh mục thuật ngữ tiếng anh
STT | Thuật ngữ 'Viết tất | Dễ nghị dịch tiếng Việt
1 Approximation scheme "Thuật toán xắp xỉ, sơ đỗ xấp xỉ
2 | Bin packing problem BPP Tài toán đồng thủng
3 | Crossover, Reeomimation Tri ghép
4 | Bvolutionary compufaiion Tinh toan tiễn hóa
5 | Evaluation function Hàm mục tiêu
6 | Feasible solution lời giái chấp nhận được
12 | Genetic-inspired operators Toán tử di truyền
13 | K-point crossover Tri ghép tại điểm cất k
Communication Spanuing Tree PROCT | Tôi tính yên cầu
19 |Optimal — Sum-Requirement | SROCT | Tdiuu tong yêu cầu
Trang 7
20 | Order-based crossover Trời ghép theo thứ tự
21 | Probabilistie method Phương pháp xác xuấi
22 | Prmitive operations Số phép toán cơ băn
Roulette wheel selection
Roulelts
26 | Theary of computation Tý thuyết độ phức tạp lính toán
27 | Uniform crossover Trại ghép đẳng bộ
29 | Uniform order-based crossover Trại ghép déng bé theo thir ur
Trang 8Danh muc hẳng vẽ
Bảng 1.1- Tóm tắi một số hàm tính độ phúc lạp của thuậi toán
Bảng 1.3 - Cho bất thời gian tinh toán của thuật loán có độ phúc lạp thường gắp 23
Hảng 1.3- Mỗi tương quan giữa quá trình tiền hòa và tính toàn tiễn hỏa
Bảng 2.1- Các bài toán tối wu OCT về tỉ lệ xắp xỉ tốt nhất được biê
Bang 3.1- Chuỗi NetKeys cùng nhãn của các cạnh trong dỗ thị bạn dầu
Bang 3.2 - Chuỗi NetlCeys sau khi được sắp xÉp
Trang 9Danh mục hinh vẽ
Hình 1.1 - Minh họa thuật koản
Hình 1.2- Minh họa bài toán chon lich xem phim
Tình 1.3 Phản ví dụ của thuật toán 1
Hình 1.4 - Phân ví dụ của thuật loàn 2
Lfink 1.11 - Giá thuyết về quan hệ giữa các lớp XP, NP-đây đủ và NP-khó
Tình 2.1- Minh họa cây khung trong bài toán OCST
Hình 2.2 - Minh họa bài todn SROCT và PROCT
THình 2.3 - Mối quan bệ của những bài toán cây khung truyền thông lỗi tr
Hình 2.4- Minh họa độ trễ của odp dink
Hình 2.5 - Một cây khung 3-star, trong dé B,C.E li cde mit trong va ADE,FG,HI la
Hình 3.2 - Mô tá sơ đỗ chưng của thuật toán di truyền
inh 3.3- Cay khung được mã hóa thành chuỗi Prufer 2565
Hình 3.4 - Cây thu dược theo mã hóa NetKeys
THình 3.5 - Mô tả một cây được mã hóa ÁN
Hình 3.6 - Cây khung thu được tiem hda LNB
Hình 8.7- Mô tä phương pháp chọn lọc theo vòng quay Rowielte
8
Trang 10Hinh 3.8- Minh hoa phương pháp lai ghép một diễm cắt
Trang 11Tuời cam đoan
Tổi cam đoan kết quả của luận văn Ja chính tôi thực hiện, các số liệu thực nghiệm là theo dùng kết quả của chương trình Nếu sai tôi xin chịu hoàn toản trách
Trang 12Trời cảm ơn
Tác giả đã nhận được sự hưởng dẫn nhiệt tỉnh, chủ đáo, nghiêm khắc và day
khoa học của PGS.18 Nguyễn Đức Nghĩa trong suốt thời gian học tập, nghiền cứu và
hoàn thành đẻ tải Tác giả xin bày tỏ lòng biết ơn chân thành và kinh trọng sâu sắc đổi với Thấy
Nhân dịp này tác giả cũng xm chân thành gởi lời cầm on dén quý thầy, ¢6 trong
vả ngoài Viện Công nghệ Lhông tin và Truyền thông, Viện Dáo tạo Sau đại học Dai học Bach khoa Hà Nội da day công giảng dạy trong suốt khóa học và tạo điều kiện thuận lợi cho lác giã hoàn thành luận văn nảy
Tac gia xin chan thank cam on ci
b bạn cùng lớp Cao học Tìm khỏa 1 di dum
boe giứp đố nhau trong học tập và sinh hoạt
Mặc dù luận văn đã được thực hiện với sự nỗ lực cổ gắng hét sức của bán thân song de han chế về trình độ và sự hiểu biết nên khó tránh khối những sai lẫm thiểu sói Đồng thời tác giả cũng nhận thức được rằng củn rất nhiều vẫn để mở dặt ra chưa giái quyết được Tác giả rất mang rihận được rihững góp ý, phê bình quý báu của quý thây
cổ và các bạn dọc quan tam.
Trang 13Trời mở đầu
Ly do chon đề tài
Với sự tiến bộ vuot bac cita cong nghé phin cứng của máy tỉnh hiện may chúng,
ta vẫn chưa thể tìm được lời giải tôi ưu cho các bài toán có độ phúc tạp cao trong thời
gian ngăn Vỉ vậy, tìm kiểm lời giải đủ tết cho các bải toán trong thời gian phủ hợp là
vấn đề được các nhà khoa học trong Rnh vực lần học rất quaat tâm Mục đích chink sửa các thuật toán tìm kiếm, là tim ra lời giải tốt nhật cho bài toán trong thời gian nhỏ nhất
Các thuật toán tim kiếm như: vét cạn ( tim kiém trên đanh sách, trên cây hoặc đả thị),
tìm có thông tu sử dụng heurietics dễ áp dụng các trí thức về cầu trúc của không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm được sử dụng nhiều nhưng,
chỉ hiệu quả với không gian tra kiếm nhỏ và không hiệu quả khi tim kiểm trong không
gian từn kiểm lớn Tuy nhiên, trong thực tế có rất nhiều bải toán tôi ưu với không gian tim kiểm rất lớn cần phải giải quyết
Do đó đề giải quyết vân đẻ này trong thực tê thì hiện nay người ta thường sử
dung phuong pháp giải gần đúng, Các phương pháp giải gần đúng thuờng dùng là: các thuật toán tìm kiểm cục bộ (local search), các sơ đỗ xắp xi (approximation schemes),
các phương pháp xác xuất (probabilistic methods), tính toán tiên hóa (evolutionary
computation), thnat Loan di buyén (genetic algorithm),
Mục đích nghiên cứu, đối tượng, phạm ví nghiên cứu
Mục dích của luận văn này là khảo sát các đặc tỉnh của thuật toán di truyền với
cáo kỹ thuật mã hỏa cây để giải bài toán cây khung truyền thông tối ưu (Optimal Communication Spanning Tree - OCST), IA mét trong những bài toán tối tru trên đồ thị
Trang 14thuộc lớp AMP-khỏ có ứng dụng trong nhiều lĩnh vực của thực tế như: mô hình mạng, trí triệ nhân tạo, thiết ké vi mach
Tôi tượng nghiên củu là các kỹ thuật mã hóa cây với phạm vi là năm kỹ thuật
anfi héa cay: Prufer, Netkey Eucoding, LinkBiased Encoding, NodcBiased Enooding,
‘The Link and Node Biased Lincoding
Thuật toàn với các kỹ thuật mã hỏa cây khác nhau dã dược chạy thử nghiệm trên các bộ dí liệu thường đùng bởi các nhà khoa học để đánh giá hiệu quã các thuật toán
giải của bài toán CS,
"Tóm tắt cô đọng các luận điểm cơ bản và đóng góp mới của tác giả
Taiện vẫn được Irình bảy trong 4 chương và lời kết luận
Chương 1 trùnh bày các khái niệm cơ bản của lý thuyết độ phúc lạp tính toán, định nehia lop bai toan NP-kho
Chương 2 trình bảy tổng quan vẻ bài toán cây khung truyền thông tôi ưu
Chương 3 trình bảy thuật toán di truyền và một số phương pháp mã hóa cây
Chương 4 trình bảy kết quá thực nghiệm thu được khi sử dụng thuật toán di truyền để
xuất đề giải bài toán cây khưng truyền thông tôi ưu với các kỹ thuật mã hỏa cây khác nhau Phản tích kết quả đạt được của thuật toán di tuyén với năm phương pháp mã hỏa
cây khung
Về đóng góp mới của tác giả: Đưa ra kết quả so sánh giữa các kỹ thuật mã hóa
cây khác nhau Để từ đó có thể chọn được kỹ thuật mã hỏa cây chơ kết quả tốt trong bãi toán cây khung truyền thông
Trang 15Thương pháp nghiên cứu
Nghiên cứu lý thuyết về thuật toán đi truyền và bài toán tôi ưu cây khung truyền
thông
Nghiên cứu các kỹ thuật mã hỏa cây
Xây đựng và cải đặt chương trình cho các kỹ thuậi mũ hóa cây
8o sánh kết quả dạt được của các kỹ thuật mã hỏa cây
ết luận và hướng phát triển
Phân kết luận chung đánh giá tổng quan lại những kết quả đã thực hiện dược trong luận văn, những hạn chế của luận văn và một số vẫn để mở cần tiếp tục giải quyết sau này
Trang 16CHUONG 1
CAC KHAI NIEM CƠ BẢN
Chương này trinh bày tong quan vé cac khai niém thuật toán vả các thuật ngữ cơ
sở được sử dụng trong luận văn Các khái mêm và thuật rgữ này dược trình bảy dựa trên tải liệu [4]
1.1 Khái niệm thuật toàn
hải niệm thuật toản (Algorithm) xuất phát từ tên nhà toán học Arap Abu Ja’far Mohamed ibn, thường được gợi là al'Khwarizmi Ông là tác giả một cuốn sách về số hos, lrong đó ông đùng phương pháp mô tả rất rõ ràng, mạch lạc cách giải các bài toán
Sau này phương pháp mô tả cách giải của ông đã được xem là một chuẩn mực và được nhiễu nhà toán học tuân theo Thuật ngữ "aigorithm" ra đời từ đó dựa theo cách phiên
âm lên của ông Cùng với thời gim khái niệm thuật Loán dược hoàn chẳnh dẫn và khái xuệm hinh thức chính xác cúa thuật toán được định nghĩa thông qua xnô hình máy
Turing Voi may Turing ly thuyét độ phúc tạp tinh toan (Theory of computation
complexity) có một sự tiến triển mới, giúp chúng ta hiểu rõ dược bản chat của thuật
toán, độ phức tạp của một thuật toán, nó cắt nghĩa cho ta “độ khở” của một bải toán
cho trước
Định nghĩa 1.1 Thuật toán giải bái toán đặt ra là ruột bệ thống chặt chế vá rõ
xảng các quy tắc xác dịnh một đấy các thao tác trên những đối tượng sao cho sau một
số hữu hạn bước thực hiện các thao tác ta thu được đâu ra đổi với đầu vào cho trước
của bài toán.
Trang 17mm [ Agorithm(thuattoin
Tình 1.1 - Minh họa thuật toán
1.2 Các đặc trưng của thuật toán:
* Dau vao (Input): la tap các dữ liệu cần cung cập thuật toán từ lúc đầu để xử lý
* Đầu ra (OutpuÐ: với mỗi một bộ dữ liệu vảo, thuật toán sẽ cho ra bộ các dữ liệu
ra tương ứng với lời giải của bài toán cho bộ dữ liệu vao
® - Hữu hạn: với mọi đầu vào thì thuật toán vẫn càn phải đưa được đầu ra sau một
số hữu hạn (có thể rắt lớn) bước thực hiện
* _ Tỉnh xác định: Thuật toán yêu cảu ở mỗi bước các thao tác phải hết sức rõ ràng,
không gây nên sự nhập nhằng, lần lôn Khi thực hiện thuật toản trong củng một điệu kiện phải cho cùng một kết quả
*_ Tổng quát: Tức là thuật toản có thể áp dụng đề giải mọi bải toán cỏ dạng đã cho
* _ Tính hiệu quả: Với dữ liệu vào, sau một số hữu hạn bước thực hiện thuật toán sẽ
dừng vả cho đúng kết quả mong muốn với thời gian chấp nhận được
Hãi tính chất quan trọng nhất của thuật toán là tính xác định và tính hiệu quả
“Tỉnh xác đình của thuật toán không phải lúc nào cũng dễ thầy
- Vidu: Bai toan chọn lịch xem phim
Đầu vào: Một tập Ớ gồm thời gian chiêu trong ngày của n bộ phim
Đầu ra: Tập con của G chửa số bộ phim lớn nhất có thẻ xem (không được
chồng lên nhau vẻ thời gian)
Chúng ta có thê biểu diễn các bộ phim dưới dạng các đoạn thang không giao
nhau như hình bên dưới Trong đỏ 71, P2 và P3 là các phòng chiếu.
Trang 18P =——— ———— —
Hình 1.2- Minh họa bài toán chọn lich xem phim
+ Thuật toán 1: Chọn lần lượt bộ phim chiêu sớm nhất trong G mà không chồng với các bộ phim đã chọn trước đỏ Lặp lại cho đến khi không thể chọn thêm
Với thuật toán 1 ta cỏ thẻ đưa ra một phản vi du (cỏ nghĩa lả tìm được một
cách khá để có thẻ xem nhiêu bộ phim hơn) đẻ chứng minh Thuật toán 1 cho kết quả
Trang 19+ Thuật toàn 3: Duyệt toản bộ: duyệt #” tập con của tập z bộ phim trong G Chon ra tập con nào có số lượng phản tử lớn nhất Dâm bão thu được kếi quả tôi wu Thuat toan
chay rãi chậm, vì với =20 thi sé tap con lá 29,
+ Thuật toán 4:
ấp xép các lịch chiều phim theo thứ tự tăng theo thời gian kết thúc
(thmật toán tôi tru) Lân lượt xem xét các phim trong danh sách đã sắp xêp, bổ sưng vào
đánh sách xem bộ phím đang xét nêu nó không chẳng lên các bồ phẩm đã có trong đanh sách xem
+Đẻ chí ra thuật toán là không cho lời giải đúng ta chí cân đưa ra một phản ví dụ
của thuật toán Tuy nhiên chưa chỉ ra được một phản ví đụ của thuật toán không có nghfa là thuật toán luôn cho lời giải dúng Để chứng mình một thuật toán là cho lời giải
đúng thì ta phái chứng rninh bằng toán học,
Chú ý rằng có những bài toán còn không có thuật toán để giải, chẳng han bai toán về tính đừng cña thuật toán
1.3 Độ phức tạp của thuật toán
1.3.1 Tiêu chỉ đánh giá thuật toàn
Để dánh giả hiệu quả của một thuật toán người ta thường, dành giả độ phức
tạp thời gian thực hiện của thuật toán như là hả theo kích thước của đữ liệu đầu
vào Kich thước của đữ liệu đầu vào (the size of the inpul) thường tủy thuộc vào từng, bải toán cụ thể, có thể là tổng số bịt cần thiết để biểu diễn nhị phân của dữ liệu
(chẳng hạn, bài toán xác định tỉnh nguyên tổ của số tự nhiên ø, thì kích thước đữ liệu
đầu vào không phải là ø, mà là số chữ số của œ luy tổng số bít cần thiết trong biểu
diễn từi phân của m) Đối với bài loán sắp xếp tăng đân day z phản tứ ai, đã, đ, ,
a„ cho trước thì kích thước đữ liệu đầu vào ø
Kich thước của một tập co sd dir ligt (database) co thé duoc xem 14 s6 record của nó Ta hiểu, thời gian thục hiện (rumung time) của một thuật toán là số phép
18
Trang 20toan co ban (primitive operations) hoặc “các bước” (steps) nhiều nhất càn thực hiện
để nhân được lời giải của bài toán với mọi dữ liệu đầu vào cho trước (kể cả trường hợp xâu nhất)
1.3.2 Cách xác định độ phức tạp của thuật toán
Ta ndi rằng, thuật toán có độ phức tạp thời gian tỉnh hay đồ phức tạp tỉnh toán là An) khi va chỉ khi với mọi đữ liệu đầu vào kích thước n, thuật toán sẽ đừng vả cho kết quả sau nhiều nhất ƒữz) bước tính toán
Thuật toán cỏ độ phức tạp thời gian đa thức, gọi tắt là thuật toán đa thức, nêu như #n) là một đa thức với bậc cổ định theo „0 Việc xác định chính xác /tn) thường rất khó và không cỏ ý nghĩa vì tính hiệu quả của một thuật toán phải được đánh giá
trên lớp các đữ liệu đủ lớn Vì vậy, thay cho việc tỉnh chỉnh xác ƒ(n) người ta đưa ra
các ký hiệu tiệm cận (Ø.Ø„9) được dùng đề đánh giá độ phức tạp của thuật toản trong
thực tế như sau
© FG) = (9{n)): néu ton tai hing số © và số tự nhiên nạ sao cho fl) # c øữÐ với
moi? 2% Ta noi 96) 1a giới hạn trên của £Œ)
e Fx) = 2{o(n)): néu ton tại hằng số ¢ va sé tu nhién No sao cho F602 ¢.960 vai moi? 2 mg Ta ndi 9) 1a gidi han dudi ctia fm)
« P= O(9(n)); néu ton tai hing s6 ¢ va £z va sé Me sao cho FQ) 5 %.90 va
FO) = cz-9%) voi moi 2 Me Ta noi 8&) Ja gidi han chat cia fx)
Trang 22Ví dụ: ƒ[n) = nẺ + An +2 Ta có
Ôn) = nẦ+ 4n +2 < tỀ + An*+ 2w” = TrẺ với mọi n>1
Nghĩa là tôn tại c= 8, m =1 Do đó n”+4m+2=O07)
Tổng quat : ayn“+a,.n""+ +ay=O(n") (gia thiét a, >0)
2”
Chú ý rằng, 2" không có bậc của một đa thức, vi mọi số nguyên dương & và
mọi số đương C > 0, chủng ta có 2”>EMẺ với ø đủ lớn
© 2n2—#n+5= (02) vì chọn C=1⁄5 thi 152? <2n*-4n+5 khin>50
© 2n?-4n+5% Út) vị với bất kỳ giá trị thì củ#>2r=4n+†5 khin đủ
10
lớn @1> 100E nêu c>4,**“E nêuc<1)
© 2n#—4n+5= 802 vi voi bat ky hang sé c nao thi et <2n?-4n+5 khi
O-lén nhém cae ham thành các lớp hàm, các hàm #¿ø thuộc hai lớp khác nhau
cỏ quan hệ theo các ký hiệu tiêm cận #2 khác nhau Cỏn các hảm thuộc củng 1 lớp ham thi cé quan hé theo 9
+ Một số hàm tính độ phức tạp tinh toan thường gặp của thuật toán
Các ham 1, logn, n, nỄ, được xếp vào hảm đa thức, Các hàm cén lai 11°", a’, n!
được xếp vào loại hàm mũ Những thuật toán có độ phức tạp tỉnh toán cập loại hàm
21
Trang 23đa thức thường là chấp nhận được, những thuật toán như thế được gọi lả thuật toán đa
thức (polynomial algorithm) Những thuật toán có độ phức tạp tính toán cấp loại hàm
mũ thi tốc độ tỉnh toán thường rất cham
chậm hơn hảm đa thức ø với a, ở là các số thực duong Voi a>1, ham mii a” là đơn
3 % nk
digu ting theo n Voi hing sé k nguyén duong bat ky, ta co fisar =? hay n‘ =O(a")
Nhu vậy các hàm đa thức tăng châm hơn các ham mii Hơn nữa, với mọi số tự nhiên ø,
nI#m®, do đỏ nI=O(n")
Đảng sau đây cho ta khái niệm tăng trưởng về thời gian thực hiện một số
thuật toán 66: độ phúc tạp tinh toáu thường gặp (đơn vị thời gian lẽ 0,001 giấy, riểu
không cỏ ghi chú khảe),
22
Trang 24Bang 1.2 - Cho biét thời gian tính toán của thuật toán có độ phức tạp thường gặp
Nếu hai thuật toán giải củng một bải toán, thuật toán A có độ phức tap
tinh toán Ø(ø¡()), thuật toán B có độ phức tạp Ø(ø;()) mà g;(n) có cấp cao hơn
in), thì ta nói thuật toán A hiệu quả hơn thuật toán B
'Ví dụ 1: Giả sử thuật toán A có độ phức tạp tỉnh toán là JÄn)=4n`- n+1 Khi do
g(n)=nŸ Vì vậy độ phức tap tinh toan ctia thuat toan A la O(7)
Vi du 2: Bài toán sắp xếp dãy phần tử a/17, a[2j, , aƒnJ tăng dàn bởi thuật
toán Bouble sort:
Input: a[] a[2] .a[n]
Output: day tang dan
+ Thuat toan:
Trang 25Với mỗi ¡ ( 1= 1*—3 ) thuật toán phải thực hiện n-i phép so sánh Vỉ vậy số phép
so sánh là (n-])+(n-2)+ +1=—8— Vì vậy kích thước đầu vào của thuật toan lan
và độ phức tạp tỉnh toán của thuật toán là 0”)
1.4 Các bài toán NP
1.4.1 Bài toán tối ưu (Optimization Problem)
Bài toán tôi ưu yêu câu xác định lời giải sao cho hàm mục tiêu đạt giá trị cực đại (cực tiểu) Mô hình toán học của bải toán tôi ưu tổ hợp tổng quát được phát biểu như sau:
Tim min/max{ ƒ(x),xE D},trong đỏ D ={x= (ay x2, 5 Xn) © Ay x AD XX
Anva Aj, , <4, là các tập hữu han
Ham f(x) được gọi là hàm mục tiêu (objective function), Mỗi phân tử x€ được
gọi là một phương án hay lời giải chấp nhận được (feasible solution) Tập hữu hạn
phương án 7 còn được gọi là tập ràng buộc Một phương án z” 6 D làm hàm mục
tiêu đạt cực tiêu (hay cực đại), cụ thẻ lả:
fx’) © fix), Vx © D, đổi với bài toản min,
fix’) > #6), Yx e D, đổi với bài toán max,
24
Trang 26được gọi là một phương an tối ưu hay lời giải tối ưu (optimal solution) của bài toán
Khi đỏ, ƒ= ix’) duge goi là giả trị tối uu (optimal value) eta bai toan
Đổi với môi bài toán tôi ưu có thẻ xây ra một trong ba khả năng loại trừ lần nhau
sau đầy:
a) miễn ràng buộc (tập phương án) của bài toán là rồng: D = Ø ;
b) cực tiêu (cực đại) của ƒ trên Ð bằng - 0 (+ ), không bị chăn dưới (trên);
©) / đạt cực tiêu (cực đại) hữu hạn trên D, nghĩa lả tỏn tại phương án tôi ưu, giả trị
tôi ưu,
Sau đây là một số bài toán tôi ưu tổ hợp điển hình
+ Bài toán cái túi (Knapsack Problem) Giả sử một cai tii có trọng lượng b (la
số nguyên dương) và ø loại đỏ vật, các đô vật lần lượt có trọng lượng 1a a, a, đ„ và giá trị sử dụng là éạ, cạ, c„ Cần xếp các đỏ vật nảo, với số lượng bao nhiêu vảo tủi sao cho giá trị sử dụng các đồ vật lả lớn nhất
Goi x = (x„ x» x; ) là phương án mang đồ vật trong đó x, số lượng đồ vật
loại ¡ cần miang theo Chúng tạ có mô hình toàn học của bài toàn cải túi:
PO) = 3 oxy — max
+ Bài toán đóng thùng (Bin Packing) Giả sử có một số lượng các thủng cỏ kích
thước 7, và ø vật có kích thước tương ứng s„s„ s„ Ø <s/% J Xác định số
thing tối thiểu để có thể chứa hết các vật
+ Bài toán té mau d6 thi (Graph coloring) T6 mau mét đỏ thị GE) là một
25
Trang 27ảnh xạ C:Ÿ+3, trong đó Š là một tập hợp hữu hạn (tập các màu cầu sử dụng),
sao chơ nêu w£ # thi C@)* C(), nói một cách khác các dinh kẻ nhau được gản
cáo màu khác nhau Sắc số của Œ7, ký hiệu bởi +(G), là số màu tối Hưểu cản thiết để
+6 mau cho G, Hải toàn đặt ra là: Cho trước đồ thị G, cản xác định (6)
1.4.2 Bài toán quyết định
Trong lý thuyết độ phức tạp tính toán thường xét trên lớp các bài toán quyết định Mỗi bài toán quyết định thường được mô tả theo hình thức gồm đữ kiện
Gnstance) va cau héi (question)
+ Bài toàn số nguyên tỏ:
Tnxtance: Cho một số ripgtyên đương, œ Question: # có phải là số nguyên tổ hay không?
1 Bai toan HC (chu trinh Hamilton):
Tnstance: Cho một đồ thị hữu han, don và vô hướng G
Queston G cô tổn tại hay không một chủ trình Hanultor2
Dé thầy rằng, một bai toán tôi ưu có thế chuyển đổi về đạng của bài toán quyết dịnh tương ứng bằng cách so sánh giá tị có dược từ lời giải của bái toàn với ruột cận được cung cấp làm đâu vào cho bài toán quyết định
- Vidu
+ Bai loan 16 mau dé thi (Graph-coloring)
Tnslance Cho d6 thi G va số nguyên dương &
Question: C6 ton lai hay khéng mét phép 16 mau che CG sit dung nhidu nbat, &
mau?
Cho bài toán quyết định ¿7 với tập các dữ kiệu 7, Câu trả lời cửa J7 phụ thuộc
26
Trang 28
vào từng đĩữ kiện cụ thể Tập các đữ kiện cho cầu lrả lời "Fes" được gọi là lập dữ
kiệm Yes và ký hiệu là 1z Tập đữ kiến cho câu trá lời "Ve" được gọi là tập dữ kiện- ANo và ký hiệu là Z„ Khi đó,/ DU hy, 1M ly 6
Vi du: voi bai toan HC, đỗ thị đây đủ lá một đữ kiện-Yes
1.4.3 Thuật toán không dơn dịnh và lớn P, XP
thuật toán đơn định (Determimistie Algorithm) là thuật toán có tỉnh đơn trị
của mỗi phép toán trong thuật toán, với mỗi đầu vào cụ thể né luôn cho kết qua tương,
tự Tiên quan đến các bài toản mà được gọi là bài toàn NP (Non-Delerministiv Polynơmial), chúng ta cò khải niệm thuật toán không don dinh (Non-Deterministic
Algorithm), m6t md réng ota thudl Loán đơn định Khác với thuậi toàn đơm đi
Trong tim học và toán rời rạc chỉmg ta thường gặp các bái toán quen thuộc
(không ở dạng bài toán quyết định) như: Bài toán sắp xếp dãy tăng dẫn, bài toản xác định cây khung nhỏ nhật, bài toán tim đường đi ngắn nhật, bài toán luỗng cực đại, Các bài toán này đều thuộc lớp P
Thuật toàn không don dinh gém hai phan tách biệt: Phẩn phòng đoán và phần kiểm tra (guess-and-check) Với mỗi dữ kiện x của bải toàn đã cho, phần thứ nhất lả
phông đoán một câu trúc y nảo đó Sau đó cưng cấp cả x và y như một dữ liệu vào
cho phan thi hai, phan nay xt ly và tinh toán theo kiểu đơn dịh thông thường và
cho két qui "Yes" hoặc "No" hoặc không bao giỏ dừng Máy Tuưring không đơn định là bình thức hỏa khái niệm thuật toán không đơn định
Một thuật toán không đơn định "giả một bài loán quyết định 77 nếu hai
27
Trang 29tinh chat sau day xắy ra với mọi dữ kiện x €/ của 1/ ;
1) Néux Ely, thi tén tai cau tric y nao đỏ má khi được phống đoán cho +, sẽ
chuyển sang phan kiém tra dé tra loi "Yes" cho x vay
2) Néux €/,; thi khéng tén tai cfu tric y sao cho, khi được phéng đoán cho +, sẽ
chuyển sang phần kiểm Ira để trả loi "No" cho x vay
Định nghĩa 12: Một thuật toán không dơn định giải một bài toáu 77 duợc gọi
là thục hiện trong thời gian đa thức nêu tồn tại một đa thức ø sao cho với mọi dữ kiện
x € 1z, tổn tại một phỏng doan y nào đó để trả lời "Fes” cho x và y trong thi gian fx¡), với | x| là kích thước của x
Định nghĩa 13: Lớp A/ chứa tất cá cóc bải toán giải được bởi thuật toàn không đơn định thời gian đa thúc
Như vậy, việc giải một bài toán quyết định chính là việc kiếm chứng đữ kiện-
Yøy của bài toán Việc kiểm chứng dữ kiện-Yey x của bửi toản 17 là tìm một phông
đoán y nào dé xem như một chúng cit dé khang định rằng x là đủ kiện-Ves của 7 Ta
28
Trang 30có thể nói, lớp A2 gồm các bải toáa mả bat ky đữ kiện-Vøs của chủng dược kiểm
chứng bởi một thuật toán không đơn định thời gian đa thúc Với các bài toán được
kiểm chứng bởi thuật toán đơn định thời gián đa thức, chúng là bài toán thuộc lớp P
Diéu nay cting cho thay trong dịnh nghĩa cia NP, P SNP
Trong phân phỏng doan a can dén tinh chat “không đơn định" của thuật toản
Lý do trực quan là, một thuật toán không dơn dịnh thời gian đa thức mới cỏ khả
ng phóng đoán một số lượng lớn hảm mũ các lời giải cho một bái toàn và kiểm tra
"song song" mỗi lời giải trong thời gian đa thức
Trong toán học vả tin học chúng ta thường gặp các bải toán thuộc lớp NP dién lủnh như: Bài toán xác định tính nguyên tế của một số nguyên, bài toán chủ hình
1amilton, bài toán cái túi, bài toán đồng thừng, bài toán xếp hậu, bài toán người du
lich, Cac bai Loan nay chỉ có thể được giải quyết bởi các thuật loán đơn định thời
gian mũ
1.4.4 Phép qui dẫn da thức và lớp AWP-đẫy dù
én nhiénP & AP ‘Tuy vậy, cho đến nay người ta vấn chưa tìm được một
Tái toán thuộc lớp XP nhưng không thuộc lớp P Có nghữa là cau hoi” PNP?"
chưa có lời giải Mặc dù vậy, nhiều nhà khoa hợo cho rằng P3MP
Có lẽ lý do hấp đẫn lý giất lại sao các nhà khoa họp luôn tím rằng P ý MP, đó là
29
Trang 31sự tồn tại của một lớp các bai toán trong AMP\P được gọi là lớp MP -đầy đủ (NP- Complete hay gon hon NP-C) Lop nay co tinh chat gây kinh ngạc rằng, nêu một bài
toán trong lớp nảy có thẻ giải được bởi một thuật toán đơn định thời gian đa thức, thi moi bai toản trong lớp AP cũng giải được bởi một thuật toán đơn định thời gian tương
tu, nghia la P = NP ()
Nr
Hình 1.8 - Minh họa giả thuyết về mỗi quan hệ giữa các lớp P, NP và NP-đây đủ
Dinh nghĩa 1.4: Một bài toán thuộc lớp MP được gọi là MP -đẩy đứ nêu nỏ giải được bởi một thuật toán đơn định thời gian đa thức, thì P = AP
Liên quan trực tiếp đến khái niệm phức tạp nảy đỏ là, trong lớp MP -đây đủ bao gồm các bải toán được xem là "khỏ nhất và khó tương đương" trong MP vả mọi bài toán khác trong AP đều có thẻ bien đổi chủng về trong thời gian đa thức Phép biến đổi như vậy được gọi là phép biên đổi đa thức (polynomial transformation) hay phép
quy dan da thite (polynomial reduction)
Định nghĩa 1.5: Giả sử 77, và J7; là hai bài toán quyết định với tập dữ kiện là 7!
va F tương ứng Ta nỏi, ảnh xạ 7: /— ? là một phép biển đổi đa thức từ bài toán 77, về
bài toán J7; nêu
1) 7 thực hiện được bởi một thuật toán đơn định thời gian đa thức, và
2) Với mọi xe 7Í, xe !?, khi và chỉ khi 7(x) e 7
Khi đó ta nói, 1T, được biến đổi đa thức vẻ 77; và ký hiệu J7; #11; Ta lưu ý rằng,
30
Trang 32yêu cầu 2) Irong định nghĩa trên có nghĩa là, câu trả lời "Yex” cho bài loàn 7; trên
T(x) phải tương tự với câu trả lời "Yes" cho //; trên x
YestNo
————] ad gử Hy
"Thuật toán cha bài toán 1],
Hình 1.9 - Biến dỗi da thức từ bài toàn HH, về bài toán 11:
Phép biển đổi da thức là một phát hiện bất ngờ trong thé ki 20 của lý thuyết ẢNP -đây đủ nói riếng và của ly thuyết toàn học nói chung Với một phép biến đổi da
thúc tù bái toán thử nhất 77, về bài toán Thứ hại TỊ; nỗ cho phép ta thay Thế việu giải bải toán 7; bằng việc giải bài toàn J7; Phương pháp thay thể này thực ra đã quen
thuộc với việc giải toán, nhưng điều luu ý ở đây là việc thay thế nảy phải thục hiện
dược không quá phức tạp chỉ với một thuật toán đơn định thời gian da thức mà thôi
Để dàng nhận thấy rằng, nêu 77; # 77; và tên tại thuật toàn giải cho bai loan
TT; thì tá cũng có thuật oán giải cho bài toán J7; (Hình ï.9) Hơn nữa, Tiểu bài loân
1; có Thuật toán thời gian da thức để giải, thì bài toán J7, cũng có thuật toán thời
gian đa thức để giải
Ngoài ra, trong lớp các bài Loam quyết định, phép biển đổi đa thức có lĩnh bắc cấu Một đặc diễm của phép biến dỏi da thức lả, bài toán Z7; "khó dễ giải" it nhất như bài toán II với một thừa số thời gian đa thức
31
Trang 33Ta có dịnh nghĩa tương dương cho bai toan la WP -ddy dit:
Dinh nghia 1.6: Bài toán J7 được gọi là bài toán NP -ddy dit néu HW ENP va IT’
« #T, voi mot bài toán 77" trong NP
Bai toán đâu tiên được chứng, minh là WP -ddy dit dé 1a bai toan 3⁄17 (Circuit
Satistiability Problem — bài toán về tính thục hiện của mạch logic- đo Stephen A Cook
đưa ra lừ 1971 |5J), bằng cách biến đổi đa thức
Dinh ly 1.1: Gia sit 77, va I; là các bài toán thuộc NP Khi đó, nếu 77) la NP-
dây dit, vai; & 11; thì 14; là MP -dây di
Từ Dịnh nghĩa 1.5 và Định lý 1.1 cho thấy rằng khi đã biết một bài toán là NP-dây đã tì việc chứng mình một bài toán nào đó là NP -đẩy đã sẽ đề đàng hơn nhiều Thật vậy, đẻ chủng minh một bài toán là MP -đây đã ta chỉ cần chỉ ra rắng,
1) nở thuộc MP và
Trang 342) có một bài toán MP -đả) đủ có thê biến đỗi da thức về nó
Bai toan đầu tin duge ching minh AP-ddy dé dé lA bai toan SAT (boi Cook, 1971[5]) và sau đó là sáu bài toán MP-đây đủ cơ bản trong danh sách các bai
trớn NP-đây đã đã được biết nhờ phép qui dẫn đa thức (xem sơ đỗ tren Hink 1.70)
Hình 1.10 - So dé quy dẫn giữa các bai todn
Sau đầy là một số bải toán A/ -đây đú điển hình
- Bai toan 3SAY (3-satisfiability)
lnstance: ChoC fey, £» 26m các mệnh để trên tập hữu hạn ¿/ của các biển
mà ;e| = 3với ) SiSm
Question: Tén tai phép gan gid trị cho các biền trong [7 thoả mãn tât cá các mệnh
đề trong Œ hay không?
- Bai toan 3DA4 (3.Dimentional Matching)
Instance: Gia str W, X, Y là ba tập rời nhau với số phản tử bằng nhau |] = LX]
= FiHqva TO «Xx
33
Trang 35Question Tên tại hay không tập 4# €7 sao cho |M4|—g và bai phân tử khác biệt
bát kỳ fexy), 6w + 5>) EM ludn co ww! cH x, yt yy?
- Bai toan FC (Vertex Cover)
Instance: Cho truce mét dé thi G = ,Z) và một số tự nhiên È s| F|
Question: Tổn tại hay không một tập hợp S khéng qué k đình sao cho mỗi cạnh của đô thủ đều có it nhật một đầu mút trong 8?
-_ Bài toán HC (Hamiltonian Circuit)
Tnslance: Cho đỗ thị vô hướng Œ
Questien: Có tồn tại chủ trình Hamillen không?
- Bai loau DHC (Directed Hamiltonian Circuit)
Tnslance: Cho dỗ thị có hướng Œ
Question: Cé tén tai chu tinh Hamilton có hướng không?
- Bai ton Cligne
Tnslance: Cho đồ thị vô hướng Œ =/U2H) vas
tự hiền & <7 Question: Tan tai hay khang 1dt dé thi cơn dây đỗ & đữnh trong Œ?
- Bài loin GC (Graph-coloring)
Instance: Cho dé thi Œ và số nguyên duong &
Question: Tan tại một phép 16 mau cho G sir dung khéng qua k mau khong?
- Bai loan SS (Subset Sra)
34
Trang 36Instance: Cho dãy só nguyên L = (a;, a›, , đ„ ) và số nguyên 8
Question: Tén tai hay khéng một tập con 7 G {1.2, n} sao cho SuEa,! = §?
- Bai toan JS (Independent Set)
Instance: Cho trước một đồ thị G = (VE) và một số tự nhiên & <| Ƒ”|
Question: Ton tại hay không một tập gồm & đỉnh sao cho không có hai đình nảo kê nhau?
~ Bài toán 7SP (Traveling Salesman Problem):
Một người đi du lịch muốn tham quan n thanh phé 1, 2, 3, .,7 Xuất phát từ một thành phé nao đó, người du lịch muốn đi tham quan tất cả các thành phố còn lại mỗi thành phố đúng một lần rồi quay trở vẻ thành phổ ban đầu Ta gọi cách đi như vậy là hành trình của người du lịch Biết e, là chỉ phi đi từ thành phổ ï đến thành
phố 7 (¡7 =1.2 n) Hãy xác định một hành trình cho người du lịch sao cho tổng
chi phí là nhỏ nhất Bài toán TSP được phát biểu bằng đồ th
Instance: Cho một đỏ thi day đủ K„ với trọng số các cạnh lả các số nguyên dương và số dương, C
Question: Tôn tại hay không một chu trình Hamilton trong K„ có tông trong
số không vượt quá C2
- Bai toan KB (Knapsack Problem)
Instance: Cho bla trọng lượng tủi, ø loại đồ vật có trong luong 4), đ,,- đ„; và gid tri str dung ¢), €¿, , Cụ
35
Trang 37Question: Có tốn tại hay không một tập con gồm các dễ vật chất day trong túi sao cho tổng giá trị sử đụng ít nhất bằng b ?
-_ Bài toán BP (Bin Packing)
Instanee: Cho & là số nguyễn dương
Question: Hỏi có tổn tại hay không một cách xếp dặt (dóng gói) các đỗ vật
vào È thủng?
1.4.5 Bài toán NP-kh6o
Nhận xét rằng, giả sử hai bải toán 77; và 77; là NP-đây đu Theo định nghĩa 77;
qui dần đa thức về J7; và j7; qui dẫn da thức vẻ j7, Điều này cho thấy mỗi bài toán Nb-ddy đủ qui dẫn đa thức về mọi bài toàn AP-đây đủ khác (tỉnh đổi xùng và bắc cầu của phép qui dan đa thức) Vi thế mọi bài toán MP?-đẩy đủ có cùng độ phức tạp tỉnh
toán
Bai toán tối ưu của bài toán quyết định tương ứng thuộc lớp MP-dây đã dược
gọi là một bài toán A-khó (AMĐ-bard) Hải toán A/-khó (mà không thuộc NP)
được qui din đa thức từ một bài loám trong lớp ẤP, vì thế trợi bài toán NP-đẩy đủ déu la AP-kho Cac bài toán A-&bó là khỏ không kém những bải toán “khỏ nhất”
trong lớp NP Cac bai toán sau đây là AP-khó, nhưng không biết có thuộc Ä hay không: Bài oán k tập con nặng nhất, Bài toán cải túi, Bài toán đóng thùng,
Lớp bài toán MP-kbó rộng hơn lớp bái toàn MP-dấy đã, vì nó bao gòm các bài
toán thuộc lớp ÁP, cũng như các bài toàn không thuộc lớp MP Lảài toán cái túi được
xem là “đề nhất” trong các bai toan NP-khd Cimg với khái miệm MP-khó, người ta còn Tiểu r8 khái mHỆI
strongly NP-hard (NP-cuc kha) néu moi đữ liệu của bài toán 77 1a
nguyên và bài toán thu hẹp của 77 trên cáo bộ dữ liệu bị chặn bởi một đa thức là MP-
khó Người La chứng mình được răng không có thuật Loán giẩi thời gian đa thức cho
các bài toán MP-cực khó, ti khi N NP Bài toán qui hoạch nguyễn tuyến tỉnh dược
36
Trang 38biết là MP-cực khó
Khi nghiễn cửu giải quyết các bải toán thực tẻ, việc xác định nó thuộc lớp nao
trong số các lớp bài toán kế trên không chỉ có ÿ nghĩa lý thuyết mà còn có ý nghĩa
img dung quan trong Néu bài toán đong xét được xác nhận là thuộc mội trong cáo lớp MP, XP-đây dit, NP-khó thì Ít có ly vọng tìm dược thuật toán hiệu quả dễ giải
nó Vi vậy, tốt hơn hết là hãy hướng tới việc xây dựng những thuật toán xấp xi cho
các bài toán như thể
"Hình 1.11 - Giả thuyết về quan bệ giữa các lớp NP, NP-dây dủ và NP-khó
1.5 Mội số cách tiến cận giải các bài toán XP
Như ta dã biết, các bài toán AZP-khó (trong dó có ÀJÐ-đây đủ) hiện vẫn chưa có
thuật toán hiệu quả để giải Do dé người ta hướng tới các phương pháp giải gần đúng
và các phương pháp dùng tính toán liễn hóa để giải các bài toán này
+ Mội số phương pháp giỗi các bài toán AIP-khó thường gặp là
© Phương phap x4p xi (Approximation)
"_ Phương pháp xác xuất (Probabilistic)
* Phương phap Heuristic
* Phuong phap lính toán tiên héa (Evolutionary Computation)
Trang 391.5.1 Phương pháp xấp xỉ
Phương pháp xắp xí là phương pháp cho đám báo rằng sẽ tim ra một lời giải gân
đáng sai khác với lời giải đúng không quá một sai số tuyệt đổi cho trước (hoặc một sai
số tĩ lệ cho Irước) trơng thời gian đa thức
Tuy nhiên phương pháp xấp xỉ không phải lúc nào cũng đâm bảo được tính chất
xảy với moi bai toán A#'-khó, nghĩa là có những bài toán (ví dụ như bài toán dóng, thủng — bin packing) thì người ta đã xây dựng được những phương án xắp xỉ trong thời gian da thie (polynomial time approximation schemes — P7249) cho phép đạt tới kết
quá sai khác với kết quả đúng không quá một sai số cho trước bất kì Tuy nhiên với xmột số bài toán thì không thế làm được điều này, thậm chí không thề xâp xi kết quả tới một giả trị sai khắc với lời giái đúng một sai số hoặc một tỉ số da thức
Một hạn chế khác của phương, pháp xấp xí là chúng chí có thể được ap dung để
giải những bài toán tối ưu hóa mả không án dụng để giải những bài toán đạng quyết
đình thuần lúy được (tuy nhiên người tá có thể chuyển đổi qua lại giữa đạng tôi ưu hôa
và dạng quyết định của những bải toán nhu vậy)
1.5.2 Phương pháp xác xuất
Phuong pháp xác xuất (probabilistic methods) hay còn gọi là phương pháp ngẫu nhiên (randemized) sử đụng các bộ sinh giá trị ngẫu nhiên như là đâu vào, phụ giúp thuật toán định hướng xử lí và hy vọng thuật toán sẽ có hiệu quả hoạt dộng cao trong,
tỉnh huồng trung bình Với phương pháp này thì khả năng thuật toán hoạt động tôi vẫn
có thế xây ra, nhưng xác suất xây ra là nhỏ,
Phương pháp xác suất được mg đụng nhiêu trong lính vực bảo mật Tuy nhiền
đôi khi người ta cũng áp dụng phương pháp này (như là một thủ tục hỗ trợ) cho các
phương pháp khác để giái các bái toán XPĐ-khó Diễu đỏ là bởi vì hiện nay các thuật
toớm đơn định vẫn chưa thể giải gác bài oan MP-khó một cách hiệu quả, vì vậy người (4
38
Trang 40muốn sử dụng yếu tổ ngầu nhiên với hy vọng có thể tìm ra lời giải đúng với một xác suất may man nao do
1.5.3 Phuong phap heuristic
Trong nhiêu bải toản phương pháp thử-sai sẽ dân đến số lượng thử quả lớn, vỉ vậy không thể chấp nhận được Do đỏ người ta sử dụng phương pháp heuristie
Heristie chính là ước lượng khả năng dan dén một lời giải của một trạng thải, trong đỏ
sử dụng các phương pháp như: vét cạn có thêm trí thức đi kèm, tối ưu cục bộ, nguyên
lý hưởng đích, nguyên lý sắp thứ tự
Ta hãy xét bải toán tìm đường di ngắn nhất làm ví dụ Trong quá trình tìm kiếm đường đi ngắn nhất, người ta thường sử dụng một ham AG, la một hảm số định nghĩa trên các nút trên cây tim kiểm, để ước đoản chỉ phí nhỏ nhất từ nút là đổi số của hàm
đó tới nút dich, Théng tin heuristic nay sé duoc cac thuat toan tim kiếm đã biết khác như thuật toán tim kiểm tham lam Best-First Search hay thuat toan A* str dung đề lựa chon nút tiếp theo trên đường đi Thuật toán tham lam Best-First Search thi lua chon nút có chỉ phí thấp nhất theo ham heuristic G9, trong khi đó ⁄4* chọn nút có chỉ phí thấp nhất theo hàm e()+ 4m) trong đó øŒ là chí phí chính xác của đường đi từ trạng thái đầu tới nút đang xét Neu h(n) là một hàm dự đoán tốt thì hiện nhiên 4* cũng
có nhiều khả năng tìm ra lời giải tót, trong đỏ cỏ thể cỏ lời giải tối ưu Vấn để thực sự giờ đây nằm ở chỗ lựa chon ham 4@) nhu thé nao de hé tro tim kiểm hiệu quả Có nhiều cách để xây dựng heuristic cho bai toan
© Str dung ham chi phi ctia cdc bai toan con lam heuristic, vì chỉ phí của bài toán
tong được té hgp tir chi phi ctia bai toan con, tat nhién cé thé hàm tô hợp đó rất phức tạp, nhưng những thông tin về chỉ phí các bài toán con là rất hữu ich cho việc ước đoán chi phi ctia bai toan tong, đặc biệt nêu ta có nhiều kinh nghiệm tiếp xúc với dạng bai
toán này Để tiết kiệm thời gian tính toán thì người ta thường hay sử dụng một cơ sở dữ
liêu mẫu (pattern database) lưu trữ lại lời giải đúng của mọi bải toán con
39