1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Chương I - Các chiến lược tìm kiếm mù pdf

61 539 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 1,88 MB

Nội dung

Trang 1

Mục lục

Ph n I : Gi i quy t v n đ b ng tìm ki m ầ ả ế ấ ề ằ ế1.1 Ch ng I - Các chi n l c tìm ki m mù ươ ế ượ ế

1.1 Bi u di n v n đ trong không gian tr ng thái ể ễ ấ ề ạ

Ch ng II - Các chi n l c tìm ki m kinh nghi m ươ ế ượ ế ệ

2.1 H m ánh giá v tìm ki m kinh nghi mà đ à ế ệ

3.2.3 Tìm ki m mô ph ng luy n kim ế ỏ ệ

1.2.2 3.3 Tìm ki m mô ph ng s ti n hóa Thu t toán di truy n ế ỏ ự ế ậ ề

1.3 Ch ng IV - Tìm ki m có i th ươ ế đố ủ

4.1 Cây trò ch i v tìm ki m trên cây trò ch iơ à ế ơ

4.2 Chi n l c Minimaxế ượ

4.3 Ph ng pháp c t c t Alpha-Betaươ ắ ụ

Ph n II: Tri th c v l p lu n ầ ứ à ậ ậ

Trang 3

Ph n I ầ

Gi i quy t v n đ b ng tìm ki m ả ế ấ ề ằ ế

-V n tìm ki m, m t cách t ng quát, có th hi u l tìm m t i t ng th a mãnấ đề ế ộ ổ ể ể à ộ đố ượ ỏ

m t s òi h i n o ó, trong m t t p h p r ng l n các i t ng Chúng ta có th k raộ ố đ ỏ à đ ộ ậ ợ ộ ớ đố ượ ể ể

r t nhi u v n m vi c gi i quy t nó ấ ề ấ đề à ệ ả ế được quy v v n tìm ki m.ề ấ đề ế

Các trò ch i, ch ng h n c vua, c carô có th xem nh v n tìm ki m Trong sơ ẳ ạ ờ ờ ể ư ấ đề ế ố

r t nhi u n c i ấ ề ướ đ được phép th c hi n, ta ph i tìm ra các n c i d n t i tình th k tự ệ ả ướ đ ẫ ớ ế ế

cu c m ta l ng i th ng.ộ à à ườ ắ

Ch ng minh nh lý c ng có th xem nh v n tìm ki m Cho m t t p các tiênứ đị ũ ể ư ấ đề ế ộ ậ

v các lu t suy di n, trong tr ng h p n y m c tiêu c a ta l tìm ra m t ch ng minh

Trong ph n n y chúng ta s nghiên c u các k thu t tìm ki m c b n ầ à ẽ ứ ỹ ậ ế ơ ả được áp

d ng gi i quy t các v n v ụ để ả ế ấ đề à được áp d ng r ng rãi trong các l nh v c nghiên c uụ ộ ĩ ự ứkhác c a ủ Trí Tu Nhân T o ệ ạ Chúng ta l n l t nghiên c u các k thu t sau:ầ ượ ứ ỹ ậ

• Các k thu t tìm ki m mù, trong ó chúng ta không có hi u bi t gì v các iỹ ậ ế đ ể ế ề đố

t ng h ng d n tìm ki m m ch n thu n l xem xét theo m t h th ng n o ó t tượ để ướ ẫ ế à ỉ đơ ầ à ộ ệ ố à đ ấ

c các i t ng phát hi n ra i t ng c n tìm.ả đố ượ để ệ đố ượ ầ

• Các k thu t tìm ki m kinh nghi m (tìm ki m heuristic) trong ó chúng ta d aỹ ậ ế ệ ế đ ự

v o kinh nghi m v s hi u bi t c a chúng ta v v n c n gi i quy t xây d ng nênà ệ à ự ể ế ủ ề ấ đề ầ ả ế để ự

h m ánh giá h ng d n s tìm ki m.à đ ướ ẫ ự ế

• Các k thu t tìm ki m t i u.ỹ ậ ế ố ư

• Các ph ng pháp tìm ki m có i th , t c l các chi n l c tìm ki m n c iươ ế đố ủ ứ à ế ượ ế ướ đtrong các trò ch i hai ng i, ch ng h n c vua, c t ng, c carô.ơ ườ ẳ ạ ờ ờ ướ ờ

Trang 4

Ch ươ ng I Các chi n l c tìm ki m mù ế ượ ế

-Trong ch ng n y, chúng tôi s nghiên c u các chi n l c tìm ki m mù (blindươ à ẽ ứ ế ượ ếsearch): tìm ki m theo b r ng (breadth-first search) v tìm ki m theo sâu (depth-ế ề ộ à ế độfirst search) Hi u qu c a các ph ng pháp tìm ki m n y c ng s ệ ả ủ ươ ế à ũ ẽ đượ đc ánh giá

1.4 Bi u di n v n trong không gian tr ng thái ể ễ ấ đề ạ

M t khi chúng ta mu n gi i quy t m t v n n o ó b ng tìm ki m, u tiên taộ ố ả ế ộ ấ đề à đ ằ ế đầ

ph i xác nh không gian tìm ki m ả đị ế Không gian tìm ki m bao g m t t c các i t ngế ồ ấ ả đố ượ

m ta c n quan tâm tìm ki m Nó có th l không gian liên t c, ch ng h n không gianà ầ ế ể à ụ ẳ ạcác véct th c n chi u; nó c ng có th l không gian các i t ng r i r c.ơ ự ề ũ ể à đố ượ ờ ạ

Trong m c n y ta s xét vi c bi u di n m t v n trong không gian tr ng tháiụ à ẽ ệ ể ễ ộ ấ đề ạsao cho vi c gi i quy t v n ệ ả ế ấ đề được quy v vi c tìm ki m trong không gian tr ng thái.ề ệ ế ạ

M t ph m vi r ng l n các v n , c bi t các câu , các trò ch i, có th mô tộ ạ ộ ớ ấ đề đặ ệ đố ơ ể ả

b ng cách s d ng khái ni m tr ng thái v toán t (phép bi n i tr ng thái) Ch ngằ ử ụ ệ ạ à ử ế đổ ạ ẳ

h n, m t khách du l ch có trong tay b n m ng l i giao thông n i các th nh ph trongạ ộ ị ả đồ ạ ướ ố à ố

m t vùng lãnh th (hình 1.1), du khách ang th nh ph A v anh ta mu n tìm ộ ổ đ ở à ố à ố đường

i t i th m th nh ph B Trong b i toán n y, các th nh ph có trong các b n l các

tr ng thái, th nh ph A l tr ng thái ban u, B l tr ng thái k t thúc Khi ang m tạ à ố à ạ đầ à ạ ế đ ở ộ

th nh ph , ch ng h n th nh ph D anh ta có th i theo các con à ố ẳ ạ ở à ố ể đ đườ để ố ớng n i t i các

th nh ph C, F v G Các con à ố à đường n i các th nh ph s ố à ố ẽ được bi u di n b i các toán t ể ễ ở ử

M t toán t bi n i m t tr ng thái th nh m t tr ng thái khác Ch ng h n, tr ng tháiộ ử ế đổ ộ ạ à ộ ạ ẳ ạ ở ạ

D s có ba toán t d n tr ng thái D t i các tr ng thái C, F v G V n c a du kháchẽ ử ẫ ạ ớ ạ à ấ đề ủbây gi s l tìm m t dãy toán t a tr ng thái ban u A t i tr ng thái k t thúc B.ờ ẽ à ộ ửđể đư ạ đầ ớ ạ ế

M t ví d khác, trong trò ch i c vua, m i cách b trí các quân trên b n c lộ ụ ơ ờ ỗ ố à ờ à

m t tr ng thái Tr ng thái ban u l s s p x p các quân lúc b t u cu c ch i M iộ ạ ạ đầ à ự ắ ế ắ đầ ộ ơ ỗ

n c i h p l l m t toán t , nó bi n i m t c nh hu ng trên b n c th nh m t c nhướ đ ợ ệ à ộ ử ế đổ ộ ả ố à ờ à ộ ả

T p h p t t c các tr ng thái có th t t i t tr ng thái ban u b ng cách ápậ ợ ấ ả ạ ể đạ ớ ừ ạ đầ ằ

d ng m t dãy toán t , l p th nh không gian tr ng thái c a v n ụ ộ ử ậ à ạ ủ ấ đề

Ta s ký hi u không gian tr ng thái l U, tr ng thái ban u l uẽ ệ ạ à ạ đầ à 0 (u0 ∈ U) M iỗtoán t R có th xem nh m t ánh x R: Uử ể ư ộ ạ →U Nói chung R l m t ánh x không xácà ộ ạ

Trang 5

Khi chúng ta bi u di n m t v n thông qua các tr ng thái v các toán t , thìể ễ ộ ấ đề ạ à ử

vi c tìm nghi m c a b i toán ệ ệ ủ à được quy v vi c tìm ề ệ đường i t tr ng thái ban u t iđ ừ ạ đầ ớ

tr ng thái ích (M t ạ đ ộ đườ đng i trong không gian tr ng thái l m t dãy toán t d n m tạ à ộ ử ẫ ộ

tr ng thái t i m t tr ng thái khác).ạ ớ ộ ạ

Chúng ta có th bi u di n không gian tr ng thái b ng th nh h ng, trong óể ể ễ ạ ằ đồ ị đị ướ đ

m i nh c a th t ng ng v i m t tr ng thái N u có toán t R bi n i tr ng thái uỗ đỉ ủ đồ ị ươ ứ ớ ộ ạ ế ử ế đổ ạ

th nh tr ng thái v, thì có cung gán nhãn R i t nh u t i nh v Khi ó m t à ạ đ ừ đỉ ớ đỉ đ ộ đườ đng itrong không gian tr ng thái s l m t ạ ẽ à ộ đườ đng i trong th n y.đồ ị à

Sau ây chúng ta s xét m t s ví d v các không gian tr ng thái đ ẽ ộ ố ụ ề ạ được xây d ngựcho m t s v n ộ ố ấ đề

Ví d 1: ụ B i toán 8 s Chúng ta có b ng 3x3 ô v tám quân mang s hi u t 1à ố ả à ố ệ ừ

n 8 c x p v o tám ô, còn l i m t ô tr ng, ch ng h n nh trong hình 2 bên trái

Trong trò ch i n y, b n có th chuy n d ch các quân c ch ô tr ng t i ô tr ng ó V nơ à ạ ể ể ị ở ạ ố ớ ố đ ấ

c a b n l tìm ra m t dãy các chuy n d ch bi n i c nh hu ng ban u (hình 1.2

bên trái) th nh m t c nh hu ng xác nh n o ó, ch ng h n c nh hu ng trong hình 1.2à ộ ả ố đị à đ ẳ ạ ả ốbên ph i.ả

Trong b i toán n y, tr ng thái ban u l c nh hu ng bên trái hình 1.2, cònà à ạ đầ à ả ố ở

tr ng thái k t thúc bên ph i hình 1.2 T ng ng v i các quy t c chuy n d ch cácạ ế ở ả ươ ứ ớ ắ ể ị

quân, ta có b n toán t : ố ử up ( y quân lên trên), đẩ down ( y quân xu ng d i), đẩ ố ướ left ( yđẩ

quân sang trái), right ( y quân sang ph i) Rõ r ng l , các toán t n y ch l các toánđẩ ả à à ử à ỉ à

t b ph n; ch ng h n, t tr ng thái ban u (hình 1.2 bên trái), ta ch có th áp d ngử ộ ậ ẳ ạ ừ ạ đầ ỉ ể ụcác toán t ử down, left, right.

Trong các ví d trên vi c tìm ra m t bi u di n thích h p mô t các tr ng tháiụ ệ ộ ể ễ ợ để ả ạ

c a v n l khá d d ng v t nhiên Song trong nhi u v n vi c tìm hi u ủ ấ đề à ễ à à ự ề ấ đề ệ ể được bi uể

di n thích h p cho các tr ng thái c a v n l ho n to n không n gi n Vi c tìm raễ ợ ạ ủ ấ đề à à à đơ ả ệ

d ng bi u di n t t cho các tr ng thái óng vai trò h t s c quan tr ng trong quá trìnhạ ể ễ ố ạ đ ế ứ ọ

Trang 6

gi i quy t m t v n Có th nói r ng, n u ta tìm ả ế ộ ấ đề ể ằ ế được d ng bi u di n t t cho cácạ ể ễ ố

tr ng thái c a v n , thì v n h u nh ã ạ ủ ấ đề ấ đề ầ ư đ được gi i quy t.ả ế

Ví d 2 ụ : V n tri u phú v k c p Có ba nh tri u phú v ba tên c p bênấ đề ệ à ẻ ướ à ệ à ướ ở

b t ng n m t con sông, cùng m t chi c thuy n ch ờ ả ạ ộ ộ ế ề ở được m t ho c hai ng i Hãy tìmộ ặ ườcách a m i ng i qua sông sao cho không l i bên b sông k c p nhi u h nđư ọ ườ để ạ ở ờ ẻ ướ ề ơtri u phú ệ Đương nhiên trong b i toán n y, các toán t t ng ng v i các h nh ng chà à ử ươ ứ ớ à độ ở

1 ho c 2 ng i qua sông Nh ng ây ta c n l u ý r ng, khi h nh ng x y ra (lúcặ ườ ư ở đ ầ ư ằ à độ ẩthuy n ang b i qua sông) thì bên b sông thuy n v a d i ch , s k c p khôngề đ ơ ở ờ ề ừ ờ ỗ ố ẻ ướ

c nhi u h n s tri u phú Ti p theo ta c n quy t nh cái gì l tr ng thái c a v n

Có th phân các chi n l c tìm ki m th nh hai lo i:ể ế ượ ế à ạ

• Các chi n l c tìm ki m mù Trong các chi n l c tìm ki m n y, không có m tế ượ ế ế ượ ế à ộ

s h ng d n n o cho s tìm ki m, m ta ch phát tri n các tr ng thái ban u cho t iự ướ ẫ à ự ế à ỉ ể ạ đầ ớkhi g p m t tr ng thái ích n o ó Có hai k thu t tìm ki m mù, ó l tìm ki m theoặ ộ ạ đ à đ ỹ ậ ế đ à ế

b r ng v tìm ki m theo sâu.ề ộ à ế độ

Trang 7

T t ng c a tìm ki m theo b r ng l các tr ng thái ư ưở ủ ế ề ộ à ạ được phát tri n theo th tể ứ ự

m chúng à được sinh ra, t c l tr ng thái n o ứ à ạ à được sinh ra tr c s ướ ẽ được phát tri n tr c.ể ướTrong nhi u v n , dù chúng ta phát tri n các tr ng thái theo h th ng n o (theoề ấ đề ể ạ ệ ố à

b r ng ho c theo sâu) thì s l ng các tr ng thái ề ộ ặ độ ố ượ ạ được sinh ra tr c khi ta g p tr ngướ ặ ạ

thái ích th ng l c c k l n Do ó các thu t toán tìm ki m mù kém hi u qu , òiđ ườ à ự ỳ ớ đ ậ ế ệ ả đ

h i r t nhi u không gian v th i gian Trong th c t , nhi u v n không th gi i quy tỏ ấ ề à ờ ự ế ề ấ đề ể ả ế

c b ng tìm ki m mù

• Tìm ki m kinh nghi m (tìm ki m heuristic) Trong r t nhi u v n , chúng ta cóế ệ ế ấ ề ấ đề

th d a v o s hi u bi t c a chúng ta v v n , d a v o kinh nghi m, tr c giác, ể ự à ự ể ế ủ ề ấ đề ự à ệ ự đểánh giá các tr ng thái S d ng s ánh giá các tr ng thái h ng d n s tìm ki m:

Trang 8

Chúng ta có th ngh n quá trình tìm ki m nh quá trình xây d ng ể ĩ đế ế ư ự cây tìm

ki m ế Cây tìm ki m l cây m các nh ế à à đỉ được g n b i các tr ng thái c a không gianắ ở ạ ủ

tr ng thái G c c a cây tìm ki m t ng ng v i tr ng thái ban u N u m t nh ngạ ố ủ ế ươ ứ ớ ạ đầ ế ộ đỉ ứ

v i tr ng thái u, thì các nh con c a nó ng v i các tr ng thái v k u Hình 1.4a l ớ ạ đỉ ủ ứ ớ ạ ề à đồ

th bi u di n m t không gian tr ng thái v i tr ng thái ban u l A, hình 1.4b l câyị ể ễ ộ ạ ớ ạ đầ à àtìm ki m t ng ng v i không gian tr ng thái ó.ế ươ ứ ớ ạ đ

M i chi n l c tìm ki m trong không gian tr ng thái t ng ng v i m t ph ngỗ ế ượ ế ạ ươ ứ ớ ộ ươpháp xây d ng cây tìm ki m Quá trình xây d ng cây b t u t cây ch có m t nh lự ế ự ắ đầ ừ ỉ ộ đỉ à

tr ng thái ban u Gi s t i m t b c n o ó trong chi n l c tìm ki m, ta ã xâyạ đầ ả ử ớ ộ ướ à đ ế ượ ế đ

d ng ự được m t cây n o ó, các lá c a cây t ng ng v i các tr ng thái ch a ộ à đ ủ ươ ứ ớ ạ ư được pháttri n B c ti p theo ph thu c v o chi n l c tìm ki m m m t nh n o ó trong cácể ướ ế ụ ộ à ế ượ ế à ộ đỉ à đ

lá được ch n phát tri n Khi phát tri n nh ó, cây tìm ki m ọ để ể ể đỉ đ ế được m r ng b ngở ộ ằcách thêm v o các nh con c a nh ó K thu t tìm ki m theo b r ng (theo sâu)à đỉ ủ đỉ đ ỹ ậ ế ề ộ độ

t ng ng v i ph ng pháp xây d ng cây tìm ki m theo b r ng (theo sâu).ươ ứ ớ ươ ự ế ề ộ độ

1.6 Các chi n l c tìm ki m mù ế ượ ế

Trong m c n y chúng ta s trình b y hai chi n l c tìm ki m mù: tìm ki m theoụ à ẽ à ế ượ ế ế

b r ng v tìm ki m theo sâu Trong tìm ki m theo b r ng, t i m i b c ta s ch nề ộ à ế độ ế ề ộ ạ ỗ ướ ẽ ọ

tr ng thái phát tri n l tr ng thái ạ để ể à ạ được sinh ra tr c các tr ng thái ch phát tri nướ ạ ờ ểkhác Còn trong tìm ki m theo sâu, tr ng thái ế độ ạ được ch n phát tri n l tr ng tháiọ để ể à ạ

c sinh ra sau cùng trong s các tr ng thái ch phát tri n

Chúng ta s d ng danh sách L l u các tr ng thái ã ử ụ để ư ạ đ được sinh ra v ch à ờ đượcphát tri n M c tiêu c a tìm ki m trong không gian tr ng thái l tìm ể ụ ủ ế ạ à đườ đ ừ ạng i t tr ngthái ban u t i tr ng thái ích, do ó ta c n l u l i v t c a đầ ớ ạ đ đ ầ ư ạ ế ủ đườ đng i Ta có th s d ngể ử ụ

h m father l u l i cha c a m i nh trên à để ư ạ ủ ỗ đỉ đườ đ father(v) = u n u cha c a nh v lng i, ế ủ đỉ àu

Trang 9

Chúng ta có m t s nh n xét sau ây v thu t toán tìm ki m theo b r ng:ộ ố ậ đ ề ậ ế ề ộ

• Trong tìm ki m theo b r ng, tr ng thái n o ế ề ộ ạ à được sinh ra tr c s ướ ẽ được phát tri nể

tr c, do ó danh sách L ướ đ đượ ửc x lý nh h ng i Trong b c 2.3, ta c n ki m tra xemư à đợ ướ ầ ể

u có l tr ng thái k t thúc hay không Nói chung các tr ng thái k t thúc à ạ ế ạ ế được xác nhđị

b i m t s i u ki n n o ó, khi ó ta c n ki m tra xem u có th a mãn các i u ki n óở ộ ố đ ề ệ à đ đ ầ ể ỏ đ ề ệ đhay không

• N u b i toán có nghi m (t n t i ế à ệ ồ ạ đường i t tr ng thái ban u t i tr ng tháiđ ừ ạ đầ ớ ạích), thì thu t toán tìm ki m theo b r ng s tìm ra nghi m, ng th i ng i tìm

Bây gi ta ánh giá th i gian v b nh m tìm ki m theo b r ng òi h i Gi sờ đ ờ à ộ ớ à ế ề ộ đ ỏ ả ử

r ng, m i tr ng thái khi ằ ỗ ạ được phát tri n s sinh ra b tr ng thái k Ta s g i b l ể ẽ ạ ề ẽ ọ à nhân tố

nhánh Gi s r ng, nghi m c a b i toán l ả ử ằ ệ ủ à à đườ đng i có d i d B i nhi u nghi m cóđộ à ở ề ệ

th ể được tìm ra t i m t nh b t k m c d c a cây tìm ki m, do ó s nh c n xemạ ộ đỉ ấ ỳ ở ứ ủ ế đ ố đỉ ầxét tìm ra nghi m l :để ệ à

1 + b + b 2 + + b d-1 + k

Trong ó k có th l 1, 2, , bđ ể à d Do ó s l n nh t các nh c n xem xét l :đ ố ớ ấ đỉ ầ à

1 + b + b 2 + + b d

Nh v y, ph c t p th i gian c a thu t toán tìm ki m theo b r ng l O(bư ậ độ ứ ạ ờ ủ ậ ế ề ộ à d) Độ

ph c t p không gian c ng l O(bứ ạ ũ à d), b i vì ta c n l u v o danh sách L t t c các nhở ầ ư à ấ ả đỉ

c a cây tìm ki m m c d, s các nh n y l bủ ế ở ứ ố đỉ à à d

th y rõ tìm ki m theo b r ng òi h i th i gian v không gian l n t i m c n o,

ta xét tr ng h p nhân t nhánh b = 10 v sâu d thay i Gi s phát hi n vườ ợ ố à độ đổ ả ử để ệ à

ki m tra 1000 tr ng thái c n 1 giây, v l u gi 1 tr ng thái c n 100 bytes Khi ó th iể ạ ầ à ư ữ ạ ầ đ ờgian v không gian m thu t toán òi h i à à ậ đ ỏ được cho trong b ng sau:ả

Trang 10

1.6.2 Tìm ki m theo sâu ế độ

Nh ta ã bi t, t t ng c a chi n l c tìm ki m theo sâu l , t i m i b cư đ ế ư ưở ủ ế ượ ế độ à ạ ỗ ướ

tr ng thái ạ được ch n phát tri n l tr ng thái ọ để ể à ạ được sinh ra sau cùng trong s các tr ngố ạthái ch phát tri n Do ó thu t toán tìm ki m theo sâu l ho n to n t ng t nhờ ể đ ậ ế độ à à à ươ ự ưthu t toán tìm ki m theo b r ng, ch có m t i u khác l , ta x lý danh sách L cácậ ế ề ộ ỉ ộ đ ề à ử

tr ng thái ch phát tri n không ph i nh h ng i m nh ng n x p C th l trongạ ờ ể ả ư à đợ à ư ă ế ụ ể à

b c 2.4 c a thu t toán tìm ki m theo b r ng, ta c n s a l i l “ướ ủ ậ ế ề ộ ầ ử ạ à Đặt v v o à đầ danh u

sách L”

Sau ây chúng ta s a ra các nh n xét so sánh hai chi n l c tìm ki m mù:đ ẽ đư ậ ế ượ ế

• Thu t toán tìm ki m theo b r ng luôn luôn tìm ra nghi m n u b i toán cóậ ế ề ộ ệ ế ànghi m Song không ph i v i b t k b i toán có nghi m n o thu t toán tìm ki m theoệ ả ớ ấ ỳ à ệ à ậ ế sâu c ng tìm ra nghi m! N u b i toán có nghi m v không gian tr ng thái h u h n,

nhánh ó thì thu t toán s không d ng Do ó ng i ta khuyên r ng, không nên ápđ ậ ẽ ừ đ ườ ằ

d ng tìm ki m theo d sâu cho các b i toán có cây tìm ki m ch a các nhánh vô h n.ụ ế ộ à ế ứ ạ

• Độ ứ ạ ủ ph c t p c a thu t toán tìm ki m theo sâu.ậ ế độ

Gi s r ng, nghi m c a b i toán l ả ử ằ ệ ủ à à đường i có d i d, cây tìm ki m có nhânđ độ à ế

t nhánh l b v có chi u cao l d Có th x y ra, nghi m l nh ngo i cùng bên ph iố à à ề à ể ẩ ệ à đỉ à ảtrên m c d c a cây tìm ki m, do ó ph c t p th i gian c a tìm ki m theo sâuứ ủ ế đ độ ứ ạ ờ ủ ế độtrong tr ng h p x u nh t l O(bườ ợ ấ ấ à d), t c l c ng nh tìm ki m theo b r ng Tuy nhiên,ứ à ũ ư ế ề ộtrên th c t i v i nhi u b i toán, tìm ki m theo sâu th c s nhanh h n tìm ki mự ế đố ớ ề à ế độ ự ự ơ ếtheo b r ng Lý do l tìm ki m theo b r ng ph i xem xét to n b cây tìm ki m t iề ộ à ế ề ộ ả à ộ ế ớ

m c d-1, r i m i xem xét các nh m c d Còn trong tìm ki m theo sâu, có th taứ ồ ớ đỉ ở ứ ế độ ể

ch c n xem xét m t b ph n nh c a cây tìm ki m thì ã tìm ra nghi m.ỉ ầ ộ ộ ậ ỏ ủ ế đ ệ

ánh giá ph c t p không gian c a tìm ki m theo sâu ta có nh n xét

r ng, khi ta phát tri n m t nh u trên cây tìm ki m theo sâu, ta ch c n l u các nhằ ể ộ đỉ ế độ ỉ ầ ư đỉ

ch a ư được phát tri n m chúng l các nh con c a các nh n m trên ể à à đỉ ủ đỉ ằ đườ đ ừ ố ớng i t g c t i

nh u Nh v y i v i cây tìm ki m có nhân t nhánh b v sâu l n nh t l d, ta ch

c n l u ít h n db nh Do ó ầ ư ơ đỉ đ độ ph c t p không gian c a tìm ki m theo ứ ạ ủ ế độ sâu làO(db), trong khi ó tìm ki m theo b r ng òi h i không gian nh O(bđ ế ề ộ đ ỏ ớ d)!

1.6.3 Các tr ng thái l p ạ ặ

Nh ta th y trong m c 1.2, cây tìm ki m có th ch a nhi u nh ng v i cùng m tư ấ ụ ế ể ứ ề đỉ ứ ớ ộ

tr ng thái, các tr ng thái n y ạ ạ à đượ ọ à ạc g i l tr ng thái l p Ch ng h n, trong cây tìm ki mặ ẳ ạ ếhình 4b, các tr ng thái C, E, F l các tr ng thái l p Trong th bi u di n không gianạ à ạ ặ đồ ị ể ễ

tr ng thái, các tr ng thái l p ng v i các nh có nhi u ạ ạ ặ ứ ớ đỉ ề đườ đ ẫ ớng i d n t i nó t tr ng tháiừ ạban u N u th có chu trình thì cây tìm ki m s ch a các nhánh v i m t s nhđầ ế đồ ị ế ẽ ứ ớ ộ ố đỉ

l p l i vô h n l n Trong các thu t toán tìm ki m s lãng phí r t nhi u th i gian ậ ạ ạ ầ ậ ế ẽ ấ ề ờ đểphát tri n l i các tr ng thái m ta ã g p v ã phát tri n ể ạ ạ à đ ặ à đ ể Vì v y trong quá trình tìmậ

ki m ta c n tránh phát sinh ra các tr ng thái m ta ã phát tri n Chúng ta có th ápế ầ ạ à đ ể ể

d ng m t trong các gi i pháp sau ây:ụ ộ ả đ

1 Khi phát tri n nh u, không sinh ra các nh trùng v i cha c a u.ể đỉ đỉ ớ ủ

2 Khi phát tri n nh u, không sinh ra các nh trùng v i m t nh n o ó n m trênể đỉ đỉ ớ ộ đỉ à đ ằ

Trang 11

th c hi n gi i pháp th 3 ta c n l u các tr ng thái ã phát tri n v o t p Q, l u

các tr ng thái ch phát tri n v o danh sách L ạ ờ ể à Đương nhiên, tr ng thái v l n u ạ ầ đầ đượcsinh ra n u nó không có trong Q v L Vi c l u các tr ng thái ã phát tri n v ki m traế à ệ ư ạ đ ể à ểxem m t tr ng thái có ph i l n u ộ ạ ả ầ đầ được sinh ra không òi h i r t nhi u không gian vđ ỏ ấ ề à

th i gian Chúng ta có th c i t t p Q b i b ng b m (xem [ ]).ờ ể à đặ ậ ở ả ă

1.6.4 Tìm ki m sâu l p ế ặ

Nh chúng ta ã nh n xét, n u cây tìm ki m ch a nhánh vô h n, khi s d ng tìmư đ ậ ế ế ứ ạ ử ụ

ki m theo sâu, ta có th m c k t nhánh ó v không tìm ra nghi m kh c ph cế độ ể ắ ẹ ở đ à ệ Để ắ ụ

ho n c nh ó, ta tìm ki m theo sâu ch t i m c d n o ó; n u không tìm ra nghi m,à ả đ ế độ ỉ ớ ứ à đ ế ệ

ta t ng sâu lên d+1 v l i tìm ki m theo sâu t i m c d+1 Quá trình trên ă độ à ạ ế độ ớ ứ được

l p l i v i d l n l t l 1, 2, d n m t sâu max n o ó Nh v y, thu t toán tìmặ ạ ớ ầ ượ à ế ộ độ à đ ư ậ ậ

ki m sâu l p (iterative deepening search) s s d ng th t c tìm ki m sâu h n chế ặ ẽ ử ụ ủ ụ ế ạ ế(depth_limited search) nh th t c con ó l th t c tìm ki m theo sâu, nh ng chư ủ ụ Đ à ủ ụ ế độ ư ỉ

i t i sâu d n o ó r i quay lên

K thu t tìm ki m sâu l p k t h p ỹ ậ ế ặ ế ợ được các u i m c a tìm ki m theo b r ngư đ ể ủ ế ề ộ

v tìm ki m theo sâu Chúng ta có m t s nh n xét sau:à ế độ ộ ố ậ

• C ng nh tìm ki m theo b r ng, tìm ki m sâu l p luôn luôn tìm ra nghi mũ ư ế ề ộ ế ặ ệ(n u b i toán có nghi m), mi n l ta ch n sâu mã l n.ế à ệ ễ à ọ độ đủ ớ

Trang 12

• Tìm ki m sâu l p ch c n không gian nh nh tìm ki m theo sâu.ế ặ ỉ ầ ớ ư ế độ

• Trong tìm ki m sâu l p, ta ph i phát tri n l p l i nhi u l n cùng m t tr ng thái.ế ặ ả ể ặ ạ ề ầ ộ ạ

i u ó l m cho ta có c m giác r ng, tìm ki m sâu l p lãng phí nhi u th i gian Th c

Do ó th i gian tìm ki m sâu l p l O(bđ ờ ế ặ à d)

Tóm l i, tìm ki m sâu l p có ph c t p th i gian l O(bạ ế ặ độ ứ ạ ờ à d) (nh tìm ki m theoư ế

b r ng), v có ph c t p không gian l O(bi u di n) (nh tìm ki m theo sâu) Nóiề ộ à độ ứ ạ à ể ễ ư ế độchung, chúng ta nên áp d ng tìm ki m sâu l p cho các v n có không gian tr ng tháiụ ế ặ ấ đề ạ

l n v sâu c a nghi m không bi t tr c.ớ à độ ủ ệ ế ướ

1.7 Quy v n v các v n con Tìm ki m trên th v /ho c ấ đề ề ấ đề ế đồ ị à ặ

1.7.1 Quy v n v các v n con: ấ đề ề ấ đề

Trong m c 1.1, chúng ta ã nghiên c u vi c bi u di n v n thông qua các tr ngụ đ ứ ệ ể ễ ấ đề ạthái v các toán t Khi ó vi c tìm nghi m c a v n à ử đ ệ ệ ủ ấ đề được quy v vi c tìm ề ệ đườngtrong không gian tr ng thái Trong m c n y chúng ta s nghiên c u m t ph ng phápạ ụ à ẽ ứ ộ ươ

lu n khác gi i quy t v n , d a trên vi c quy v n v các v n con Quy v n ậ để ả ế ấ đề ự ệ ấ đề ề ấ đề ấ đề

v các v n con (còn g i l rút g n v n ) l m t ph ng pháp ề ấ đề ọ à ọ ấ đề à ộ ươ đượ ử ục s d ng r ng rãiộ

nh t gi i quy t các v n Trong i s ng h ng ng y, c ng nh trong khoa h c kấ để ả ế ấ đề đờ ố à à ũ ư ọ ỹthu t, m i khi g p m t v n c n gi i quy t, ta v n th ng c g ng tìm cách a nó vậ ỗ ặ ộ ấ đề ầ ả ế ẫ ườ ố ắ đư ềcác v n n gi n h n Quá trình rút g n v n s ấ đề đơ ả ơ ọ ấ đề ẽ đượ ế ục ti p t c cho t i khi ta d n t iớ ẫ ớcác v n con có th gi i quy t ấ đề ể ả ế đượ ễ àc d d ng Sau ây chúng ta xét m t s v n đ ộ ố ấ đề

V n đ tính tích phân b t đ nh ấ ề ấ ị

Gi s ta c n tính m t tích phân b t nh, ch ng h n ả ử ầ ộ ấ đị ẳ ạ ∫ (xex + x3) dx Quá trìnhchúng ta v n th ng l m tính tích phân b t nh l nh sau S d ng các quy t cẫ ườ à để ấ đị à ư ử ụ ắtính tích phân (quy t c tính tích phân c a m t t ng, quy t c tính tích phân t ngắ ủ ộ ổ ắ ừ

ph n ), s d ng các phép bi n i bi n s , các phép bi n i các h m (ch ng h n, cácầ ử ụ ế đổ ế ố ế đổ à ẳ ạphép bi n i l ng giác), a tích phân c n tính v tích phân c a các h m s sế đổ ượ để đư ầ ề ủ à ố ơ

c p m chúng ta ã bi t cách tính Ch ng h n, i v i tích phân ấ à đ ế ẳ ạ đố ớ ∫ (xex + x3) dx, áp

d ng quy t c tích phân c a t ng ta a v hai tích phân ụ ắ ủ ổ đư ề ∫ xexdx v à ∫ x3dx áp d ngụquy t c tích phân t ng ph n ta a tích phân ắ ừ ầ đư ∫ xexdx v tích phân ề ∫ exdx Quá trìnhtrên có th bi u di n b i th trong hình 1.5 ể ể ễ ở đồ ị

Các tích phân ∫ exdx v à∫ x3dx l các tích phân c b n ã có trong b ng tíchà ơ ả đ ảphân K t h p các k t qu c a các tích phân c b n, ta nh n ế ợ ế ả ủ ơ ả ậ được k t qu c a tíchế ả ủphân ã cho.đ

Trang 13

Chúng ta có th bi u di n vi c quy m t v n v các v n con c b i các tr ngể ể ễ ệ ộ ấ đề ề ấ đề ơ ở ạthái v các toán t à ử ở ây, b i toán c n gi i l tr ng thái ban u M i cách quy b iđ à ầ ả à ạ đầ ỗ àtoán v các b i toán con ề à được bi u di n b i m t toán t , toán t Aể ễ ở ộ ử ử →B, C bi u di n vi cể ễ ệquy b i toán A v hai b i toán B v C Ch ng h n, i v i b i toán tính tích phân b tà ề à à ẳ ạ đố ớ à ấ

nh, ta có th xác nh các toán t d ng:

∫ (f1 + f2) dx →∫ f1 dx, ∫ f2 dx và ∫ u dv →∫ v du

Các tr ng thái k t thúc l các b i toán s c p (các b i toán ã bi t cách gi i).ạ ế à à ơ ấ à đ ế ả

Ch ng h n, trong b i toán tính tích phân, các tích phân c b n l các tr ng thái k tẳ ạ à ơ ả à ạ ếthúc M t i u c n l u ý l , trong không gian tr ng thái bi u di n vi c quy v n vộ đ ề ầ ư à ạ ể ễ ệ ấ đề ềcác v n con, các toán t có th l a tr , nó bi n i m t tr ng thái th nh nhi u tr ngấ đề ử ể à đ ị ế đổ ộ ạ à ề ạthái khác

V n đ tìm đ ng đi trên b n đ giao thông ấ ề ườ ả ồ

B i toán n y ã à à đ được phát tri n nh b i toán tìm ể ư à đườ đng i trong không gian tr ngạthái (xem 1.1), trong ó m i tr ng thái ng v i m t th nh ph , m i toán t ng v i m tđ ỗ ạ ứ ớ ộ à ố ỗ ử ứ ớ ộcon đường n i, n i th nh ph n y v i th nh ph khác Bây gi ta a ra m t cách bi uố ố à ố à ớ à ố ờ đư ộ ể

di n khác d a trên vi c quy v n v các v n con Gi s ta có b n giao thôngễ ự ệ ấ đề ề ấ đề ả ử ả đồtrong m t vùng lãnh th (xem hình 1.6) Gi s ta c n tìm ộ ổ ả ử ầ đườ đ ừ àng i t th nh ph A t iố ớ

th nh ph B Có con sông ch y qua hai th nh ph E v G v có c u qua sông m ià ố ả à ố à à ầ ở ỗ

th nh ph ó M i à ố đ ọ đườ đ ừ đếng i t A n B ch có th qua E ho c G Nh v y b i toán tìmỉ ể ặ ư ậ à

ng i t A n B c quy v :

1) B i toán tìm à đườ đ ừ đếng i t A n B qua E (ho c)ặ

2) B i toán tìm à đườ đ ừ đếng i t A n b qua G

M i m t trong hai b i toán trên l i có th phân nh nh sauỗ ộ à ạ ể ỏ ư

1) B i toán tìm à đườ đ ừ đếng i t A n B qua E được quy v :ề

1.1 Tìm đườ đ ừ đếng i t A n E (v )à1.2 Tìm đườ đ ừ đếng i t E n B

2) B i toán tìm à đườ đ ừ đếng i t A n B qua G được quy v :ề

2.1 Tìm đườ đ ừ đếng i t A n G (v )à2.2 Tìm đườ đ ừ đếng i t G n B

Trang 14

Quá trình rút g n v n ọ ấ đề nh trên có th bi u di n d i d ng ư ể ể ễ ướ ạ đồ ị đồ ị th ( th

v /ho c) trong hình 1.7 à ặ ởđây m i b i toán tìm ỗ à đường i t m t th nh ph t i m tđ ừ ộ à ố ớ ộ

th nh ph khác ng v i m t tr ng thái Các tr ng thái k t thúc l các tr ng thái ng v ià ố ứ ớ ộ ạ ạ ế à ạ ứ ớcác b i toán tìm à đườ đng i, ch ng h n t A n C, ho c t D n E, b i vì ã có ẳ ạ ừ đế ặ ừ đế ở đ đường

n i A v i C, n i D v i E ố ớ ố ớ

1.7.2 Đồ ị à ặ th v /ho c

Không gian tr ng thái mô t vi c quy v n v các v n con có th bi u di nạ ả ệ ấ đề ề ấ đề ể ể ễ

d i d ng th nh h ng c bi t ướ ạ đồ ị đị ướ đặ ệ đượ ọ à đồ ị à ặc g i l th v /ho c Đồ ị à đượ th n y c xây

d ng nh sau:ự ư

M i b i toán ng v i m t nh c a th N u có m t toán t quy m t b i toán vỗ à ứ ớ ộ đỉ ủ đồ ị ế ộ ử ộ à ề

m t b i toán khác, ch ng h n R : a ộ à ẳ ạ →b, thì trong th s có cung gán nhãn i t nhđồ ị ẽ đ ừ đỉ

a t i nh b i v i m i toán t quy m t b i toán v m t s b i toán con, ch ng h n R :ớ đỉ Đố ớ ỗ ử ộ à ề ộ ố à ẳ ạ

a →b, c, d ta a v o m t nh m i ađư à ộ đỉ ớ 1, nh n y bi u di n t p các b i toán con {b, c, d}đỉ à ể ễ ậ à

v toán t R : a à ử →b, c, d được bi u di n b i th hình 1.8.ể ễ ở đồ ị

Ví dụ: Gi s chúng ta có không gian tr ng thái sau:ả ử ạ

• Tr ng thái ban u (b i toán c n gi i) l a.ạ đầ à ầ ả à

• T p các toán t quy g m:ậ ử ồ

R1 : a →d, e, fR2 : a →d, kR3 : a →g, h

Trang 15

R4 : d →b, cR5 : f →iR6 : f →c, jR7 : k →e, lR8 : k →h

Trang 16

Khi ã có các toán t rút g n v n , thì b ng cách áp d ng liên ti p các toán t ,đ ử ọ ấ đề ằ ụ ế ử

ta có th a b i toán c n gi i v m t t p các b i toán con Ch ng h n, trong ví d trênể đư à ầ ả ề ộ ậ à ẳ ạ ụ

n u ta áp d ng các toán t Rế ụ ử 1, R4, R6, ta s quy b i toán a v t p các b i toán con {b, c,ẽ à ề ậ à

e, f}, t t c các b i toán con n y u l s c p ấ ả à à đề à ơ ấ T các toán t Rừ ử 1, R4 v Rà 6 ta xây d ngự

c m t cây trong hình 1.11a, cây n y c g i l cây nghi m Cây nghi m c

Các nh đỉ không gi i ả đượ cđược xác nh quy nh sau:đị đệ ư

• Các nh không ph i l nh k t thúc v không có nh k , l các nh đỉ ả à đỉ ế à đỉ ề à đỉ không

gi i ả đượ c

• N u u không ph i l nh k t thúc v v i m i toán t R áp d ng ế ả à đỉ ế à ớ ọ ử ụ đượ ạc t i u uđề

có m t nh v k u theo R không gi i ộ đỉ ề ả được, thì u không gi i ả đượ c

Ta có nh n xét r ng, n u b i toán a ậ ằ ế à gi i ả đượ thì s có m t cây nghi m g c a, v c ẽ ộ ệ ố à

ng c l i n u có m t cây nghi m g c a thì a ượ ạ ế ộ ệ ố gi i ả đượ Hi n nhiên l , m t b i toán c ể à ộ à

gi i ả được có th có nhi u cây nghi m, m i cây nghi m bi u di n m t cách gi i b i toánể ề ệ ỗ ệ ể ễ ộ ả à

ó Ch ng h n trong ví d ã nêu, b i toán a có hai cây nghi m trong hình 1.11

Th t gi i các b i toán con trong m t cây nghi m l nh sau B i toán ng v iứ ự ả à ộ ệ à ư à ứ ớ

nh u ch c gi i sau khi t t c các b i toán ng v i các nh con c a u ã c gi i

Ch ng h n, v i cây nghi m trong hình 1.11a, th t gi i các b i toán có th l b, c, d, j,ẳ ạ ớ ệ ứ ự ả à ể à

f, e, a ta có th s d ng th t c s p x p topo (xem [ ]) s p x p th t các b i toánể ử ụ ủ ụ ắ ế để ắ ế ứ ự àtrong m t cây nghi m ộ ệ Đương nhiên ta c ng có th gi i quy t ng th i các b i toánũ ể ả ế đồ ờ àcon cùng m t m c trong cây nghi m.ở ộ ứ ệ

Trang 17

V n c a chúng ta bây gi l , tìm ki m trên th v /ho c xác nh ấ đề ủ ờ à ế đồ ị à ặ để đị được

nh ng v i b i toán ban u l gi i c hay không gi i c, v n u nó gi i c thì

xây d ng m t cây nghi m cho nó.ự ộ ệ

1.7.3 Tìm ki m trên th v /ho c ế đồ ị à ặ

Ta s s d ng k thu t tìm ki m theo sâu trên th v /ho c ánh d u cácẽ ử ụ ỹ ậ ế độ đồ ị à ặ để đ ấ

nh Các nh s c ánh d u gi i c ho c không gi i c theo nh ngh a

quy v nh gi i ề đỉ ả đượ àc v không gi i ả được Xu t phát t nh ng v i b i toán ban u,ấ ừ đỉ ứ ớ à đầ

i xu ng theo sâu, n u g p nh u l nh k t thúc thì nó c ánh d u gi i c

N u g p nh u không ph i l nh k t thúc v t u không i ti p ế ặ đỉ ả à đỉ ế à ừ đ ế được, thì u đượ đc ánh

d u không gi i ấ ả được Khi i t i nh u, thì t u ta l n l t i xu ng các nh v k u theođ ớ đỉ ừ ầ ượ đ ố đỉ ề

m t toán t R n o ó N u ánh d u ộ ử à đ ế đ ấ được m t nh v không gi i ộ đỉ ả được thì không c n iầ đ

ti p xu ng các nh v còn l i Ti p t c i xu ng các nh k u theo m t toán t khác.ế ố đỉ ạ ế ụ đ ố đỉ ề ộ ử

N u t t c các nh k u theo m t toán t n o ó ế ấ ả đỉ ề ộ ử à đ đượ đc ánh d u gi i ấ ả được thì u sẽ

c ánh d u gi i c v quay lên cha c a u Còn n u t u i xu ng các nh k nó

theo m i toán t u g p các nh k ọ ử đề ặ đỉ ề đượ đc ánh d u không gi i ấ ả được, thì u đượ đc ánh

d u không gi i ấ ả đượ àc v quay lên cha c a u.ủ

Ta s bi u di n th t c tìm ki m theo sâu v ánh d u các nh ã trình b yẽ ể ễ ủ ụ ế độ à đ ấ đỉ đ àtrên b i h m quy Solvable(u) H m n y nh n giá tr true n u u gi i ở à đệ à à ậ ị ế ả đượ à ậc v nh n giá

tr ị false n u u không gi i ế ả được Trong h m Solvable(u), ta s s d ng:à ẽ ử ụ

• Bi n Ok V i m i toán t R áp d ng ế ớ ỗ ử ụ đượ ạc t i u, bi n Ok nh n giá tr ế ậ ị true n u t tế ấ

c các nh v k u theo R u gi i ả đỉ ề đề ả được, v Ok nh n giá tr à ậ ị false n u có m t nh v k uế ộ đỉ ềtheo R không gi i ả được

• H m Operator(u) ghi l i toán t áp d ng th nh công t i u, t c l Operator(u) = Rà ạ ử ụ à ạ ứ à

n u m i nh v k u theo R u gi i ế ọ đỉ ề đề ả được

function Solvable(u);

begin

1 if u là nh k t thúcđỉ ế then

{Solvable  true ; stop};

2 if u không là nh k t thúc và không có nh kđỉ ế đỉ ề then

{Solvable(u)  false; stop};

3 for m i toán t R áp d ng ỗ ử ụ được t i u do

b i toán ban u l gi i à đầ à ả được hay không gi i ả được, n u cây tìm ki m không có nhánhế ế

vô h n N u cây tìm ki m có nhánh vô h n thì ch a ch c thu t toán ã d ng, vì có thạ ế ế ạ ư ắ ậ đ ừ ể

Trang 18

nó b xa l y khi i xu ng nhánh vô h n Trong tr ng h p n y ta nên s d ng thu t toánị ầ đ ố ạ ườ ợ à ử ụ ậtìm ki m sâu l p (m c 1.3.3).ế ặ ụ

N u b i toán ban u gi i ế à đầ ả được, thì b ng cách s d ng h m Operator ta s xâyằ ử ụ à ẽ

d ng ự được cây nghi m.ệ

Trang 19

Ch ươ ng II

-Trong ch ng I, chúng ta ã nghiên c u vi c bi u di n v n trong không gianươ đ ứ ệ ể ễ ấ đề

tr ng thái v các k thu t tìm ki m mù Các k thu t tìm ki m mù r t kém hi u qu vạ à ỹ ậ ế ỹ ậ ế ấ ệ ả àtrong nhi u tr ng h p không th áp d ng ề ườ ợ ể ụ được Trong ch ng n y, chúng ta s nghiênươ à ẽ

c u các ph ng pháp tìm ki m kinh nghi m (tìm ki m heuristic), ó l các ph ngứ ươ ế ệ ế đ à ươpháp s d ng h m ánh giá h ng d n s tìm ki m.ử ụ à đ để ướ ẫ ự ế

H m ánh giá v tìm ki m kinh nghi m: à đ à ế ệ

Trong nhi u v n , ta có th s d ng kinh nghi m, tri th c c a chúng ta v v nề ấ đề ể ử ụ ệ ứ ủ ề ấ ánh giá các tr ng thái c a v n V i m i tr ng thái u, chúng ta s xác nh m t

giá tr s h(u), s n y ánh giá ị ố ố à đ “s g n íchự ầ đ ” c a tr ng thái u H m h(u) ủ ạ à đượ ọ àc g i l

h m ánh giá à đ Chúng ta s s d ng h m ánh giá h ng d n s tìm ki m Trongẽ ử ụ à đ để ướ ẫ ự ếquá trình tìm ki m, t i m i b c ta s ch n tr ng thái phát tri n l tr ng thái có giáế ạ ỗ ướ ẽ ọ ạ để ể à ạ

tr h m ánh giá nh nh t, tr ng thái n y ị à đ ỏ ấ ạ à được xem l tr ng thái có nhi u h a h n nh tà ạ ề ứ ẹ ấ

h ng t i ích.ướ ớ đ

Các k thu t tìm ki m s d ng h m ánh giá h ng d n s tìm ki m ỹ ậ ế ử ụ à đ để ướ ẫ ự ế đượ ọc g ichung l các k thu t tìm ki m kinh nghi m (heuristic search) Các giai o n c b n à ỹ ậ ế ệ đ ạ ơ ả để

gi i quy t v n b ng tìm ki m kinh nghi m nh sau:ả ế ấ đề ằ ế ệ ư

1 Tìm bi u di n thích h p mô t các tr ng thái v các toán t c a v n ể ễ ợ ả ạ à ử ủ ấ đề

2 Xây d ng h m ánh giá.ự à đ

3 Thi t k chi n l c ch n tr ng thái phát tri n m i b c ế ế ế ượ ọ ạ để ể ở ỗ ướ

H m đánh giáàTrong tìm ki m kinh nghi m, h m ánh giá óng vai trò c c k quan tr ng.ế ệ à đ đ ự ỳ ọChúng ta có xây d ng ự được h m ánh giá cho ta s ánh giá úng các tr ng thái thìà đ ự đ đ ạtìm ki m m i hi u qu N u h m ánh giá không chính xác, nó có th d n ta i ch chế ớ ệ ả ế à đ ể ẫ đ ệ

h ng v do ó tìm ki m kém hi u qu ướ à đ ế ệ ả

H m ánh giá à đ được xây d ng tùy thu c v o v n Sau ây l m t s ví d vự ộ à ấ đề đ à ộ ố ụ ề

h m ánh giá:à đ

• Trong b i toán tìm ki m à ế đường i trên b n giao thông, ta có th l y d iđ ả đồ ể ấ độ à

c a ủ đường chim bay t m t th nh ph t i m t th nh ph ích l m giá tr c a h m ánhừ ộ à ố ớ ộ à ố đ à ị ủ à đgiá

• B i toán 8 s Chúng ta có th a ra hai cách xây d ng h m ánh giá.à ố ể đư ự à đ

H m hà 1: V i m i tr ng thái u thì hớ ỗ ạ 1(u) l s quân không n m úng v trí c a nóà ố ằ đ ị ủtrong tr ng thái ích Ch ng h n tr ng thái ích bên ph i hình 2.1, v u l tr ng tháiạ đ ẳ ạ ạ đ ở ả à à ạ bên trái hình 2.1, thì h

ở 1(u) = 4, vì các quân không úng v trí l 3, 8, 6 v 1.đ ị à à

Trang 20

H m hà 2: h2(u) l t ng kho ng cách gi a v trí c a các quân trong tr ng thái u v và ổ ả ữ ị ủ ạ à ịtrí c a nó trong tr ng thái ích ây kho ng cách ủ ạ đ ở đ ả được hi u l s ít nh t các d chể à ố ấ ịchuy n theo h ng ho c c t ể à ặ ộ để đư a m t quân t i v trí c a nó trong tr ng thái ích.ộ ớ ị ủ ạ đ

Ch ng h n v i tr ng thái u v tr ng thái ích nh trong hình 2.1, ta có:ẳ ạ ớ ạ à ạ đ ư

h2(u) = 2 + 3 + 1 + 3 = 9

Vì quân 3 c n ít nh t 2 d ch chuy n, quân 8 c n ít nh t 3 d ch chuy n, quân 6ầ ấ ị ể ầ ấ ị ể

c n ít nh t 1 d ch chuy n v quân 1 c n ít nh t 3 d ch chuy n.ầ ấ ị ể à ầ ấ ị ể

Hai chi n l c tìm ki m kinh nghi m quan tr ng nh t l tìm ki m t t nh t - uế ượ ế ệ ọ ấ à ế ố ấ đầtiên (best-first search) v tìm ki m leo i (hill-climbing search) Có th xác nh cácà ế đồ ể địchi n l c n y nh sau:ế ượ à ư

Tìm ki m t t nh t u tiênế ố ấ đầ = Tìm ki m theo b r ngế ề ộ + H m ánh giáà đTìm ki m leo iế đồ = Tìm ki m theo sâuế độ + H m ánh giáà đChúng ta s l n l t nghiên c u các k thu t tìm ki m n y trong các m c sau.ẽ ầ ượ ứ ỹ ậ ế à ụ

Tìm ki m t t nh t - u tiên: ế ố ấ đầ

Tìm ki m t t nh t - u tiên (best-first search) l tìm ki m theo b r ng ế ố ấ đầ à ế ề ộ được

h ng d n b i h m ánh giá Nh ng nó khác v i tìm ki m theo b r ng ch , trongướ ẫ ở à đ ư ớ ế ề ộ ở ỗtìm ki m theo b r ng ta l n l t phát tri n t t c các nh m c hi n t i sinh ra cácế ề ộ ầ ượ ể ấ ả đỉ ở ứ ệ ạ để

nh m c ti p theo, còn trong tìm ki m t t nh t - u tiên ta ch n nh phát tri n

l nh t t nh t à đỉ ố ấ được xác nh b i h m ánh giá (t c l nh có giá tr h m ánh giá lđị ở à đ ứ à đỉ ị à đ à

nh nh t), nh n y có th m c hi n t i ho c các m c trên.ỏ ấ đỉ à ể ở ứ ệ ạ ặ ở ứ

Trang 21

Ví dụ: Xét không gian tr ng thái ạ được bi u di n b i th trong hình 2.2, trongể ễ ở đồ ị

ó tr ng thái ban u l A, tr ng thái k t thúc l B Giá tr c a h m ánh giá l các s

ghi c nh m i nh Quá trình tìm ki m t t nh t - u tiên di n ra nh sau: ạ ỗ đỉ ế ố ấ đầ ễ ư Đầu tiênphát tri n nh A sinh ra các nh k l C, D v E Trong ba nh n y, nh D có giá trể đỉ đỉ ề à à đỉ à đỉ ị

h m ánh giá nh nh t, nó à đ ỏ ấ được ch n phát tri n v sinh ra F, I Trong s các nhọ để ể à ố đỉ

ch a ư được phát tri n C, E, F, I thì nh E có giá tr ánh giá nh nh t, nó ể đỉ ị đ ỏ ấ được ch n ọ đểphát tri n v sinh ra các nh G, K Trong s các nh ch a ể à đỉ ố đỉ ư được phát tri n thì G t tể ố

nh t, phát tri n G sinh ra B, H ấ ể Đế đn ây ta ã t t i tr ng thái k t thúc Cây tìm ki mđ đạ ớ ạ ế ế

t t nh t - u tiên ố ấ đầ được bi u di n trong hình 2.3.ể ễ

Sau ây l th t c tìm ki m t t nh t - u tiên Trong th t c n y, chúng ta sđ à ủ ụ ế ố ấ đầ ủ ụ à ử

d ng danh sách L l u các tr ng thái ch phát tri n, danh sách ụ để ư ạ ờ ể đượ ắc s p theo th tứ ự

t ng d n c a h m ánh giá sao cho tr ng thái có giá tr h m ánh giá nh nh t uă ầ ủ à đ ạ ị à đ ỏ ấ ở đầdanh sách

Tìm ki m leo i: ế đồ

Tìm ki m leo i (hill-climbing search) l tìm ki m theo sâu ế đồ à ế độ đượ ước h ng d nẫ

b i h m ánh giá Song khác v i tìm ki m theo sâu, khi ta phát tri n m t nh u thìở à đ ớ ế độ ể ộ đỉ

b c ti p theo, ta ch n trong s các nh con c a u, nh có nhi u h a h n nh t phátướ ế ọ ố đỉ ủ đỉ ề ứ ẹ ấ đểtri n, nh n y ể đỉ à được xác nh b i h m ánh giá.đị ở à đ

Trang 22

Ví dụ: Ta l i xét th không gian tr ng thái trong hình 2.2 Quá trình tìm ki mạ đồ ị ạ ếleo i đồ đượ ế àc ti n h nh nh sau ư Đầu tiên phát tri n nh A sinh ra các nh con C, D, E.ể đỉ đỉTrong các nh n y ch n D phát tri n, v nó sinh ra các nh con B, G Quá trìnhđỉ à ọ để ể à đỉtìm ki m k t thúc Cây tìm ki m leo i ế ế ế đồ được cho trong hình 2.4

Trong th t c tìm ki m leo i ủ ụ ế đồ được trình b y d i ây, ngo i danh sách L l uà ướ đ à ưcác tr ng thái ch ạ ờ được phát tri n, chúng ta s d ng danh sách Lể ử ụ 1 l u gi t m th iđể ư ữ ạ ờcác tr ng thái k tr ng thái u, khi ta phát tri n u Danh sách Lạ ề ạ ể 1 đượ ắ ếc s p x p theo th tứ ự

t ng d n c a h m ánh giá, r i ă ầ ủ à đ ồ được chuy n v o danh sách L sao tr ng thái t t nh t kể à ạ ố ấ ề

{thông báo thành công; stop};

2.3 for m i tr ng thái v k u do t v vào Lỗ ạ ề đặ 1;

ch ch phát tri n k nh t t nh t (các nh n y ế ỉ ể đỉ ố ấ đỉ à được xác nh b i h m ánh giá) Do óđị ở à đ đtrong tìm ki m beam, b t k m c n o c ng ch có nhi u nh t k nh ế ở ấ ỳ ứ à ũ ỉ ề ấ đỉ được phát tri n,ểtrong khi tìm ki m theo b r ng, s nh c n phát tri n m c d l bế ề ộ ố đỉ ầ ể ở ứ à d (b l nhân tà ốnhánh)

Trang 23

Ví dụ: Chúng ta l i xét th không gian tr ng thái trong hình 2.2 Ch n k = 2.ạ đồ ị ạ ọKhi ó cây tìm ki m beam đ ế được cho nh hình 2.5 Các nh ư đỉ đượ ạc g ch d i l các nhướ à đỉ

c ch n phát tri n m i m c

Trang 24

Ch ươ ng III

-V n tìm ki m t i u, m t cách t ng quát, có th phát bi u nh sau M i iấ đề ế ố ư ộ ổ ể ể ư ỗ đố

t ng x trong không gian tìm ki m ượ ế đượ ắ ớc g n v i m t s o giá tr c a i t ng ó f(x),ộ ố đ ị ủ đố ượ đ

m c tiêu c a ta l tìm i t ng có giá tr f(x) l n nh t (ho c nh nh t) trong khôngụ ủ à đố ượ ị ớ ấ ặ ỏ ấgian tìm ki m H m f(x) ế à được g i l h m m c tiêu Trong ch ng n y chúng ta sọ à à ụ ươ à ẽnghiên c u các thu t toán tìm ki m sau:ứ ậ ế

• Các k thu t tìm ỹ ậ đườ đng i ng n nh t trong không gian tr ng thái: Thu t toán A*,ắ ấ ạ ậthu t toán nhánh_v _c n.ậ à ậ

• Các k thu t tìm ki m i t ng t t nh t: Tìm ki m leo i, tìm ki m gradient,ỹ ậ ế đố ượ ố ấ ế đồ ếtìm ki m mô ph ng luy n kim.ế ỏ ệ

• Tìm ki m b t ch c s ti n hóa: thu t toán di truy n.ế ắ ướ ự ế ậ ề

1.8 Tìm đườ đ ng i ng n nh t ắ ấ

Trong các ch ng tr c chúng ta ã nghiên c u v n ươ ướ đ ứ ấ đề tìm ki m ế đường i tđ ừ

tr ng thái ban u t i tr ng thái k t thúc trong không gian tr ng thái Trong m c n y, taạ đầ ớ ạ ế ạ ụ à

gi s r ng, giá ph i tr a tr ng thái a t i tr ng thái b (b i m t toán t n o ó) lả ử ằ ả ả để đư ạ ớ ạ ở ộ ử à đ à

m t s k(a,b) ộ ố ≥ 0, ta s g i s n y l d i cung (a,b) ho c giá tr c a cung (a,b) trongẽ ọ ố à à độ à ặ ị ủ

th không gian tr ng thái d i c a các cung c xác nh tùy thu c v o v n

đườ đ đầ đủ, l à đườ đ ừng i t u0 t i tr ng thái ích).ớ ạ đ

• h(u) l ánh giá d i àđ độ à đườ đng i ng n nh t t u t i tr ng thái ích.ắ ấ ừ ớ ạ đ

H m h(u) à được g i l ọ à ch p nh n ấ ậ đượ (ho c ánh giá th p c ặ đ ấ ) n u v i m i tr ngế ớ ọ ạthái u, h(u) ≤ d i độ à đườ đng i ng n nh t th c t t u t i tr ng thái ích Ch ng h n trongắ ấ ự ế ừ ớ ạ đ ẳ ạ

Trang 25

Ta có th s d ng k thu t tìm ki m leo i v i h m ánh giá h(u) T t nhiênể ử ụ ỹ ậ ế đồ ớ à đ ấ

ph ng pháp n y ch cho phép ta tìm ươ à ỉ đượ đườc ng i t ng i t t, ch a ch c ã lđ ươ đố ố ư ắ đ à

ng i t i u

đườ đ ố ư

Ta c ng có th s d ng k thu t tìm ki m t t nh t u tiên v i h m ánh giá g(u).ũ ể ử ụ ỹ ậ ế ố ấ đầ ớ à đ

Ph ng pháp n y s tìm ra ươ à ẽ đườ đng i ng n nh t, tuy nhiên nó có th kém hi u qu ắ ấ ể ệ ả

t ng hi u qu tìm ki m, ta s d ng h m ánh giá m i :

f(u) = g(u) + h(u)

T c l , f(u) l ánh giá d i ứ à à đ độ à đường i ng n nh t qua u t tr ng thái ban u t iđ ắ ấ ừ ạ đầ ớ

Nh v y nh t t nh t l D (vì f(D) = 13 l nh nh t) Phát tri n D, ta nh n ư ậ đỉ ố ấ à à ỏ ấ ể ậ đượccác nh con H v E Ta ánh giá H v E (m i): đỉ à đ à ớ

g(H) = g(D) + Độ à d i cung (D, H) = 7 + 8 = 15, f(H) = 15 + 10 = 25.

ng i t i E qua D có d i:

g(E) = g(D) + Độ à d i cung (D, E) = 7 + 4 = 11.

Trang 26

V y nh E m i có ánh giá l f(E) = g(E) + h(E) = 11 + 8 = 19 Trong s các nhậ đỉ ớ đ à ố đỉcho phát tri n, thì nh E v i ánh giá f(E) = 19 l nh t t nh t Phát tri n nh n y, taể đỉ ớ đ à đỉ ố ấ ể đỉ à

nh n ậ được các nh con c a nó l K v I Chúng ta ti p t c quá trình trên cho t i khiđỉ ủ à à ế ụ ớ

Chúng ta a ra m t s nh n xét v thu t toán A*.đư ộ ố ậ ề ậ

• Ng i ta ch ng minh ườ ứ đượ ằc r ng, n u h m ánh giá h(u) l ánh giá th p nh tế à đ à đ ấ ấ(tr ng h p c bi t, h(u) = 0 v i m i tr ng thái u) thì thu t toán A* l thu t toán ườ ợ đặ ệ ớ ọ ạ ậ à ậ t i ố u

ư , t c l nghi m m nó tìm ra l nghi m t i u Ngo i ra, n u d i c a các cungứ à ệ à à ệ ố ư à ế độ à ủkhông nh h n m t s d ng ỏ ơ ộ ố ươ δ n o ó thì thu t toán A* l thu t toán à đ ậ à ậ đầ đủ theo y

ngh a r ng, nó luôn d ng v tìm ra nghi m ĩ ằ ừ à ệ

Chúng ta ch ng minh tính t i u c a thu t toán A*.ứ ố ư ủ ậ

Trang 27

Gi s thu t toán d ng l i nh k t thúc G v i d i ả ử ậ ừ ạ ở đỉ ế ớ độ à đườ đ ừ ạng i t tr ng thái ban

u u

đầ 0 t i G l g(G) Vì G l nh k t thúc, ta có h(G) = 0 v f(G) = g(G) + h(G) =ớ à à đỉ ế àg(G) Gi s nghi m t i u l ả ử ệ ố ư à đường i t uđ ừ 0 t i nh k t thúc Gớ đỉ ế 1 v i ớ độ à d i l Gi sả ử

n, nên f(G) ≤ f(n), do ó, g(G) đ ≤ l Nh v y, ta ã ch ng minh ư ậ đ ứ đượ ằc r ng d i c ađộ à ủ

ng i m thu t toán tìm ra g(G) không d i h n d i l c a ng i t i u V y nó

xu ng cho t i khi g p tr ng thái v l ích, ho c g p tr ng thái v không có nh k , ho cố ớ ặ ạ à đ ặ ặ ạ đỉ ề ặ

g p tr ng thái v m f(v) l n h n d i ặ ạ à ớ ơ độ à đườ đ ố ư ạng i t i u t m th i, t c l ờ ứ à đườ đ đầ đủng i y

ng n nh t trong s các ắ ấ ố đường i y m ta ã tìm ra Trong các tr ng h p n y, tađ đầ đủ à đ ườ ợ àkhông phát tri n nh v n a, hay nói cách khác, ta c t i các nhánh cây xu t phát t v,ể đỉ ữ ấ đ ấ ừ

v quay lên cha c a v ti p t c i xu ng tr ng thái t t nh t trong các tr ng thái cònà ủ đề ế ụ đ ố ạ ố ấ ạ

l i ch a ạ ư được phát tri n.ể

Ví dụ: Chúng ta l i xét không gian tr ng thái trong hình 3.1 Phát tri n nh A,ạ ạ ể đỉ

ta nh n ậ được các nh con C, D, E v F, f(C) = 24, f(D) = 13, f(E) = 21, f(F) = 27 Trongđỉ à

s n y D l t t nh t, phát tri n D, sinh ra các nh con H v E, f(H) = 25, f(E) = 19 iố à à ố ấ ể đỉ à Đ

xu ng phát tri n E, sinh ra các nh con l K v I, f(K) = 17, f(I) = 18 i xu ng phátố ể đỉ à à Đ ốtri n K sinh ra nh B v i f(B) = g(B) = 21 i xu ng B, vì B l nh ích, v y ta tìmể đỉ ớ Đ ố à đỉ đ ậ

c ng i t i u t m th i v i d i 21 T B quay lên K, r i t K quay lên cha nó

l E T E i xu ng J, f(J) = 18 nh h n d i à ừ đ ố ỏ ơ độ à đường i t m th i (l 21) Phát tri n Iđ ạ ờ à ểsinh ra các con K v B, f(K) = 25, f(B) = g(B) = 19 i xu ng nh B, vì nh B l íchà Đ ố đỉ đỉ à đ

ta tìm đượ đườc ng i y m i v i d i l 19 nh h n d i đ đầ đủ ớ ớ độ à à ỏ ơ độ à đường i t i u t mđ ố ư ạ

th i c (21) V y d i ờ ũ ậ độ à đườ đ ố ư ạng i t i u t m th i bây gi l 19 Bây gi t B ta l i quayờ ờ à ờ ừ ạlên các nh còn l i ch a đỉ ạ ư được phát tri n Song các nh n y u có giá tr h m ánh giáể đỉ à đề ị à đ

Trang 28

l n h n 19, do ó không có nh n o ớ ơ đ đỉ à được phát tri n n a Nh v y, ta tìm ể ữ ư ậ đượ đườ đc ng i

t i u v i d i 19 Cây tìm ki m ố ư ớ độ à ế được bi u di n trong hình 3.4.ể ễ

Thu t toán nhánh_v _c n s ậ à ậ ẽ được bi u di n b i th t c Branch_and_Bound.ể ễ ở ủ ụTrong th t c n y, bi n cost ủ ụ à ế được dùng l u d i để ư độ à đườ đng i ng n nh t Giá tr ban uắ ấ ị đầ

c a cost l s l n, ho c d i c a m t ủ à ố đủ ớ ặ độ à ủ ộ đườ đ đầ đủ à đng i y m ta ã bi tế

procedure Branch_and_Bound;

begin

1 Kh i t o danh sách L ch ch a tr ng thái ban uở ạ ỉ ứ ạ đầ ;

Gán giá tr ban u cho costị đầ ;

2 loop do

2.1 if L r ng then stop;

2.2 Lo i tr ng thái u u danh sách Lạ ạ ở đầ ;

2.3 if u là tr ng thái k t thúcạ ế then

if g(u) ≤ y then {y ← g(y); Quay l i 2.1 };

2.4 if f(u) > y then Quay l i 2.1 ;

Ng i ta ch ng minh ườ ứ đượ ằc r ng, thu t toán nhánh_v _c n c ng l thu t toán yậ à ậ ũ à ậ đầ

v t i u n u h m ánh giá h(u) l ánh giá th p v có d i các cung không nh

Trang 29

tr s cost(x), s n y ị ố ố à đượ ọ àc g i l giá tr c a x Chúng ta c n tìm m t i t ng m t i óị ủ ầ ộ đố ượ à ạ đ

h m giá tr l n nh t, ta g i i t ng ó l à ị ớ ấ ọ đố ượ đ àđố ượ i t ng t t nh t ố ấ Gi s không gian tìmả ử

ki m có c u trúc cho phép ta xác nh ế ấ đị được khái ni m lân c n c a m i i t ng Ch ngệ ậ ủ ỗ đố ượ ẳ

h n, U l không gian tr ng thái thì lân c n c a tr ng thái u g m t t c các tr ng thái vạ à ạ ậ ủ ạ ồ ấ ả ạ

k u; n u U l không gian các vect th c n-chi u thì lân c n c a vect x = (xề ế à ơ ự ề ậ ủ ơ 1, x2, xn)

g m t t c các vect g n x theo kho ng cách c lit thông th ng.ồ ấ ả ơ ở ầ ả Ơ ơ ườ

Trong m c n y, ta s xét k thu t tìm ki m leo i tìm i t ng t t nh t Sauụ à ẽ ỹ ậ ế đồ để đố ượ ố ấ

ó ta s xét k thu t tìm ki m gradient (gradient search) ó l k thu t leo i áp

d ng cho không gian tìm ki m l không gian các vect th c n-chi u v h m giá l lụ ế à ơ ự ề à à à à

h m kh vi liên t c Cu i cùng ta s nghiên c u k thu t tìm ki m mô ph ng luy nà ả ụ ố ẽ ứ ỹ ậ ế ỏ ệkim( simulated annealing)

1.9.1 Tìm ki m leo i ế đồ

K thu t tìm ki m leo i tìm ki m i t ng t t nh t ho n to n gi ng nh kỹ ậ ế đồ để ế đố ượ ố ấ à à ố ư ỹthu t tìm ki m leo i tìm tr ng thái k t thúc ã xét trong m c 2.3 Ch khác lậ ế đồ để ạ ế đ ụ ỉ àtrong thu t toán leo i m c 2.3, t m t tr ng thái ta "leo lên" tr ng thái k t t nh tậ đồ ở ụ ừ ộ ạ ạ ề ố ấ(được xác nh b i h m giá), ti p t c cho t i khi t t i tr ng thái ích; n u ch a tđị ở à ế ụ ớ đạ ớ ạ đ ế ư đạ

t i tr ng thái ích m không leo lên ớ ạ đ à được n a, thì ta ti p t c "t t xu ng" tr ng tháiữ ế ụ ụ ố ạ

tr c nó, r i l i leo lên tr ng thái t t nh t còn l i Còn ây, t m t nh u ta ch leo lênướ ồ ạ ạ ố ấ ạ ở đ ừ ộ đỉ ỉ

nh t t nh t v ( c xác nh b i h m giá cost) trong lân c n u n u nh n y "cao h n"

nh u, t c l cost(v) > cost(u) Quá trình tìm ki m s d ng l i ngay khi ta không leo

lên nh cao h n đỉ ơ đượ ữc n a

Trong th t c leo i d i ây, bi n u l u nh hi n th i, bi n v l u nh t t nh tủ ụ đồ ướ đ ế ư đỉ ệ ờ ế ư đỉ ố ấ(cost(v) nh nh t) trong các nh lân c n u Khi thu t toán d ng, bi n u s l u trongỏ ấ đỉ ở ậ ậ ừ ế ẽ ư

i t ng tìm c

procedure Hill_Climbing;

begin

1 u ← m t i t ng ban u nào óộ đố ượ đầ đ ;

2 if cost(v) > cost(u) then u ← v else stop;

end;

T i u đ a ph ng v t i u to n c c ố ư ị ươ à ố ư à ụ

Rõ r ng l , khi thu t toán leo i d ng l i t i i t ng u*, thì giá c a nó cost(u*)à à ậ đồ ừ ạ ạ đố ươ ủ

l n h n giá c a t t c các i t ng n m trong lân c n c a t t c các i t ng trênớ ơ ủ ấ ả đố ượ ằ ậ ủ ấ ả đố ượ

ng i t i t ng ban u t i tr ng thái u* Do ó nghi m u* m thu t toán leo i

tìm đượ à t i u a ph ngc l ố ư đị ươ C n nh n m nh r ng không có gì m b o nghi m óầ ấ ạ ằ đả ả ệ đ

l à t i u to n c c ố ư à ụ theo ngh a l cost(u*) l l n nh t trên to n b không gian tìm ki m ĩ à à ớ ấ à ộ ế

nh n c nghi m t t h n b ng thu t toán leo i, ta có th áp d ng l p l i

K t qu c a thu t toán leo i ph thu c r t nhi u v o hình dáng c a ế ả ủ ậ đồ ụ ộ ấ ề à ủ “m t congặ ”

c a h m giá N u m t cong ch có m t s ít c c i a ph ng, thì k thu t leo i sủ à ế ặ ỉ ộ ố ự đạ đị ươ ỹ ậ đồ ẽtìm ra r t nhanh c c i to n c c Song có nh ng v n m m t cong c a h m giá t aấ ự đạ à ụ ữ ấ đề à ặ ủ à ự

nh lông nhím v y, khi ó s d ng k thu t leo i òi h i r t nhi u th i gian.ư ậ đ ử ụ ỹ ậ đồ đ ỏ ấ ề ờ

1.9.2 Tìm ki m gradient ế

Tìm ki m gradient l k thu t tìm ki m leo i tìm giá tr l n nh t (ho c nhế à ỹ ậ ế đồ để ị ớ ấ ặ ỏ

nh t) c a h m kh vi liên t c f(x) trong không gian các vect th c n-chi u Nh ta ãấ ủ à ả ụ ơ ự ề ư đ

bi t, trong lân c n nh c a i m x = (xế ậ đủ ỏ ủ đ ể 1, ,xn), thì h m f t ng nhanh nh t theo h ngà ă ấ ướ

Trang 30

Do ó t t ng c a tìm ki m gradient l t m t i m ta i t i i m lân c n nóđ ư ưở ủ ế à ừ ộ đ ể đ ớ đ ể ở ậtheo h ng c a vect gradient.ướ ủ ơ

Trong th t c trên, ủ ụ α l h ng s d ng nh nh t xác nh t l c a các b c, còn à ằ ố ươ ỏ ấ đị ỉ ệ ủ ướ ε là

h ng s d ng nh xác nh tiêu chu n d ng B ng cách l y các b c ằ ố ươ ỏ đị ẩ ừ ằ ấ ướ đủ nh theoỏ

h ng c a vect gradient chúng ta s tìm ướ ủ ơ ẽ đượ đ ểc i m c c i a ph ng, ó l i m mự đạ đị ươ đ à đ ể à

t i ó ạ đ ∇f = 0, ho c tìm ặ đượ đ ểc i m r t g n vói c c i a ph ng.ấ ầ ự đạ đị ươ

1.9.3 Tìm ki m mô ph ng luy n kim: ế ỏ ệ

Nh ã nh n m nh trên, tìm ki m leo i không m b o cho ta tìm ư đ ấ ạ ở ế đồ đả ả đượcnghi m t i u to n c c ệ ố ư à ụ Để cho nghi m tìm ệ đượ ầ ớ ố ưc g n v i t i u to n c c, ta áp d ng kà ụ ụ ỹthu t leo i l p xu t phát t các i m ậ đồ ặ ấ ừ đ ể đượ ực l a ch n ng u nhiên Bây gi thay cho vi cọ ẫ ờ ệluôn luôn “leo lên iđồ ” xu t phát t các i m khác nhau, ta th c hi n m t s b c ấ ừ đ ể ự ệ ộ ố ướ “t tụ

xu ngố ” nh m thoát ra kh i các i m c c i a ph ng ó chính l t t ng c a kằ ỏ đ ể ự đạ đị ươ Đ à ư ưở ủ ỹthu t tìm ki m mô ph ng luy n kim.ậ ế ỏ ệ

Trong tìm ki m leo i, khi m t tr ng thái u ta luôn luôn i t i tr ng thái t tế đồ ở ộ ạ đ ớ ạ ố

nh t trong lân c n nó Còn bây gi , trong tìm ki m mô ph ng luy n kim, ta ch n ng uấ ậ ờ ế ỏ ệ ọ ẫnhiên m t tr ng thái v trong lân c n u N u tr ng thái v ộ ạ ậ ế ạ được ch n t t h n u (cost(v) >ọ ố ơcost(u)) thì ta i t i v, còn n u không ta ch i t i v v i m t xác su t n o ó Xác su tđ ớ ế ỉ đ ớ ớ ộ ấ à đ ấ

n y gi m theo h m m c a à ả à ũ ủ “ x uđộ ấ ” c a tr ng thái v Xác su t n y còn ph thu c v oủ ạ ấ à ụ ộ àtham s nhi t T Nhi t T c ng cao thì b c i t i tr ng thái x u c ng có kh n ngố ệ độ ệ độ à ướ đ ớ ạ ấ à ả ă

c th c hi n Trong quá trình tìm ki m, tham s nhi t T gi m d n t i không Khi

T g n không, thu t toán ho t ng g n gi ng nh leo i, h u nh nó không th c hi nầ ậ ạ độ ầ ố ư đồ ầ ư ự ệ

b c t t xu ng C th ta xác nh xác su t i t i tr ng thái x u v t u l eướ ụ ố ụ ể đị ấ đ ớ ạ ấ ừ à ∆/T, ây ở đ ∆ =cost(v) - cost(u)

Sau ây l th t c mô ph ng luy n kim.đ à ủ ụ ỏ ệ

v ← tr ng thái ạ được ch n nh u nhiên trong lân c n uọ ẫ ậ ;

if cost(v) > cost(u) then u ← v

else u ← v v i xác su t eớ ấ ∆/T ;

Ngày đăng: 31/07/2014, 12:20

HÌNH ẢNH LIÊN QUAN

Hình 5.1 B ng chân lý c a các k t n i logic ả ủ ế ố - Chương I - Các chiến lược tìm kiếm mù pdf
Hình 5.1 B ng chân lý c a các k t n i logic ả ủ ế ố (Trang 46)
Hình 5.2  B ng chân lý cho công th c (P=>Q)  ả ứ ∧ S - Chương I - Các chiến lược tìm kiếm mù pdf
Hình 5.2 B ng chân lý cho công th c (P=>Q) ả ứ ∧ S (Trang 48)
Hình 5.3 B ng chân lý ch ng minh tính tin c y c a lu t gi i. ả ứ ậ ủ ậ ả - Chương I - Các chiến lược tìm kiếm mù pdf
Hình 5.3 B ng chân lý ch ng minh tính tin c y c a lu t gi i. ả ứ ậ ủ ậ ả (Trang 52)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w