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

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

Đ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

http://blogthuthuat.com 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ể ễ ấ ề ạ 1.2 Các chi n l c tìm ki mế ượ ế 1.3 Các chi n l c tìm ki m mùế ượ ế 1.3.1 Tìm ki m theo b r ngế ề ộ 1.3.2 Tìm ki m theo sâuế độ 1.3.3 Các tr ng thái l pạ ặ 1.3.4 Tìm ki m sâu l pế ặ 1.4 Quy v n v các v n con. Tìm ki m trên th v /ho cấ đề ề ấ đề ế đồ ị à ặ 1.4.1 Quy v n v các v n conấ đề ề ấ đề 1.4.2 th v /ho cĐồ ị à ặ 1.4.3 Tìm ki m trên th v /ho cế đồ ị à ặ 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à đ à ế ệ 2.2 Tìm ki m t t nh t - u tiênế ố ấ đầ 2.3 Tìm ki m leo iế đồ 2.4 Tìm ki m beamế 1.2 Ch ng III - Các chi n l c tìm ki m t i uươ ế ượ ế ố ư 3.1 Tìm ng i ng n nh tđườ đ ắ ấ 3.1.1 Thu t toán A*ậ 3.1.2 Thu t toán tìm ki m Nhánh-v -C nậ ế à ậ 1.2.1 3.2 Tìm i t ng t t nh tđố ượ ố ấ 1.2.1.1 3.2.1 Tìm ki m leo iế đồ 3.2.2 Tìm ki m gradientế 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ầ ứ à ậ ậ Đinh Mạnh Tường Trang 1 http://blogthuthuat.com Đinh Mạnh Tường Trang 2 inh M nh T ngĐ ạ ườ Giáo trình Trí tu Nhân t oệ ạ Khoa CNTT - i H c Qu c Gia H N iĐạ ọ ố à ộ http://blogthuthuat.com 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đề à ậ ễ ườ ợ à ụ ủ à ộ ứ (m t dãy các lu t suy di n c áp d ng) c a n công th c m ta c n ch ngộ ậ ễ đượ ụ đểđượ đư đế ứ à ầ ứ minh. Trong các l nh v c nghiên c u c a ĩ ự ứ ủ Trí Tu Nhân T oệ ạ , chúng ta th ng xuyênườ ph i i u v i v n tìm ki m. c bi t trong l p k ho ch v h c máy, tìm ki mả đố đầ ớ ấ đề ế Đặ ệ ậ ế ạ à ọ ế óng vai trò quan tr ng.đ ọ 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ô.ơ ườ ẳ ạ ờ ờ ướ ờ Đinh Mạnh Tường Trang 3 http://blogthuthuat.com 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ướ đ ợ ệ à ộ ử ế đổ ộ ả ố à ờ à ộ ả hu ng khác.ố Nh v y mu n bi u di n m t v n trong không gian tr ng thái, ta c n xác như ậ ố ể ễ ộ ấ đề ạ ầ đị các y u t sau:ế ố • Tr ng thái ban u.ạ đầ • M t t p h p các toán t . Trong ó m i toán t mô t m t h nh ng ho c m tộ ậ ợ ử đ ỗ ử ả ộ à độ ặ ộ phép bi n i có th a m t tr ng thái t i m t tr ng thái khác.ế đổ ểđư ộ ạ ớ ộ ạ 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 (u 0 ∈ 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à ộ ạ nh kh p n i trên U.đị ắ ơ • M t t p h p T các tr ng thái k t thúc (tr ng thái ích). T l t p con c a khôngộ ậ ợ ạ ế ạ đ à ậ ủ gian U. Trong v n c a du khách trên, ch có m t tr ng thái ích, ó l th nh ph B.ấ đề ủ ỉ ộ ạ đ đ à à ố Nh ng trong nhi u v n (ch ng h n các lo i c ) có th có nhi u tr ng thái ích v taư ề ấ đề ẳ ạ ạ ờ ể ề ạ đ à không th xác nh tr c c các tr ng thái ích. Nói chung trong ph n l n các v nể đị ướ đượ ạ đ ầ ớ ấ hay, ta ch có th mô t các tr ng thái ích l các tr ng thái th a mãn m t s i uđề ỉ ể ả ạ đ à ạ ỏ ộ ố đề ki n n o ó.ệ à đ Đinh Mạnh Tường Trang 4 http://blogthuthuat.com 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 ià ạ đ ừ đỉ ớ đỉ đ ộ đườ đ trong 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ạ ể ễ ố ạ đ ế ứ ọ Đinh Mạnh Tường Trang 5 http://blogthuthuat.com 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 .đượ ề ơ ố ệ ế ầ ế đị à ạ ủ ấ đề ở ây ta không c n phân bi t các nh tri u phú v các tên c p, m ch s l ng c a hđ ầ ệ à ệ à ướ à ỉ ố ượ ủ ọ bên b sông l quan tr ng. bi u di n các tr ng thái, ta s d ng b ba (a, b, k),ở ờ à ọ Để ể ễ ạ ử ụ ộ trong ó a l s tri u phú, b l s k c p bên b t ng n v o các th i i m mđ à ố ệ à ố ẻ ướ ở ờ ả ạ à ờ để à thuy n b n y ho c b kia, k = 1 n u thuy n b t ng n v k = 0 n u thuy n bề ở ờ à ặ ờ ế ề ở ờ ả ạ à ế ề ở ờ h u ng n. Nh v y, không gian tr ng thái cho b i toán tri u phú v k c p c xácữ ạ ư ậ ạ à ệ à ẻ ướ đượ nh nh sau:đị ư • Tr ng thái ban u l (3, 3, 1).ạ đầ à • Các toán t . Có n m toán t t ng ng v i h nh ng thuy n ch qua sông 1ử ă ử ươ ứ ớ à độ ề ở tri u phú, ho c 1 k c p, ho c 2 tri u phú, ho c 2 k c p, ho c 1 tri u phú v 1 kệ ặ ẻ ướ ặ ệ ặ ẻ ướ ặ ệ à ẻ c p.ướ • Tr ng thái k t thúc l (0, 0, 0).ạ ế à 1.5 Các chi n l c tìm ki mế ượ ế Nh ta ã th y trong m c 1.1, gi i quy t m t v n b ng tìm ki m trongư đ ấ ụ để ả ế ộ ấ đề ằ ế không gian tr ng thái, u tiên ta c n tìm d ng thích h p mô t các tr ng thái c u v nạ đầ ầ ạ ợ ả ạ ả ấ . Sau ó c n xác nh:đề đ ầ đị • Tr ng thái ban u.ạ đầ • T p các toán t .ậ ử • T p T các tr ng thái k t thúc. (T có th không c xác nh c th g m cácậ ạ ế ể đượ đị ụ ể ồ tr ng thái n o m ch c ch nh b i m t s i u ki n n o ó).ạ à à ỉ đượ ỉ đị ở ộ ốđ ề ệ à đ Gi s u l m t tr ng thái n o ó v R l m t toán t bi n i u th nh v. Ta s g iả ử à ộ ạ à đ à à ộ ử ế đổ à ẽ ọ v l tr ng thái k u, ho c v c sinh ra t tr ng thái u b i toán t R. Quá trình áp d ngà ạ ề ặ đượ ừ ạ ở ử ụ các toán t sinh ra các tr ng thái k u c g i l phát tri n tr ng thái u. Ch ng h n,ửđể ạ ề đượ ọ à ể ạ ẳ ạ trong b i toán toán s , phát tri n tr ng thái ban u (hình 2 bên trái), ta nh n c baà ố ể ạ đầ ậ đượ tr ng thái k (hình 1.3).ạ ề Khi chúng ta bi u di n m t v n c n gi i quy t thông qua các tr ng thái v cácể ễ ộ ấ đề ầ ả ế ạ à toán t thì vi c tìm l i gi i c a v n c quy v vi c tìm ng i t tr ng thái banử ệ ờ ả ủ ấ đềđượ ề ệ đườ đ ừ ạ u t i m t tr ng thái k t thúc n o ó.đầ ớ ộ ạ ế à đ 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.ề ộ à ế độ Đinh Mạnh Tường Trang 6 http://blogthuthuat.com 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:đ ạ ử ụ ựđ ạ để ướ ẫ ự ế trong quá trình phát tri n các tr ng thái, ta s ch n trong s các tr ng thái ch phátể ạ ẽ ọ ố ạ ờ tri n, tr ng thái c ánh giá l t t nh t phát tri n. Do ó t c tìm ki m s nhanhể ạ đượ đ à ố ấ để ể đ ố độ ế ẽ h n. Các ph ng pháp tìm ki m d a v o s ánh giá các tr ng thái h ng d n sơ ươ ế ự à ự đ ạ để ướ ẫ ự tìm ki m g i chung l các ph ng pháp tìm ki m kinh nghi m.ế ọ à ươ ế ệ Nh v y chi n l c tìm ki m c xác nh b i chi n l c ch n tr ng thái ư ậ ế ượ ế đượ đị ở ế ượ ọ ạ để phát tri n m i b c. Trong tìm ki m mù, ta ch n tr ng thái phát tri n theo th tể ở ỗ ướ ế ọ ạ để ể ứ ự m úng c sinh ra; còn trong tìm ki m kinh nghi m ta ch n tr ng thái d a v o sà đ đượ ế ệ ọ ạ ự à ự ánh giá các tr ng thái.đ ạ Cây tìm ki mế Đinh Mạnh Tường Trang 7 http://blogthuthuat.com 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átự đượ ộ à đ ủ ươ ứ ớ ạ ư đượ tri 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 cử ụ để ư ạ đ đượ à ờ đượ phá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 ngể ụ ủ ế ạ à đườ đ ừ ạ thá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 ng i, à để ư ạ ủ ỗ đỉ đườ đ father(v) = u n u cha c a nh v lế ủ đỉ à u. 1.6.1 Tìm ki m theo b r ngế ề ộ Thu t toán tìm ki m theo b r ng c mô t b i th t c sau:ậ ế ề ộ đượ ả ở ủ ụ procedure Breadth_First_Search ; begin 1. Kh i t o danh sách L ch ch a tr ng thái ban u;ở ạ ỉ ứ ạ đầ 2. loop do 2.1 if L r ngỗ then { thông báo tìm ki m th t b iế ấ ạ ; stop}; Đinh Mạnh Tường Trang 8 http://blogthuthuat.com 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 { thông báo tìm ki m thành côngế ; stop}; 2.4 for m i tr ng thái v k uỗ ạ ề do { t v vào cu i danh sách LĐặ ố ; father(v) <- u } end; 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đ ậ ế ề ộ ẽ ệ đồ ờ đườ đ c s l ng n nh t. Trong tr ng h p b i toán vô nghi m v không gian tr ng tháiđượ ẽ à ắ ấ ườ ợ à ệ à ạ h u h n, thu t toán s d ng v cho thông báo vô nghi m.ữ ạ ậ ẽ ừ à ệ ánh giá tìm ki m theo b r ngĐ ế ề ộ 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:à à ậ đ ỏ đượ ả sâu dĐộ Th i gianờ Không gian 4 11 giây 1 megabyte 6 18 giây 111 megabytes 8 31 giờ 11 gigabytes 10 128 ng yà 1 terabyte 12 35 n mă 111 terabytes 14 3500 n mă 11.111 terabytes Đinh Mạnh Tường Trang 9 http://blogthuthuat.com 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 ướ ủ ậ ế ề ộ ầ ử ạ à Đặ à uđầ danh 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,độ ũ ệ ế à ệ à ạ ữ ạ thì thu t toán tìm ki m theo sâu s tìm ra nghi m. Tuy nhiên, trong tr ng h pậ ế độ ẽ ệ ườ ợ không gian tr ng thái vô h n, thì có th nó không tìm ra nghi m, lý do l ta luôn luônạ ạ ể ệ à i xu ng theo sâu, n u ta i theo m t nhánh vô h n m nghi m không n m trê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ể đỉ đỉ ớ ộ đỉ à đ ằ ng i d n t i u.đườ đ ẫ ớ 3. Không sinh ra các nh m nó ã c sinh ra, t c l ch sinh ra các nh m i.đỉ à đ đượ ứ à ỉ đỉ ớ Hai gi i pháp u d c i t v không t n nhi u không gian nh , tuy nhiên cácả đầ ễ à đặ à ố ề ớ gi i pháp n y không tránh c h t các tr ng thái l p.ả à đượ ế ạ ặ Đinh Mạnh Tường Trang 10 [...]... 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... nghiệm Đinh Mạnh Tường Trang 18 http://blogthuthuat.com Chương II Các chiến lược tìm kiếm kinh nghiệm -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... 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 i chung 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. .. 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 • 1.8 Tìm kiếm bắt chước sự tiến hóa: thuật toán di truyền 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... ngư i Trong chương này chúng ta sẽ xét các vấn đề sau đây: • Ch i cờ có thể xem như vấn đề tìm kiếm trong không gian trạng th i • Chiến lược tìm kiếm nước i Minimax • Phương pháp cắt cụt - , một kỹ thuật để tăng hiệu quả của tìm kiếm Minimax 1.11 Cây trò ch i và tìm kiếm trên cây trò ch i Trong chương này chúng ta chỉ quan tâm nghiên c ứu các trò ch i có hai ng ư i tham gia, chẳng hạn các lo i cờ... vì cây tìm kiếm th ường r ất l ớn, việc tìm ra tất cả các đường i có thể có đ i h i rất nhiều th i gian Do đó ch ỉ có m ột cách tăng hiệu quả tìm kiếm là sử dụng các hàm đánh giá đề hướng dẫn sử tìm ki ếm Các phương pháp tìm kiếm đường i ngắn nhất mà chúng ta sẽ trình b ày đều l à các phương pháp tìm kiếm heuristic Giả sử u là một trạng th i đạt t i (có dường i từ trạng th i ban đầu u 0 t i u) Ta... Chương III Các chiến lược tìm kiếm t i ưu 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... 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á... đượ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 ể... 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" . 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 ễ ấ ề ạ 1.2 Các chi n l c tìm ki mế ượ. kinh nghi mà đ à ế ệ 2.2 Tìm ki m t t nh t - u tiênế ố ấ đầ 2.3 Tìm ki m leo i đồ 2.4 Tìm ki m beamế 1.2 Ch ng III - Các chi n l c tìm ki m t i uươ ế ượ ế ố ư 3.1 Tìm ng i ng n nh tđườ đ ắ ấ 3.1.1. ấ ị ể 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 ế đồ

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

Từ khóa liên quan

Mục lục

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

  • 1.2 Chương III - Các chiến lược tìm kiếm tối ưu

    • 1.2.1 3.2 Tìm đối tượng tốt nhất

      • 1.2.1.1 3.2.1 Tìm kiếm leo đồi

      • 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ủ

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

      • 1.5 Các chiến lược tìm kiếm

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

        • 1.6.1 Tìm kiếm theo bề rộng

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

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

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

        • 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:

          • 1.7.2 Đồ thị và/hoặc

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

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

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

          • Tìm kiếm leo đồi:

          • Tìm kiếm beam

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

            • 1.8.1 Thuật toán A*

            • 1.8.2 Thuật toán tìm kiếm nhánh-và-cận.

            • 1.9 Tìm đối tượng tốt nhất

              • 1.9.1 Tìm kiếm leo đồi

Tài liệu cùng người dùng

Tài liệu liên quan