bài giảng trí tuệ nhân tạo

234
1 TRÍ TUỆ NHÂN TẠO Khoa Công nghệ Thông tin Trường Đại học Kinh tế Kỹ thuật công nghiệp

Upload: quang-du-nguyen

Post on 14-May-2015

6.347 views

Category:

Education


9 download

TRANSCRIPT

  • 1.1 TR TU NHN TO Khoa Cng ngh Thng tin Trng i hc Kinh t K thut cng nghip

2. 2 NI DUNG TNG QUAN V KHOA HC TTNT CC PHNG PHP BIU DIN V GII QUYT VN NGN NG TTNT PROLOG 3. 3 TI LIU THAM KHO 1. Tr tu nhn to Cc phng php Gii quyt vn v k thut x l tri thc (1999) Nguyn Thanh Thu 2. Lp trnh lgic trong Prolog (2004) Phan Huy Khnh 3. Artificial Intelligence: A Modern Approach (2nd edition, 2002) Stuart Russell & Peter Norvig 4. 4 KHI LNG & CU TRC HC PHN S tn ch: 2 L thuyt: 26 tit Thc hnh, bi tp: 10 tit 5. 5 TNG QUAN V KHOA HC TTNT 6. 6 NI DUNG CC KHI NIM C BN CC TIN C BN CA TTNT LCH S PHT TRIN CA KHOA HC TTNT CC THNH TU CA KHOA HC TTNT CC XU HNG MI TRONG TTNT 7. 7 CC KHI NIM C BN: TTNT l g? Tr tu nhn to l khoa hc lin quan n vic lm cho my tnh c nhng kh nng ca tr tu con ngi, tiu biu nh cc kh nngsuy ngh, hiu ngn ng, v bit hc tp. 8. 8 Intelligence: tr thng minh ability to learn, understand and think (Oxford dictionary) Artificial Intelligence (AI): tr thng minh nhn to attempts to understand intelligent entities strives to build intelligent entities (Stuart Russell & Peter Norvig) CC KHI NIM C BN: TTNT l g? 9. 9 CC KHI NIM C BN: TTNT l g? 10. 10 CC KHI NIM C BN: TTNT v lp trnh truyn thng 11. 11 Thinking humanly (Suy ngh nh con ngi) Thinking rationally (Suy ngh hp l) Acting humanly (Hnh ng nh con ngi) Acting rationally (Hnh ng hp l) CC KHI NIM C BN: Cc yu cu ca TTNT 12. 12 CC KHI NIM C BN: Hnh ng nh con ngi:Php th Turing Alan Turing (1912-1954) Computing Machinery and Intelligence (1950) Php th Ngi kim tra Ngi H thng TTNT 13. 13 Ch ra cc lnh vc cn nghin cu trong AI: X l ngn ng t nhin: giao tip Biu din tri thc: lu tr v phc hi cc thng tin c cung cp trc/trong qu trnh thm vn Suy din t ng: s dng cc thng tin c lu tr tr li cc cu hi v a ra cc kt lun mi Hc my: thch nghi vi cc tnh hung mi, pht hin v suy ra cc mu CC KHI NIM C BN: Hnh ng nh con ngi 14. 14 CC KHI NIM C BN: Suy ngh nh con ngi: M hnh nhn thc Con ngi suy ngh ntn ? Nh tm l hc, khoa hc nhn thc. Ngi thuc trng phi ny, yu cu: Chng trnh chng nhng gii ng Cn so snh tng bc gii vi s gii ca 1 ngi. VD: General Problem Solver (GPS), Newell & Simon. 15. 15 CC KHI NIM C BN: Suy ngh c l: Lut ca suy ngh Aristole: ~420 BC. Tin trnh suy ngh ng l g? M ra nhnh: qu trnh suy lun. VD: Socrates is a man, all men are mortal; therefore Socrates is mortal Theo sau Aristole -> 20th: Logic hnh thc (formal logic) ra i. Hnh thc ho v mt k hiu v qu trnh suy din vi cc i tng trong th gii t nhin. 16. 16 CC KHI NIM C BN: Hnh ng c l Hnh ng c l ~ hnh ng t c mc tiu. u th: Tng qut hn lut suy ngh: X l thng tin khng chc chn 17. 17 CC KHI NIM C BN: Cc phng php v k thut Cc phng php biu din tri thc v k thut x l tri thc Cc phng php gii quyt vn Cc phng php Heuristic Cc phng php hc Cc ngn ng TTNT 18. 18 CC KHI NIM C BN: Cc thnh phn trong h thng Hai thnh phn c bn: Cc phng php biu din vn , cc phng php biu din tri thc Cc phng php tm kim trong khng gian bi ton, cc chin lc suy din 19. 19 NI DUNG CC KHI NIM C BN CC TIN C BN CA TTNT LCH S PHT TRIN CA KHOA HC TTNT CC THNH TU CA KHOA HC TTNT CC XU HNG MI TRONG TTNT 20. 20 CC TIN C BN CA TTNT TTNT k tha nhiu tng, quan im v cc k thut t cc ngnh khoa hc khc TTNT k tha nhiu tng, quan im v cc k thut t cc ngnh khoa hc khc TTNTTTNT Tm l hc Ngn ng hc Khoa hc my tnh Trit hc Ton hc Cc l thuyt ca lp lun v hc Cc l thuyt xc sut logic, to quyt nh v tnh ton Lm cho TTNT tr thnh hin thc Nghin cu ngha v cu trc ca ngn ng Nghin cu tm tr con ngi 21. 21 NI DUNG CC KHI NIM C BN CC TIN C BN CA TTNT LCH S PHT TRIN CA KHOA HC TTNT CC THNH TU CA KHOA HC TTNT CC XU HNG MI TRONG TTNT 22. 22 LCH S PHT TRIN CA KHOA HC TTNT Bt u ca AI (1943 - 1956): 1943: McCulloch & Pitts: M hnh chuyn mch logic. 1950: Bi bo Computing Machinery and Intelligence ca Turing. 1956: McCarthy xut tn gi Artificial Intelligence. 23. 23 birth day: Hi ngh Dartmouth College ma h 1956, do Minsky v McCarthy t chc, v y McCarthy xut tn gi artificial intelligence. C Simon v Newell trong nhng ngi tham d. John McCarthy Marvin Minsky LCH S PHT TRIN CA KHOA HC TTNT 24. 24 Trng mong nht (1952 - 1969): Mt s chng trnh TTNT thnh cng: Samuels checkers Newell & Simons Logic Theorist Gelernters Geometry Theorem Prover. Thut gii ca Robinson cho lp lun logic. LCH S PHT TRIN CA KHOA HC TTNT 25. 25 Thc t (1966 1974): Pht hin c cc kh khn v phc tp tnh ton. Quyn sch ca Minsky & Papert nm 1969. H thng da trn tri thc (1969 1979): 1969: DENDRAL by Buchanan et al. a ra cu trc phn t t thng tin ca quang ph k 1976: MYCIN by Shortliffle. Chun on nhim trng mu 1979: PROSPECTOR by Duda et al. Chun on v tr khoan du LCH S PHT TRIN CA KHOA HC TTNT 26. 26 TTNT tr thnh ngnh cng nghip (1980 - 1988): Bng n v cc h chuyn gia. 1981: n my tnh th h th nm ca Nht Bn. S tr li ca cc mng nron v l thuyt TTNT (1986 - nay) LCH S PHT TRIN CA KHOA HC TTNT 27. 27 LCH S PHT TRIN CA KHOA HC TTNT 28. 28 NI DUNG CC KHI NIM C BN CC TIN C BN CA TTNT LCH S PHT TRIN CA KHOA HC TTNT CC THNH TU CA KHOA HC TTNT CC XU HNG MI TRONG TTNT 29. 29 CC THNH TU CA KHOA HC TTNT 30. 30 CC THNH TU CA KHOA HC TTNT 31. 31 CC THNH TU CA KHOA HC TTNT 32. 32 SONY AIBO CC THNH TU CA KHOA HC TTNT 33. 33 i b Quay Ln xung cu thang Honda Humanoid Robot & Asimo CC THNH TU CA KHOA HC TTNT 34. 34 CC THNH TU CA KHOA HC TTNT 35. 35 CC THNH TU CA KHOA HC TTNT 36. 36 NI DUNG CC KHI NIM C BN CC TIN C BN CA TTNT LCH S PHT TRIN CA KHOA HC TTNT CC THNH TU CA KHOA HC TTNT CC XU HNG MI TRONG TTNT 37. 37 CC XU HNG MI TRONG TTNT 38. 38 CC XU HNG MI TRONG TTNT 39. 39 CC XU HNG MI TRONG TTNT 40. 40 CC XU HNG MI TRONG TTNT 41. 41 CC XU HNG MI TRONG TTNT 42. 42 CC XU HNG MI TRONG TTNT 43. 43 CC XU HNG MI TRONG TTNT 44. 44 CC XU HNG MI TRONG TTNT 45. 45 CC XU HNG MI TRONG TTNT 46. 46 CC XU HNG MI TRONG TTNT 47. 47 CC XU HNG MI TRONG TTNT 48. 48 CC XU HNG MI TRONG TTNT 49. 49 CC XU HNG MI TRONG TTNT 50. 50 CC XU HNG MI TRONG TTNT 51. 51 CC XU HNG MI TRONG TTNT 52. 52 CC XU HNG MI TRONG TTNT 53. 53 Mt s ch nghin cu Gii thut di truyn v ng dng Mng Nron nhn to v ng dng Cng ngh tc t v ng dng KDD v ng dng Phn lp - hc c thy L thuyt tp th Cy quyt nh ..... Phn cm - hc khng c thy Lut kt hp .... . . . 54. 54 CC PHNG PHP BIU DIN V GII QUYT VN 55. 55 NI DUNG BIU DIN V GII QUYT VN TRONG KHOA HC TTNT CC PHNG PHP BIU DIN VN CC PHNG PHP GII QUYT VN 56. 56 BIU DIN V GII QUYT VN TRONG KHOA HC TTNT Gii quyt vn v khoa hc TTNT Gii quyt vn ca con ngi Phn loi vn & Cc c trng c bn ca vn Cc thnh phn c bn trong h thng gii quyt vn 57. 57 Gii quyt vn v khoa hc TTNT Hot ng tr tu: vn dng cc k thut gii quyt vn Gii quyt vn : tm kim trong khng gian cc li gii b phn c th c c. Phng php biu din vn => Phng php gii quyt vn . VD: Biu din bng logic v t => Phng php hp gii VD: Biu din bng mng ng ngha => Cc th tc tm kim 58. 58 Gii quyt vn : duyt-tm kim trong khng gian li gii => bng n t hp => cc th tc tm kim Heuristic Phn chia cc h thng TTNT: Cc h tm kim thng tin, cc h hi p thng minh Cc h suy din tnh ton: da vo cc m hnh ton hc v tri thc chuyn gia Cc h chuyn gia Gii quyt vn v khoa hc TTNT 59. 59 Pht biu bi ton-Xc nh phng php bd bi ton Sn sinh khng gian bi ton Bi ton c th gii nh thut ton a thc Xc nh li gii nh cc ngn ng lp trnh Xc nh cc tri thc c bit rt gn khng gian TK Xy dng cc phng php biu din tri thc v suy din La chn ngn ng, cng c ph hp Cc h gii quyt vn da vo tri thc Bi ton (Vn ) S Cng ngh lp trnh truyn thng Cng ngh x l tri thc S : Nhng kha cnh khc nhau ca TTNT Gii quyt vn v khoa hc TTNT 60. 60 Gii quyt vn ca con ngi Cch gii quyt vn ca con ngi l m hnh thc tin quan trng cc chuyn gia TTNT tm cch m phng li trn my tnh qu trnh gii quyt bi ton. Khoa hc v nhn thc: Nghin cu qu trnh t chc, lu tr, truy nhp, x l v thu np tri thc trong b no ngi. Tm l hc nhn thc v khoa hc iu khin: To ra cc m hnh t chc b no. 61. 61 Qu trnh x l thng tin ca con ngi Gii quyt vn ca con ngi H thng th cm C quan th cm B nh m H thng nhn thc B nh di hn B nh lm vic B x l nhn thc H thng hnh ng C quan hnh ng B nh m Kch thch Tr li h thng x l thng tin ca con ngi 62. 62 Gii quyt vn ca con ngi l mt trng hp ring ca qu trnh x l thng tin trong b no. l vic tm cch i t tnh hung ban u no n ch. Gii quyt vn l mt hot ng c bit ca h thn kinh cn ti qu trnh suy ngh, tm kim trong khng gian li gii b phn i n li gii cui cng. Tuy nhin, cn lu rng khng phi mi hot ng x l thng tin u l gii quyt vn . Gii quyt vn ca con ngi 63. 63 Cc chin lc gii quyt vn : c lng mc phc tp ca vn t ra: Nu n gin, gii quyt vn nh vo mt thut ton tin nh no vi cc thao tc c s. Nu phc tp, cc c quan no tm cch hiu chi tit ni dung ca vn m ho, tm phng php ph hp. Ni lng mt vi rng buc ca bi ton. Gii quyt vn ca con ngi 64. 64 Cc chin lc gii quyt vn : Phng php th - sai: Xut pht t tnh hung ban u, ngi ta a ra cc tnh hung mi, sau so snh vi cc rng buc tm ra cc li gii hp l. Phng php chia bi ton thnh cc bi ton con: T bi ton phc tp, con ngi chia thnh cc bi ton nh, t phc tp cho n khi gp cc bi ton s cp, gii quyt c ngay. Tng qut ho bi ton : Chuyn cc thng tin bn ngoi thnh cc k hiu lm cho bi ton d gii hn. Qu trnh ny to ra mt m hnh tr tu ca bi ton, m hnh ny thng c gi khng gian bi ton. Gii quyt vn ca con ngi 65. 65 Khng gian bi ton bao gm: Cc dng mu k hiu, mi dng biu din mt trng thi hay mt tnh hung bi ton. Cc mi lin kt gia cc dng mu k hiu, mi mi lin kt tng ng vi cc php bin i t dng ny sang dng khc. Gii quyt vn ca con ngi 66. 66 Phn loi vn & Cc c trng c bn ca vn Bi ton 1: Bi ton tr chi n2 -1 s (nN, n>2). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 67. 67 Bi ton 2: Bi ton Thp H ni Phn loi vn & Cc c trng c bn ca vn 3 2 1 3 2 1 A B C A B C 68. 68 Phn loi vn : Vn (bi ton) pht biu chnh (well-formed problems): L cc bi ton c th bit c hnh trng u, hnh trng ch v c th quyt nh khi no vn c coi l gii quyt xong. Cc bi ton 1 - 2 l nhng vn c pht biu chnh. Vn (bi ton) pht biu khng chnh (ill-formed problems): L cc vn c pht biu cha y , thiu d kin. Cc bi ton chn on v iu tr bnh, bi ton xc nh cht lng sn phm l cc bi ton pht biu khng chnh. Phn loi vn & Cc c trng c bn ca vn 69. 69 Cc c trng c bn ca vn Bi ton c th phn tch thnh cc bi ton d gii hn khng? Cc bc gii ca bi ton c th b qua hay hu b hay khng? Khng gian bi ton c th on trc hay khng? C tiu chun xc nh li gii no l tt i vi bi ton khng? C cn tri thc gii quyt bi ton hay iu khin qu trnh tm kim khng? C s tri thc gii quyt bi ton c nht qun vi ni dung khng? C cn tng tc ngi my trong qu trnh gii quyt khng? Phn loi vn & Cc c trng c bn ca vn 70. 70 Cc thnh phn c bn trong h thng gii quyt vn Gii quyt vn : Biu din bi ton v tm kim li gii trong khng gian bi ton H thng gii quyt vn : Gii thut tm kim Chin l c iu khin K thut Heuristic K thut suy din Ht h n g g i i q u y t v n Bi ton D liu + Tri thc C s d liu C s tri thc 71. 71 NI DUNG BIU DIN V GII QUYT VN TRONG KHOA HC TTNT CC PHNG PHP BIU DIN VN CC PHNG PHP GII QUYT VN 72. 72 CC PHNG PHP BIU DIN VN Phng php biu din nh khng gian trng thi Phng php qui bi ton v cc bi ton con Phng php biu din vn nh logic hnh thc La chn phng php biu din thch hp Biu din vn trong my tnh Biu din tri thc v gii quyt vn 73. 73 Phng php biu din nh KGTT Trng thi (State) l hnh trng ca bi ton Ton t (Operator) l cc php bin i t trng thi ny sang trng thi khc Hnh trng u, hnh trng cui ca bi ton c gi l trng thi u, trng thi cui Tp tt c cc trng thi c sinh ra do xut pht t trng thi u v p dng cc ton t c gi l khng gian trng thi (state space). 74. 74 Mt cch biu din trc quan i vi khng gian trng thi v cc ton t l s dng th, trong , cc nh ca th tng ng vi cc trng thi cn cc cung tng ng vi cc ton t VD: Bi ton tr chi n2 -1 s (nN, n>2) n = 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Phng php biu din nh KGTT 75. 75 Phng php biu din nh KGTT 76. 76 Mi trng thi l mt sp xp no ca cc con s t 1 n 15 sao cho khng c hai no c cng gi tr Hnh trng u v cui tng ng vi cc trng thi u v cui Khng gian trng thi t c t trng thi u bao gm tt c cc hnh trng c sinh ra nh p dng nhng php dch chuyn chp nhn c ca trng i vi bi ton ny s trng thi chp nhn c xp x (1/2). 16 ! 10.5.1012 Cc ton t chnh l cc php bin i t trng thi ny sang trng thi khc bao gm: dch trng sang phi, sang tri, ln trn, xung di. i vi mt s trng thi c mt s ton t khng p dng c. Li gii ca bi ton c th nhn c nh s dng qu trnh tm kim sau: p dng cc ton t vo trng thi u nhn c nhng trng thi mi, sau p dng cc ton t vo cc trng thi mi ny v c nh vy cho n khi t n trng thi ch. Phng php biu din nh KGTT 77. 77 Phng php qui bi ton v cc bi ton con Tch bi ton thnh cc bi ton con sao cho li gii ca tp cc bi ton con cho php xc nh li gii ca bi ton ban u. Cch tip cn ny dn n phng php biu din vn bng th V /Hoc. A Hoc C B E F G H I J V 78. 78 Phng php qui bi ton v cc bi ton con VD: Bi ton Thp H ni (n=3) 3 2 1 3 2 1 A B C A B C HNi (3, A, B, C) HNi (2, A, C, B) HNi (1, A, B, C) HNi (2, B, A, C) 79. 79 n = 3 n = 4 Phng php qui bi ton v cc bi ton con 80. 80 Thng thng, gii quyt vn ngi ta cn phn tch logic thu gn qu trnh tm kim v i khi nh phn tch logic c th chng t c rng mt bi ton no khng th gii c. VD: Bi ton tr chi n2 -1 s Phng php biu din vn nh logic hnh thc 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 81. 81 Cc dng logic hnh thc c s dng biu din bi ton gm: Logic mnh Logic v t Phng php biu din bi ton nh logic hnh thc cho php: Kim tra iu kin kt thc trong khi tm kim i vi khng gian trng thi Kim tra tnh p dng c i vi cc ton t Chng minh khng tn ti li gii Mc ch gii quyt vn da trn logic hnh thc l chng minh mt pht biu no trn c s nhng tin v lut suy din c. Phng php biu din vn nh logic hnh thc 82. 82 Trong nhiu trng hp, vic gii quyt bi ton da trn cc thut ng c dng pht biu n l rt kh khn. Ngi ta thng la chn mt dng biu din ph hp no i vi cc d liu ca bi ton, lm cho bi ton tr nn d gii hn. La chn phng php biu din thch hp 83. 83 Vic la chn phng php biu din thch hp nhm: Trnh gii trc tip bi ton t ra ban u do nhng kh khn lin quan ti kch c, trng s, tm quan trng v chi ph x l d liu ca bi ton. B bt nhng thng tin tha hoc khng quan trng trong bi ton Tn dng nhng phng php gii c i vi bi ton nhn c sau khi pht biu li Cch pht biu mi c th cho php th hin mt vi tng quan no gia cc yu t ca bi ton nhm thu gn qu trnh gii Sau khi gii quyt xong bi ton theo cch biu din mi, cn phi din gii li gii nhn c cho st vi bi ton thc t v chng minh rng cch din gii thc s gii quyt c bi ton t ra. La chn phng php biu din thch hp 84. 84 c th gii quyt vn trn my tnh, trc ht ta phi tm cch biu din li vn sao cho my tnh c th hiu c. iu ny c ngha l ta phi a cc d liu ca bi ton v dng c th x l c trn my tnh. Cch biu din dng bng: S dng bng biu din cc hnh trng ca bi ton. Biu din vn trong my tnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 85. 85 Cch biu din dng xu k hiu Biu din vn trong my tnh TgT To V M TgT VT 86. 86 Cch biu din dng cu trc danh sch Biu din vn trong my tnh a acb 2 42 / * 2 a - b 2 * 4 a c 87. 87 C hai cch tip cn trong gii quyt vn : Tng qut ho a ra m hnh bi ton C th ho trn c s s dng cc tri thc c t Trn thc t, c nhng bi ton khng th gii c nh s dng m hnh, hn na li gii nhn c cn kh xa vi li gii thc t. Trong trng hp , ngi ta p dng cch tip cn s dng tri thc c t. Cc phng php biu din tri thc bao gm: Frame, logic hnh thc, mng ng ngha v cc h sn xut. Biu din tri thc v gii quyt vn 88. 88 NI DUNG BIU DIN V GII QUYT VN TRONG KHOA HC TTNT CC PHNG PHP BIU DIN VN CC PHNG PHP GII QUYT VN 89. 89 CC PHNG PHP GII QUYT VN Biu din vn trong khng gian trng thi v cc chin lc tm kim trn th Qui bi ton v bi ton con v cc chin lc tm kim trn th V/Hoc Biu din vn nh logic hnh thc v phng php suy din logic Mt s phng php gii quyt vn khc 90. 90 Biu din vn trong KGTT v cc chin lc tm kim trn th Cc m t trng thi v ton t Biu din vn di dng th Cc phng php tm kim trong khng gian trng thi 91. 91 Cc m t trng thi v ton t Khi gii quyt bi ton trong khng gian trng thi, chng ta cn phi xc nh dng m t cc trng thi ca bi ton. VD: Bi ton n2 - 1 s (n = 4) Mi trng thi l bng c kch thc 4 x 4 Ton t: php bin i t trng thi ny sang trng thi khc (chuyn trng ln trn, xung di, sang tri, sang phi nu c th). 92. 92 VD: Bin i biu thc i s: (A x B + C x D)/(B * C) thnh A/C + D/B. Mi trng thi l biu thc i s. Ton t: Bin i c t biu thc ny sang biu thc khc. Dng cu trc cy nh phn. Dng k php nghch o Ba lan (Hu t, tin t). Cc ton t trong khng gian trng thi l nhng php bin i a trng thi ny v trng thi khc Cc m t trng thi v ton t 93. 93 C hai cch biu din cc ton t: Cch 1: S dng k hiu hm, c ngha l xem cc ton t nh l cc hm xc nh trn tp cc trng thi v nhn gi tr cng trong tp ny VD: Vi bi ton tr chi 15 s, ta c 4 loi ton t c th m t c di dng k hiu hm nh sau dl: Dch trng ln trn; dx: Dch trng xung di; df: Dch trng sang phi; dt: Dch trng sang tri; dl(A) = B, Gi s A = (aij). B = (bij) v trng trong A v tr (i0, j0)). Khi ng vi php dch trng ln trn ta c th vit B = dl(A) = (bij) vi aij (i, j) nu i0 = 1 bij = nu (i, j) (i0, j0) v (i, j) (i01, j0), i0>1 ai0j0 nu (i, j) = (i01, j0) v i0>1 ai01j0 nu (i, j) = (i0, j0) v i0>1 Cc m t trng thi v ton t 94. 94 Cch 2: S dng cc quy tc sn xut (Production Rules) si sj. Ngha l, mi khi xut hin trng thi sith c th dn ti trng thi sj. VD: Vi bi ton tr chi 15 s, ta c sn xut sau: 11 9 4 15 11 9 4 15 1 3 12 1 3 12 7 5 8 6 7 5 8 6 13 2 10 14 13 2 10 14 Cc m t trng thi v ton t 95. 95 Cc th tc tm kim trong khng gian trng thi thng bao gm qu trnh xy dng cc trng thi mi xut pht t cc trng thi c v kim tra xem trng thi mi ny c tho mn nhng iu kin p dng cho trng thi ch khng. Cc m t trng thi v ton t 96. 96 Kt lun: biu din bi ton trong khng gian trng thi cn phi xc nh: Dng m t ca cc trng thi. Tp cc ton t v tc ng ca chng ln cc m t trng thi . Cc trng thi u, cc trng thi ch . Cc m t trng thi v ton t 97. 97 Mt cch hnh thc ta c th pht biu bi ton nh sau: Bi ton P1 : Cho trng thi u s0 , tp trng thi ICH. Hy tm dy trng thi s0 , s1 , s2 , . . ., sn sao cho sn ICH, tho mn mt s iu kin no v vi mi i (i=0, .. ,n-1), t trng thi si c th p dng ton t bin i no nhn c trng thi si+1 (i oi O sao cho oi(si) = si+1 hoc i pi P sao cho si si+1 ) Cc m t trng thi v ton t 98. 98 Hay di dng khc: Bi ton P2: Cho trng thi u s0 , tp trng thi ch ICH. - Tm dy ton t o1 , . . ., on sao cho on (on-1 (. . .(o1 (s0 ). . .)) = sn ICH - Tm dy sn xut p1 , p2 , . . ., pn sao cho n ppp ssss n ...210 21 ICH Cc m t trng thi v ton t 99. 99 Biu din vn di dng th th: l mt cu trc G = (N,A) bao gm: Tp cc nt N Tp cc cung A ni cc cp nt, c th c nhiu cung trn mt cp nt A B D C E B C A D E Nt: {A,B,C,D,E} Cung: {(a,d), (a,b), (a,c), (b,c), (c,d), (c,e), (d,e)},e), (d,e) } 100. 100 th c hng:l th vi cc cung c nh hng, ngha l cp nt c quan h th t trc sau theo tng cung. Cung (Ni,Nj) c hng t Ni n Nj, Khi Ni l nt cha v Nj l nt con. Nt l: l nt khng c nt con. ng i: l chuoi c th t cc nt m 2 nt k tip nhau tn ti mt cung. th c gc: Trn th tn ti nt X sao cho tt c cc ng i u i qua nt . X l gc. Biu din vn di dng th 101. Nguyn Ngc Hiu - Cc Bi ging Tr tu Nhn to 101 Biu din vn di dng th Khng gian trng thi l mt h thng gm 4 thnh phn [N,A,S,DICH]. Trong : N l tp nt ca th. Moi nt l mt trng thi ca qu trnh gii quyt vn A: Tp cc cung ni gia cc nt N. Moi cung l mt bc (ton t) trong gii quyt vn . Cung c th c hng S: Tp cc trng thi bt u. S khc rong. DICH: Tp cc trng thi ch. DICH khc rong. Li gii: L mt ng i i t mt nt bt u Si n mt nt kt thc DICHj . Mc tiu ca cc gii thut tm kim l tm ra mt li gii v/hay li gii tt nht. 102. Nguyn Ngc Hiu - Cc Bi ging Tr tu Nhn to 102 Cc phng php tm kim trong KGTT Tm kim theo chiu rng (Breath first search) Tm kim theo chiu su (Depth first search ) Tm kim su dn (Depthwise search) Tm kim cc tiu ho gi thnh (Cost minimization search) Tm kim cc tiu ho gi thnh vi tri thc b sung (Heuristic search: Cost minimization search with knowledge) 103. Nguyn Ngc Hiu - Cc Bi ging Tr tu Nhn to 103 Cc phng php tm kim trong KGTT: Breath First Search (TKR) Vo: Cy G = (N, A), nh gc n0 , tp ICH N Ra : ng i p t nh n0 ti nh n* ICH Phng php: /* S dng hai danh sch kiu FIFO l MO v ONG, trong MO l danh sch cha cc nh cha xt cn ONG l danh sch cha cc nh xt */ {MO n0 /* Cho nh n0 vo cui danh sch MO */ While MO do {n get(MO) /* Ly nh n u danh sch MO */ ONG ONG {n} if B(n) then /* B(n) l tp cc nt con ca nt n {MO MO B(n) /* Cho B(n) vo cui danh sch MO */ if B(n) ICH then {exit(thnh cng); Xy dng ng i p} } } write(khng thnh cng); 104. 104 Cc phng php tm kim trong KGTT: Breath First Search (TKR) VD: p dng thut ton tm kim theo chiu rng vi cy sau, tp ICH = {r, p} Th t duyt l: a b c d e f g h k l ng i: a c f l p 105. 105 Cc phng php tm kim trong KGTT: Breath First Search (TKR) Nu trong cy G tn ti t nht mt ng i t n0 ti tp ICH th th tc tm kim theo chiu rng dng v cho ta ng i p c di ngn nht (thm ch cy G v hn). Nu khng tn ti ng i nh vy thut ton dng nu v ch nu th cy G l hu hn. 106. 106 Cc phng php tm kim trong KGTT: Depth First Search (TKS) Vo: Cy G = (N, A), nh gc n0 , tp ICH N Ra : ng i p t nh n0 ti nh n* ICH Phng php: /* S dng danh sch MO kiu LIFO v danh sch ONG kiu FIFO */ {MO n0 /* Cho nh n0 vo u danh sch MO */ While MO do {n get(MO) /* Ly nh n u danh sch MO */ ONG ONG {n} if B(n) then {MO MO B(n) /* Cho B(n) vo u danh sch MO */ if B(n) ICH then {exit(thnh cng); Xy dng ng i p} } } write(khng thnh cng); } 107. 107 Cc phng php tm kim trong KGTT: Depth First Search (TKS) VD: p dng thut ton tm kim theo chiu su vi cy sau, tp ICH = {o, p} Th t duyt: a b d h ng i: a b d h o 108. 108 Cc phng php tm kim trong KGTT: Depth First Search (TKS) Nu cy G hu hn th th tc tm kim theo chiu su s dng v cho kt qu l mt ng i t n0 n tp ICH ng i nhn c theo thut ton TKR (nu c) s l ng i ngn nht cn ng i nhn c theo thut ton TKS (nu c) c th khng phi l ng i ngn nht. Hn na, nu th v hn th th tc TKS c th lp v hn, thm ch trong th G tn ti ng i t n0 ti tp ICH. 109. 109 Cc phng php tm kim trong KGTT: Depth First Search (TKS) Khc phc bng cch gii hn su ca gii thut. Chin lc gii hn: C nh mt su D Theo cu hnh ti nguyn ca my tnh Tri thc trong vic nh gii hn su. Gii hn su => co hp khng gian trng thi => c th mt nghim. 110. 110 Cc phng php tm kim trong KGTT: Depthwise search (TKSD) Tm kim theo chiu su i vi lp cc nh tu thuc vo mc su k cho ban u. Cch thc hin: Ta k hiu su hin ti l DS, ban u gn DS = k, duyt cc nh trong phm vi su DS, nu cha tm c ng i th tng DS = DS + k v tip tc duyt. su d(n) ca nh n c nh ngha: - d(n0) = 0 - d(n) = d(m) +1 nu nB(m) 111. 111 Cc phng php tm kim trong KGTT: Depthwise search (TKSD) Vo: Cy G = (N, A), nh gc n0 , tp ICH N, mc su k Ra: ng i p t nh n0 ti nh n* ICH Phng php: /* S dng ds MO kiu lai LIFO v FIFO, ds DONG kiu FIFO */ {MO n0 ; DS = k; While MO do {n get(MO) /* Ly nh n u danh sch MO */ DONG ONG {n} if B(n) then {if B(n) ICH then {exit(thnh cng); Xy dng ng i p} case d(n) do { [0..DS - 1]: t B(n) vo u MO DS: t B(n) vo cui MO DS + 1: {DS = DS + k; if k =1 then t B(n) vo cui MO else t B(n) vo u MO }}} write(khng thnh cng); } 112. 112 Cc phng php tm kim trong KGTT: Depthwise search (TKSD) VD: p dng thut ton TKSD vi cy sau: Tp ICH = {r, p}, su k = 2. Th t duyt: a b d e c f g h n o k l ng i: a c f l p 113. 113 Cc phng php tm kim trong KGTT: Depthwise search (TKSD) Khi k =1 th tc TKSD tr thnh th tc TKR Khi k>=2 th tc TKSD tm theo chiu su i vi cc nh c su nm trong khong t tk + 1 n (t + 1)k vi t bt u t 0 v mi ln tng ln 1 Nu trong cy G tn ti t nht mt ng i t nh n0 n ICH th th tc TKSD s dng v cho kt qu l ng i c di khc ng i ngn nht khng qu k - 1. Nu khng tn ti ng i nh vy th th tc TKSD dng khi v ch khi G hu hn 114. 114 Cc phng php tm kim trong KGTT: Cost minimization search (TKCT) Gi s C: AR+ l hm gi (cost) tng ng mi cung a A vi gi chi ph c(a)R+ . Vi mt ng i p trong G, p = n1 , ..., nk ta c: Xc nh p: n0 nk DICH sao cho: c(p) min K hiu g(n) l gi ca ng i cc tiu t n0 n n. Khi , bi ton trn c pht biu thnh: Tm ng i p0 t nh gc n0 n nh nk DICH sao cho g(nk )=min{g(n)| n DICH}. = += 1 1 1 ),()( k i ii nncPc 115. 115 Vo: Cy G = (N, A), nh gc n0 , tp ICH N, c: A R+ Ra: ng i p t nh n0 ti nh n* ICH sao cho c(p) min Phng php: /* S dng 2 danh sch MO v DONG */ {MO n0 ; g0 (n0 )=0; /*g0 (n): gi ca ng i hin ti t n0 n n*/ While MO do {n get(MO) /* Ly nh n MO sao cho g0 (n) min */ ONG ONG {n} if n ICH then exit(thnh cng) if B(n) then {MO B(n) MO for each m B(n) do g0 (m) = g0 (n) + c(n, m)} } write(khng thnh cng); Cc phng php tm kim trong KGTT: Cost minimization search (TKCT) 116. 116 VD: p dng thut ton TKCT i vi cy sau Tp ICH = {n, p} Th t duyt: a c b f l m d g h p ng i: a c f l p C gi: 10 Cc phng php tm kim trong KGTT: Cost minimization search (TKCT) 117. 117 Th tc TKR l trng hp ring ca thut ton TKCT khi c(a) =1 a A. Th tc TKS cng l trng hp ring ca th tc TKCT khi ly tiu chun chn n MO l d(n) max thay cho iu kin g0 (n) min Nu trong cy G tn ti ng i p t n0 nICH th th tc TKCT s dng v cho kt qu l ng i p sao cho c(p) min. Hn na, th tc TKCT ti u theo ngha s nh cho vo tp ONG l nh nht so vi cc th tc tm kim ch da vo gi cc cung. Cc phng php tm kim trong KGTT: Cost minimization search (TKCT) 118. 118 Cc Heuristic p dng cho th tc TKCT : Ch xt cc nh trong B(n) c trin vng t ti tp ICH. Sp xp cc nh trong MO trc mi ln x l nh cc hm nh gi. Cc phng php tm kim trong KGTT: Cost minimization search (TKCT) 119. 119 Heuristics l cc quy tc, phng php, chin lc, mo gii hay phng cch no nhm lm gim khi lng tm kim li gii trong khng gian bi ton cc ln. Thut gii Heuristic l mt s m rng khi nim thut ton. N th hin cch gii bi ton vi cc c tnh sau: Thng tm c li gii tt (nhng khng chc l li gii tt nht) Gii bi ton theo thut gii Heuristic thng d dng v nhanh chng a ra kt qu hn so vi gii thut ti u, v vy chi ph thp hn. Thut gii Heuristic thng th hin kh t nhin, gn gi vi cch suy ngh v hnh ng ca con ngi. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 120. 120 C nhiu phng php xy dng mt thut gii Heuristic, trong ngi ta thng da vo mt s nguyn l c bn nh sau: Nguyn l vt cn thng minh: Trong mt bi ton tm kim no , khi khng gian tm kim ln, ta thng tm cch gii hn li khng gian tm kim hoc thc hin mt kiu d tm c bit da vo c th ca bi ton nhanh chng tm ra mc tiu. Nguyn l tham lam (Greedy): Ly tiu chun ti u (trn phm vi ton cc) ca bi ton lm tiu chun chn la hnh ng cho phm vi cc b ca tng bc (hay tng giai on) trong qu trnh tm kim li gii. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 121. 121 Nguyn l th t: Thc hin hnh ng da trn mt cu trc th t hp l ca khng gian kho st nhm nhanh chng t c mt li gii tt. Hm Heuristic: Trong vic xy dng cc thut gii Heuristic, ngi ta thng dng cc hm Heuristic. l cc hm nh gi th, gi tr ca hm ph thuc vo trng thi hin ti ca bi ton ti mi bc gii. Nh gi tr ny, ta c th chn c cch hnh ng tng i hp l trong tng bc ca thut gii. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 122. 122 Th tc TKCT l thut gii tm kim ng i ti u khi ch xt ti cc thng tin v cc nh, cc cung v gi thnh ca chng. Trong nhiu trng hp vic tm kim ng i s c nh hng r thm nu s dng cc tri thc thu c da trn cc hiu bit v tnh hung vn mi bc. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 123. 123 Cc Heuristic trong vic tm kim cc tiu ho gi thnh: Chn ton t xy dng cung B sao cho c th loi bt nhng nh khng lin quan n bi ton hoc t c trin vng nm trn ng i ti u. S dng thng tin b sung nhm xy dng tp MO v cch ly cc nh trong tp MO. Mun vy, ta phi a ra o, tiu chun no tm ra cc nh c trin vng, thng gi l cc hm nh gi. Mt s phng php xy dng hm nh gi: - Da vo xc sut ca nh trn ng i ti u. - Da vo khong cch, s sai khc gia mt nh no vi tp cc nh ch. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 124. 124 Vo: th G=(N,A) tu , nh gc n0 . tp nh ch ICH. Hm f0 : NR+ . /*f0 l hm c lng heuristic no */ Ra: ng i p t nh n0 ti nh n* ICH Phng php: { MO{n0 }; Tnh f0 (n0 ) ; While MO do {n get(MO); /* Ly n MO sao cho f0 (n) min */ ONG ONG {n}; if n ICH then exit( thnh cng); if B(n) then for each m B(n) do if m ONG MO then { MO MO {m}; Tnh f0 (m)} else if f0 c(m) >fmi(m) then MO MO {m}}; Write( khng thnh cng) } Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 125. 125 f0 =g0 +h0 , trong : h0 (n) l tri thc b sung ch ra trin vng ca nh n nm trn ng ti u. f0 (n) l c lng ca hm: f(n)=g(n)+h(n) , trong : g(n) l gi ng i ti u t n0 ti n h(n) l gi ng i ti u t n ti tp ICH f0 (n) l xp x ca gi ng i ti u t n0 ti tp ICH v i qua nh n. Th tc TKCT l trng hp ring ca th tc TKCT* khi ly h0 =0 Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 126. 126 Kt qu 1: (Tnh ng n) Nu i vi mi nh nN ta c 0 h0 (n) h(n) v tn ti >0 sao cho aA c(a) th th tc TKCT* dng v cho ng i p: n0 n*ICH sao cho g(n*) min. Kt qu 2: (Tnh ti u) Gi s th tc TKCT* i s dng hm nh gi f0 i (n)=g0 (n) +h0 i (n), i=1,2 v gi s h2 tho mn iu kin h0 2 (m) h0 2 (n) h(m, n), (h(m,n) l di ng i ngn nht t m n n) v n 0 h0 1 (n) h0 2 (n) h(n) th s nt a vo tp DONG ca thut ton TKCT2 * bao gi cng nh hn s nt i vi thut ton TKCT1 * . Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 127. 127 VD: Xt bi ton thp H Ni vi n=2, ly hm f0 =g0 +h0 , trong h0 (n) l thng tin ni thm v mi lin h gia n v trng thi ch. Chng hn: h0 =2 nu cc C cha c a no, h0 =1 nu cc C c a to, h0 =3 nu cc C c a nh, h0 =0 nu cc C c hai a. Cc phng php tm kim trong KGTT: Heuristic search: TKCT* 128. 128 Cc phng php tm kim trong KGTT: Heuristic search: TKCT* g0 =0 g0 =1 g0 =2 g0 =3 h0 = 2, f0 =2 h0 = 3, f0 =4 h0 = 2, f0 =3 h0 = 1 f0 =3 h0 = 3 f0 =5 h0 = 2 f0 =4 h0 = 2 f0 =5 h0 = 0 f0 =3 h0 = 1 f0 =4 ICH 129. 129 Qui bi ton v cc bi ton con v cc chin lc tm kim trn th V/Hoc Qui bi ton v cc bi ton con Th hin di dng th V/HOC Cc phng php tm kim trong th V/HOC 130. 130 Qui bi ton v cc bi ton con tng c bn l xut pht t bi ton t ra, tch bi ton ny thnh cc bi ton con cho n khi bi ton ban u tr thnh cc bi ton s cp. Bi ton s cp c hiu l bi ton m li gii ca chng c th nhn c ngay. VD: Vi bi ton n2 1 s, bi ton s cp chnh l bi ton chuyn trng 1 ln nhn c trng ch. Vi bi ton thp H Ni, bi ton s cp l chuyn 1 a t cc ny sang cc khc. 131. 131 Th hin di dng th V/HOC th (nh hng) V/HOC l cp G = (N,A), sao cho n N, tt c cc nh m B(n) cng thuc vo mt trong hai kiu: nh V, nh HOC. Khi cc nh con m ca n l nh V th cung (n,m) (m B(n)) c ni bi ngoc ln. VD: 132. 132 Quy bi ton vcc bi ton con thv/h o c Bi ton Ton t quy bi ton vbi ton con Bi ton ban u Cc bi ton s cp Cc bi ton con ph thuc Cc bi ton con c lp Gii bi ton ban u. nh Cung nh u (nh gc) nh cui, nh kt thc nh v nh h o c Tm thcon li gii. Th hin di dng th V/HOC 133. 133 nh gii c: Cc nh kt thc (cui) l nh gii c. Nu nh n c cc nh con l nh V th n l nh gii c khi v ch khi tt c cc nh con ca n gii c. Nu nh n c cc nh con l nh HOC th n l nh gii c khi v ch khi tn ti 1 nh con ca n gii c. nh khng gii c: Nu nh n khng l nh kt thc v khng c cc nh con th n l nh khng gii c. Nu nh n khng l nh kt thc v c cc nh con l nh V th n l nh khng gii c khi v ch khi tn ti mt nh con khng gii c. Nu nh n khng l nh kt thc m c cc nh con l nh HOC th n l nh khng gii c khi v ch khi tt c cc nh con l khng gii c Th hin di dng th V/HOC 134. 134 th li gii: L th con ca th V/HOC ch cha cc nh gii c v nh u. Nhn xt: Nu trn th V/HOC khng c nh V no th th V/HOC tr thnh th thng thng v khi th con li gii s suy bin thnh ng i t nh u ti mt nh kt thc no . Mc ch ca qu trnh tm kim trn th V/HOC l ta phi xc nh xem nh u c gii c hay khng. Trong trng hp gii c th ta phi a ra cy li gii tho mn iu kin no . Th hin di dng th V/HOC 135. 135 Cc phng php tm kim trong th V/HOC 136. 136 Th tc g(nN) { if nhan(n)= kx then if kt(n) then nhan(n)="g" else if n MO ONG then nhan(n)=kx else if kieu(n) then {bien=True; While B(n) and bien do {m get(B(n)); g(m); bien=(nhan(m)=g)} if bien then nhan(n)=g else nhan(n)=kx} else {bien=false; repeat {m get(B(n)); g(m); bien=(nhan(m)=g)} until bien or B(n)= if bien then nhan(n)=g else nhan(n)=kx}} Cc phng php tm kim trong th V/HOC 137. 137 Th tc tm kim theo chiu rng TKRM Th tc tm kim theo chiu su TKSM Cc phng php tm kim trong th V/HOC 138. 138 Vo: Cy V/HOC G=(N, A) vi nh u n0 , tp nh kt thc T={ti} N Ra: Thng bo khng thnh cng nu n0 kg, thnh cng nu n0 g v a ra cy li gii. Phng php: /* s dng hai danh sch FIFO: MO, ONG */ {MO ={n0 }; While MO do {n get(MO); /*Ly nh n u danh sch MO*/ ONG{n} ONG; bool = false; if B(n) and bool = false then {MO MO B(n); /* a B(n) vo cui danh sch MO */ For each m B(n) do {if kt(m) then {nhan=g; bool=true}} if bool then {g(n0 ); if nhan(n0 )=g then exit(thnh cng) else loi khi MO cc nh c t tin l nh gii c}} else {nhan(n)=kg; kg(n0 ); if nhan(n0 ) = kg then exit (khng thnh cng) else loi khi MO cc nh c t tin l nh khng gii c;}}} Cc phng php tm kim trong th V/HOC: Th tc TKRM 139. 139 VD:p dng thut ton TKRM i vi cy sau Tp T = {t1,t2,t3,t4} Th t duyt: abcdefgijk Cy li gii: cc cung t m Nhn xt: Nu cy li gii tn ti th th tc TKRM s dng v cho kt qu l cy li gii c cao nh nht Cc phng php tm kim trong th V/HOC: Th tc TKRM a b c d e f g i j k A t1 t2 B C t3 t4 D E F 140. 140 Cc phng php tm kim trong th V/HOC: Th tc TKSM Vo: Cy V/HOC G=(N, A) vi nh u n0 , tp nh kt thc T={ti} N. Gii hn su D. Ra: Thng bo khng thnh cng nu n0 kg, thnh cng nu n0 g v a ra cy li gii. Phng php: /* s dng hai danh sch FIFO: DONG, LIFO: MO */ {MO ={n0 }; While MO do {n get(MO); /*Ly nh n u danh sch MO*/ ONG{n} ONG; bool = false; if d(n) = : . & _ ~ Da trn quy tc Chui cac ch cai, ch s, du _ ,bt u bng mt ch thng (VD : anna, x25, x__y, alpha_beta,...) Chui cac ky t c bit (VD : , === > , ...) Chui cac ky t nm trong cp du (VD : Hoang, Hoa,...) I TNG D LIU Nguyn t 186. 186 Gm s nguyn va s thc Vi du : S nguyn : -3, -100, 1, 5 ,2, ... S thc : 1.25, -3.25, ... S thc it c s dung trong lp trinh Prolog I TNG D LIU - S 187. 187 Bin Chui cac ch cai, ch s va du _, bt u bng mt ch vit HOA hoc du _. Vi du : X, Result, Object2, _23 Bin v danh Ky hiu : _ Nu bin chi xut hin mt ln, khng cn t tn. S dung bin v danh Vi du : haschild(X) :- parent(X,Y). %Bin Y chi xut hin mt ln haschild(X) :- parent(X,_). %Thay th bng bin v danh I TNG D LIU - Bin 188. 188 I TNG D LIU Cu trc Cac i tng co nhiu thanh phn. Vi du : i tng date co th xem la mt cu truc vi cac thanh phn : day, month, year. Th hin bng Prolog: Vi du : date(1,may, 2005) date 1 may 2005 189. 189 Term (hng) Tt c cc i tng d liu trong Prolog c gi l term. V d : thangnam, ngay(1, thangchin,2005) l cc term. So khp (matching) L thao tc quan trng nht trn cc term. L qu trnh kim tra xem hai term c khp nhau hay khng. I TNG D LIU Cu trc 190. 190 Hai term c xem l khp (match) nhau nu: Ging nhau hon ton Cc bin trong c hai term c khi to thnh cc i tng sao cho sau khi thay th chng bng cc i tng ny th chng ging nhau hon ton. V d Cho hai term date(D,M, 2005) v date(D1, thangchin, Y1) c coi l khp nhau Ta c : D khi to thnh D1, M khi to thnh thangchin, cn Y1 khi to thnh 2005. I TNG D LIU Cu trc 191. 191 Xc nh hai term c khp nhau hay khng? Nu S, T l hng s th chng khp nhau khi chng cng mt i tng. Nu S l bin v T bt k. Nu chng khp nhau th S c khi to thnh T v ngc li. Nu S v T l cu trc. Chng khp nhau khi tt c cc thnh phn trong S v T khp nhau. I TNG D LIU Cu trc 192. 192 KIU D LIU & PHP TON KIU D LIU char : ky t gia cp du . Vi du : a, b, 1, ... integer : s nguyn (t -32768 n 32767) Vi du : 200, -521, 322, ... real : s thc Vi du : 25.18, -78.3e+21, 25.5e-20, ... string : chui dai ti a 64KB, nm cp du . Vi du : chao cac ban, Prolog symbol : chui dai ti a 80 ky t, co th khng co du . Vi du : prolog, Prolog, chao_cac_ban,... 193. 193 KIU D LIU & PHP TON PHP TON TRONG SWI-PROLOG Php ton s hc : +, -, *, /, mod, //, ** Biu thc s hc: c xy dng nh v t is Number is Expr Number: i tng c bn Expr: biu thc s hc c xy dng t cc php ton s hc, cc s v cc bin. Php so snh s hc : >, =, 0 S dng thut ton Euclide USCLN ca X v X l X. USCLN ca X v Y l USCLN ca X Y v Y nu X>Y. USCLN ca X v Y l USCLN ca Y-X v X nu X xc nh mc tiu cn gii P (2) Biu din bi ton di dng chun => P i(jqij). (3) Chuyn sang mnh Horn (lut, s kin) (4) Chuyn sang Prolog 197. Nguyn Ngc Hiu - Cc Bi ging Tr tu Nhn to 197 (1) uscln(X,Y,Z) Z l USCLN ca X,Y. (2) uscln(X,Y,Z) [(X>Y) (T=X-Y) uscln(T,Y,Z)] [(XY) (T=X-Y) uscln(T,Y,Z). uscln(X,Y,Z) (XY, T is X-Y, uscln(T,Y,Z). uscln (X,Y,Z):-XY, is(T, X-Y), uscln(T,Y,Z). uscln (X,Y,Z):-X true Plist = [P1|Plist1] => true nu P khng tn cng P1 v P khng tn cng cc v tr trong Plist1 Bi ton 8 Hu 214. 214 Kim tra mt v tr t hu pos(X,Y) tht s khng tn cng nhng con Hu khc noattack(_, []). noattack(pos(X,Y), [pos(X1,Y1) | Others]) :- Y == Y1, Y1-Y == X1-X, Y1-Y==X-X1, noattack(pos(X,Y),Others). Chng trnh? Bi ton 8 Hu 215. 215 iu khin quay lui v lt ct Prolog t ng quay lui tho mn mc tiu. y l mt cng vic hu ch nhng c nhng lc li khng hiu qu. Cn c nhng cch iu khin (ngn) quay lui. 216. 216 Mi quan h gia X v Y c xc lp qua 3 lut: Lut 1: Nu X < 3 Th Y = 0 Lut 2: Nu 3