You are on page 1of 35

Gio trnh

TR TU NHN TO ARTIFICIAL INTELLIGENCE

Phm Th Hon, Phm Th Anh L Khoa Cng ngh thng tin Trng i hc S phm H Ni

H ni, 2011

MC LC
Chng 1 Gii thiu ...............................................................................................4
1. Tr tu nhn to l g? .......................................................................................................... 4 2. Lch s ................................................................................................................................. 5 3. Cc lnh vc ca AI ............................................................................................................. 6 4. Ni dung mn hc................................................................................................................ 8

Chng 2 Cc phng php tm kim li gii .......................................................9


1. Hnh thnh bi ton .............................................................................................................. 9 2. Tm kim c h thng ........................................................................................................ 12 3. Tm kim c s dng hm nh gi ................................................................................... 14

Chng 3 Cc gii thut tm kim li gii cho tr chi .......................................26


1. Cy tr chi y ............................................................................................................ 26 2. Gii thut Minimax ............................................................................................................ 28 3. Gii thut Minimax vi su hn ch ............................................................................. 30 4. Hm nh gi ..................................................................................................................... 30 5. Gii thut Minimax vi ct ta alpha-beta ......................................................................... 33

Chng 4 Cc phng php lp lun trn logic mnh .. Error! Bookmark not defined.
1. Lp lun v Logic ...............................................................Error! Bookmark not defined. 2. Logic mnh : c php, ng ngha ....................................Error! Bookmark not defined. 3. Bi ton lp lun v cc gii thut lp lun trn logic mnh ........ Error! Bookmark not defined. 4. Cu dng chun hi v lut hp gii ...................................Error! Bookmark not defined. 5. Cu dng Horn v tam on lun ........................................Error! Bookmark not defined.

6. Thut ton suy din da trn bng gi tr chn l ...............Error! Bookmark not defined. 7. Thut ton suy din da trn lut hp gii..........................Error! Bookmark not defined. 8. Thut ton suy din tin, li da trn cc cu Horn ...........Error! Bookmark not defined.

Chng 5 Cc phng php lp lun trn logic cp 1........ Error! Bookmark not defined.
1. C php ng ngha ...........................................................Error! Bookmark not defined. 2. Php hp nht......................................................................Error! Bookmark not defined. 3. Tam on lun trong logic cp 1, cu dng Horn ...............Error! Bookmark not defined. 4. Thut ton suy din tin da trn cu Horn ........................Error! Bookmark not defined. 5. Thut ton suy din li da trn cu Horn ..........................Error! Bookmark not defined. 6. Thut ton suy din hp gii ...............................................Error! Bookmark not defined.

Chng 6 Prolog .................................................. Error! Bookmark not defined. Chng 7 Lp lun vi tri thc khng chc chn Error! Bookmark not defined. Chng 8 Hc mng nron nhn to ................... Error! Bookmark not defined.

Chng 1 Gii thiu


1. Tr tu nhn to l g?
hiu tr tu nhn to (artificial intelligence) l g chng ta bt u vi khi nim s bay nhn to (flying machines), tc l ci my bay. t lu, loi ngi mong mun lm ra mt ci my m c th di chuyn c trn khng trung m khng ph thuc vo a hnh di mt t, hay ni cch khc l my c th bay c. Khng c g ngc nhin khi nhng tng u tin lm my bay l t nghin cu cch con chim bay. Nhng chic my bit bay c thit k theo nguyn l v cnh nh con chim ch c th bay c qung ng rt ngn v lch s hng khng thc s sang mt trang mi k t anh em nh Wright thit k my bay da trn cc nguyn l ca kh ng lc hc (aerodynamics). Cc my bay hin nay, nh thy, c sc tr rt ln v bay c qung ng c th vng quanh th gii. N khng nht thit phi c nguyn l bay ca con chim nhng vn bay c nh chim (dng v), v cn tt hn chim. Quay li cu hi Tr tu nhn to l g. Tr tu nhn to l tr thng minh ca my do con ngi to ra. Ngay t khi chic my tnh in t u tin ra i, cc nh khoa hc my tnh hng n pht hin h thng my tnh (gm c phn cng v phn mm) sao cho n c kh nng thng minh nh loi ngi. Mc d cho n nay, theo quan nim ca ngi vit, c m ny vn cn xa mi thnh hin thc, tuy vy nhng thnh tu t c cng khng h nh: chng ta lm c cc h thng (phn mm chi c vua chy trn siu my tinh GeneBlue) c th thng c vua c th gii; chng ta lm c cc phn mm c th chng minh c cc bi ton hnh hc; v.v. Hay ni cch khc, trong mt s lnh vc, my tnh c th thc hin tt hn hoc tng ng con ngi (tt nhin khng phi tt c cc lnh vc). chnh l cc h thng thng minh. C nhiu cch tip cn lm ra tr thng minh ca my (hay l tr tu nhn to), chng hn l nghin cu cch b no ngi sn sinh ra tr thng minh ca loi ngi nh

th no ri ta bt chc nguyn l , nhng cng c nhng cch khc s dng nguyn l hon ton khc vi cch sn sinh ra tr thng minh ca loi ngi m vn lm ra ci my thng minh nh hoc hn ngi; cng ging nh my bay hin nay bay tt hn con chim do n c c ch bay khng phi l ging nh c ch bay ca con chim. Nh vy, tr tu nhn to y l ni n kh nng ca my khi thc hin cc cng vic m con ngi thng phi x l; v khi dng v ng x hoc kt qu thc hin ca my l tt hn hoc tng ng vi con ngi th ta gi l my thng minh hay my c tr thng minh. Hay ni cch khc, nh gi s thng minh ca my khng phi da trn nguyn l n thc hin nhim v c ging cch con ngi thc hin hay khng m da trn kt qu hoc dng v ng x bn ngoi ca n c ging vi kt qu hoc dng v ng x ca con ngi hay khng. Cc nhim v ca con ngi thng xuyn phi thc hin l: gii bi ton (tm kim, chng minh, lp lun), hc, giao tip, th hin cm xc, thch nghi vi mi trng xung quanh, v.v., v da trn kt qu thc hin cc nhim v kt lun rng mt ai c l thng minh hay khng. Mn hc Tr tu nhn to nhm cung cp cc phng php lun lm ra h thng c kh nng thc hin cc nhim v : gii ton, hc, giao tip, v.v. bt k cch n lm c nh con ngi hay khng m l kt qu t c hoc dng v bn ngoi nh con ngi. Trong mn hc ny, chng ta s tm hiu cc phng php lm cho my tnh bit cch gii bi ton, bit cch lp lun, bit cch hc, v.v.

2. Lch s
Vo nm 1943, Warren McCulioch v Walter Pitts bt u thc hin nghin cu ba c s l thuyt c bn: trit hc c bn v chc nng ca cc noron thn kinh; phn tch cc mnh logic; v l thuyt d on ca Turing. Cc tc gi nghin cu xut m hnh noron nhn to, mi noron c trng bi hai trng thi bt, tt v pht hin mng noron c kh nng hc.

Thut ng Tr tu nhn to (Artificial Intelligence - AI) c thit lp bi John McCarthy ti Hi tho u tin v ch ny vo ma h nm 1956. ng thi, ng cng xut ngn ng lp trnh Lisp mt trong nhng ngn ng lp trnh hm tiu biu, c s dng trong lnh vc AI. Sau , Alan Turing a ra "Turing test" nh l mt phng php kim chng hnh vi thng minh. Thp k 60, 70 Joel Moses vit chng trnh Macsyma - chng trnh ton hc s dng c s tri thc u tin thnh cng. Marvin Minsky v Seymour Papert a ra cc chng minh u tin v gii hn ca cc mng n-ron n gin. Ngn ng lp trnh logic Prolog ra i v c pht trin bi Alain Colmerauer. Ted Shortliffe xy dng thnh cng mt s h chuyn gia u tin tr gip chn on trong y hc, cc h thng ny s dng ngn ng lut biu din tri thc v suy din. Vo u nhng nm 1980, nhng nghin cu thnh cng lin quan n AI nh cc h chuyn gia (expert systems) mt dng ca chng trnh AI m phng tri thc v cc k nng phn tch ca mt hoc nhiu chuyn gia con ngi Vo nhng nm 1990 v u th k 21, AI t c nhng thnh tu to ln nht, AI c p dng trong logic, khai ph d liu, chn on y hc v nhiu lnh vc ng dng khc trong cng nghip. S thnh cng da vo nhiu yu t: tng kh nng tnh ton ca my tnh, tp trung gii quyt cc bi ton con c th, xy dng cc mi quan h gia AI v cc lnh vc khc gii quyt cc bi ton tng t, v mt s chuyn giao mi ca cc nh nghin cu cho cc phng php ton hc vng chc v chun khoa hc chnh xc.

3. Cc lnh vc ng dng ca AI
Bi ton lp lun, suy din

Khi nim lp lun (reasoning), v suy din (reference) c s dng rt ph bin trong lnh vc AI. Lp lun l suy din logic, dng ch mt tin trnh rt ra kt lun (tri thc mi) t nhng gi thit cho (c biu din di dng c s tri thc). Nh vy, thc hin lp lun ngi ta cn c cc phng php lu tr c s tri thc v cc th tc lp lun trn c s tri thc .

Biu din tri thc

Mun my tnh c th lu tr v x l tri thc th cn c cc phng php biu din tri thc. Cc phng php biu din tri thc y bao gm cc ngn ng biu din v cc k thut x l tri thc. Mt ngn ng biu din tri thc c nh gi l tt nu n c tnh biu t cao v cc tnh hiu qu ca thut ton lp lun trn ngn ng . Tnh biu t ca ngn ng th hin kh nng biu din mt phm vi rng ln cc thng tin trong mt min ng dng. Tnh hiu qu ca cc thut ton lp lun th hin chi ph v thi gian v khng gian dnh cho vic lp lun. Tuy nhin, hai yu t ny dng nh i nghch nhau, tc l nu ngn ng c tnh biu t cao th thut ton lp lun trn s c phc tp ln (tnh hiu qu thp) v ngc li (ngn ng n gin, c tnh biu t thp th thut ton lp lun trn s c hiu qu cao). Do , mt thch thc ln trong lnh vc AI l xy dng cc ngn ng biu din tri thc m c th cn bng hai yu t ny, tc l ngn ng c tnh biu t tt (ty theo tng ng dng) v c th lp lun hiu qu. Lp k hoch: kh nng suy ra cc mc ch cn t c i vi cc nhim v a ra, v xc nh dy cc hnh ng cn thc hin t c mc ch . Hc my: l mt lnh vc nghin cu ca AI ang c pht trin mnh m v c nhiu ng dng trong cc lnh vc khc nhau nh khai ph d liu, khm ph tri thc, X l ngn ng t nhin: l mt nhnh ca AI, tp trung vo cc ng dng trn ngn ng ca con ngi. Cc ng dng trong nhn dng ting ni, nhn dng ch vit, dch t ng, tm kim thng tin, H chuyn gia: cung cp cc h thng c kh nng suy lun a ra nhng kt lun. Cc h chuyn gia c kh nng x l lng thng tin ln v cung cp cc kt lun da trn nhng thng tin . C rt nhiu h chuyn gia ni ting nh cc h chuyn gia y hc MYCIN, on nhn cu trc phn t t cng thc ha hc DENDRAL,

Robotics

4. Ni dung mn hc
Gio trnh ny c vit vi cc ni dung nhp mn v AI cho cc sinh vin chuyn ngnh Tin hc v Cng ngh thng tin. Cc tc gi c tham kho mt s ti liu, gio trnh ca cc trng i hc Quc gia H ni, i hc Bch khoa H ni, Ni dung gm cc phn sau: Chng 1. Gii thiu: trnh by tng quan v AI, lch s ra i v pht trin v cc lnh vc ng dng ca AI. Chng 2. Cc phng php tm kim li gii: trnh by cc k thut tm kim c bn c p dng gii quyt cc vn v c p dng rng ri trong cc lnh vc ca tr tu nhn to. Chng 3. Cc gii thut tm kim li gii cho tr chi: trnh by mt s k thut tm kim trong cc tr chi c i th. Chng 4. Cc phng php lp lun trn logic mnh : trnh by c php, ng ngha ca logic mnh v mt s thut ton lp lun trn logic mnh . Chng 5. Cc phng php lp lun trn logic v t cp mt: trnh by c php, ng ngha ca logic v t cp mt v mt s thut ton lp lun c bn trn logic v t cp mt. Chng 6. Prolog: Gii thiu chung v ngn ng Prolog, c php, ng ngha v cu trc chng trnh trong Prolog, mt s phin bn mi ca Prolog nh SWI Prolog, Chng 7. Lp lun vi tri thc khng chc chn: Gii thiu v tri thc khng chc chn v mt s cch tip cn biu din v x l tri thc khng chc chn. Chng 8. Hc mng noron nhn to: Gii thiu v phng php v cc k thut c bn trong lp lun s dng mng noron nhn to.

Chng 2 Cc phng php tm kim li gii


Mt lp cc nhim v m my tnh (vi phn mm tr tu nhn to ph hp) c th thc hin tt hn con ngi nh vo tc thc hin ca CPU v b nh dung lng ln l tm kim li gii trong khng gian (hu hn hoc v hn) cc li gii tim nng ca mt bi ton c th. Mt li gii tim nng c th l mt ng i trong khng gian th trng thi ca bi ton hoc l mt trng thi ca bi ton. Vi tc x l nhanh, my tnh ch cn sinh ra v duyt cc li gii tim nng (cy tm kim) mt cch c h thng (tm kim m, tm kim theo chiu rng hoc theo chiu su) v kim tra n c l li gii thc s (ti u) ca bi ton cho khng. Trong nhiu trng hp, my tnh c th s dng mt hm nh gi/nh hng (hm heuristic) hn ch khng sinh ra cc phn ca cy tm kim m kh nng s khng cha li gii thc s. Rt nhiu bi ton t n gin n phc tp c th gii c bng cc phng php tm kim n gin nh trn, nh cc bi ton chi c, cc bi ton tm ng i trn th, cc bi ton duyt cc t hp, chnh hp, v.v. Cc bi ton c cng c trng l c th biu din bi 4 thnh t sinh ra khng gian cc li gii tim nng ca bi ton: trng thi u, trng thi ch, cc thao tc chuyn trng thi, chi ph cc php chuyn trng thi. Vi cc bi ton ny, r rng my tnh c kh nng gii quyt tt hn con ngi.

2.1 Hnh thnh bi ton


Trong thc t, nhiu bi ton c th a v bi ton tm kim. Chng hn, mun tm nghim ca phng trnh, ta i tm nhng gi tr ca bin s trong min xc nh m khi thay vo phng trnh c tha mn; vi cc bi ton chng minh, ta i tm dy cc lp lun sao cho xut pht t gi thit c th i n kt lun; hoc mun i t H ni n Si gn, ngi ta phi tra cu trn bn tm nhng thnh ph m theo c th i n Si gn nu xut pht t H ni. Bi ton tm kim l xc nh trong khng gian tm kim (min) nhng i tng m tha mn cc iu kin t ra.

Trong lnh vc AI, chng ta nghin cu hnh trnh ca cc agent thng minh. C s ca cc bi ton l: trng thi u (trng thi xut pht), cc hnh ng bin i trng thi v trng thi kt thc (trng thi ch). Vn t ra l xc nh dy cc trng thi hp l sao cho t trng thi xut pht c th n c trng thi ch. Khng gian trng thi: l tp cc trng thi c th t c bng cch thc hin chui cc hnh ng xut pht t trng thi ban u. Mt hnh trnh khng gian trng thi l thc hin dy cc hnh ng t trng thi ny n trng thi khc. Gii bi ton : xc nh trng thi xut pht, tm dy cc hnh ng hoc php bin i (ton t) cc trng thi sao cho t trng thi xut pht c th dn n trng thi ch. Vi mi bi ton, c th c mt hoc nhiu cch gii, trong , ngi ta lun mong mun tm li gii tt nht da vo vic tnh chi ph thc hin. Hm chi ph: Gi tr nh gi chi ph thc hin bin i trng thi. Hiu qu ca vic tm kim th hin qua vic nh gi: Vic tm kim c kt thc khng? C tm thy li gii ca bi ton khng? C tm c li gii ti u khng?

thc hin tm kim, trc ht phi tm cch biu din bi ton trong khng gian tm kim. Khng gian tm kim bao gm tt c cc i tng m ta cn quan tm tm kim (c th l khng gian lin tc, khng gian cc i tng ri rc, khng gian vecto,). Khng gian tm kim c th hin bi khng gian trng thi. Vic biu din bi ton trong khng gian trng thi, cn xc nh cc yu t sau: Trng thi xut pht Tp hp cc ton t Tp hp cc trng thi kt thc (trng thi ch).

Khng gian trng thi c th c biu din bi th c hng: mi nh ca th tng ng vi 1 trng thi, nu ton t R bin i t trng thi u n trng thi v th c 1 cung gn nhn R ni hai nh u v v. V d:

th c hng lp (directed acyclic graph - DAG)

Hnh 2.1: Khng gian trng thi ca tr chi tic-tac-toe Khi biu din mt vn nh mt th khng gian trng thi, chng ta c th s dng l thuyt th phn tch cu trc v phc tp ca cc vn cng nh thc hin cc th tc tm kim. Qu trnh tm kim l i xy dng cy tm kim vi gc ca cy tng ng vi trng thi xut pht, cc nh tng ng vi cc trng thi trong th khng gian trng thi. Cc k thut tm kim uc p dng rng ri trong lnh vc TTNT : - Tm kim m : khng c hiu bit g v cc i tng hng dn tm kim - Tm kim kinh nghim (heuristic) : da vo kinh nghim v hiu bit v vn cn gii quyt xy dng hm nh gi hng dn s tm kim. + Tm kim ti u

+ Tm kim c i th : tm kim nc i trong cc tr chi hai ngi (c vua, c tng,...)

2.2 Tm kim c h thng


Tm kim m l chin lc tm kim khng c s hng dn no cho tm kim, ch pht trin cc trng thi t trng thi ban u cho ti khi gp mt trng thi ch no . C hai thut ton tm kim n gin: 2.2.1 Tm kim theo chiu rng: tng: Bt u m rng t nt gc, sau ln lt m rng cc nt c sinh

ra t nt gc, tip n nhng nt k tip ca cc nt ny, v c nh vy cho n khi tm thy mt nt ch no hoc khng cn nt no c sinh ra. Trong , nt B gi l c sinh ra t nt A nu B l k vi A trong th khng gian trng thi. Do , ti mi bc, trng thi chn pht trin l trng thi c sinh ra trc cc trng thi ch pht trin khc Thut ton: Procedure Breadth_first_Search; begin 1. Khi to dsch L ch cha trng thi ban u; 2. Loop do 2.1 if L rng then {thng bo tm kim tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 if u l trng thi kt thc then {thng bo tm kim thnh cng; stop}; 2.4 for mi trng thi v k u do {t v vo cui danh sch L;

father(v) u}; end; - nh gi thut ton: Danh sch L c x l nh hng i + Nu bi ton c nghim (tn ti ng i t trng thi ban u ti trng thi ch) th thut ton s tm ra nghim v ng i l ngn nht. + Nu bi ton v nghim, khng gian trng thi hu hn, thut ton dng v thng bo v nghim. + Gi b l nhn t nhnh, nghim ca bi ton l ng i c di d, phc tp O(bd). - V d: 2.2.2 Tm kim theo chiu su - tng: Bt u m rng t nt gc, sau m rng mt trong cc nt mc su nht ca cy. Nu tm n mt im ct (tc l n nt khng phi nt ch v li khng m rng c na). Nh vy, ti mi bc, trng thi chn pht trin l trng thi c sinh ra sau cc trng thi ch pht trin khc - Thut ton: Procedure Deepth_first_Search; begin 1. Khi to dsch L ch cha trng thi ban u; 2. Loop do 2.1 if L rng then {thng bo tm kim tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 if u l trng thi kt thc then {thng bo tm kim thnh cng; stop};

2.4 for mi trng thi v k u do {t v vo u danh sch L; father(v) u}; end; - V d: - nh gi thut ton: Danh sch L c x l nh ngn xp + Nu bi ton c nghim, khng gian trng thi hu hn th thut ton s tm ra nghim. Nu khng gian trng thi v hn th c th khng tm ra nghim nn dng thut ton ny vi bi ton c cy tm kim cha cc nhnh v hn + Nghim bi ton l ng i c di d, cy tm kim c nhn t nhnh b, phc tp trong trng hp ti nht O(bd), phc tp khng gian l O(db). khng

2.3 Tm kim c s dng hm nh gi


Tm kim kinh nghim (heuristic) l k thut tm kim da vo kinh nghim, s hiu bit, trc gic a cc phng on, c chng trong cc bc tm kim. Lnh vc AI gii quyt cc bi ton trong hai tnh hung c bn sau: - Bi ton c nh ngha chnh xc nhng chi ph tm li gii bng tm kim vt cn l khng th chp nhn. V d: s bng n khng gian tm kim trong tr chi c vua,... - Li pht biu bi ton hay d liu cng nh tri thc sn c ca bi ton mang tnh m h. V d: chn on trong y hc, cc s c hng hc ca my mc, Vic gii quyt bi ton bng tm kim heuristic thng thc hin ba bc chnh sau: Tm biu din thch hp m t cc trng thi v cc ton t bin i trng thi ca bi ton

Xy dng hm nh gi (evaluation function), dng nh gi cc c im ca mt trng thi trong KGTT

Thit k chin lc chn cc trng thi pht trin mi bc: Tm kim tt nht-u tin (best-first search) v tm kim leo i (hill-climbing).

Hm nh gi: Khng c mt phng php tng qut xc nh hm nh gi, m ty vo tng bi ton c th v da vo kinh nghim ngi ta c th a ra cc nh gi khc nhau. Di y l mt s v d: V d: tr chi 8 s (8-puzzle): cc con s lin tip t 1 n 8 c t trong mt bn c 3x3 (9 ), nh vy s c 1 trng. Ngi ta di chuyn trng ny sao cho c th a bn c v trng thi m tt c cc con s u xp theo th t lien tip theo t ngoi vo trong. 1 8 6 5 3 7 2 4 1 8 7 6 2 3 4 5

a.Trng thi u

b.Trng thi ch

Hnh 2.2: V d v tr chi 8-puzzle Mt s hm nh gi c th c xc nh nh sau: - Hm nh gi h1 = s qun c nm sai v tr. Trong hnh 2.2.a) th h1= 5 - Hm nh gi h2 = tng s khong cch ca cc qun c so vi v tr mc tiu (trng thi ch). Khong cch cc qun c c tnh bng s di chuyn theo chiu ngang hoc theo chiu dc ca cc qun c n v tr mc tiu. V d trong hnh 2.2.a) th h2 = 1+2+3+1+1= 8. 2.3.1 Tm kim tt nht u tin - tng: tm kim theo chiu rng kt hp vi hm nh gi

- Thut ton: Procedure Best-first search; Begin 1. Khi to danh sch L ch cha trng thi u; 2. Loop do 2.1 If L rng then {thng bo tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 If u l trng thi kt thc then {thng bo thnh cng; stop}; 2.4 For mi trng thi v k u do Chn v vo danh sch L sao cho L c sp theo th t tng dn ca hm nh gi; End; - V d:
A 15 C E 7 6 F D I 8 K 12 20

3 H

Hnh 2.2: th khng gian trng thi

A 20

15

C 6 D

E 7 K 12 F I G

10

Hnh 2.3: Cy tm kim tt nht-u tin 2.3.2 Tm kim leo i - tng: Tm kim theo chiu su kt hp vi hm nh gi. M rng trng thi hin ti v nh gi cc trng thi con ca n bng hm nh gi heuristic. Ti mi bc, con tt nht s c chn i tip. - Thut ton: Procedure Hill-Climbing_search; Begin 1. Khi to danh sch L ch cha trng thi u; 2. Loop do 2.1 If L rng then {thng bo tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 If u l trng thi kt thc then

{thng bo thnh cng; stop}; 2.4 For mi trng thi v k u do t v vo L1; 2.5 Sp xp L1 theo th t tng dn ca hm nh gi sao cho trng thi tt nht u danh sch L1; 2.6 Chuyn danh sch L1vo u danh sch L; End; V d : Vi v d th khng gian trng thi nh hnh 2.2 th cy tm kim leo i tng ng nh hnh 2.4 : A 20

15

C 6 D

E 7

10

Hnh 2.4: Cy tm kim leo i Hn ch ca thut ton : - Gii thut c khuynh hng b sa ly nhng cc i cc b: + Li gii tm c khng ti u + Khng tm c li gii mc d c tn ti li gii

- Gii thut c th gp vng lp v hn do khng lu gi thng tin v cc trng thi duyt. 2.3.3 Tm kim Beam hn ch khng gian tm kim, ngi ta a ra phng php tm kim Beam. y l phng php tm kim theo chiu rng nhng c hn ch s nh pht trin mi mc. Trong tm kim theo chiu rng, ti mi mc ta pht trin tt c cc nh, cn tm kim Beam th chn k nh tt nht pht trin. Cc nh ny c xc nh bi hm nh gi. V d, vi th khng gian trng thi nh hnh 2.2 v ly k=2 th cy tm kim Beam nh hnh 2.5. Cc nh c chn mi mc l cc nh c t mu :
A 20

15

C 6 D

E 7

K 10 F I 8 G 5

12

G 0

Hnh 2.5: Cy tm kim Beam

2.4 Tm kim ti u
Tm kim ti u l ti thiu chi ph c lng i n mc tiu. Mt cch tng qut, trong khng gian tm kim, mi i tng x c gn mt gi tr hm gi f(x), ta cn tm i tng x m f(x) l ln nht (hoc nh nht). Hm f(x) c gi l hm mc tiu. Trong phn ny, chng ti trnh by mt s thut ton trong bi ton tm ng

i ngn nht (thut ton A*, thut ton nhnh-cn) ; tm i tng tt nht v thut ton di truyn. 2.4.1 Tm ng i ngn nht Vn tm kim nh trnh by trong phn trc l tm ng i t trng thi xut pht n trng thi ch trong khng gian trng thi. Trong thc t, thng ngi ta phi tnh n chi ph di chuyn cc trng thi, t trng thi u n trng thi v, biu din bi mt s khng m. Gi tr ny c gi l trng s ca cung (u, v) trong th khng gian trng thi. Trng s ny c xc nh ty thuc tng bi ton c th. Chng hn, trong bi ton tm ng i trn bn , trng s ca cung (u,v) l di ca on ng t a im u n a im v. di ng i c xc nh bng tng di cc cung trn ng i. Mc tiu ca chng ta l tm ng i ngn nht t trng thi xut pht n trng thi ch. Khng gian tm kim l tt c cc ng i t trng thi xut pht n trng thi ch, hm mc tiu l di ng i. Ngi ta c th gii quyt bi ton bng cc phng php tm kim m (tm tt c cc ng i t trng thi xut pht n trng thi ch), sau so snh di ca chng v tm ra ng i ngn nht. Tuy nhin, trong thc t khng th p dng k thut ny v vi bi ton c khng gian tm kim ln th i hi chi ph v thi gian rt cao. Mt khc, cc phng php heuristic nh tm kim tt nht - u tin cho kt qu l ng i ngn nht nhng c th km hiu qu, hay tm kim leo i cng ch cho kt qu l ng i tng i tt ch khng m bo ng i l ngn nht. Do , tng hiu qu tm kim, chng ta cn cc phng php tm kim heuristic s dng hm nh gi kt hp : - Hm g(u) : nh gi di ng i ngn nht t nh xut pht u0 n u. Trong , ng i t u0 n u khng phi l trng thi ch th c gi l ng i mt phn, ng i t u0 n trng thi ch u gi l ng i y . - Hm h(u) : nh gi di ng i ngn nht t nh u n ch.

Trong , hm h(u) gi l chp nhn c (nh gi thp) nu vi mi trng thi u, h(u) <= di ng i ngn nht trong thc t t u n ch. V d, trong bi ton tm ng i th h(u) l di ng chim bay t a im u n ch. Nh vy, hm nh gi l f(u) = g(u) + h(u), nh gi di ng i ngn nht t trng thi xut pht n trng thi ch m i qua trng thi u. V d v ci t hm nh gi : Xt tr chi 8-puzzle. Cho mi trng thi u mt gi tr f(u) = g(u) + h(u) g(u) l khong cch thc s t u n trng thi bt u h(u) l hm heuristic nh gi khong cch t trng thi u n mc tiu, l s v tr cn sai. start

g(u)=0

2 1 7

8 6

3 4 5

goal 1 8 7 6 2 3 4 5 f(u) = 2 1 8 6 7 6 3 4 5 2 1 7 6 4 8 3 4 5 2 1 7 8 6 5 6 3 4

g(u)=1

Hnh 2.6: Minh ha hm nh gi cho tr chi 8-puzzle V d : hnh 2.7 minh ha mt th khng gian trng thi vi hm nh gi: cc s ghi cnh cc nh l gi tr ca hm h, cc s ghi trn cc cung l di cung .

14 9 15 6 10 8 H 5 2 K 6 4 9 B C 7 6 A 13 4 E 8 3 I 0 5 4 20 F 7 4 6 12 G

Hnh 2.7: th khng gian trng thi vi hm nh gi a)- Thut ton A* - tng : thut ton tm kim tt nht u tin vi hm nh gi f(u) - Thut ton : Procedure A*; Begin 1. Khi to danh sch L ch cha trng thi u; 2. Loop do 2.1 If L rng then {thng bo tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 If u l trng thi kt thc then {thng bo thnh cng; stop}; 2.4 For mi trng thi v k u do {g(v)g(u)+k(u,v) f(v)g(v)+h(v);

t v vo danh sch L;} 2.5 Sp xp L theo th t tng dn ca hm f; End; V d : Vi th khng gian trng thi nh hnh 2.7, nh xut pht A v nh ch B. p dng thut ton A*, ta xy dng c cy tm kim nh hnh 2.8 v gi tr ca hm f ti cc nh c tnh nh bng 2.1:
A 14 27 F 24 C 13 nh pht trin (u) A nh con (v) C D E F H E K I B K B g(v) 9 7 13 20 7+8=15 7+4=11 11+4=15 11+3=14 15+6=21 14+9=23 14+5=19 f(v) 9+15=24 7+6=13 13+8=21 20+7=27 15+10=25 11+8=19 15+2=17 14+4=18 21+0=21 23+2=25 19+0=19 nh chn D 25 H E 19 D 21 E

D E K I

E K I B

17

I 18

21

K 25

B 19

Bng 2.1: Tnh gi tr hm f cho thut ton A* - Nhn xt :

Hnh 2.8: Cy tm kim A*

+ Nu h(u) l nh gi thp (c bit h(u)=0 vi mi trng thi u), th A* l thut ton ti u, tc l nghim tm c l ti u. Nu di cc cung khng nh hn mt s dng no th A* l thut ton y , tc l n lun dng v tm ra nghim. + Trng hp hm nh gi h(u)=0 vi mi u, thut ton A* chnh l thut ton tm kim tt nht u tin vi hm nh gi g(u).

+ Thut ton A* c chng minh l thut ton hiu qu nht trong s cc thut ton y v ti u cho bi ton tm ng i ngn nht. b)- Thut ton nhnh - cn - tng : thut ton tm kim leo i kt hp vi hm nh gi f(u). Ti mi bc, khi pht trin trng thi u, chn trng thi con v tt nht (f(v) nh nht) ca u pht trin bc sau. Qu trnh tip tc nh vy cho n khi gp trng thi w l ch, hoc w khng c nh k, hoc w c f(w) ln hn di ng i ti u tm thi (ng i y ngn nht trong s nhng ng i y tm c). Trong cc trng hp ny, chng ta khng pht trin nh w na, tc l ct b nhng nhnh xut pht t w, v quay ln cha ca w tip tc i xung trng thi tt nht trong s nhng trng thi cn li cha c pht trin. - Thut ton : Procedure Branch-and-Bound; Begin 1. Khi to danh sch L ch cha trng thi u; Gn gi tr ban u cho cost; /*cost l gi tr ng i ti u tm thi*/ 2. Loop do 2.1 If L rng then {thng bo tht bi; stop}; 2.2 Loi trng thi u u danh sch L; 2.3 If u l trng thi kt thc then if g(u)<=cost then {cost g(u); quay li 2.1}; 2.4 if f(u)>cost then quay li 2.1; 2.5 For mi trng thi v k u do {g(v) g(u)+k(u,v);

f(v) g(v) +h(v); t v vo danh sch L1}; 2.6 Sp xp L1 theo th t tng dn ca hm f; 2.7 Chuyn danh sch L1vo u danh sch L sao cho L1 u danh sch L; End; - V d : Vi th khng gian trng thi nh hnh 2.7, nh xut pht A v nh ch B. p dng thut ton nhnh cn, ta xy dng c cy tm kim nh hnh 2.9 v gi tr ca hm f ti cc nh c tnh nh bng 2.2:
nh pht trin (u) A nh con (v) C D E F H E K I B K B g(v) f(v) nh chn D
A 14 27 F 13 D 21 E 24 C

D E K B I B

9 9+15=24 7 7+6=13 13 13+8=21 20 20+7=27 7+8=15 15+10=25 7+4=11 11+8=19 11+4=15 15+2=17 11+3=14 14+4=18 15+6=21 21+0=21 cost := 21 14+9=23 23+2=25 14+5=19 19+0=19 cost := 19

E K I

B
E 19

25

Bng 2.2: Tnh gi tr hm f cho thut ton nhnh-cn - Nhn xt : Thut ton nhnh-cn cng l thut ton y v ti u nu h(u) l hm nh gi thp v c di cc cung khng nh hn mt s dng no
17 K I 18

21

19

K 25

Hnh 2.9 : Cy tm kim nhnh-cn

2.4.2 Tm i tng tt nht

Chng 3 Cc gii thut tm kim li gii cho tr chi


Chng trnh chi c u tin c vit bi Claude Shannon vo nm 1950 l mt minh chng cho kh nng my tnh c th lm c nhng vic i hi tr thng minh ca con ngi. T ngi ta nghin cu cc chin lc chi cho my tnh vi cc tr chi c i th (c hai ngi tham gia). Vic gii quyt bi ton ny c th a v bi ton tm kim trong khng gian trng thi, tc l tm mt chin lc chn cc nc i hp l cho my tnh. Tuy nhin, vn tm kim y phc tp hn so vi vn tm kim trong chng trc, v ngi chi khng bit trc i th s chn nc i no tip theo. Chng ny s trnh by mt s chin lc tm kim ph bin nh Minimax, phng php ct ct -.

3.1 Cy tr chi y
Cc tr chi c i th c cc c im: hai ngi thay phin nhau a ra cc nc i tun theo cc lut ca tr chi (cc nc i hp l), cc lut ny l nh nhau i vi c hai ngi chi, chng hn cc tr chi c: c vua, c tng, c ca r (tic-tc-toe), . V d, trong chi c vua, mt ngi iu khin qun Trng v mt ngi iu khin qun en. Ngi chi c th la chn cc nc i theo cc lut vi cc qun tt, xe, m, Lut i qun tt Trng, xe Trng, m Trng, ging lut i qun tt en, xe en, m en,Hn na, c hai ngi chi u bit y cc thng tin v tnh th cuc chi. Thc hin tr chi l ngi chi tm kim nc i tt nht trong s rt nhiu nc i hp l, ti mi lt chi ca mnh, sao cho sau mt dy nc i thc hin ngi chi phi thng cuc. Vn chi c c th c biu din trong khng gian trng thi, , mi trng thi l mt tnh th ca cuc chi (s sp xp cc qun c trn bn c): Trng thi xut pht l s sp xp cc qun c ca hai bn khi bt u cuc chi (cha ai a ra nc i) Cc ton t bin i trng thi l cc nc i hp l

Cc trng thi kt thc l cc tnh th m cuc chi dng, thng c xc nh bi mt s iu kin dng (chng hn, qun Trng thng hoc qun en thng hoc hai bn ha nhau)

Hm kt cuc: mang gi tr tng ng vi mi trng thi kt thc. Chng hn, trong c vua, hm kt cuc c gi tr l 1 ti cc trng thi m Trng thng, -1 ti cc trng thi m Trng thua v 0 ti cc trng thi hai bn ha nhau. Trong cc tr chi tnh im khc th hm kt cuc c th nhn cc gi tr nguyn trong on [-m, m], vi m l mt s nguyn dng no .

Nh vy, trong cc tr chi c i th, ngi chi (iu khin qun Trng gi tt l Trng) lun tm mt dy cc nc i xen k vi cc nc i ca i th (iu khin qun en gi tt l en) to thnh mt ng i t trng thi ban u n trng thi kt thc l thng cho Trng. Khng gian tm kim i vi cc tr chi ny c th c biu din bi cy tr chi nh sau: gc ca cy ng vi trng thi xut pht, cc nh trn cy tng ng vi cc trng thi ca bn c, cc cung (u, v) nu c bin i t trng thi u n trng thi v. Cc nh trn cy c gn nhn l nh Trng (en) ng vi trng thi m qun Trng (en) a ra nc i. Nu mt nh u c gn nhn l Trng (en) th cc nh con v ca n l tt c cc trng thi nhn c t u do Trng (en) thc hin mt nc i hp l no . Do , cc nh trn cng mt mc ca cy u c nhn l Trng hoc u c nhn l en, cc l ca cy ng vi trng thi kt thc. V d: tr chi Dodgem: C hai qun Trng v hai qun en c xp vo bn c 3x3. Ban u cc qun c c xp nh hnh bn. Qun en c th i n trng bn phi, trn hoc di. Qun Trng c th i n trng bn trn, bn tri hoc bn phi. Qun en nu ct ngoi cng bn phi c th i ra khi bn c, qun Trng nu hng trn cng c th i ra khi bn c. Ai a c c hai qun ca mnh ra khi bn c hoc to ra tnh th m i phng khng i c l thng cuc. Tr chi Dodgem

en

Trng

en

Cy tr chi Dodgem vi en i trc

3.2 Gii thut Minimax


Qu trnh chi c l qu trnh m Trng v en thay phin nhau a ra cc nc i hp l cho n khi dn n trng thi kt thc cuc chi. Qu trnh ny biu din bi ng i t nt gc ti nt l trn cy tr chi. Gi s ti mt nh u no trn ng i, nu u l nh Trng (en) th cn chn mt nc i no n mt trong cc nh con en (Trng) v ca u. Ti nh en (Trng) v s chn i tip n mt nh con Trng (en) w ca v. Qu trnh ny tip tc cho n khi t n mt nh l ca cy. Chin lc tm nc i ca Trng hay en l lun tm nhng nc i dn ti trng thi tt nht cho mnh v ti nht cho i th. Gi s Trng cn tm nc i ti nh u, nc i ti u cho Trng l nc i dn ti nh con v sao cho v l tt nht trong s cc nh con ca u. n lt en chn nc i t v, en cng chn nc i tt nht cho mnh. chn nc i ti u cho Trng ti nh u, cn xc nh gi tr cc nh ca cy tr chi gc u. Gi tr ca cc nh l ng vi gi tr ca hm kt cuc. nh c gi tr cng ln cng tt cho Trng, nh c gi tr cng nh cng tt cho en. xc nh gi tr cc nh ca cy tr chi gc u, ta i t mc thp nht (cc nh l)

ln gc u. Gi s cn xc nh gi tr ca nh v m cc nh con ca n xc nh. Khi , nu v l nh Trng th gi tr ca n l gi tr ln nht trong cc nh con, nu v l nh en th gi tr ca n l gi tr nh nht trong cc nh con. Sau y l th tc chn nc i cho Trng ti nh u Minimax(u, v), trong v l nh con c chn ca u: Procedure Minimax(u, v); begin val -; for mi w l nh con ca u do if val(u) <= MinVal(w) then {val MinVal(w); v w} end; Function MinVal(u); {hm xc nh gi tr cho cc nh en} begin if u l nh kt thc then MinVal(u) f(u) else MinVal(u) min{MaxVal(v) | v l nh con ca u} end; Function MaxVal(u); { hm xc nh gi tr cho cc nh Trng} begin if u l nh kt thc then MaxVal(u) f(u) else MaxVal(u) max{MinVal(v) | v l nh con ca u} end; Trong cc th tc v hm trn, f(u) l gi tr ca hm kt cuc ti nh kt thc u.

Thut ton Minimax l thut ton tm kim theo chiu su. V l thuyt, chin lc Minimax cho php tm nc i ti u cho Trng. Tuy nhin trong thc t, ta khng c thi gian tnh ton nc i ti u ny. Bi v thut ton tnh ton trn ton b cy tr chi (xem xt tt c cc nh ca cy theo kiu vt cn). Trong cc tr chi hay th kch thc ca cy tr chi l cc ln. Chng hn, trong c vua, ch tnh n su 40 th cy tr chi c n 10120 nh. Nu cy c cao m v ti mi nh c b nc i th phc tp v thi gian ca thut ton Minimax l O(bm). Trong thc t, cc tr chi u c gii hn v thi gian. Do , c th tm nhanh nc i tt (khng phi ti u) thay v s dng hm kt cuc v xt tt c cc nh ca cy tr chi, ta s dng hm nh gi v ch xem xt mt b phn ca cy tr chi.

3.3 Gii thut Minimax vi su hn ch


3.3.1 Hm nh gi Hm nh gi eval cho mi nh u l nh gi mc li th ca trng thi u. Gi tr ca eval(u) l s dng cng ln th trng thi u cng c li cho Trng, gi tr ca eval(u) l s dng cng nh th trng thi u cng c li cho en, eval(u)=0 th trng thi u khng c li cho i th no, eval(u)=+ th u l trng thi thng cuc cho Trng, eval(u)=- th u l trng thi thng cuc cho en. Hm nh gi ng vai tr rt quan trng trong cc tr chi, nu hm nh gi tt s nh hng chnh xc vic la chn cc nc i tt. Vic thit k hm nh gi ph thuc vo nhiu yu t: cc qun c cn li ca hai bn, s b tr cc qun c ny, a ra hm nh gi chnh xc i hi nhiu thi gian tnh ton, tuy nhin, trong thc t ngi chi b gii hn thi gian a ra nc i. V vy, vic a ra hm nh gi ph thuc vo kinh nghim ca ngi chi. Sau y l mt s v d v cch xy dng hm nh gi: V d 1: Hm nh gi cho c vua. Mi loi qun c gn mt gi tr s ph hp vi sc mnh ca n. Chng hn, qun tt Trng (en) c gn gi tr 1 (-1), m hoc

tng Trng (en) c gn gi tr 3 (-3), xe Trng (en) c gn gi tr 5 (-5) v hu Trng (en) c gn gi tr 9 (-9). Hm nh gi ca mt trng thi c tnh bng cch ly tng gi tr ca tt c cc qun c trong trng thi . Hm nh gi ny c gi l hm tuyn tnh c trng s, v c th biu din di dng: s1w1 + s2w2 + + snwn Trong , wi l gi tr ca qun c loi i, si l s qun loi . y l cch nh gi n gin, v n khng tnh n s b tr ca cc qun c, cc mi tng quan gia chng. V d 2: Hm nh gi trng thi trong tr chi Dodgem. Mi qun Trng c gn gi tr tng ng vi cc v tr trn bn c nh trong hnh bn tri. Mi qun en c gn gi tr cc v tr tng ng nhu hnh bn phi: 30 15 0 35 20 5 40 25 10 -10 -5 0 -25 -20 -15 -40 -35 -30

Ngoi ra, nu qun Trng cn trc tip mt qun en, n c thm 40 im, nu cn gin tip c thm 30 im (xem hnh di). Tng t, nu qun en cn trc tip qun Trng n c thm -40 im, cn gin tip c thm -30 im.

Trng cn trc tip en c thm 40 im

Trng cn gin tip en c thm 30 im

p dng cch tnh hm nh gi nu trn, ta tnh c gi tr ca cc trng thi cc hnh di nh sau:

Gi tr hm nh gi:75= (-10+0+5+10)+(40+30) 3.3.2 Thut ton

Gi tr hm nh gi:-5= (-25+0+20+10)+(-40+30)

hn ch khng gian tm kim, khi xc nh nc i cho Trng ti u, ta ch xem xt cy gc u ti cao h no . p dng th tc Minimax cho cy tr chi gc u, cao h v s dng hm nh gi xc nh gi tr cho cc l ca cy. Procedure Minimax(u, v, h); begin val -; for mi w l nh con ca u do if val(u) <= MinVal(w, h-1) then {val MinVal(w, h-1); v w} end; Function MinVal(u, h); {hm xc nh gi tr cho cc nh en} begin if u l nh kt thc or h = 0 then MinVal(u, h) eval(u) else MinVal(u, h) min{MaxVal(v, h-1) | v l nh con ca u}

end; Function MaxVal(u, h); { hm xc nh gi tr cho cc nh Trng} begin if u l nh kt thc or h =0 then MaxVal(u, h) eval(u) else MaxVal(u, h) max{MinVal(v, h-1) | v l nh con ca u} end;

3.4 Gii thut Minimax vi ct ta alpha-beta


Trong chin lc Minimax vi su hn ch th s nh ca cy tr chi phi xt vn cn rt ln vi h>=3. Khi nh gi nh u ti su h, thut ton Minimax i hi phi nh gi tt c cc nh ca cy gc u vi su h. Tuy nhin, phng php ct ct alpha-beta cho php ct b nhng nhnh khng cn thit cho vic nh gi nh u. Phng php ny lm gim bt s nh phi xt m khng nh hng n kt qu nh gi nh u. tng: Gi s ti thi im hin ti ang nh Trng a, nh a c anh em l v c nh gi. Gi s cha ca nh a l b, b c anh em l u c nh gi, v cha ca b l c nh hnh sau: c max

min

max

Ct b cy con gc a nu eval(u)>eval(v)

Khi ta c gi tr nh Trng c t nht l gi tr ca u, gi tr ca nh en b nhiu nht l gi tr ca v. Do , nu eval(u) > eval(v) ta khng cn i xung nh gi nh a na m vn khng nh hng n nh gi nh c. Hay ni cch khc, ta c th ct b cy con gc a. Lp lun tng t cho trng hp a l nh en, trng hp ny nu eval(u)<eval(v) ta cng ct b cy con gc a. ci t k thut ny, i vi cc nh nm trn ng i t gc ti nh hin thi, ta s dng tham s ghi li gi tr ln nht trong cc gi tr ca cc nh con nh gi ca mt nh Trng, tham s ghi li gi tr nh nht trong cc gi tr ca cc nh con nh gi ca mt nh en. Thut ton: Procedure Alpha_beta(u, v); begin -; -; for mi w l nh con ca u do if <= MinVal(w, , ) then { MinVal(w, , ); v w} end; Function MinVal(u, , ); {hm xc nh gi tr cho cc nh en} begin if u l nh kt thc or u l l ca cy hn ch then MinVal(u, , ) eval(u) else for mi nh v l con ca u do { min{, MaxVal(v, , )} ;

If >= then exit}; /*ct b cc cy con t cc nh v cn li */ MinVal(u, , ) ; end; Function MaxVal(u, , ); { hm xc nh gi tr cho cc nh Trng} begin if u l nh kt thc or l l ca cy hn ch then MaxVal(u, , ) eval(u) Else for mi nh v l con ca u do max{, MinVal(v, , )} ; If >= then exit}; /*ct b cc cy con t cc nh v cn li */ MaxVal(u, , ) end;

You might also like