1 / 58

Chöông 2 : Caùc Phöông Phaùp Giaûi Quyeát Vaán Ñeà Cô Baûn

Chöông 2 : Caùc Phöông Phaùp Giaûi Quyeát Vaán Ñeà Cô Baûn. Chöông naøy goàm coù : Bieåu dieãn khoâng gian traïng thaùi cuûa baøi toùan. Chieán löôïc tìm kieám treân khoâng gian traïng thaùi. Phöông phaùp tìm kieám thaêm doø. Phöông phaùp tìm kieám Heuristics.

selma
Download Presentation

Chöông 2 : Caùc Phöông Phaùp Giaûi Quyeát Vaán Ñeà Cô Baûn

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chöông 2 : Caùc Phöông Phaùp Giaûi Quyeát Vaán Ñeà Cô Baûn Chöông naøy goàm coù : Bieåu dieãn khoâng gian traïng thaùi cuûa baøi toùan. Chieán löôïc tìm kieám treân khoâng gian traïng thaùi. Phöông phaùp tìm kieám thaêm doø. Phöông phaùp tìm kieám Heuristics. Baøi toùan thoûa maõn raøng buoäc.

  2. Bieåu Dieãn Khoâng Gian Traïng Thaùi Cuûa Baøi • Tri thöùc cuûa baøi toùan goàm coù ba loïai tri thöùc cô baûn ñoù laø tri thöùc moâ taû, tri thöùc thuû tuïc vaø tri thöùc ñieàu khieån. • Tri thöùc thuû tuïc moâ taû toång quaùt caùch giaûi baøi toùan thöôøng ñöôïc theå hieän döôùi daïng luaät IF <Conditions> Then <Conclusion> • Moät baøi toùan coù nhieàu tình huoáng caàn phaûi ñöôïc giaûi quyeát. • Ñeå giaûi quyeát moãi tình huoáng, moät luaät If-Then hôïp leä caàn phaûi ñöôïc thieát laäp. • Taäp taát caû caùc luaät If-Then hôïp leä moâ taû toång quaùt caùch giaûi quyeát taát caû moïi tình huoáng cuûa baøi toùan ñaët ra ñöôïc goïi laø tri thöùc thuû tuïc cuûa baøi toùan.

  3. Khoâng gian traïng thaùi cuûa baøi toùan laø aån chöùa taát caùc traïng thaùi ñöôïc phaùt sinh bôûi taát caû caùc luaät vôùi veá traùi hôïp vôùi traïng thaùi hieän haønh vaø veá phaûi phaùt sinh ra traïng thaùi môùi baèng caùch queùt thoâng qua taäp caùc luaät moâ taû toång quaùt caùch giaûi baøi toùan baét ñaàu töø traïng thaùi ban ñaàu cuûa baøi toùan vaø keát thuùc taïi moät hoaëc nhieàu traïng thaùi ñoù laø traïng thaùi ñích cuûa baøi toùan. • Veà maët topo hình hoïc, khoâng gian traïng thaùi cuûa baøi toùan coù theå ñöôïc bieåu dieãn baèng ñoà thò ñònh höôùng (V, E) nhö hình veõ

  4. Traïng thaùi ban ñaàu Cung Nuùt Traïng thaùi ñích

  5. Trong ñoù V laø taäp nuùt vaø E laø taäp cung töông öùng vôùi tri thöùc moâ taû cuûa baøi toùan. • Nuùt : töông öùng vôùi moät traïng thaùi trong khoâng gian traïng thaùi cuûa baøi toùan. • Cung : töông öùng vôùi moät luaät öùng duïng chuyeån tieáp töø nuùt naøy ñeán nuùt khaùc. • Luaät öùng duïng laø luaät maø veá traùi cuûa noù hôïp vôùi traïng thaùi hieän haønh vaø veá phaûi taïo ra moät traïng thaùi môùi. • Nuùt cha vaø nuùt con : Moät nuùt phaùt sinh ra moät nuùt khaùc baèng luaät öùng duïng, nuùt ñoù ñöôïc goïi nuùt cha vaø nuùt khaùc ñöôïc goïi laø nuùt con.

  6. Nuùt toå tieân vaø nuùt con chaùu : Nuùt cha hoaëc cao hôn ñöôïc goïi laø caùc nuùt toå tieân vaø caùc nuùt thöøa keá cuûa nuùt cha ñöôïc goïi laø caùc nuùt con chaùu. • Nuùt môû roäng : Nuùt phaùt sinh ra taát caû caùc con cuûa noù baèng caùc luaät öùng duïng, nuùt ñoù ñöôïc goïi laø nuùt môû roäng. • Ñöôøng lôøi giaûi : laø ñöôøngchöùa moät daõy noái tieáp cuûa caùc traïng thaùi thoâng qua ñoà thò khoâng gian traïng thaùi baét ñaàu töø traïng thaùi ban ñaàu ñeán traïng thaùi ñích. • Khoâng gian traïng thaùi tìm kieám : laø quaù trìm tìm kieám lôøi giaûi thoâng qua khoâng gian traïng thaùi baèng caùch laøm hieån thò moät phaàn ñoà thò cuûa khoâng gian traïng thaùi aån. • Giaù chi phí cuûa ñöôøng lôøi giaûi : laø toång cuûa caùc giaù chi phí cuûa caùc cung treân ñöôøng lôøi giaûi.

  7. Ví duï 1: Xeùt baøi toùan bình ñöïng nöôùc. • Cho hai bình ñöïng nöôùc, moät bình coù dung tích 4 lít vaø moät bình khaùc coù dung tích 3 lít, caû hai bình khoâng coù daáu dung tích. • Traïng thaùi ban ñaàu cuûa hai bình laø roãng, duøng moät bôm nöôùc laøm ñaày nöôùc vôùi hai bình. Laøm caùch naøo ñeå coù chính xaùc 2 lít nöôùc trong bình 4 lít ? • Khoâng gian traïng thaùi cho baøi toùan bình ñöïng nöôùc ñònh nghóa nhö sau : • Traïng thaùi baøi toùan : ñöôïc moâ taû baèng taäp cuûa caùc caëp soá nguyeân (x, y), trong ñoù • x = 0, 1, 2, 3, hoaëc 4 bieåu dieãn soá lít nöôùc trong bình 4, • y = 0, 1, 2, hoaëc 3 bieåu dieãn soá lít nöôùc trong bình 3.

  8. Traïng thaùi ban ñaàu : hai bình roãng vôùi caëp soá nguyeân laø (0, 0). • Traïng thaùi ñích : Caàn chính xaùc 2 lít nöôùc trong bình 4 lít (2,n), trong ñoù n laø soá khoâng xaùc ñònh. • Traïng thaùi chuyeån tieáp ( luaät öùng duïng) : thoâng qua taäp caùc luaät If-Then hôïp leä moâ taû toång quaùt caùch giaûi baøi toùan bình ñöïng nöôùc ñöôïc thieát laäp laø • Luaät 1 : (x,y/ x < 4 )  (4,y). • Luaät 2 : (x,y/ y < 3 )  (x,3). • Luaät 3 : (x,y/ x > 0 )  (0,y). • Luaät 4 : (x,y/ y > 0 )  (x,0). • Luaät 5 : (x,y/ x + y >= 4 vaø y > 0 )  (4,y – (4 – x)). • Luaät 6 : (x,y/ x + y >= 3 vaø x > 0 )  (x – (3 –y),3). • Luaät 7 : (x,y/ x + y < 4 vaø y > 0 )  (x + y,0). • Luaät 8 : (x,y/x + y < 3 vaø x > 0 )  (0,x + y)

  9. Khoâng gian traïng thaùi cuûa baøi toùan bình ñöïng nöôùc ñöôïc bieåu dieãn baèng ñoà thò nhö hình (0,0) 2 1 (0,3) (4,0) 7 1 2 6 4 (4,3) 3 (1,3) (4,3) (3,0) (0,0) (0,0) (2,3) Solution

  10. Ví duï 2 : Xeùt baøi toùan troø chôi 8 soá. • Baøi toùan troø chôi 8 soá nhö moät caùi maâm hình vuoâng coù ba haøng vaø ba coät goàm 9 oâ, trong ñoù 8 oâ chöùa 8 vieân ngoùi coù ñaùnh soá töø 1 ñeán 8 vaø oâ coøn laïi laø oâ troáng vôùi caáu hình nhö hình . • Baøi toùan ñaët ra laø tröôït caùc vieân ngoùi ñeán oâ troáng keà noù, khoâng ñöôïc pheùp tröôït theo ñöôøng cheùo sao cho caáu hình traïng thaùi ban ñaàu ñaït ñeán caáu hình traïng thaùi ñích cuûa baøi toùan. Initial state Goal state

  11. Khoâng gian traïng thaùi cuûa baøi toùan naøy ñöôïc ñònh nghóa nhö sau : • Traïng thaùi baøi toùan : caáu hình maûng hai chieàu 33 chöùa caùc vieân ngoùi moâ taû caùc traïng thaùi trong khoâng gian baøi toùan. • Traïng thaùi ban ñaàu : caáu hình maûng hai chieàu 33 chöùa caùc vieân ngoùi coù ñaùnh soá cho tröôùc. • Traïng thaùi ñích : caáu hình maûng hai chieàu 33 chöùa caùc vieân ngoùi coù ñaùnh soá cho tröôùc. • Traïng thaùi chuyeån tieáp : thoâng qua caùc luaät hôïp leä nhö tröôït vieân ngoùi ñi leân, tröôït vieân ngoùi ñi xuoáng , tröôït vieân ngoùi sang traùi  hoaëc tröôït vieân ngoùi sang phaûi . • Khoâng gian traïng thaùi cho baøi toùan troø chôi 8 soá ñöôïc bieåu dieãn baèng ñoà thò nhö hình

  12. Ví duï 3 : Xeùt baøi toùan ba tu só vaø ba keû aên thòt ngöôøi. • Ba tu só vaø ba keû aên thòt ngöôøi ôû beân naøy soâng muoán qua beân kia soâng baèng moät chieác thuyeàn coù söùc chôû toái ña laø 2 thaønh vieân. • Baøi toùan ñaët ra laø ôû baát kyø nôi naøo beân naøy soâng, treân thuyeàn hoaëc beân kia soâng, neáu soá tu só ít hôn soá keû aên thòt ngöôøi thì soá tu só seõ bò aên thòt bôûi soá keû aên thòt ngöôøi. • Haõy saép xeáp caùc chuyeán thuyeàn qua laïi soâng sao cho ñöa moïi ngöôøi sang beân kia soâng an toøan ? • Khoâng gian traïng thaùi cuûa baøi toùan naøy ñöôïc ñònh nghóa nhö sau :

  13. Traïng thaùi baøi toùan : Caáu hình soá tu só, soá keû aên thòt ngöôøi ôû beân naøy soâng hoaëc beân kia soâng. • Traïng thaùi ban ñaàu : Taát caû moïi ngöôøi vaø thuyeàn ôû beân naøy soâng vôùi caáu hình laø (MMM, CCC, B), trong ñoù M laø tu só, C laø keû aên thòt ngöôøi vaø B laø thuyeàn. • Traïng thaùi ñích : Taát caû moïi ngöôøi vaø thuyeàn ñeàu ñöôïc qua beân kia kia soâng an toøan, vì theá caáu hình ñích beân naøy soâng laø (_, _, _). • Raøng buoäc : Soá tu só phaûi laø luoân luoân lôùn hôn hoaëc baèng soá keû aên thòt ngöôøi ôû baát cöù nôi naøo beân naøy soâng, treân thuyeàn hoaëc beân kia soâng. • Traïng thaùi chuyeån tieáp : dòch chuyeån thuyeàn ñöa moät vaøi thaønh vieân qua laïi soâng. • Baøi toùan ñöôïc giaûi vôùi caùc chuyeán thuyeàn qua laïi soâng nhö hình

  14. (_ _ _,_ _ _,_) (MMM,CCC,B) (MMM,C_ _,_) (_ _ _,CC _,B) (_ _ _,C_ _,_) (MMM,CC _,B) (_ _ _,CCC,B) (MMM,_ _ _,_) (_ _ _,CC_,_) (MMM,C _ _,B) (M_ _,C _ _,_) (MM _,CC_,B) (MM _,CC _,B) (M_ _,C_ _,_) (_ _ _,CC _,_) (MMM,C_ _,B) (_ _ _,CCC_,B) (MMM,__ _,_) (_ _ _,C_ _,_) (MMM,CC _,B) (_ _ _,CC _,B) (MMM,C_ _,_) (MMM,CCC,B) (_ _ _,_ _ _,_)

  15. Chieán Löôïc Tìm Kieám Treân Khoâng Gian Traïng Thaùi Cuûa Baøi Toùan • Phöông phaùp giaûi baøi toùan trong lónh vöïc trí tueä nhaân taïo laø kyõ thuaät tìm kieám xaây döïng ñöôøng lôøi giaûi thoâng qua khoâng gian traïng thaùi cuûa baøi toùan. • Coù hai chieán löôïc tìm kieám treân khoâng gian traïng thaùi cuûa baøi toùan ñoù laø chieán löôïc tìm kieám suy dieãn tieán vaø chieán löôïc tìm kieám suy dieãn luøi. Chieán Löôïc Tìm Kieám Suy Dieãn Tieán : • Chieán löôïc tìm kieám suy tieán hay coøn ñöôïc goïi laø lyù giaûi suy dieãn tieán. • Vôùi chieán löôïc naøy, höôùng tìm kieám baét ñaàu töø döõ lieäu ban ñaàu cuûa baøi toùan thoâng qua khoâng gian traïng thaùi thaùi daãn veà ñích cuûa baøi toùan. • Thuû tuïc tìm kieám vôùi chieán löôïc naøy tieán haønh thöïc hieän caùc böôùc nhö sau :

  16. Baét ñaàu xaây döïng moät hình caây vôùi traïng thaùi ban ñaàu cuûa baøi toùan laø goác cuûa caây. • Phaùt sinh möùc keá theo cuûa caây baèng caùch öùng duïng taát caû caùc luaät vôùi caùc veá traùi hôïp vôùi nuùt goác vaø caùc veá phaûi phaùt sinh ra caùc traïng thaùi môùi. • Phaùt sinh möùc keá theo baèng caùch laáy moãi nuùt ñaõ phaùt sinh ôû möùc tröôùc, aùp duïng taát caû caùc luaät vôùi caùc veá traùi hôïp vôùi noù vaø caùc veá phaûi taïo ra caùc traïng thaùi môùi. • Thuû tuïc naøy ñöôïc laëp laïi cho ñeán khi traïng thaùi ñích ñöôïc tìm thaáy. Ví duï : Lyù giaûi suy dieãn tieán giaûi baøi toùan bình ñöïng nöôùc, thöïc hieän caùc theo sau : • Xaây döïng moät hình caây vôùi traïng thaùi ban ñaàu (0,0) laø goác cuûa caây.

  17. Phaùt sinh möùc keá theo söû duïng luaät 1 vaø luaät 2 vôùi caùc veá traùi hôïp vôùi traïng thaùi (0,0) vaø caùc veá phaûi phaùt sinh ra caùc traïng thaùi môùi (4,0) vaø (0,3). • Ñeå phaùt sinh ra möùc keá theo baèng caùch laáy moãi nuùt ñaõ phaùt sinh ôû möùc tröôùc nhö (4,0) vaø (0,3 ) öùng duïng, choïn caùc luaät vôùi caùc veá traùi hôïp vôùi caùc nuùt naøy vaø caùc veá phaûi phaùt sinh ra caùc nuùt môùi. • Taïi nuùt (4, 0), choïn caùc luaät 2, 3, vaø 6 vôùi caùc veá traùi hôïp vôùi traïng thaùi naøy vaø caùc veá phaûi phaùt sinh ra caùc nuùt môùi nhö (4, 3), (0, 0) vaø (1,3). • Taïi nuùt (0, 3), choïn caùc luaät 1, 4, vaø 7 vôùi caùc veá traùi hôïp vôùi nuùt naøy vaø caùc veá phaûi phaùt sinh ra caùc nuùt môùi nhö (4,3), (0,0) vaø (3,0). • Thuû tuïc naøy ñöôïc laëp laïi cho caùc möùc môùi hôn cho ñeán khi naøo traïng thaùi ñích (2,n) xuaát hieän thì döøng.

  18. Lyù giaûi suy dieãn tieán giaûi baøi toùan bình ñöïng nöôùc ñöôïc minh chöùng nhö hình (0,0) 1 2 (4,0) (0,3) 2 6 7 1 3 4 (4,3) (0,0) (1,3) (4,3) (0,0) (3,0) Goal Stop (2,n)

  19. Chieán Löôïc Tìm Kieám Suy Dieãn Luøi : • Chieán löôïctìm kieám suy dieãn luøi coøn ñöôïc goïi laø lyù giaûi suy dieãn luøi. • Thuû tuïc tìm kieám baét ñaàu töø traïng thaùi ñích cuûa baøi toùan tìm kieám thoâng qua khoâng gian traïng thaùi ñeå ñaït ñeán traïng thaùi ban ñaàu cuûa baøi toùan. • Thuû tuïc tieán haønh goàm caùc böôùc nhö sau : • Baét ñaàu xaây döïng moät hình caây vôùi traïng thaùi ñích laø goác cuûa caây. • Phaùt sinh möùc keá theo cuûa caây baèng caùch tìm taát caû caùc luaät maø caùc veá phaûi cuûa chuùng hôïp vôùi traïng thaùi ñích vaø caùc veá traùi phaùt sinh ra caùc nuùt môùi. • Phaùt sinh möùc keá theo cuûa caây baèng caùch laáy moãi nuùt ñaõ phaùt sinh ôû möùc tröôùc, choïn taát caû caùc luaät vôùi caùc veá phaûi hôïp vôùi nuùt vaø caùc veá traùi phaùt sinh ra caùc nuùt môùi. • Tieáp tuïc cho ñeán khi traïng thaùi ban ñaàu ñöôïc tìm thaáy.

  20. Ví duï : Chieán löôïc tìm kieám suy dieãn luøi giaûi baøi toùan bình ñöïng nöôùc tieán haønh caùc böôùc nhö sau : • Xaây döïng moät hình caây vôùi traïng thaùi ñích (2,0) laø goác cuûa caây. • Phaùt sinh möùc keá theo choïn caùc luaät 4 vaø 7 vôùi veá phaûi hôùp vôùi traïng thaùi ñích (2,0) vaø veá caùc veá traùi phaùt sinh caùc traïng thaùi môùi (2,3) vaø (0,2). • Phaùt sinh möùc keá theo cuûa caây baèng caùch laáy moãi nuùt ñaõ phaùt sinh ôû möùc tröôùc nhö (2,3) vaø (0,2), choïn taát caû caùc luaät maø caùc veá phaûi cuûa noù hôïp vôùi moãi nuùt naøy vaø caùc veá traùi phaùt sinh ra caùc nuùt môùi. • Taïi nuùt (2,3), caùc luaät 2 vaø 6 vôùi caùc veá phaûi hôïp vôùi nuùt naøy vaø caùc veá traùi phaùt sinh ra caùc nuùt môùi nhö (2,1) vaø (4,1). • Taïi nuùt (0,2), caùc luaät 3 vaø 8 vôùi caùc veá phaûi hôïp vôi nuùt naøy vaø caùc veá traùi phaùt sinh ra caùc nuùt môùi nhö (4,2) vaø (1,1). • Tieáp tuïc cho ñeán khi traïng thaùi ban ñaàu (0,0) ñöôïc phaùt sinh.

  21. Chieán löôïc tìm kieám suy dieãn luøi giaûi baøi toùan bình ñöïng nöôùc ñöôïc daãn chöùng baèng caây nhö hình (2,0) 7 4 (2,3) 8 2 6 3 (2,1) (4,1) (4,2) (1,1) (0,0) Initial state Stop

  22. Phöông Phaùp Tìm Kieám Thaêm Doø Giaûi Thuaät Tìm Kieám Theo Chieàu Roäng : • Giaûi thuaät tìm lôøi giaûi cuûa baøi toùan baèng caùch tìm kieám thaêm doø thoâng qua khoâng gian traïng thaùi möùc theo möùc. • Giaûi thuaät baét ñaàu quaù trình tìm kieám taïi traïng thaùi ban ñaàu, môû roäng traïng thaùi naøy ñeå phaùt sinh ra taát caû caùc nuùt con baèng caùch öùng duïng taát caû caùc luaät öùng duïng vôùi nuùt naøy. • Giaûi thuaät tìm kieám taát caû caùc nuùt ôû möùc vöøa phaùt sinh. • Giaûi thuaät di chuyeån ñeán möùc keá • Thuû tuïc naøy ñöôïc laëp laïi cho ñeán khi noù gaëp nuùt traïng thaùi ñích.

  23. Giaûi thuaät tìm kieám theo chieàu roäng tìm kieám thaêm doø thoâng qua khoâng gian traïng thaùi möùc theo möùc nhö hình A B C D H I E F G J K L M N O P Q R S T U

  24. Giaûi thuaät tìm kieám thoâng qua khoâng gian traïng thaùi möùc theo möùc vôùi caùc traïng thaùi theo thöù töï laøA, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S,T, U. • Giaûi thuaät söû duïng hai danh saùch OPEN vaø CLOSED, trong ñoù • OPEN : chöùa caùc nuùt ñaõ phaùt sinh nhöng chöa ñöôïc môû roäng ( chöa ñöôïc duyeät qua). • CLOSED : chöùa caùc nuùt ñaõ ñöôïc môû roäng ( ñaõ ñöôïc duyeät qua ) • Hai danh saùch naøy giöõ ñöôøng cho quaù trình tìm kieám thoâng qua khoâng gian traïng thaùi cuûa baøi toùan. • Giaûi thuaät ñöôïc moâ taû chi tieát nhö sau :

  25. Procedure breadth-first-search Begin OPEN := [Start]; CLOSED := [ ]; While OPEN  [ ] do Begin Loïai boû traïng thaùi ñaàu tieân töø danh saùch OPEN, goïi noù laø X; If X = ñích then return (success) Else begin Phaùt sinh taát caû caùc con cuûa X söû duïng caùc luaät öùng duïng vôùi X; Ñaët X vaøo danh saùch CLOSED; Loïai boû taát caû cuûa X ñaõ coù maët treân OPEN hoaëc CLOSED; Ñaët caùc con coøn laïi vaøo cuoái danh saùch OPEN; End End; Return(failure) End.

  26. Giaûi thuaät tìm kieám theo chieàu roäng tìm lôøi giaûi U thaêm doø thoâng qua khoâng gian traïng thaùi cho treân vôùi caùc voøng laëp laø 1. OPEN = [A]; CLOSED = [] 2. OPEN = [B, C, D]; CLOSED = [A] 3. OPEN = [C, D, E, F]; CLOSED = [B, A] 4. OPEN = [D, E, F, G, H]; CLOSED = [C,B, A] 5. OPEN = [E, F, G, H, I, J]; CLOSED = [D, C, B, A] 6. OPEN = [F, G, H, I, J, K, L]; CLOSED = [E, D, C, B, A] 7. OPEN = [G, H, I, J, K, L, M]; CLOSED = [F, E, D, C, B, A] 8. OPEN = [H, I, J, K, L, M, N]; CLOSED = [G, F, E, D, C, B, A] 9. and so on until either U is found or OPEN is empty.

  27. Ví duï :Giaûi thuaät tìm kieám theo chieàu roäng giaûi baøi toùan bình ñöïng nöôùc baèng caây ñöôïc xaây döïng nhö hình (0,0) 2 1 (0,3) (4,0) 7 1 2 6 4 (4,3) 3 (1,3) (4,3) (3,0) (0,0) (0,0) 5 8 3 1 1 2 3 5 4 4 3 (0,3) (3,3) (4,0) (0,0) (4,3) (0,3) (1,0) (4,0) (0,3) (4,0) (4,3) 1 5 3 1 8 4 3 2 (4,3) (0,3) (3,0) (4,2) (4,0) (0,0) (0,1) (1,3) 8 4 1 2 2 3 3 (4,1) (0,3) (0,0) (1,0) (4,3) (0,2) (4,0) 2 6 3 4 (4,3) (0,1) (4,0) (2,3) Solution

  28. Giaûi thuaät giaûi baøi toùan bình ñöïng nöôùc vôùi caùc voøng laëp cho laø Iteration X OPENCLOSED 0 [(0,0)] [ ] 1 (0,0) [(4,0),(0,3)] [(0,0)] 2 (4,0) [(0,3),(4,3),(1,3)] [(4,0),(0,0)] 3 (0,3) [(4,3),(1,3),(3,0)] [(0,3),(4,0),(0,0)] 4 (4,3) [(1,3),(3,0)] [(4,3),(0,3),(4,0),(0,0)] 5 (1,3) [(3,0),(1,0)] [(1,3),(4,3),(0,3),(4,0),(0,0)] 6 (3,0) [(1,0),(3,3)] [(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 7 (1,0) [(3,3),(0,1)] [(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 8 (3,3) [(0,1),(4,2)] [(3,3),(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 9 (0,1) [(4,2),(4,1)] [(0,1),(3,3),(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 10 (4,2) [(4,1),(0,2)] [(4,2),(0,1),(3,3),(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 11 (4,1) [(0,2),(2,3)] [(4,1),(4,2),(0,1),(3,3),(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 12 (0,2) [(2,3),(2,0)] [(0,2),(4,1),(4,2),(0,1),(3,3),(1,0),(3,0),(1,3),(4,3),(0,3),(4,0),(0,0)] 13 X=(2,3) solution Stop.

  29. Giaûi Thuaät Tìm Kieám Theo Chieàu Saâu : • Giaûi thuaät tìm lôøi giaûi cho baøi toùan baèng caùch tìm kieám thaêm doø thoâng qua khoâng gian traïng thaùi cuûa baøi toùan nhaùnh theo nhaùnh cuûa caây. • Giaûi thuaät baét ñaàu duyeät töø traïng thaùi goác cuûa caây, roài thì noù tieáp tuïc duyeät ñeán caùc con, chaùu, chaéc tröôùc khi noù dòch chuyeån qua nhaùnh anh em khaùc cuûa caây. • Giaûi thuaät tìm kieám ñi saâu daàn vaøo khoâng gian traïng thaùi cho ñeán khi noù coøn coù khaû naêng. • Chæ khi naøo khoâng coøn con chaùu, noù dòch chuyeån sang nhaùnh anh em khaùc cuûa caây. • Thuû tuïc ñöôïc laëp laïi cho ñeán khi noù tìm thaáy traïng thaùi ñích.

  30. Giaûi thuaät tìm kieám theo chieàu saâu tìm kieám thaêm doø thoâng qua khoâng gian traïng thaùi nhaùnh theo nhaùnh ñöôïc moâ taû nhö hình A B C D I J H E F G K L M N O P Q R S T U

  31. Giaûi thuaät tìm kieám thaêm doø thoâng qua khoâng gian traïng thaùi cho treân vôùi caùc traïng thaùi theo thöù töï laø A, B, E, K, S, L, T, F, M, C, G, N, H, O, P, U, D, I, Q, J, R. • Gioáng nhö giaûi thuaät tìm kieám theo chieàu roäng, giaûi thuaät tìm kieám theo chieàu saâu söû duïng hai danh saùch OPEN vaø CLOSED ñeå giöõ ñöôøng cuûa quaù trình tìm kieám thoâng qua khoâng gian traïng thaùi cuûa baøi toùan, trong ñoù • OPEN : lieät keâ caùc traïng thaùi ñaõ ñöôïc phaùt sinh nhöng chöa ñöôïc duyeät qua, • CLOSED : lieät keâ caùc traïng thaùi ñaõ ñöôïc duyeät qua ( ñaï ñöôïc môû roäng ). • Giaûi thuaät ñöôïc moâ taû chi tieát nhö sau :

  32. Procedure breadth-first-search Begin OPEN := [Start]; CLOSED := [ ]; While OPEN  [ ] do Begin Loïai boû traïng thaùi ñaàu tieân töø danh saùch OPEN, goïi noù laø X; If X = ñích then return (success) Else begin Phaùt sinh taát caû caùc con cuûa X söû duïng caùc luaät öùng duïng vôùi X; Ñaët X vaøo danh saùch CLOSED; Loïai boû taát caû cuûa X ñaõ coù maët treân OPEN hoaëc CLOSED; Ñaët caùc con coøn laïi vaøo ñaàu danh saùch OPEN; End End; Return(failure) End.

  33. Giaûi thuaät tìm kieám theo chieàu saâu tìm lôøi giaûi U thaêm doø thoâng qua khoâng gian traïng thaùi cho treân vôùi caùc voøng laëp laø 1. OPEN = [A]; CLOSED = [ ] 2. OPEN = [B, C, D]; CLOSED = [A] 3. OPEN = [E, F, C, D]; CLOSED = [B, A] 4. OPEN = [K, L, F, C, D]; CLOSED = [E, B, A] 5. OPEN = [S, L, F, C, D]; CLOSED = [K, E, B, A] 6. OPEN = [L, F, C, D]; CLOSED = [S, K, E, B, A] 7. OPEN = [T, F, C, D]; CLOSED = [L, S, K, E, B, A] 8. OPEN = [F, C, D]; CLOSED = [T, L, S, K, E, B, A] 9. OPEN = [M, C, D]; CLOSED = [F, T, L, S, K, E, B, A] 10. OPEN = [C, D]; CLOSED = [M, F, T, L, S, K, E, B, A] 11. OPEN = [G,H, D]; CLOSED = [C, M, F, T, L, S, K, E, B, A] • And so on until either U is discovered or OPEN is empty.

  34. Ví duï : Giaûi thuaät tìm kieám theo chieàu saâu giaûi baøi toùan bình ñöïng nöôùc ñöôïc moâ taû baèng caây nhö hình (0,0) 2 1 (0,3) (4,0) 2 6 (4,3) 3 (1,3) (0,0) 5 3 1 5 4 4 3 (4,3) (0,3) (1,0) (4,0) (0,3) (4,0) (4,3) 1 8 3 2 (4,0) (0,0) (0,1) (1,3) 8 1 2 3 (4,1) (0,3) (0,0) (1,0) 2 6 3 4 (4,3) (0,1) (4,0) (2,3) Solution

  35. Giaûi thuaät giaûi baøi toùan bình ñöïng nöôùc vôùi caùc voøng laëp ñöôïc cho laø Iteration X OPENCLOSED 0 [(0,0)] [ ] 1 (0,0) [(4,0),(0,3)] [(0,0)] 2 (4,0) [(4,3),(1,3),(0,3)] [(4,0),(0,0)] 3 (4,3) [(1,3),(0,3)] [(4,3),(4,0),(0,0)] 4 (1,3) [(1,0),(0,3)] [(1,3),(4,3),(4,0),(0,0)] 5 (1,0) [(0,1),(0,3)] [(1,0),(1,3),(4,3),(4,0),(0,0)] 6 (0,1) [(4,1),(0,3)] [(0,1),(1,0),(1,3),(4,3),(4,0),(0,0)] 7 (4,1) [(2,3),(0,3)] [(4,1),(0,1),(1,0),(1,3),(4,3),(4,0),(0,0)] 8 (2,3) Solution Stop.

  36. Gæai Thuaät Tìm Kieám Truyeàn Luøi : • Giaûi thuaät tìm kieám thaêm doø lôøi giaûi cho baøi toùan thoâng qua khoâng gian traïng thaùi cuûa baøi toùan gioáng nhö caùch tìm kieám cuûa giaûi thuaät tìm kieám theo chieàu saâu. • Giaûi thuaät xaây döïng daõy noái tieáp cuûa taát caû caùc traïng thaùi treân ñöôøng lôøi giaûi baét ñaàu töø traïng thaùi ban ñaàu thoâng qua khoâng gian traïng thaùi ñeán traïng thaùi ñích cuûa baøi toùan. • Giaûi thuaät söû duïng 3 danh saùch S, N vaø D ñeå giöõ ñöôøng cuûa quaù trình tìm kieám thoâng qua khoâng gian traïng thaùi cuûa baøi toùan. • S : List keâ caùc traïng thaùi treân ñöôøng tìm kieám hieän haønh. Neáu traïng thaùi ñích ñöôïc tìm thaáy, S chöùa daõy noái tieáp cuûa taát caû caùc traïng thaùi treân ñöôøng lôøi giaûi baét ñaàu töø traïng thaùi ban thoâng qua khoâng gian traïng thaùi ñeán traïng thaùi ñích cuûa baøi toùa. • N : Lieät keâ caùc traïng thaùi ñaõ phaùt sinh nhöng chöa ñöôïc môû roäng. • D : lieät keâ taát caû caùc traïng thaùi treân caùc ñöôøng cuït ( ñöôøng khoâng coù traïng thaùi daãn ñeán ñích). • Giaûi thuaät ñöôïc moâ taû chi tieát nhö sau :

  37. Function backtrack; Begin S = [Start]; N = [Start]; D = [ ]; C = Start; While N  [ ] Begin If C = Traïng thaùi ñích Then return(S) If C khoâng coù con (khoâng keå caùc nuùt treân D, S, or N) Begin While S  [ ] vaø C = phaàn töû ñaàu tieân cuûa S Begin Coäng C vaøo D ; Loïai boû phaàn töû ñaàu tieân töø S; Loïai boû phaàn töû ñaàu tieân töø N; C := phaàn töû ñaàu tieân cuûa N; End Coäng C vaøo ñaàu danh saùch S; End Else begin Ñaët taát caû caùc con cuûa C (Ngoïai tröø caùc con ñaõ coù maët treân N, S, D) vaøo ñaàu danh saùch N; C := Phaàn töû ñaàu tieân cuûa N; Coäng C vaøo S; End End; Return fail; End.

  38. Giaûi thuaät tìm lôøi giaûi G thoâng qua khoâng gian traïng cuûa baøi toùan vôùi hình caây ñöôïc xaây döïng nhö hình. A B C A E F G Goal state H I J Dead end Dead end Dead end

  39. Giaûi thuaät tìm lôøi giaûi G thoâng qua khoâng gian traïng thaùi cuûa baøi toùan vôùi caùc voøng laëp cho laø Iteration CS ND 0 A [A] [A] [ ] 1 B [B,A] [B,C,D,A] [ ] 2 E [E,B,A] [E,F,B,C,D,A] [ ] 3 H [H,E,B,A] [H,I,E,F,B,C,D,A] [ ] 4 I [I,E,B,A] [I,E,F,B,C,D,A] [H] 5 F [F,B,A] [F,B,C,D,A] [E,I,H] 6 J [J,F,B,A] [F,B,C,D,A] [E,I,H] 7 C [C,A] [C,D,A] [B,F,J,E,I,H] 8 G [G,C,A] [G,C,D,A] [B,F,J,E,I,H]

  40. Phöông Phaùp Tìm KieámHeuristic Heuristic laø gì ? • Heuristiclaø kyõ thuaät choïn loïc nuùt toát nhaát ñeå tieáp tuïc quaù trình tìm kieám trong khoâng gian traïng thaùi cuûa baøi toùan. • Heuristic coù theå ñöôïc theå hieän döôùi daïng luaät hoaëc daïng haøm soá. • Neáu noù ñöôïc theå hieän döôùi daïng luaät If-Then thì noù ñöôïc goïi luaät Heuristic. • Neáu noù ñöôïc theå hieän döôùi daïng haøm soá thì noù ñöôïc goïi laø haøm heuristic.

  41. Cho h(n) laø haøm heuristic ñoù laø moät öôùc löôïng khoûang caùch cuûa nuùt n ñeán nuùt ñích, h(n) phaûi thoûa maõn caùc tính chaát sau : • h(n) >= 0 cho moïi nuùt n • h(n) = 0, suy ra raèng nuùt n laø traïng thaùi ñích • h(n) = voâ cuøng, suy ra raèng nuùt n laø traïng thaùi cuït ñoù laø traïng thaùi khoâng daãn ñeán ñích. Ví duï : • Heuristic cuûa baøi toùan troø chôi 8 soá laø soá vieân ngoùi ñaët khoâng ñuùng choå so vôùi traïng thaùi ñích. • Heuristic cuûa baøi toùan haønh trình ngöôøi baùn haøng ñoù laø khoûang caùch giöõa hai thaønh phoá keà nhau. • Taïi moãi traïng thaùi hieän haønh, phöông phaùp tìm kieám heuristic phaùt sinh ra caùc traïng thaùi con, öôùc löôïng heuristic cho taát caû caùc traïng thaùi con vaø choïn loïc moät trong nhöõng con coù giaù trò heuristic nhoû nhaát ñeå tieáp tuïc quaù trình tieáp kieám trong khoâng gian traïng thaùi cuûa baøi toùan.

  42. Example : Xeùt baøi toùan troø chôi 8 soá vôùi caáu hình ñaàu vaø ñích cho nhö hình Goal state Initial state Phöông phaùp tìm kieám heuristic giaûi baøi toùan naøy söû duïng heuristic ñöôïc moâ taû baèng caây tìm kieám nhö hình

  43. h(a) = 4 h(b) = 5 h(c) =3 h(d) =5 h(e) =3 h(f) =3 h(g) =4 h(k) =4 h(h) =3 h(i) =4 h(j) =2 h(l) =1 h(m) =2 h(n) =0 Goal

  44. Giaûi Thuaät Tìm kieám Best-First search • Moät trong caùc phöông phaùp tìm kieám heuristic ñöôïc traïng bò baèng heuristic ñeå tìm lôøi giaûi haàu nhö toát nhaát vôùi baøi toùan ñoù laø giaûi thuaät Best-First-Search. • Gioáng nhö giaûi thuaät tìm kieám theo chieàu roäng, giaûi thuaät söû duïng hai danh saùch OPEN vaø CLOSED ñeå giöõ ñöôøng cuûa quaù trình tìm kieám trong khoâng gian traïng thaùi cuûa baøi toùan. • OPEN : Giöõ ñöôøng tìm kieám hieän haønh ( caùc traïng thaùi chöa ñöôïc vieáng thaêm ) • CLOSED : Ghi nhaän caùc traïng thaùi ñaõ ñöôïc vieáng thaêm. • Giaûi thuaät ñöôïc moâ taû chi tieát nhö sau :

  45. Procedure best-first-search Begin OPEN := [Start]; CLOSED = [ ]; While OPEN  [ ] Begin -Loïai boû traïng thaùi ñaàu tieân töø OPEN, goïi noù laø X; - If X = ñích Then return ñöôøng lôùi giaûi töø traïng thaùi ban ñaàu ñeán X Else begin Phaùt sinh caùc con cuûa X aùp duïng caùc luaät öùng duïng; Cho moãi con cuûa X, thöïc hieän moät trong caùc tröôøng hôïp sau : Case : Con chöa coù maët treân OPEN or CLOSED Begin - Öôùc löôïng heuristic cho con; - Coäng con vaøo danh saùch OPEN;; End Case : Con ñaõ coù maët treân OPEN Begin -Neáu môùi toát hôn cuõ, loïai boû cuõ töø danh saùch OPEn, Ñaët môùi vaøo danh saùch OPEN; - Maët khaùc, giöõ cuõ vaø loïai boû môùi;. End Case :Con ñaõ coù maët treân CLOSED Begin -Neáu môùi toát hôn cuõ, loïai boû cuõ töø danh saùch CLOSED, ñaët môùi vaøo danh saùch OPEN; - Maët khaùc giöõ cuõ vaø loïai boû môùi; End • Ñaët X vaøo danh saùch closed; • Saép xeáp laïi caùc traïng thaùi rong danh saùch OPEN theo thöù töø töø ñaàu danh saùch ñeán cuoái töông öùng vôùi traïng thaùi coù heuristic toát nhaát ñeán traïng thaùi coù heuristic xaáu nhaát; End; Return failure End.

  46. Giaûi thuaät Best-First-Search giaûi baøi toùan troø chôi 8 soá vôùi caùc voøng laëp cho laø Iteration OPEN CLOSED 1 [a4] [ ] 2 [c3,b5,d5] [a4] 3 [ e3,f3,g4,b5,c5] [c3,a4] 4 [f3,h3,g4,i4,b5,c5] [e3,c3,a3] 5 [j2,h3,g4,i4,k4,b5,c5] [f3,e3,c3,a3] 6 [l1,h3,g4,I4,k4,b5,c5] [j2,f3,e3,c3,a3] 7 [n0,m2,h3,g4,I4,k4,b5,c5] [l1, j2,f3,e3,c3,a3] 8 success, n = goal

  47. Haøm Ñaùnh Giaù Heuristic : • Giaûi thuaät tìm kieám best-first-search söû duïng haøm heuristic h(n) öôùc löôïng khoûang caùch töø traïng thaùi n ñeán traïng thaùi ñích. • Baây giôø, giaû söû hai hoaëc nhieàu traïng thaùi xuaát hieän coù cuøng giaù trò heuristic, traïng thaùi naøo gaàn goác cuûa caây nhaát ñoù ñöôïc xem nhö laø traïng thaùi toát nhaát. Vì khaû naêng traïng thaùi naøy daãn ñeán ñích laø ñöôøng ñi toát nhaát. • Vôùi lyù do naøy, moät haøm ñaùnh giaù heuristic f(n) ñeå ñaùnh giaù taïi moãi traïng thaùi n ñöôïc ñeà xuaát ñoù laø toång cuûa hai thaønh phaàn ñöôïc thieát laäp laø f(n) = g(n) + h(n) Trong ñoù, • g(n) laø haøm chi phí ño giaù chi phí töø traïng thaùi ban ñaàu ñeán traïng thaùi n, • h(n) laø haøm heuristic öôùc löôïng khoûang caùch töø traïng thaùi n ñeán traïng thaùi ñích. • Giaûi thuaät tìm kieám heuristic ñöôïc trang bò baèng haøm ñaùnh giaù heuristic ñöôïc goïi laø giaûi thuaät A.

  48. Straight-line distance to Bucharest Ared 366 Bucharest 0 Cralove 166 Dobreta 242 Fagaras 178 Lugoj 244 Mehadia 241 Oredes 380 Pitestf 98 Rimnicu Vilea 193 Siblu 253 Timisoara 329 Zerind 374 Oredes 71 Zerind 151 75 Siblu Fagaras 140 99 Ared 80 118 Rimnicu Vilcea Timisoara 211 111 79 Pitestf Lugoj 70 Mehadia 146 103 75 138 Bucharest Dobrete 120 Cralove Ví duï : Cho baûn ñoà cuûa Romania vôùi caùc khoûang caùch thöïc söï vaø ñöôøng chim bay ñeán thaønh phoá Bucharest nhö hình

  49. * Cho g(n) laø haøm chi phí ño khoûang caùch thöïc söï töø thaønh phoá baét ñaàu Ared ñeán thaønh phoá n. * Cho h(n) laø haøm heuristic öôùc löôïng khoûang caùch ñöôøng chim baytöø thaønh phoá n ñeán thaønh phoá ñích Bucharest.* Quùa trình tìm kieám ñöôøng ñi ngaén nhaát töø Ared ñeán Bucharest duøng haøm ñaùnh giaù heuristic baèng caây ñöôïc moâ taû nhö hình Ared f=0+366 =366 Timisoara Siblu f=140+253=393 f=118+329=447 Zerind f=75+374=44 9 Ared Fagaras Oradea Rimnicu f=220+193=413 f=280+366=646 f=239+178=417 f=146+380=526 Cralova Siblu Pitestf f=366+160=526 f=366+160=526 f=300+253=553 Rimnicu Cralova Goal Bucharest f=463+193=656 f=504+160=660 f=467+0=467

More Related