You are on page 1of 103

TTNT

CHNG 1 : THUT TON THUT GII

I. KHI NIM THUT TON THUT GII II. THUT GII HEURISTIC III. CC PHNG PHP TM KIM HEURISTIC III.1. Cu trc chung ca bi ton tm kim III.2. Tm kim chiu su v tm kim chiu rng III.3. Tm kim leo i III.4. Tm kim u tin ti u (best-first search) III.5. Thut gii AT III.6. Thut gii AKT III.7. Thut gii A* III.8. V d minh ha hot ng ca thut gii A* III.9. Bn lun v A* III.10. ng dng A* gii bi ton Ta-canh III.11. Cc chin lc tm kim lai

I. TNG QUAN THUT TON THUT GII


Trong qu trnh nghin cu gii quyt cc vn bi ton, ngi ta a ra nhng nhn xt nh sau: C nhiu bi ton cho n nay vn cha tm ra mt cch gii theo kiu thut ton v cng khng bit l c tn ti thut ton hay khng. C nhiu bi ton c thut ton gii nhng khng chp nhn c v thi gian gii theo thut ton qu ln hoc cc iu kin cho thut ton kh p ng. C nhng bi ton c gii theo nhng cch gii vi phm thut ton nhng vn chp nhn c.

TTNT

T nhng nhn nh trn, ngi ta thy rng cn phi c nhng i mi cho khi nim thut ton. Ngi ta m rng hai tiu chun ca thut ton: tnh xc nh v tnh ng n. Vic m rng tnh xc nh i vi thut ton c th hin qua cc gii thut quy v ngu nhin. Tnh ng ca thut ton by gi khng cn bt buc i vi mt s cch gii bi ton, nht l cc cch gii gn ng. Trong thc tin c nhiu trng hp ngi ta chp nhn cc cch gii thng cho kt qu tt (nhng khng phi lc no cng tt) nhng t phc tp v hiu qu. Chng hn nu gii mt bi ton bng thut ton ti u i hi my tnh thc hin nhiu nm th chng ta c th sn lng chp nhn mt gii php gn ti u m ch cn my tnh chy trong vi ngy hoc vi gi. Cc cch gii chp nhn c nhng khng hon ton p ng y cc tiu chun ca thut ton thng c gi l cc thut gii. Khi nim m rng ny ca thut ton m ca cho chng ta trong vic tm kim phng php gii quyt cc bi ton c t ra. Mt trong nhng thut gii thng c cp n v s dng trong khoa hc tr tu nhn to l cc cch gii theo kiu Heuristic

II. THUT GII HEURISTIC


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. 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. 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.

TTNT

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. Bi ton hnh trnh ngn nht ng dng nguyn l Greedy Bi ton: Hy tm mt hnh trnh cho mt ngi giao hng i qua n im khc nhau, mi im i qua mt ln v tr v im xut pht sao cho tng chiu di on ng cn i l ngn nht. Gi s rng c con ng ni trc tip t gia hai im bt k. Tt nhin ta c th gii bi ton ny bng cch lit k tt c con ng c th i, tnh chiu di ca mi con ng ri tm con ng c chiu di ngn nht. Tuy nhin, cch gii ny li c phc tp 0(n!) (mt hnh trnh l mt hon v ca n im, do , tng s hnh trnh l s lng hon v ca mt tp n phn t l n!). Do , khi s i l tng th s con ng phi xt s tng ln rt nhanh. Mt cch gii n gin hn nhiu v thng cho kt qu tng i tt l dng mt thut gii Heuristic ng dng nguyn l Greedy. T tng ca thut gii nh sau: T im khi u, ta lit k tt c qung ng t im xut pht cho n n i l ri chn i theo con ng ngn nht. Khi i n mt i l, chn i n i l k tip cng theo nguyn tc trn. Ngha l lit k tt c con ng t i l ta ang ng n nhng i l cha i n. Chn con ng ngn nht. Lp li qu trnh ny cho n lc khng cn i l no i. Bn c th quan st hnh sau thy c qu trnh chn la. Theo nguyn l Greedy, ta ly tiu chun hnh trnh ngn nht ca bi ton lm tiu chun cho chn la cc b. Ta hy vng rng, khi i trn n on ng ngn nht th cui cng ta s c mt hnh trnh ngn nht. iu ny khng phi lc no cng ng. Vi iu kin trong hnh tip theo th thut gii cho chng ta mt hnh trnh c chiu di l 14 trong khi hnh trnh ti u l 13. Kt qu ca thut gii Heuristic trong trng hp ny ch lch 1 n v so vi kt qu ti u. Trong khi , phc tp ca thut gii Heuristic ny ch l 0(n2).

TTNT

Hnh : Gii bi ton s dng nguyn l Greedy

Tt nhin, thut gii theo kiu Heuristic i lc li a ra kt qu khng tt, thm ch rt t nh trng hp hnh sau.

Bi ton phn vic ng dng ca nguyn l th t Mt cng ty nhn c hp ng gia cng m chi tit my J1, J2, Jm. Cng ty c n my gia cng ln lt l P1, P2, Pn. Mi chi tit u c th c gia cng trn bt k my no. Mt khi gia cng mt chi tit trn mt my, cng vi s tip tc cho n lc hon thnh, khng th b ct ngang. gia cng mt vic J1 trn mt my bt k ta cn dng mt thi gian tng ng l t1. Nhim v ca cng ty l phi lm sao gia cng xong ton b n chi tit trong thi gian sm nht.

TTNT

Chng ta xt bi ton trong trng hp c 3 my P1, P2, P3 v 6 cng vic vi thi gian l t1=2, t2=5, t3=8, t4=1, t5=5, t6=1. ta c mt phng n phn cng (L) nh hnh sau:

Theo hnh ny, ti thi im t=0, ta tin hnh gia cng chi tit J2 trn my P1, J5 trn P2 v J1 ti P3. Ti thi im t=2, cng vic J1 c hon thnh, trn my P3 ta gia cng tip chi tit J4. Trong lc , hai my P1 v P2 vn ang thc hin cng vic u tin mnh S phn vic theo hnh trn c gi l lc GANTT. Theo lc ny, ta thy thi gian hon thnh ton b 6 cng vic l 12. Nhn xt mt cch cm tnh ta thy rng phng n (L) va thc hin l mt phng n khng tt. Cc my P1 v P2 c qu nhiu thi gian rnh. Thut ton tm phng n ti u L0 cho bi ton ny theo kiu vt cn c phc tp c O(mn) (vi m l s my v n l s cng vic). By gi ta xt n mt thut gii Heuristic rt n gin ( phc tp O(n)) gii bi ton ny. Sp xp cc cng vic theo th t gim dn v thi gian gia cng. Ln lt sp xp cc vic theo th t vo my cn d nhiu thi gian nht. Vi t tng nh vy, ta s c mt phng n L* nh sau:

TTNT

R rng phng n L* va thc hin cng chnh l phng n ti u ca trng hp ny v thi gian hon thnh l 8, ng bng thi gian ca cng vic J3. Ta hy vng rng mt gii Heuristic n gin nh vy s l mt thut gii ti u. Nhng tic thay, ta d dng a ra c mt trng hp m thut gii Heuristic khng a ra c kt qu ti u.

Nu gi T* l thi gian gia cng xong n chi tit my do thut gii Heuristic a ra v T0 l thi gian ti u th ngi ta chng minh c rng

, M l s my Vi kt qu ny, ta c th xc lp c sai s m chng ta phi gnh chu nu dng Heuristic thay v tm mt li gii ti u. Chng hn vi s my l 2 (M=2) ta c , v chnh l sai s cc i m trng hp trn gnh chu. Theo cng thc ny, s my cng ln th sai s cng ln.
6

TTNT

Trong trng hp M ln th t s 1/M xem nh bng 0 . Nh vy, sai s ti a m ta phi chu l T* 4/3 T0, ngha l sai s ti a l 33%. Tuy nhin, kh tm ra c nhng trng hp m sai s ng bng gi tr cc i, d trong trng hp xu nht. Thut gii Heuristic trong trng hp ny r rng cho chng ta nhng li gii tng i tt.

III. CC PHNG PHP TM KIM HEURISTIC


Qua cc phn trc chng ta tm hiu tng quan v tng ca thut gii Heuristic (nguyn l Greedy v sp th t). Trong mc ny, chng ta s i su vo tm hiu mt s k thut tm kim Heuristic mt lp bi ton rt quan trng v c nhiu ng dng trong thc t. III.1. Cu trc chung ca bi ton tm kim tin li cho vic trnh by, ta hy dnh cht thi gian lm r hn "i tng" quan tm ca chng ta trong mc ny. Mt cch chung nht, nhiu vn -bi ton phc tp u c dng "tm ng i trong th" hay ni mt cch hnh thc hn l "xut pht t mt nh ca mt th, tm ng i hiu qu nht n mt nh no ". Mt pht biu khc thng gp ca dng bi ton ny l : Cho trc hai trng thi T0 v TG hy xy dng chui trng thi T0, T1, T2, ..., Tn-1, Tn = TG sao cho : tha mn mt iu kin cho trc (thng l nh nht). Trong , Ti thuc tp hp S (gi l khng gian trng thi state space) bao gm tt c cc trng thi c th c ca bi ton v cost(Ti-1, Ti) l chi ph bin i t trng thi Ti-1 sang trng thi Ti. D nhin, t mt trng thi Ti ta c nhiu cch bin i sang trng thi Ti+1. Khi ni n mt bin i c th t Ti-1 sang Ti ta s dng thut ng hng i (vi ng ni v s la chn).

Hnh : M hnh chung ca cc vn -bi ton phi gii quyt bng phng php tm kim li gii. Khng gian tm kim l mt tp hp trng thi - tp cc nt ca th. Chi ph cn thit chuyn t trng thi T

TTNT ny sang trng thi Tk c biu din di dng cc con s nm trn cung ni gia hai nt tng trng cho hai trng thi.

a s cc bi ton thuc dng m chng ta ang m t u c th c biu din di dng th. Trong , mt trng thi l mt nh ca th. Tp hp S bao gm tt c cc trng thi chnh l tp hp bao gm tt c nh ca th. Vic bin i t trng thi Ti-1 sang trng thi Ti l vic i t nh i din cho Ti-1 sang nh i din cho Ti theo cung ni gia hai nh ny. III.2. Tm kim chiu su v tm kim chiu rng bn c c th hnh dung mt cch c th bn cht ca thut gii Heuristic, chng ta nht thit phi nm vng hai chin lc tm kim c bn l tm kim theo chiu su (Depth First Search) v tm kim theo chiu rng (Breath First Search). S d chng ta dng t chin lc m khng phi l phng php l bi v trong thc t, ngi ta hu nh chng bao gi vn dng mt trong hai kim tm kim ny mt cch trc tip m khng phi sa i g. III.2.1. Tm kim chiu su (Depth-First Search) Trong tm kim theo chiu su, ti trng thi (nh) hin hnh, ta chn mt trng thi k tip (trong tp cc trng thi c th bin i thnh t trng thi hin ti) lm trng thi hin hnh cho n lc trng thi hin hnh l trng thi ch. Trong trng hp ti trng thi hin hnh, ta khng th bin i thnh trng thi k tip th ta s quay lui (backtracking) li trng thi trc trng thi hin hnh (trng thi bin i thnh trng thi hin hnh) chn ng khc. Nu trng thi trc ny m cng khng th bin i c na th ta quay lui li trng thi trc na v c th. Nu quay lui n trng thi khi u m vn tht bi th kt lun l khng c li gii. Hnh nh sau minh ha hot ng ca tm kim theo chiu su.

TTNT

Hnh : Hnh nh ca tm kim chiu su. N ch lu "m rng" trng thi c chn m khng "m rng" cc trng thi khc (nt mu trng trong hnh v).

III.2.2. Tm kim chiu rng (Breath-First Search) Ngc li vi tm kim theo kiu chiu su, tm kim chiu rng mang hnh nh ca vt du loang. T trng thi ban u, ta xy dng tp hp S bao gm cc trng thi k tip (m t trng thi ban u c th bin i thnh). Sau , ng vi mi trng thi Tk trong tp S, ta xy dng tp Sk bao gm cc trng thi k tip ca Tk ri ln lt b sung cc Sk vo S. Qu trnh ny c lp li cho n lc S c cha trng thi kt thc hoc S khng thay i sau khi b sung tt c Sk.

TTNT

Hnh : Hnh nh ca tm kim chiu rng. Ti mt bc, mi trng thi u c m rng, khng b st trng thi no.

Chiu su
Tnh hiu qu Hiu qu khi li gii nm su trong cy tm kim v c mt phng n chn hng i chnh xc. Hiu qu ca chin lc ph thuc vo phng n chn hng i. Phng n cng km hiu qu th hiu qu ca chin lc cng gim. Thun li khi mun tm ch mt li gii. Ch lu li cc trng thi cha xt n. Vt cn ton b Phng n chn hng i tuyt i chnh xc. Li gii c xc nh mt cch trc tip.

Chiu rng
Hiu qu khi li gii nm gn gc ca cy tm kim. Hiu qu ca chin lc ph thuc vo su ca li gii. Li gii cng xa gc th hiu qu ca chin lc cng gim. Thun li khi mun tm nhiu li gii. Phi lu ton b cc trng thi. Vt cn ton b. Vt cn ton b.

Lng b nh s dng lu tr cc trng thi Trng hp xu nht Trng hp tt nht

Tm kim chiu su v tm kim chiu rng u l cc phng php tm kim c h thng v chc chn tm ra li gii. Tuy nhin, do bn cht l vt cn nn vi nhng bi ton c khng gian ln th ta khng th dng hai chin lc ny c. Hn na, hai chin lc ny u c tnh cht "m qung" v chng khng ch n nhng thng tin (tri thc) trng thi hin thi v thng tin v ch cn t ti cng mi quan h gia chng. Cc tri thc ny v cng quan trng v rt c ngha thit k cc thut gii hiu qu hn m ta sp sa bn n. III.3. Tm kim leo i III.3.1. Leo i n gin Tm kim leo i theo ng ngha, ni chung, thc cht ch l mt trng hp c bit ca tm kim theo chiu su nhng khng th quay lui. Trong tm kim leo i, vic la chn trng thi tip theo c quyt nh da trn mt hm Heuristic. Hm Heuristic l g ? Thut ng "hm Heuristic" mun ni ln iu g? Chng c g gh gm. Bn quen vi n ri! n gin ch l mt c lng v kh nng dn n li gii tnh t trng thi (khong cch gia trng thi hin ti v trng thi ch). Ta s quy c gi hm ny l h trong sut gio trnh ny. i lc ta cng cp n chi ph ti u thc s t mt trng thi dn n li gii. Thng thng, gi tr ny l khng th tnh ton c (v tnh
10

TTNT

c ng ngha l bit con ng n li gii !) m ta ch dng n nh mt c s suy lun v mt l thuyt m thi ! Hm h, ta quy c rng, lun tr ra kt qu l mt s khng m. bn c thc s nm c ngha ca hai hm ny, hy quan st hnh sau trong minh ha chi ph ti u thc s v chi ph c lng.

Hnh Chi ph c lng h = 6 v chi ph ti u thc s h = 4+5 = 9 (i theo ng 1-3-7) Bn ang trong mt thnh ph xa l m khng c bn trong tay v ta mun i vo khu trung tm? Mt cch suy ngh n gin, chng ta s nhm vo hng nhng ta cao c ca khu trung tm!

T tng 1) Nu trng thi bt u cng l trng thi ch th thot v bo l tm c li gii. Ngc li, t trng thi hin hnh (Ti) l trng thi khi u (T0) 2) Lp li cho n khi t n trng thi kt thc hoc cho n khi khng tn ti mt trng thi tip theo hp l (Tk) ca trng thi hin hnh : a. t Tk l mt trng thi tip theo hp l ca trng thi hin hnh Ti. b. nh gi trng thi Tk mi : b.1. Nu l trng thi kt thc th tr v tr ny v thot. b.2. Nu khng phi l trng thi kt thc nhng tt hn trng thi hin hnh th cp nht n thnh trng thi hin hnh. b.3. Nu n khng tt hn trng thi hin hnh th tip tc vng lp.

11

TTNT

M gi Ti := T0; Stop :=FALSE; WHILE Stop=FALSE DO BEGIN IF Ti TG THEN BEGIN


<tm c kt qu >; Stop:=TRUE;

END; ELSE BEGIN Better:=FALSE; WHILE (Better=FALSE) AND (STOP=FALSE) DO BEGIN IF <khng tn ti trng thi k tip hp l ca Ti> THEN BEGIN

<khng tm c kt qu >; Stop:=TRUE; END;


ELSE BEGIN Tk := <mt trng thi k tip hp l ca Ti>; IF <h(Tk) tt hn h(Ti)> THEN BEGIN Ti :=Tk; Better:=TRUE; END; END; END; {WHILE} END; {ELSE} END;{WHILE} Mnh "h(Tk) tt hn h(Ti)" ngha l g? y l mt khi nim chung chung. Khi ci t thut gii, ta phi cung cp mt nh ngha tng minh v tt hn. Trong mt s trng hp, tt hn l nh hn : h(Tk) < h(Ti); mt s trng hp khc tt hn l ln hn h(Tk) > h(Ti)...Chng hn, i vi bi ton tm ng i ngn nht gia hai im. Nu dng hm h l hm cho ra khong cch theo ng chim bay gia v tr hin ti (trng thi hin ti) v ch n (trng thi ch) th tt hn ngha l nh hn.

12

TTNT

Vn cn lm r k tip l th no l <mt trng thi k tip hp l ca Ti>? Mt trng thi k tip hp l l trng thi cha c xt n. Gi s h ca trng thi hin ti Ti c gi tr l h(Ti) = 1.23 v t Ti ta c th bin i sang mt trong 3 trng thi k tip ln lt l Tk1, Tk2, Tk3 vi gi tr cc hm h tng ng l h(Tk1) = 1.67, h(Tk2) = 2.52, h(Tk3) = 1.04. u tin, Tk s c gn bng Tk1, nhng v h(Tk) = h(Tk1) > h(Ti) nn Tk khng c chn. K tip l Tk s c gn bng Tk2 v cng khng c chn. Cui cng th Tk3 c chn. Nhng gi s h(Tk3) = 1.3 th c Tk3 cng khng c chn v mnh <khng th sinh ra trng thi k tip ca Ti> s c gi tr TRUE. Gii thch ny c v hin nhin nhng c l cn thit trnh nhm ln cho bn c. thy r hot ng ca thut gii leo i. Ta hy xt mt bi ton minh ha sau. Cho 4 khi lp phng ging nhau A, B, C, D. Trong cc mt (M1), (M2), (M3), (M4), (M5), (M6) c th c t bng 1 trong 6 mu (1), (2), (3), (4), (5), (6). Ban u cc khi lp phng c xp vo mt hng. Mi mt bc, ta ch c xoay mt khi lp phng quanh mt trc (X,Y,Z) 900 theo chiu bt k (ngha l ngc chiu hay thun chiu kim ng h cng c). Hy xc nh s bc quay t nht sao cho tt c cc mt ca khi lp phng trn 4 mt ca hng l c cng mu nh hnh v.

Hnh : Bi ton 4 khi lp phng

gii quyt vn , trc ht ta cn nh ngha mt hm G dng nh gi mt tnh trng c th c phi l li gii hay khng? Bn c c th d dng a ra mt ci t ca hm G nh sau :
IF (Gtri + Gphi + Gtrn + Gdi + Gtrc + Gsau) = 16 THEN G:=TRUE ELSE G:=FALSE;

Trong , Gphi l s lng cc mt c cng mu ca mt bn phi ca hng. Tng t cho Gtri, Gtrn, Ggia, Gtrc, Gsau. Tuy nhin, do cc khi lp phng A,B,C,D l hon ton tng t nhau nn tng quan gia cc mt ca mi khi l ging nhau. Do ,

13

TTNT

nu c 2 mt khng i nhau trn hng ng mu th 4 mt cn li ca hng cng ng mu. T ta ch cn hm G c nh ngha nh sau l :


IF Gphi + Gdi = 8 THEN G:=TRUE ELSE G:=FALSE;

Hm h (c lng kh nng dn n li gii ca mt trng thi) s c nh ngha nh sau : h = Gtri + Gphi + Gtrn + Gdi Bi ton ny n gin thut gii leo i c th hot ng tt. Tuy nhin, khng phi lc no ta cng may mn nh th! n y, c th chng ta s ny sinh mt tng. Nu chn trng thi tt hn lm trng thi hin ti th ti sao khng chn trng thi tt nht ? Nh vy, c l ta s nhanh chng dn n li gii hn! Ta s bn lun v vn : "liu ci tin ny c thc s gip chng ta dn n li gii nhanh hn hay khng?" ngay sau khi trnh by xong thut gii leo i dc ng. III.3.2. Leo i dc ng V c bn, leo i dc ng cng ging nh leo i, ch khc im l leo i dc ng s duyt tt c cc hng i c th v chn i theo trng thi tt nht trong s cc trng thi k tip c th c (trong khi leo i ch chn i theo trng thi k tip u tin tt hn trng thi hin hnh m n tm thy).

T tng
1) Nu trng thi bt u cng l trng thi ch th thot v bo l tm c li gii. Ngc li, t trng thi hin hnh (Ti) l trng thi khi u (T0) 2) Lp li cho n khi t n trng thi kt thc hoc cho n khi (Ti) khng tn ti mt trng thi k tip (Tk) no tt hn trng thi hin ti (Ti) a) t S bng tp tt c trng thi k tip c th c ca Ti v tt hn Ti. b) Xc nh Tkmax l trng thi tt nht trong tp S t Ti = Tkmax

14

TTNT

M gi
Ti := T0; Stop :=FALSE; WHILE Stop=FALSE DO BEGIN IF Ti TG THEN BEGIN
<tm c kt qu >; STOP :=TRUE; END; ELSE BEGIN

Best:=h(Ti); Tmax := Ti; WHILE <tn ti trng thi k tip hp l ca Ti> DO BEGIN Tk := <mt trng thi k tip hp l ca Ti>; IF <h(Tk) tt hn Best> THEN BEGIN Best :=h(Tk); Tmax := Tk; END; END; IF (Best>Ti) THEN Ti := Tmax; ELSE BEGIN
<khng tm c kt qu >; STOP:=TRUE;

END;

15

TTNT

END; {ELSE IF} END;{WHILE STOP} III.3.3. nh gi So vi leo i n gin, leo i dc ng c u im l lun lun chn hng c trin vng nht i. Liu iu ny c m bo leo i dc ng lun tt hn leo i n gin khng? Cu tr li l khng. Leo i dc ng ch tt hn leo i n gin trong mt s trng hp m thi. chn ra c hng i tt nht, leo i dc ng phi duyt qua tt c cc hng i c th c ti trng thi hin hnh. Trong khi , leo i n gin ch chn i theo trng thi u tin tt hn (so vi trng thi hin hnh) m n tm ra c. Do , thi gian cn thit leo i dc ng chn c mt hng i s ln hn so vi leo i n gin. Tuy vy, do lc no cng chn hng i tt nht nn leo i dc ng thng s tm n li gii sau mt s bc t hn so vi leo i n gin. Ni mt cch ngn gn, leo i dc ng s tn nhiu thi gian hn cho mt bc nhng li i t bc hn; cn leo i n gin tn t thi gian hn cho mt bc i nhng li phi i nhiu bc hn. y chnh l yu t c v mt gia hai thut gii nn ta phi cn nhc k lng khi la chn thut gii. C hai phng php leo ni n gin v leo ni dc ng u c kh nng tht bi trong vic tm li gii ca bi ton mc d li gii thc s hin hu. C hai gii thut u c th kt thc khi t c mt trng thi m khng cn trng thi no tt hn na c th pht sinh nhng trng thi ny khng phi l trng thi ch. iu ny s xy ra nu chng trnh t n mt im cc i a phng, mt on n iu ngang. im cc i a phng (a local maximum) : l mt trng thi tt hn tt c ln cn ca n nhng khng tt hn mt s trng thi khc xa hn. Ngha l ti mt im cc i a phng, mi trng thi trong mt ln cn ca trng thi hin ti u xu hn trng thi hin ti. Tuy c dng v ca li gii nhng cc cc i a phng khng phi l li gii thc s. Trong trng hp ny, chng c gi l nhng ngn i thp. on n iu ngang (a plateau) : l mt vng bng phng ca khng gian tm kim, trong , ton b cc trng thi ln cn u c cng gi tr.

16

TTNT Hnh : Cc tnh hung kh khn cho tm kim leo o.

i ph vi cc cc im ny, ngi ta a ra mt s gii php. Ta s tm hiu 2 trong s cc gii php ny. Nhng gii ny, khng thc s gii quyt trn vn vn m ch l mt phng n cu nguy tm thi m thi. Phng n u tin l kt hp leo i v quay lui. Ta s quay lui li cc trng thi trc v th i theo hng khc. Thao tc ny hp l nu ti cc trng thi trc c mt hng i tt m ta b qua trc . y l mt cch kh hay i ph vi cc im cc i a phng. Tuy nhin, do c im ca leo i l "bc sau cao hn bc trc" nn phng n ny s tht bi khi ta xut pht t mt im qu cao hoc xut pht t mt nh i m n c li gii cn phi i qua mt "thung lng" tht su nh trong hnh sau.

Hnh : Mt trng hp tht bi ca leo o kt hp quay lui.

Cch th hai l thc hin mt bc nhy vt theo hng no th n mt vng mi ca khng gian tm kim. Nm na l "bc" lin tc nhiu "bc" (chng hn 5,7,10, ) m tm thi "qun" i vic kim tra "bc sau cao hn bc trc". Tip cn c v hiu qu khi ta gp phi mt on n iu ngang. Tuy nhin, nhy vt cng c ngha l ta b qua c hi tin n li gii thc s. Trong trng hp chng ta ang ng kh gn li gii, vic nhy vt s a chng ta sang mt v tr hon ton xa l, m t , c th s dn chng ta n mt rc ri kiu khc. Hn na, s bc nhy l bao nhiu v nhy theo hng no l mt vn ph thuc rt nhiu vo c im khng gian tm kim ca bi ton.

17

TTNT

Hnh Mt trng hp kh khn cho phng n "nhy vt".

Leo ni l mt phng php cc b bi v n quyt nh s lm g tip theo da vo mt nh gi v trng thi hin ti v cc trng thi k tip c th c (tt hn trng thi hin ti, trng thi tt nht tt hn trng thi hin ti) thay v phi xem xt mt cch ton din trn tt c cc trng thi i qua. Thun li ca leo ni l t gp s bng n t hp hn so vi cc phng php ton cc. Nhng n cng ging nh cc phng php cc b khc ch l khng chc chn tm ra li gii trong trng hp xu nht. Mt ln na, ta khng nh li vai tr quyt nh ca hm Heuristic trong qu trnh tm kim li gii. Vi cng mt thut gii (nh leo i chng hn), nu ta c mt hm Heuristic tt hn th kt qu s c tm thy nhanh hn. Ta hy xt bi ton v cc khi c trnh by hnh sau. Ta c hai thao tc bin i l: + Ly mt khi nh mt ct bt k v t n ln mt ch trng to thnh mt ct mi. Lu l ch c th to ra ti a 2 ct mi. + Ly mt khi nh mt ct v t n ln nh mt ct khc Hy xc nh s thao tc t nht bin i ct cho thnh ct kt qu.

18

TTNT

Hnh : Trng thi khi u v trng thi kt thc

Gi s ban u ta dng mt hm Heuristic n gin nh sau : H1 : Cng 1 im cho mi khi v tr ng so vi trng thi ch. Tr 1 im cho mi khi t v tr sai so vi trng thi ch. Dng hm ny, trng thi kt thc s c gi tr l 8 v c 8 khi u c t v tr ng. Trng thi khi u c gi tr l 4 (v n c 1 im cng cho cc khi C, D, E, F, G, H v 1 im tr cho cc khi A v B). Ch c th c mt di chuyn t trng thi khi u, l dch chuyn khi A xung to thnh mt ct mi (T1). iu sinh ra mt trng thi vi s im l 6 (v v tr ca khi A by gi sinh ra 1 im cng hn l mt im tr). Th tc leo ni s chp nhn s dch chuyn . T trng thi mi T1, c ba di chuyn c th thc hin dn n ba trng thi Ta, Tb, Tc c minh ha trong hnh di. Nhng trng thi ny c s im l : h(Ta)= 4; h(Tb) = 4 v h(Tc) = 4

T1

TA

TB

TC
19

TTNT

Hnh Cc trng thi c th t c t T1 Th tc leo ni s tm dng bi v tt c cc trng thi ny c s im thp hn trng thi hin hnh. Qu trnh tm kim ch dng li mt trng thi cc i a phng m khng phi l cc i ton cc.

Chng ta c th li cho chnh gii thut leo i v tht bi do khng tm nhn tng qut tm ra li gii. Nhng chng ta cng c th li cho hm Heuristic v c gng sa i n. Gi s ta thay hm ban u bng hm Heuristic sau y : H2 : i vi mi khi ph tr ng (khi ph tr l khi nm bn di khi hin ti), cng 1 im, ngc li tr 1 im. Dng hm ny, trng thi kt thc c s im l 28 v B nm ng v tr v khng c khi ph tr no, C ng v tr c 1 im cng vi 1 im do khi ph tr B nm ng v tr nn C c 2 im, D c 3 im, ....Trng thi khi u c s im l 28. Vic di chuyn A xung to thnh mt ct mi lm sinh ra mt trng thi vi s im l h(T1) = 21 v A khng cn 7 khi sai pha di n na. Ba trng thi c th pht sinh tip theo by gi c cc im s l : h(Ta)=28; h(Tb)=16 v h(Tc) = 15. Lc ny th tc leo ni dc ng s chn di chuyn n trng thi Tc, c mt khi ng. Qua hm H2 ny ta rt ra mt nguyn tc : tt hn khng ch c ngha l c nhiu u im hn m cn phi t khuyt im hn. Hn na, khuyt im khng c ngha ch l s sai bit ngay ti mt v tr m cn l s khc bit trong tng quan gia cc v tr. R rng l ng v mt kt qu, cng mt th tc leo i nhng hm H1 b tht bi (do ch bit nh gi u im) cn hm H2 mi ny li hot ng mt cch hon ho (do bit nh gi c u im v khuyt im). ng tic, khng phi lc no chng ta cng thit k c mt hm Heuristic hon ho nh th. V vic nh gi u im kh, vic nh gi khuyt im cng kh v tinh t hn. Chng hn, xt li vn mun i vo khu trung tm ca mt thnh ph xa l. hm Heuristic hiu qu, ta cn phi a cc thng tin v cc ng mt chiu v cc ng ct, m trong trng hp mt thnh ph hon ton xa l th ta kh hoc khng th bit c nhng thng tin ny. n y, chng ta hiu r bn cht ca hai thut gii tip cn theo chin lc tm kim chiu su. Hiu qu ca c hai thut gii leo i n gin v leo i dc ng ph thuc vo : + Cht lng ca hm Heuristic. + c im ca khng gian trng thi. + Trng thi khi u.

20

TTNT

Sau y, chng ta s tm hiu mt tip cn theo mi, kt hp c sc mnh ca c tm kim chiu su v tm kim chiu rng. Mt thut gii rt linh ng v c th ni l mt thut gii kinh in ca Heuristic. III.4. Tm kim u tin ti u (best-first search) u im ca tm kim theo chiu su l khng phi quan tm n s m rng ca tt c cc nhnh. u im ca tm kim chiu rng l khng b sa vo cc ng dn b tc (cc nhnh ct). Tm kim u tin ti u s kt hp 2 phng php trn cho php ta i theo mt con ng duy nht ti mt thi im, nhng ng thi vn "quan st" c nhng hng khc. Nu con ng ang i "c v" khng trin vng bng nhng con ng ta ang "quan st" ta s chuyn sang i theo mt trong s cc con ng ny. tin li ta s dng ch vit tt BFS thay cho tn gi tm kim u tin ti u. Mt cch c th, ti mi bc ca tm kim BFS, ta chn i theo trng thi c kh nng cao nht trong s cc trng thi c xt cho n thi im . (khc vi leo i dc ng l ch chn trng thi c kh nng cao nht trong s cc trng thi k tip c th n c t trng thi hin ti). Nh vy, vi tip cn ny, ta s u tin i vo nhng nhnh tm kim c kh nng nht (ging tm kim leo i dc ng), nhng ta s khng b ln qun trong cc nhnh ny v nu cng i su vo mt hng m ta pht hin ra rng hng ny cng i th cng t, n mc n xu hn c nhng hng m ta cha i, th ta s khng i tip hng hin ti na m chn i theo mt hng tt nht trong s nhng hng cha i. l t tng ch o ca tm kim BFS. hiu c t tng ny. Bn hy xem v d sau :

Hnh Minh ha thut gii Best-First Search

21

TTNT

Khi u, ch c mt nt (trng thi) A nn n s c m rng to ra 3 nt mi B,C v D. Cc con s di nt l gi tr cho bit tt ca nt. Con s cng nh, nt cng tt. Do D l nt c kh nng nht nn n s c m rng tip sau nt A v sinh ra 2 nt k tip l E v F. n y, ta li thy nt B c v c kh nng nht (trong cc nt B,C,E,F) nn ta s chn m rng nt B v to ra 2 nt G v H. Nhng li mt ln na, hai nt G, H ny c nh gi t kh nng hn E, v th s ch li tr v E. E c m rng v cc nt c sinh ra t E l I v J. bc k tip, J s c m rng v n c kh nng nht. Qu trnh ny tip tc cho n khi tm thy mt li gii. Lu rng tm kim ny rt ging vi tm kim leo i dc ng, vi 2 ngoi l. Trong leo ni, mt trng thi c chn v tt c cc trng thi khc b loi b, khng bao gi chng c xem xt li. Cch x l dt khot ny l mt c trng ca leo i. Trong BFS, ti mt bc, cng c mt di chuyn c chn nhng nhng ci khc vn c gi li, ta c th tr li xt sau khi trng thi hin ti tr nn km kh nng hn nhng trng thi c lu tr. Hn na, ta chn trng thi tt nht m khng quan tm n n c tt hn hay khng cc trng thi trc . iu ny tng phn vi leo i v leo i s dng nu khng c trng thi tip theo no tt hn trng thi hin hnh. ci t cc thut gii theo kiu tm kim BFS, ngi ta thng cn dng 2 tp hp sau : OPEN : tp cha cc trng thi c sinh ra nhng cha c xt n (v ta chn mt trng thi khc). Thc ra, OPEN l mt loi hng i u tin (priority queue) m trong , phn t c u tin cao nht l phn t tt nht. Ngi ta thng ci t hng i u tin bng Heap. Cc bn c th tham kho thm trong cc ti liu v Cu trc d liu v loi d liu ny. CLOSE : tp cha cc trng thi c xt n. Chng ta cn lu tr nhng trng thi ny trong b nh phng trng hp khi mt trng thi mi c to ra li trng vi mt trng thi m ta xt n trc . Trong trng hp khng gian tm kim c dng cy th khng cn dng tp ny.

Thut gii BEST-FIRST SEARCH


1. t OPEN cha trng thi khi u. 2. Cho n khi tm c trng thi ch hoc khng cn nt no trong OPEN, thc hin : 2.a. Chn trng thi tt nht (Tmax) trong OPEN (v xa Tmax khi OPEN) 2.b. Nu Tmax l trng thi kt thc th thot. 2.c. Ngc li, to ra cc trng thi k tip Tk c th c t trng thi Tmax. i vi mi trng thi k tip Tk thc hin :

22

TTNT Tnh f(Tk); Thm Tk vo OPEN

BFS kh n gin. Tuy vy, trn thc t, cng nh tm kim chiu su v chiu rng, him khi ta dng BFS mt cch trc tip. Thng thng, ngi ta thng dng cc phin bn ca BFS l AT, AKT v A* Thng tin v qu kh v tng lai Thng thng, trong cc phng n tm kim theo kiu BFS, tt f ca mt trng thi c tnh da theo 2 hai gi tr m ta gi l l g v h. h chng ta bit, l mt c lng v chi ph t trng thi hin hnh cho n trng thi ch (thng tin tng lai). Cn g l "chiu di qung ng" i t trng thi ban u cho n trng thi hin ti (thng tin qu kh). Lu rng g l chi ph thc s (khng phi chi ph c lng). d hiu, bn hy quan st hnh sau :

Hnh 6.14 Phn bit khi nim g v h Kt hp g v h thnh f (f = g + h) s th hin mt c lng v "tng chi ph" cho con ng t trng thi bt u n trng thi kt thc dc theo con ng i qua trng thi hin hnh. thun tin cho thut gii, ta quy c l g v h u khng m v cng nh ngha l cng tt. III.5. Thut gii AT Thut gii AT l mt phng php tm kim theo kiu BFS vi tt ca nt l gi tr hm g tng chiu di con ng i t trng thi bt u n trng thi hin ti. Thut gii AT
1. t OPEN cha trng thi khi u. 2. Cho n khi tm c trng thi ch hoc khng cn nt no trong OPEN, thc hin :

23

TTNT 2.a. Chn trng thi (Tmax) c gi tr g nh nht trong OPEN (v xa Tmax khi OPEN) 2.b. Nu Tmax l trng thi kt thc th thot. 2.c. Ngc li, to ra cc trng thi k tip Tk c th c t trng thi Tmax. i vi mi trng thi k tip Tk thc hin : g(Tk) = g(Tmax) + cost(Tmax, Tk); Thm Tk vo OPEN. * V ch s dng hm g (m khng dng hm c lng h) fs nh gi tt ca mt trng thi nn ta cng c th xem AT ch l mt thut ton.

III.6. Thut gii AKT


(Algorithm for Knowlegeable Tree Search)

Thut gii AKT m rng AT bng cch s dng thm thng tin c lng h. tt ca mt trng thi f l tng ca hai hm g v h. Thut gii AKT
1. t OPEN cha trng thi khi u. 2. Cho n khi tm c trng thi ch hoc khng cn nt no trong OPEN, thc hin : 2.a. Chn trng thi (Tmax) c gi tr f nh nht trong OPEN (v xa Tmax khi OPEN) 2.b. Nu Tmax l trng thi kt thc th thot. 2.c. Ngc li, to ra cc trng thi k tip Tk c th c t trng thi Tmax. i vi mi trng thi k tip Tk thc hin : g(Tk) = g(Tmax) + cost(Tmax, Tk); Tnh h(Tk) f(Tk) = g(Tk) + h(Tk); Thm Tk vo OPEN.

III.7. Thut gii A* A* l mt phin bn c bit ca AKT p dng cho trng hp th. Thut gii A* c s dng thm tp hp CLOSE lu tr nhng trng hp c xt n. A* m rng AKT bng cch b sung cch gii quyt trng hp khi "m" mt nt m nt ny c sn trong OPEN hoc CLOSE. Khi xt n mt trng thi Ti bn cnh vic lu tr 3 gi
24

TTNT

tr c bn g,h, f phn nh tt ca trng thi , A* cn lu tr thm hai thng s sau : 1. Trng thi cha ca trng thi Ti (k hiu l Cha(Ti) : cho bit trng thi dn n trng thi Ti. Trong trng hp c nhiu trng thi dn n Ti th chn Cha(Ti) sao cho chi ph i t trng thi khi u n Ti l thp nht, ngha l : g(Ti) = g(Tcha) + cost(Tcha, Ti) l thp nht. 2. Danh sch cc trng thi k tip ca Ti : danh sch ny lu tr cc trng thi k tip Tk ca Ti sao cho chi ph n Tk thng qua Ti t trng thi ban u l thp nht. Thc cht th danh sch ny c th c tnh ra t thuc tnh Cha ca cc trng thi c lu tr. Tuy nhin, vic tnh ton ny c th mt nhiu thi gian (khi tp OPEN, CLOSE c m rng) nn ngi ta thng lu tr ra mt danh sch ring. Trong thut ton sau y, chng ta s khng cp n vic lu tr danh sch ny. Sau khi hiu r thut ton, bn c c th d dng iu chnh li thut ton lu tr thm thuc tnh ny.

1. t OPEN ch cha T0. t g(T0) = 0, h(T0) = 0 v f(T0) = 0. t CLOSE l tp hp rng. 2. Lp li cc bc sau cho n khi gp iu kin dng. 2.a. Nu OPEN rng : bi ton v nghim, thot. 2.b. Ngc li, chn Tmax trong OPEN sao cho f(Tmax) l nh nht 2.b.1. Ly Tmax ra khi OPEN v a Tmax vo CLOSE. 2.b.2. Nu Tmax chnh l TG th thot v thng bo li gii l Tmax. 2.b.3. Nu Tmax khng phi l TG. To ra danh sch tt c cc trng thi k tip ca Tmax. Gi mt trng thi ny l Tk. Vi mi Tk, lm cc bc sau : 2.b.3.1. Tnh g(Tk) = g(Tmax) + cost(Tmax, Tk). 2.b.3.2. Nu tn ti Tk trong OPEN trng vi Tk. Nu g(Tk) < g(Tk) th t g(Tk) = g(Tk) Tnh li f(Tk) t Cha(Tk) = Tmax 2.b.3.3. Nu tn ti Tk trong CLOSE trng vi Tk.

25

TTNT Nu g(Tk) < g(Tk) th t g(Tk) = g(Tk) Tnh li f(Tk) t Cha(Tk) = Tmax Lan truyn s thay i gi tr g, f cho tt c cc trng thi k tip ca Ti ( tt c cc cp) c lu tr trong CLOSE v OPEN. 2.b.3.4. Nu Tk cha xut hin trong c OPEN ln CLOSE th : Thm Tk vo OPEN Tnh : f' (Tk) = g(Tk)+h(Tk).

C mt s im cn gii thch trong thut gii ny. u tin l vic sau khi tm thy trng thi ch TG, lm sao xy dng li c "con ng" t T0 n TG. Rt n gin, bn ch cn ln ngc theo thuc tnh Cha ca cc trng thi c lu tr trong CLOSE cho n khi t n T0. chnh l "con ng" ti u i t TG n T0 (hay ni cch khc l t T0 n TG). im th hai l thao tc cp nht li g(Tk) , f(Tk) v Cha(Tk) trong bc 2.b.3.2 v 2.b.3.3. Cc thao tc ny th hin t tng : "lun chn con ng ti u nht". Nh chng ta bit, gi tr g(Tk) nhm lu tr chi ph ti u thc s tnh t T0 n Tk. Do , nu chng ta pht hin thy mt "con ng" khc tt hn thng qua Tk (c chi ph nh hn) con ng hin ti c lu tr th ta phi chn "con ng" mi tt hn ny. Trng hp 2.b.3.3 phc tp hn. V t Tk nm trong tp CLOSE nn t Tk ta lu tr cc trng thi con k tip xut pht t Tk. Nhng g(Tk) thay i dn n gi tr g ca cc trng thi con ny cng phi thay i theo. V n lt cc trng thi con ny li c th c cc cc trng thi con tip theo ca chng v c th cho n khi mi nhnh kt thc vi mt trng thi trong OPEN (ngha l khng c trng thi con no na). thc hin qu trnh cp nht ny, ta hy thc hin qu trnh duyt theo chiu su vi im khi u l Tk. Duyt n u, ta cp nht li g ca cc trng thi n ( dng cng thc g(T) = g(Cha(T)) +cost(Cha(T), T) ) v v th gi tr f ca cc trng thi ny cng thay i theo. Mt ln na, xin nhc li rng, bn c th cho rng tp OPEN lu tr cc trng thi "s c xem xt n sau" cn tp CLOSE lu tr cc trng thi " c xt n ri". C th bn s cm thy kh lng tng trc mt thut gii di nh th. Vn c l s tr nn sng sa hn khi bn quan st cc bc gii bi ton tm ng i ngn nht trn th bng thut gii A* sau y. III.8. V d minh ha hot ng ca thut gii A*

26

TTNT

Chng ta s minh ha hot ng ca thut gii A* trong vic tm kim ng i ngn nht t thnh ph Arad n thnh ph Bucharest ca Romania. Bn cc thnh ph ca Romania c cho trong th sau. Trong mi nh ca th ca l mt thnh ph, gia hai nh c cung ni ngha l c ng i gia hai thnh ph tng ng. Trng s ca cung chnh l chiu di (tnh bng km) ca ng i ni hai thnh ph tng ng, chiu di theo ng chim bay mt thnh ph n Bucharest c cho trong bng km theo.

Hnh : Bng ca Romania vi khong cch ng tnh theo km

Bng : Khong cch ng chim bay t mt thnh ph n Bucharest. Chng ta s chn hm h chnh l khong cch ng chim bay cho trong bng trn v hm chi ph cost(Ti, Ti+1) chnh l chiu di con ng ni t thnh ph Ti v Ti+1.

27

TTNT

Sau y l tng bc hot ng ca thut ton A* trong vic tm ng i ngn nht t Arad n Bucharest.

Ban u : OPEN = {(Arad,g= 0,h= 0,f= 0)} CLOSE = {}


Do trong OPEN ch cha mt thnh ph duy nht nn thnh ph ny s l thnh ph tt nht. Ngha l Tmax = Arad.Ta ly Arad ra khi OPEN v a vo CLOSE.

OPEN = {} CLOSE = {(Arad,g= 0,h= 0,f= 0)}


T Arad c th i n c 3 thnh ph l Sibiu, Timisoara v Zerind. Ta ln lt tnh gi tr f, g v h ca 3 thnh ph ny. Do c 3 nt mi to ra ny cha c nt cha nn ban u nt cha ca chng u l Arad.

h(Sibiu) = 253 g(Sibiu) = g(Arad)+cost(Arad,Sibiu) = 0+140= 140 f(Sibiu) = g(Sibiu)+h(Sibiu) = 140+253 = 393 Cha(Sibiu) = Arad h(Timisoara) = 329 g(Timisoara) = g(Arad)+cost(Arad, Timisoara) = 0+118= 118 f(Timisoara) = g(Timisoara)+ h(Timisoara) = 118+329 = 447 Cha(Timisoara) = Arad
28

TTNT

h(Zerind) = 374 g(Zerind) = g(Arad)+cost(Arad, Zerind) = 0+75= 75 f(Zerind) = g(Zerind)+h(Zerind) = 75+374 = 449 Cha(Zerind) = Arad
Do c 3 nt Sibiu, Timisoara, Zerind u khng c trong c OPEN v CLOSE nn ta b sung 3 nt ny vo OPEN.

OPEN = {(Sibiu,g= 140,h= 253,f= 393,Cha= Arad) (Timisoara,g= 118,h= 329,f= 447,Cha= Arad) (Zerind,g= 75,h= 374,f= 449,Cha= Arad)} CLOSE = {(Arad,g= 0,h= 0,f= 0)}

Hnh : Bc 1, nt c ng ngoc vung (nh [Arad]) l nt trong tp CLOSE, ngc li l trong tp OPEN. Trong tp OPEN, nt Sibiu l nt c gi tr f nh nht nn ta s chn Tmax = Sibiu. Ta ly Sibiu ra khi OPEN v a vo CLOSE.

OPEN = {(Timisoara,g= 118,h= 329,f= 447,Cha= Arad) (Zerind,g= 75,h= 374,f= 449,Cha= Arad)} CLOSE = {(Arad,g= 0,h= 0,f= 0)

29

TTNT

(Sibiu,g= 140,h= 253,f= 393,Cha= Arad)}


T Sibiu c th i n c 4 thnh ph l : Arad, Fagaras, Oradea, Rimnicu. Ta ln lt tnh cc gi tr g, h, f cho cc nt ny.

h(Arad) = 366 g(Arad) = g(Sibiu)+cost(Sibiu,Arad) = 140+140= 280 f(Arad) = g(Arad)+h(Arad) = 280+366 = 646 h(Fagaras) = 178 g(Fagaras) = g(Sibiu)+cost(Sibiu, Fagaras) = 140+99= 239 f(Fagaras) = g(Fagaras)+ h(Fagaras) = 239+178= 417 h(Oradea) = 380 g(Oradea) = g(Sibiu)+cost(Sibiu, Oradea) = 140+151 = 291 f(Oradea) = g(Oradea)+ h(Oradea) = 291+380 = 671 h(R.Vilcea) = 193 g(R.Vilcea) = g(Sibiu)+cost(Sibiu, R.Vilcea) = 140+80 = 220 f(R.Vilcea) = g(R.Vilcea)+ h(R.Vilcea) = 220+193 = 413

30

TTNT

Nt Arad c trong CLOSE. Tuy nhin, do g(Arad) mi c to ra (c gi tr 280) ln hn g(Arad) lu trong CLOSE (c gi tr 0) nn ta s khng cp nht li gi tr g v f ca Arad lu trong CLOSE. 3 nt cn li : Fagaras, Oradea, Rimnicu u khng c trong c OPEN v CLOSE nn ta s a 3 nt ny vo OPEN, t cha ca chng l Sibiu. Nh vy, n bc ny OPEN cha tng cng 5 thnh ph.

OPEN = {(Timisoara,g= 118,h= 329,f= 447,Cha= Arad) (Zerind,g= 75,h= 374,f= 449,Cha= Arad) (Fagaras,g= 239,h= 178,f= 417,Cha= Sibiu) (Oradea,g= 291,h= 380,f= 617,Cha= Sibiu) (R.Vilcea,g= 220,h= 193,f= 413,Cha= Sibiu)} CLOSE = {(Arad,g= 0,h= 0,f= 0) (Sibiu,g= 140,h= 253,f= 393,Cha= Arad)}
Trong tp OPEN, nt R.Vilcea l nt c gi tr f nh nht. Ta chn Tmax = R.Vilcea. Chuyn R.Vilcea t OPEN sang CLOSE. T R.Vilcea c th i n c 3 thnh ph l Craiova, Pitesti v Sibiu. Ta ln lt tnh gi tr f, g v h ca 3 thnh ph ny.

h(Sibiu) = 253 g(Sibiu) = g(R.Vilcea)+ cost(R.Vilcea,Sibiu) = 220+80= 300 f(Sibiu) = g(Sibiu)+h(Sibiu)

31

TTNT

= 300+253 = 553 h(Craiova) = 160 g(Craiova) = g(R.Vilcea)+ cost(R.Vilcea, Craiova) = 220+146= 366 f(Craiova) = g(Fagaras)+h(Fagaras) = 366+160= 526 h(Pitesti) = 98 g(Pitesti) = g(R.Vilcea)+ cost(R.Vilcea, Pitesti) = 220+97 = 317 f(Pitesti) = g(Oradea)+h(Oradea) = 317+98 = 415
Sibiu c trong tp CLOSE. Tuy nhin, do g(Sibiu) mi (c gi tr l 553) ln hn g(Sibiu) (c gi tr l 393) nn ta s khng cp nht li cc gi tr ca Sibiu c lu trong CLOSE. Cn li 2 thnh ph l Pitesti v Craiova u khng c trong c OPEN v CLOSE nn ta s a n vo OPEN v t cha ca chng l R.Vilcea.

32

TTNT

OPEN = {(Timisoara,g= 118,h= 329,f= 447,Cha= Arad) (Zerind,g= 75,h= 374,f= 449,Cha= Arad) (Fagaras,g= 239,h= 178,f= 417,Cha= Sibiu) (Oradea,g= 291,h= 380,f= 617,Cha= Sibiu) (Craiova,g= 366,h= 160,f= 526,Cha= R.Vilcea) (Pitesti,g= 317,h= 98,f= 415,Cha= R.Vilcea) } CLOSE = {(Arad,g= 0,h= 0,f= 0) (Sibiu,g= 140,h= 253,f= 393,Cha= Arad) (R.Vilcea,g= 220,h= 193,f= 413,Cha= Sibiu) }
n y, trong tp OPEN, nt tt nht l Pitesti, t Pitesti ta c th i n c R.Vilcea, Bucharest v Craiova. Ly Pitesti ra khi OPEN v t n vo CLOSE. Thc hin tip theo tng t nh trn, ta s khng cp nht gi tr f, g ca R.Vilcea v Craiova lu trong CLOSE. Sau khi tnh ton f, g ca Bucharest, ta s a Bucharest vo tp OPEN, t Cha(Bucharest) = Pitesti.

h(Bucharest) = 0 g(Bucharest) = g(Pitesti)+cost(Pitesti, Bucharest) = 317+100= 418 f(Bucharest) = g(Fagaras)+h(Fagaras) = 417+0= 417
bc k tip, ta s chn c Tmax = Bucharest. V nh vy thut ton kt thc (thc ra th ti bc ny, c hai ng c vin l Bucharest v Fagaras v u cng c f= 417 , nhng v Bucharest l ch nn ta s u tin chn hn). xy dng li con ng i t Arad n Bucharest ta ln theo gi tr Cha c lu tr km vi f, g v h cho n lc n Arad.

Cha(Bucharest) = Pitesti Cha(R.Vilcea) = Sibiu

33

TTNT

Cha(Sibiu) = Arad
Vy con ng i ngn nht t Arad n Bucharest l Arad, Sibiu, R.Vilcea, Pitesti, Bucharest. Trong v d minh ha ny, hm h c cht lng kh tt v cu trc th kh n gin nn ta gn nh i thng n ch m t phi kho st cc con ng khc. y l mt trng hp n gin, trong trng hp ny, thut gii c dng dp ca tm kim chiu su. n y, minh ha mt trng hp phc tp hn ca thut gii. Ta th sa i li cu trc th v quan st hot ng ca thut gii. Gi s ta c thm mt thnh ph tm gi l TP v con ng gia Sibiu v TP c chiu di 100, con ng gia TP v Pitesti c chiu di 60. V khong cch ng chim bay t TP n Bucharest l 174. Nh vy r rng, con ng ti u n Bucharest khng cn l Arad, Sibiu, R.Vilcea, Pitesti, Bucharest na m l Arad, Sibiu, TP, Pitesti, Bucharest.

Trong trng hp ny, chng ta vn tin hnh bc 1 nh trn. Sau khi thc hin hin bc 2 (m rng Sibiu), chng ta c cy tm kim nh hnh sau. Lu l c thm nhnh TP.

34

TTNT

R.Vilcea vn c gi tr f thp nht. Nn ta m rng R.Vilcea nh trng hp u tin.

Bc k tip ca trng hp n gin l m rng Pitesti c c kt qu. Tuy nhin, trong trng hp ny, TP c gi tr f thp hn. Do , ta chn m rng TP. T TP ta ch c 2 hng i, mt quay li Sibiu v mt n Pitesti. nhanh chng, ta s khng tnh ton gi tr ca Sibiu v bit chc n s ln hn gi tr c lu tr trong CLOSE (v i ngc li).

h(Pitesti) = 98 g(Pitesti) = g(TP)+cost(TP, Pitesti) = 240+75= 315 f(Pitesti) = g(TP)+h(Pitesti) = 315+98= 413

35

TTNT

Pistestti xut hin trong tp OPEN v g(Pitesti) mi (c gi tr l 315) thp hn g(Pitesti) c (c gi tr 317) nn ta phi cp nht li gi tr ca f,g, Cha ca Pitesti lu trong OPEN. Sau khi cp nht xong, tp OPEN v CLOSE s nh sau :

OPEN = {(Timisoara,g= 118,h= 329,f= 447,Cha= Arad) (Zerind,g= 75,h= 374,f= 449,Cha= Arad) (Fagaras,g= 239,h= 178,f= 417,Cha= Sibiu) (Oradea,g= 291,h= 380,f= 617,Cha= Sibiu) (Craiova,g= 366,h= 160,f= 526,Cha= R.Vilcea) (Pitesti,g= 315,h= 98,f= 413,Cha= TP) } CLOSE = {(Arad,g= 0,h= 0,f= 0) (Sibiu,g= 140,h= 253,f= 393,Cha= Arad) (R.Vilcea,g= 220,h= 193,f= 413,Cha= Sibiu) }
n y ta thy rng, ban u thut gii chn ng i n Pitesti qua R.Vilcea. Tuy nhin, sau , thut gii pht hin ra con ng n Pitesti qua TP l tt hn nn n s s dng con ng ny. y chnh l trng hp 2.b.iii.2 trong thut gii. Bc sau, chng ta s chn m rng Pitesti nh bnh thng. Khi ln ngc theo thuc tnh Cha, ta s c con ng ti u l Arad, Sibiu, TP, Pitesti, Bucharest. III.9. Bn lun v A* n y, c l bn hiu c thut gii ny. Ta c mt vi nhn xt kh th v v A*. u tin l vai tr ca g trong vic gip chng ta la chn ng i. N cho chng ta kh nng la chn trng thi no m rng tip theo, khng ch da trn vic trng thi tt nh th no (th hin bi gi tr h) m cn trn c s con ng t trng thi khi u n trng thi hin ti tt ra sao. iu ny s rt hu ch nu ta khng ch quan tm vic tm ra li gii hay khng m cn quan tm n hiu qu ca con ng dn n li gii. Chng hn nh trong bi ton tm ng i ngn nht gia hai im. Bn cnh vic tm ra ng i gia hai im, ta cn phi tm ra mt con ng ngn nht. Tuy nhin, nu ta ch quan tm n vic tm c li gii (m khng quan tm n hiu qu ca con ng n li gii), chng ta c th t g=0 mi trng thi. iu ny s gip ta lun chn i theo trng thi c v gn nht vi trng thi kt thc (v lc ny f ch ph

36

TTNT

thuc vo h l hm c lng "khong cch" gn nht ti ch). Lc ny thut gii c dng dp ca tm kim chiu su theo nguyn l hng ch kt hp vi ln ngc. Ngc li, nu ta mun tm ra kt qu vi s bc t nht (t c trng thi ch vi s trng thi trung gian t nht), th ta t gi tr i t mt trng thi n cc trng thi con k tip ca n lun l hng s, thng l 1 Ngha t cost(Ti-1, Ti) = 1 (v vn dng mt hm c lng h nh bnh thng). Cn ngc li, nu mun tm chi ph r nht th ta phi t gi tr hm cost chnh xc (phn nh ng ghi ph thc s). n y, chc bn c c th bt u cm nhn c rng thut gii A* khng hon ton l mt thut gii ti u tuyt i. Ni ng hn, A* ch l mt thut gii linh ng v cho chng ta kh nhiu ty chn. Ty theo bi ton m ta s c mt b thng s thch hp cho A* thut gii hot ng hiu qu nht. im quan tm th hai l v gi tr h s c lng khong cch (chi ph) t mt trng thi n trng thi ch. Nu h chnh l h (nh gi tuyt i chnh xc) th A* s i mt mch t trng thi u n trng thi kt thc m khng cn phi thc hin bt k mt thao tc i hng no!. D nhin, trn thc t, hu nh chng bao gi ta tm thy mt nh gi tuyt i chnh xc. Tuy nhin, iu ng quan tm y l h c c lng cng gn vi h, qu trnh tm kim cng t b sai st, t b r vo nhng nhnh ct hn. Hay ni ngn gn l cng nhanh chng tm thy li gii hn. Nu h lun bng 0 mi trng thi (tr v thut gii AT) th qu trnh tm kim s c iu khin hon ton bi gi tr g. Ngha l thut gii s chn i theo nhng hng m s tn t chi ph/bc i nht (chi ph tnh t trng thi u tin n trng thi hin ang xt) bt chp vic i theo hng c kh nng dn n li gii hay khng. y chnh l hnh nh ca nguyn l tham lam (Greedy). Nu chi ph t trng thi sang trng thi khc lun l hng s (d nhin lc ny h lun bng 0) th thut gii A* tr thnh thut gii tm kim theo chiu rng! L do l v tt c nhng trng thi cch trng thi khi u n bc u c cng gi tr g v v th u c cng f v gi tr ny s nh hn tt c cc trng thi cch trng thi khi u n+1 bc. V nu g lun bng 0 v h cng lun bng 0, mi trng thi ang xt u tng ng nhau. Ta ch c th chn bng trng thi k tip bng ngu nhin ! Cn nu nh h khng th tuyt i chnh xc (ngha l khng bng ng h) v cng khng lun bng 0 th sao? C iu g th v v cch x l ca qu trnh tm kim hay khng? Cu tr li l c. Nu nh bng mt cch no , ta c th chc chn rng, c lng h lun nh hn h (i vi mi trng thi) th thut gii A* s thng tm ra con ng ti u (xc nh bi g) i n ch, nu ng dn tn ti v qu trnh tm kim s t khi b sa ly vo nhng con ng qu d. Cn nu v mt l do no , c lng h li ln hn h th thut gii s d dng b vng vo nhng hng tm kim v ch. Thm ch n li c khuynh hng tm kim nhng hng i v ch trc! iu ny c th thy mt cch d dng t vi v d.

37

TTNT

Xt trng hp c trnh by trong hnh sau. Gi s rng tt c cc cung u c gi tr 1. G l trng thi ch. Khi u, OPEN ch cha A, sau A c m rng nn B, C, D s c a vo OPEN (hnh v m t trng thi 2 bc sau , khi B v E c m rng). i vi mi nt, con s u tin l gi tr h, con s k tip l g. Trong v d ny, nt B c f thp nht l 4 = h+g = 3 + 1 , v th n c m rng trc tin. Gi s n ch c mt nt con tip theo l E v h(E) = 3, do E cc A hai cung nn g(E) = 2 suy ra f(E) = 5, ging nh f(C). Ta chn m rng E k tip. Gi s n cng ch c duy nht mt con k tip l F v h(F) cng bng 3. R rng l chng ta ang di chuyn xung v khng pht trin rng. Nhng f(F) = 6 ln hn f(D). Do , chng ta s m rng C tip theo v t n trng thi ch. Nh vy, ta thy rng do nh gi thp h(B) nn ta lng ph mt s bc (E,F), nhng cui cng ta cng pht hin ra B khc xa vi iu ta mong i v quay li th mt ng dn khc.

Hnh : h nh gi thp h By gi hy xt trng hp hnh tip theo. Chng ta cng m rng B bc u tin v E bc th hai. K tip l F v cui cng G, cho ng dn kt thc c di l 4. Nhng gi s c ng dn trc tip t D n mt li gii c di h thc s l 2 th chng ta s khng bao gi tm c ng dn ny (tuy rng ta c th tm thy li gii). Bi v vic nh gi qu cao h(D), chng ta s lm cho D trng d n ni m ta phi tm mt ng i khc n mt li gii t hn - m khng bao gi ngh n vic m rng D. Ni chung, nu h nh gi cao h th A* s c th khng th tm ra ng dn ti u n li gii (nu nh c nhiu ng dn n li gii). Mt cu hi th v l "Liu c mt nguyn tc chung no gip chng ta a ra mt cch c lng h khng bao gi nh gi cao h hay khng?". Cu tr li l "hu nh khng", bi v i vi hu ht cc vn thc ta u khng bit h. Tuy nhin, cch duy nht bo m h khng bao gi nh gi cao h l t h bng 0 !

38

TTNT

Hnh : h nh gi cao h n y chng ta kt thc vic bn lun v thut gii A*, mt thut gii linh ng, tng qut, trong hm cha c tm kim chiu su, tm kim chiu rng v nhng nguyn l Heuristic khc. Chnh v th m ngi ta thng ni, A* chnh l thut gii tiu biu cho Heuristic. A* rt linh ng nhng vn gp mt khuyt im c bn ging nh chin lc tm kim chiu rng l tn kh nhiu b nh lu li nhng trng thi i qua nu chng ta mun n chc chn tm thy li gii ti u. Vi nhng khng gian tm kim ln nh th y khng phi l mt im ng quan tm. Tuy nhin, vi nhng khng gian tm kim khng l (chng hn tm ng i trn mt ma trn kch thc c 106 x 106) th khng gian lu tr l c mt vn hc ba. Cc nh nghin cu a ra kh nhiu cc hng tip cn lai gii quyt vn ny. Chng ta s tm hiu mt s phng n nhng quan trng nht, ta cn phi nm r v tr ca A* so vi nhng thut gii khc. III.10. ng dng A* gii bi ton Ta-canh Bi ton Ta-canh tng l mt tr chi kh ph bin, i lc ngi ta cn gi y l bi ton 9-puzzle. Tr chi bao gm mt hnh vung kch thc 3x3 . C 8 c s, mi c mt s t 1 n 8. Mt cn trng. Mi ln di chuyn ch c di chuyn mt nm cnh trng v pha trng. Vn l t mt trng thi ban u bt k, lm sao a c v trng thi cui l trng thi m cc c sp ln lt t 1 n 8 theo th t t tri sang phi, t trn xung di, cui dng l trng.

39

TTNT

Cho n nay, ngoi tr 2 gii php vt cn v tm kim Heuristic, ngi ta vn cha tm c mt thut ton chnh xc, ti u gii bi ton ny. Tuy nhin, cch gii theo thut * gii A li kh n gin v thng tm c li gii (nhng khng phi lc no cng tm c li gii). Nhn xt rng: Ti mi thi im ta ch c ti a 4 c th di chuyn. Vn l ti thi im , ta s chn la di chuyn no? Chng hn hnh trn, ta nn di chuyn (1), (2), (6), hay (7) ? Bi ton ny hon ton c cu trc thch hp c th gii bng A* (tng s trng thi c th c ca bn c l n2! vi n l kch thc bn c v mi trng thi l mt hon v ca tp n2 con s). Ti mt trng thi ang xt Tk, t d(i,j)l s cn di chuyn a con s (i,j) v ng v tr ca n trng thi ch. Hm c lng h ti trng thi Tk bt k bng tng ca cc d(i,j) sao cho v tr (i,j) khng phi l trng. Nh vy i vi trng thi hnh ban u, hm f(Tk) s c gi tr l Fk=2+1+3+1+0+1+2+2=12 III.11. Cc chin lc tm kim lai Chng ta bit qua 4 kiu tm kim : leo o (L), tm theo chiu su (MC), tm theo chiu rng (BR) v tm kim BFS. Bn kiu tm kim ny c th c xem nh 4 thi cc ca khng gian lin tc bao gm cc chin lc tm kim khc nhau. gii thch iu ny r hn, s tin hn cho chng ta nu nhn mt chin lc tm kim li gii di hai chiu sau : Chiu kh nng quay lui (R): l kh nng cho php quay li xem xt nhng trng thi xt n trc nu gp mt trng thi khng th i tip. Chiu phm vi ca s nh gi (S): s cc trng thi xt n trong mi quyt nh.

Hnh : Tng quan gia cc chin lc leo o, quay lui v tt nht


40

TTNT

Theo hng R, chng ta thy leo o nm mt thi cc (n khng cho php quay li nhng trng thi cha c xt n), trong khi tm kim quay lui v BFS mt thi cc khc (cho php quay li tt c cc hng i cha xt n). Theo hng S chng ta thy leo o v ln ngc nm mt thi cc (ch tp trung vo mt phm vi hp trn tp cc trng thi mi to ra t trng thi hin ti) v BFS nm mt thi cc khc (trong khi BF xem xt ton b tp cc con ng c, bao gm c nhng con ng mi c to ra cng nh tt c nhng con ng khng c xt ti trc y trc mi mt quyt nh). Nhng thi cc ny c trc quan ha bng hnh trn. Vng in m biu din mt mt phng lin tc cc chin lc tm kim m n kt hp mt s c im ca mt trong ba thi cc (leo o, chiu su, BFS) c c mt ha hp cc c tnh tnh ton ca chng. Nu chng ta khng b nh cn thit p dng thut ton BFS thun ty. Ta c th kt hp BFS vi tm theo chiu su gim bt yu cu b nh. D nhin, ci gi m ta phi tr l s lng cc trng thi c th xt n ti mt bc s nh i. Mt loi kt hp nh th c ch ra trong hnh di. Trong hnh ny, thut gii BFS c p dng ti nh ca th tm kim (biu din bng vng t tm) v tm kim theo chiu su c p dng ti y (biu din bi tam gic t nht). u tin ta p dng BFS vo trng thi ban u T0 mt cch bnh thng. BFS s thi hnh cho n mt lc no , s lng trng thi c lu tr chim dng mt khng gian b nh vt qu mt mc cho php no . n lc ny, ta s p dng tm kim chiu su xut pht t trng thi tt nht Tmax trong OPEN cho ti khi ton b khng gian con pha "di" trng thi c duyt ht. Nu khng tm thy kt qu, trng thi Tmax ny c ghi nhn l khng dn n kt qu v ta li chn ra trng thi tt th hai trong OPEN v li p dng tm kim chiu su cho cho phn khng gian pha "di" trng thi ny....

Hnh : Chin lc lai BFS-MC trong , BFS p dng ti nh v MC ti y. Mt cch kt hp khc l dng tm kim chiu su ti nh khng gian tm kim v BFS c dng ti y. Chng ta p dng tm kim chiu su cho ti khi gp mt trng thi Tk m su (s trng thi trung gian) ca n vt qu mt ngng d0 no . Ti im ny, thay v ln ngc tr li, ta p dng kiu tm kim BFS cho phn khng gian pha "di" bt u t Tk cho ti khi n tr v mt gii php hoc khng tm thy. Nu n

41

TTNT

khng tm thy kt qu, chng ta ln ngc tr li v li dng BFS khi t su d0. Tham s d0 s c chn sao cho b nh dng cho tm kim BFS trn khng gian "di" mc d0 s khng vt qu mt hng s cho trc. R rng ta ta khng d g xc nh c d0 (v ni chung, ta kh nh gi c khng gian bi ton rng n mc no). Tuy nhin, kiu kt hp ny li c mt thun li. Phn y khng gian tm kim thng cha nhiu thng tin "b ch" hn l phn nh. (Chng hn, tm ng i n khu trung tm ca thnh ph, khi cng n gn khu trung tm y th bn cng d dng tin n trung tm hn v c nhiu "du hiu" ca trung tm xut hin xung quanh bn!). Ngha l, cng tin v pha y ca khng gian tm kim, c lng h thng cng tr nn chnh xc hn v do , cng d dn ta n kt qu hn.

Hnh : Chin lc lai BFS-MC trong , MC p dng ti nh v BFS ti y.

Cn mt kiu kt hp phc tp hn na. Trong , BFS c thc hin cc b v chiu su c thc hin ton cc. Ta bt u tm kim theo BFS cho ti khi mt s lng b nh xc nh M0 c dng ht. Ti im ny, chng ta xem tt c nhng trng thi trong OPEN nh nhng trng thi con trc tip ca trng thi ban u v chuyn giao chng cho tm kim chiu su. Tm kim chiu su s chn trng thi tt nht trong nhng trng thi con ny v "bnh trng" n dng BFS, ngha l n chuyn trng thi chn cho tm kim BFS cc b cho n khi mt lng b nh M0 li c dng ht v trng thi con mi trong OPEN li tip tc c xem nh nt con ca nt "bnh trng"...Nu vic "bnh trng" bng BFS tht bi th ta quay lui li v chn nt con tt th hai ca tp OPEN trc , ri li tip tc bnh trng bng BFS...

42

TTNT

Hnh : Chin lc lai BFS-MC trong , BFS c p dng cc b v chiu su c p dng ton cc. C mt cch phi hp ni ting khc c gi l tm kim theo giai on c thc hin nh sau. Thay v lu tr trong b nh ton b cy tm kim c sinh ra bi BFS, ta ch gi li cy con c trin vng nht. Khi mt lng b nh M0 c dng ht, ta s nh du mt tp con cc trng thi trong OPEN (nhng trng thi c gi tr hm f thp nht) gi li; nhng ng i tt nht qua nhng trng thi ny cng s c ghi nh v tt c phn cn li ca cy b loi b. Qu trnh tm kim sau s tip tc theo BFS cho ti khi mt lng b nh M0 li c dng ht v c th. Chin lc ny c th c xem nh l mt s lai ghp gia BF v leo o. Trong , leo o thun ty loi b tt c nhng ch gi li phng n tt nht cn tm kim theo giai on loi b tt c nhng ch gi li tp cc phng n tt nht.

43

TTNT

A. TNG QUAN TR TU NHN TO

I. M U
Ch to c nhng c my thng minh nh con ngi (thm ch thng minh hn con ngi) l mt c m chy bng ca loi ngi t hng ngn nm nay. Hn bn c cn nh n nh khoa hc Alan Turing cng nhng ng gp to ln ca ng trong lnh vc tr tu nhn to. Nng lc my tnh ngy cng mnh m l mt iu kin ht sc thun li cho tr tu nhn to. iu ny cho php nhng chng trnh my tnh p dng cc thut gii tr tu nhn to c kh nng phn ng nhanh v hiu qu hn trc. S kin my tnh Deep Blue nh bi kin tng c vua th gii Casparov l mt minh chng hng hn cho mt bc tin di trong cng cuc nghin cu v tr tu nhn to. Tuyc th nh bi c Casparov nhng Deep Blue l mt c my ch bit nh c ! N thm ch khng c c tr thng minh s ng ca mt a b bit ln ba nh nhn din c nhng ngi thn, kh nng quan st nhn bit th gii, tnh cm thng, ght, ... Ngnh tr tu nhn to c nhng bc tin ng k, nhng mt tr tu nhn to thc s vn ch c trong nhng b phim khoa hc gi tng ca Hollywood. Vy th ti sao chng ta vn nghin cu v tr tu nhn to? iu ny cng tng t nh c m ch to vng ca cc nh gi kim thut thi Trung C, tuy cha thnh cng nhng chnh qu trnh nghin cu lm sng t nhiu vn . Mc d mc tiu ti thng ca ngnh TTNT l xy dng mt chic my c nng lc t duy tng t nh con ngi nhng kh nng hin ti ca tt c cc sn phm TTNT vn cn rt khim tn so vi mc tiu ra. Tuy vy, ngnh khoa hc mi m ny vn ang tin b mi ngy v ang t ra ngy cng hu dng trong mt s cng vic i hi tr thng minh ca con ngi. Hnh nh sau s gip bn hnh dung c tnh hnh ca ngnh tr tu nhn to.

Trc khi bc vo tm hiu v tr tu nhn to, chng ta hy nhc li mt nh ngha c nhiu nh khoa hc chp nhn.

Mc tiu ca ngnh khoa hc tr tu nhn to ? To ra nhng chic my tnh c kh nng nhn thc, suy lun v phn ng.

44

TTNT

Nhn thc c hiu l kh nng quan st, hc hi, hiu bit cng nh nhng kinh nghim v th gii xung quanh. Qu trnh nhn thc gip con ngi c tri thc. Suy lun l kh nng vn dng nhng tri thc sn c phn ng vi nhng tnh hung hay nhng vn - bi ton gp phi trong cuc sng. Nhn thc v suy lun t a ra nhng phn ng thch hp l ba hnh vi c th ni l c trng cho tr tu ca con ngi. (D nhin cn mt yu t na l tnh cm. Nhng chng ta s khng cp n y!). Do , cng khng c g ngc nhin khi mun to ra mt chic my tnh thng minh, ta cn phi trang b cho n nhng kh nng ny. C ba kh nng ny u cn n mt yu t c bn l tri thc. Di gc nhn ca tp sch ny, xy dng tr tu nhn to l tm cch biu din tri thc, tm cch vn dng tri thc gii quyt vn v tm cch b sung tri thc bng cch "pht hin" tri thc t cc thng tin sn c (my hc).

45

TTNT

II. THNG TIN, D LIU V TRI THC


Tri thc l mt khi nim rt tru tng. Do , chng ta s khng c gng a ra mt nh ngha hnh thc chnh xc y. Thay vo , chng ta hy cng nhau cm nhn khi nim "tri thc" bng cch so snh n vi hai khi nim khc l thng tin v d liu. Nh bc hc ni ting Karan Sing tng ni rng "Chng ta ang ngp chm trong bin thng tin nhng li ang kht tri thc". Cu ni ny lm ni bt s khc bit v lng ln v cht gia hai khi nim thng tin v tri thc. Trong ng cnh ca ngnh khoa hc my tnh, ngi ta quan nim rng d liu l cc con s, ch ci, hnh nh, m thanh... m my tnh c th tip nhn v x l. Bn thn d liu thng khng c ngha i vi con ngi. Cn thng tin l tt c nhng g m con ngi c th cm nhn c mt cch trc tip thng qua cc gic quan ca mnh (khu gic, v gic, thnh gic, xc gic, th gic v gic quan th 6) hoc gin tip thng qua cc phng tin k thut nh tivi, radio, cassette,... Thng tin i vi con ngi lun c mt ngha nht nh no . Vi phng tin my tnh (m c th l cc thit b u ra), con ngi s tip thu c mt phn d liu c ngha i vi mnh. Nu so v lng, d liu thng nhiu hn thng tin. Cng c th quan nim thng tin l quan h gia cc d liu. Cc d liu c sp xp theo mt th t hoc c tp hp li theo mt quan h no s cha ng thng tin. Nu nhng quan h ny c ch ra mt cch r rng th l cc tri thc. Chng hn : Trong ton hc : Bn thn tng con s ring l nh 1, 1, 3, 5, 2, 7, 11, ... l cc d liu. Tuy nhin, khi t chng li vi nhau theo trt t nh di y th gia chng bt u c mt mi lin h D liu : 1, 1, 2, 3, 5, 8, 13, 21, 34, .... Mi lin h ny c th c biu din bng cng thc sau : Un = Un-1 + Un-2. Cng thc nu trn chnh l tri thc.

Trong vt l : Bn sau y cho chng ta bit s o v in tr (R), in th (U) v cng dng in (I) trong mt mch in.

I 5

U 10

R 2

46

TTNT

2.5 4 7.3

20 12 14.6

8 3 2

Bn thn nhng con s trong cc ct ca bn trn khng c my ngha nu ta tch ri chng ta. Nhng khi t k nhau, chng cho thy c mt s lin h no . V mi lin h ny c th c din t bng cng thc n gin sau :

Cng thc ny l tri thc.

Trong cuc sng hng ngy : Hng ngy, ngi nng dn vn quan st thy cc hin tng nng, ma, rm v chun chun bay. Rt nhiu ln quan st, h c nhn xt nh sau : Chun chun bay thp th ma, bay cao th nng, bay va th rm. Li nhn xt trn l tri thc.
C quan im trn cho rng ch nhng mi lin h tng minh (c th chng minh c) gia cc d liu mi c xem l tri thc. Cn nhng mi quan h khng tng minh th khng c cng nhn. y, ta cng c th quan nim rng, mi mi lin h gia cc d liu u c th c xem l tri thc, bi v, nhng mi lin h ny thc s tn ti. im khc bit l chng ta cha pht hin ra n m thi. R rng rng "d sao th tri t cng vn xoay quanh mt tri" d tri thc ny c c Galil pht hin ra hay khng!

Nh vy, so vi d liu th tri thc c s lng t hn rt nhiu. Thut ng t y khng ch n gin l mt du nh hn bnh thng m l s kt tinh hoc c ng li. Bn hy hnh dung d liu nh l nhng im trn mt phng cn tri thc chnh l phng trnh ca ng cong ni tt c nhng im ny li. Ch cn mt phng trnh ng cong ta c th biu din c v s im!. Cng vy, chng ta cn c nhng kinh nghim, nhn xt t hng ng s liu thng k, nu khng, chng ta s ngp chm trong bin thng tin nh nh bc hc Karan Sing cnh bo!. Ngi ta thng phn loi tri thc ra lm cc dng nh sau :

47

TTNT

Tri thc s kin : l cc khng nh v mt s kin, khi nim no (trong mt phm vi xc nh). Cc nh lut vt l, ton hc, ... thng c xp vo loi ny. (Chng hn : mt tri mc ng ng, tam gic u c 3 gc 600, ...) Tri thc th tc : thng dng din t phng php, cc bc cn tin hnh, trnh t hay ngn gn l cch gii quyt mt vn . Thut ton, thut gii l mt dng ca tri thc th tc. Tri thc m t : cho bit mt i tng, s kin, vn , khi nim, ... c thy, cm nhn, cu to nh th no (mt ci bn thng c 4 chn, con ngi c 2 tay, 2 mt,...) Tri thc Heuristic : l mt dng tri thc cm tnh. Cc tri thc thuc loi ny thng c dng c lng, phng on, v thng c hnh thnh thng qua kinh nghim. Trn thc t, rt him c mt tr tu m khng cn n tri thc (liu c th c mt i kin tng c vua m khng bit nh c hoc khng bit cc th c quan trng khng?). Tuy tri thc khng quyt nh s thng minh (ngi bit nhiu nh l ton hn cha chc gii ton gii hn!) nhng n l mt yu t c bn cu thnh tr thng minh. Chnh v vy, mun xy dng mt tr thng minh nhn to, ta cn phi c yu t c bn ny. T y t ra vn u tin l Cc phng php a tri thc vo my tnh c gi l biu din tri thc.

III. THUT TON MT PHNG PHP BIU DIN TRI THC?


Trc khi tr li cu hi trn, bn hy th ngh xem, liu mt chng trnh gii phng trnh bc 2 c th c xem l mt chng trnh c tri thc hay khng? ... C ch ! Vy th tri thc nm u? Tri thc v gii phng trnh bc hai thc cht c m ha di dng cc cu lnh if..then..else trong chng trnh. Mt cch tng qut, c th khng nh l tt c cc chng trnh my tnh t nhiu u c tri thc. chnh l tri thc ca lp trnh vin c chuyn thnh cc cu lnh ca chng trnh. Bn s thc mc "nh vy ti sao a tri thc vo my tnh li l mt vn ? (v t trc ti gi chng ta , ang v s tip tc lm nh th m?)". ng nh th tht, nhng vn nm ch, cc tri thc trong nhng chng trnh truyn thng l nhng tri thc "cng", ngha l n khng th c thm vo hay iu chnh mt khi chng trnh c bin dch. Mun iu chnh th chng ta phi tin hnh sa li m ngun ca chng trnh (ri sau bin dch li). M thao tc sa chng trnh th ch c nhng lp trnh vin mi c th lm c. iu ny s lm gim kh nng ng dng chng trnh (v a s ngi dng bnh thng u khng bit lp trnh). Bn th ngh xem, vi mt chng trnh h tr ra quyt nh (nh u t c phiu, u t bt ng sn chng hn), liu ngi dng c cm thy thoi mi khng khi mun a vo chng trnh nhng kin thc ca mnh th anh ta phi chn mt trong hai cch l (1) t sa li m chng trnh!? (2) tm tc gi ca chng trnh nh ngi ny sa li!?. C hai thao tc trn u khng th chp nhn c i vi bt k ngi dng bnh thng no. H cn c mt cch no chnh h c th a tri thc vo my tnh mt cch d dng, thun tin ging nh h ang i thoi vi mt con ngi.

48

TTNT

lm c iu ny, chng ta cn phi "mm" ha cc tri thc c biu din trong my tnh. Xt cho cng, mi chng trnh my tnh u gm hai thnh phn l cc m lnh v d liu. M lnh c v nh l phn cng ca chng trnh cn d liu c xem l phn mm (v n c th c thay i bi ngi dng). Do , "mm" ha tri thc cng ng ngha vi vic tm cc phng php c th biu din cc loi tri thc ca con ngi bng cc cu trc d liu m my tnh c th x l c. y cng chnh l ngha ca thut ng "biu din tri thc". Bn cn phi bit rng, t ra l cho n thi im bn ang c cun sch ny, con ngi vn cha th tm ra mt kiu biu din tng qut cho mi loi tri thc! lm vn m chng ta ang bn lun tr nn sng t hn. Chng ta hy xem xt mt s bi ton trong phn tip theo.

IV. LM QUEN VI CCH GII QUYT VN BNG CCH CHUYN GIAO TRI THC CHO MY TNH
Bi ton 1 : Cho hai bnh rng X v Y c th tch ln lt l VX v VY, hy dng hai bnh ny ong ra z lt nc (z <= min(VX,VY)). Bi ton 2 : Cho bit mt s yu t ca tam gic (nh chiu di cnh v gc, ...). Hy tnh cc yu t cn li. Bi ton 3 : Tnh din tch phn giao ca cc hnh hnh hc c bn. Hai bi ton u l hai bi ton kh tiu biu, thng c dng minh ha cho nt p ca phng php gii quyt vn bi ton bng cch chuyn giao tri thc cho my tnh. Nu s dng thut ton thng thng, chng ta thng ch gii c mt s trng hp c th ca cc bi ton ny. Thm ch, nhiu ngi khi mi tip cn vi 2 bi ton ny cn khng tin l n c th hon ton c gii mt cch tng qut bi my tnh!. Bi ton s 3 l mt minh ha p mt cho k thut gii quyt vn "v m", ngha l ta ch cn m t cc bc gii quyt mc tng qut cho my tnh m khng cn i vo ci t c th. Bi ton 1 s c gii quyt bng cch s dng cc lut dn xut (lut sinh). Bi ton 2 s c gii quyt bng mng ng ngha v bi ton 3 s gii quyt bng cng c frame. y chng ta cng nhau tm hiu cch gii bi ton u tin. Hai bi ton k tip s c gii quyt ln lt cc mc sau. Vi mt trng hp c th ca bi ton 1, nh VX = 5 v VY = 7 v z = 4. Sau mt thi gian tnh ton, bn c th s a ra mt quy trnh nc i loi nh : Mc y bnh 7 Trt ht qua bnh 5 cho n khi 5 y.

49

TTNT

ht nc trong bnh 5 ht nc cn li t bnh 7 sang bnh 5 Mc y bnh 7 Trt ht qua bnh 5 cho n khi bnh 5 y. Phn cn li chnh l s nc cn ong. Tuy nhin, vi nhng s liu khc, bn phi "my m" li t u tm ra quy trnh nc. C th, mi mt trng hp s c mt cch nc hon ton khc nhau. Nh vy, nu c mt ai yu cu bn a ra mt cch lm tng qut th chnh bn cng s lng tng (d nhin, ngoi tr trng hp bn bit trc cch gii theo tri thc m chng ta sp sa tm hiu y!). n y, bn hy bnh tm kim li cch thc bn tm kim li gii cho mt trng hp c th. V cha tm ra mt quy tc c th no, bn s thc hin mt lot cc thao tc "cm tnh" nh ong y mt bnh, trt mt bnh ny sang bnh kia, ht nc trong mt bnh ra... va lm va nhm tnh xem cch lm ny c th i n kt qu hay khng. Sau nhiu ln th nghim, rt c th bn s rt ra c mt s kinh nghim nh "khi bnh 7 y nc m bnh 5 cha y th hy n sang bnh 5 cho n khi bnh 5 y"... Vy th ti sao bn li khng th "truyn" nhng kinh nghim ny cho my tnh v cho my tnh "my m" tm cc thao tc cho chng ta? iu ny hon ton c li, v my tnh c kh nng "my m" hn hn chng ta! Nu nhng "kinh nghim" m chng ta cung cp cho my tnh khng gip chng ta tm c li gii, chng ta s thay th n bng nhng kinh nghim khc v li tip tc my tnh tm kim li gii! Chng ta hy pht biu li bi ton mt cch hnh thc hn. Khng lm mt tnh tng qut, ta lun c th gi s rng VX<VY. Gi lng nc cha trong bnh X l x (0<=x<=VX) Gi lng nc cha trong bnh Y l y (0<=y<=VY) Nh vy, iu kin kt thc ca bi ton s l : x = z hoc y = z iu kin u ca bi ton l : x = 0 v y=0 Qu trnh gii c thc hin bng cch xt ln lt cc lut sau, lut no tha mn th s c p dng. Lc ny, cc lut chnh l cc "kinh nghim" hay tri thc m ta chuyn giao cho my tnh. Sau khi p dng lut, trng thi ca bi ton s thay i, ta li tip tc

50

TTNT

xt cc lut k tip, nu ht lut, quay tr li lut u tin. Qu trnh tip din cho n khi t c iu kin kt thc ca bi ton. Ba lut ny c m t nh sau : (L1) Nu bnh X y th ht nc trong bnh X i. (L2) Nu bnh Y rng th y nc vo bnh Y. (L3) Nu bnh X khng y v bnh Y khng rng th hy trt nc t? bnh Y sang bnh X (cho n khi bnh X y hoc bnh Y ht nc).
Trn thc t, lc u gii trng hp tng qut ca bi ton ny, ngi ta dng n hn 15 lut (kinh nghim) khc nhau. Tuy nhin, sau ny, ngi ta rt gn li ch cn 3 lut nh trn.

Bn c th d dng chuyn i cch gii ny thnh chng trnh nh sau :


... x := 0; y := 0; WHILE ( (x <> z) AND (y<>z) ) DO BEGIN IF (x = Vx) THEN x := 0; IF (y = 0) THEN (y:= Vy); IF (y > 0) THEN BEGIN k:= min(Vx - x, y); x := x + k; y := y - k; END; END; ...

Th "chy" chng trnh trn vi s liu c th l :

Vx = 3, Vy = 4 v z = 2
Ban u : x = 0, y = 0 Lut (L2) -> x = 0, y = 4

51

TTNT Lut (L3) -> x = 3, y = 1 Lut (L1) -> x = 0, y = 1 Lut (L3) -> x = 1, y = 0 Lut (L2) -> x = 1, y = 4 Lut (L3) -> x = 3, y = 2

3 lut m chng ta ci t trong chng trnh trn c gi l c s tri thc. Cn cch thc tm kim li gii bng cch duyt tun t tng lut v p dng n c gi l ng c suy din. Chng ta s nh ngha chnh xc hai thut ng ny cui mc.
Ngi ta chng minh c rng, bi ton ong nc ch c li gii khi s nc cn ong l mt bi s ca c s chung ln nht ca th tch hai bnh. z = n USCLN(VX, VY) (vi n nguyn dng)

Cch gii quyt vn theo kiu ny khc so vi cch gii bng thut ton thng thng l chng ta khng a ra mt trnh t gii quyt vn c th m ch a ra cc quy tc chung chung (di dng cc lut), my tnh s da vo (p dng cc lut) t xy dng mt quy trnh gii quyt vn . iu ny cng ging nh vic chng ta gii ton bng cch a ra cc nh l, quy tc lin quan n bi ton m khng cn phi ch ra cch gii c th. Vy th im th v nm im no? Bn s c th cm thy rng chng ta vn ang dng tri thc "cng" ! (v cc tri thc vn l cc cu lnh IF c ci sn trong chng trnh). Thc ra th chng trnh ca chng ta "mm" hn mt t ri y. Nu khng tin, cc bn hy quan st phin bn k tip ca chng trnh ny.
FUNCTION DK(L INTEGER):BOOLEAN; BEGIN CASE L OF 1 : DK := (x = Vx); 2 : DK := (y = 0); 3 : DK := (y>0); END; END; PROCEDURE ThiHanh(L INTEGER):BOOLEAN;

52

TTNT

BEGIN CASE L OF 1 : x := 0; 2: y := Vy; 3 : BEGIN k := min(Vx-x,y); x := x+k; y := y-k; END; END; END; CONST SO_LUAT = 3; BEGIN WHILE (x<>z) AND (y<>z) DO BEGIN FOR i:=1 TO SO_LUAT DO IF DK(L) THEN ThiHanh(L); END; END.

on chng trnh chnh cng thi hnh bng cch ln lt xt qua 3 lnh IF nh chng trnh u tin. Tuy nhin, y, biu thc iu kin c thay th bng hm DK v cc hnh ng ng vi iu kin c thay th bng th tc ThiHanh. Tnh cht "mm" hn ca chng trnh ny th hin ch, nu mun b sung "tri thc", ta ch phi iu chnh li cc hm DK v ThiHanh m khng cn phi sa li chng trnh chnh. By gi hy gi s rng ta c hm v th tc c bit sau : FUNCTION GiaTriBool(DK : String) : BOOLEAN; PROCEDURE ThucHien(ThaoTac : String) ;

53

TTNT

hm GiaTriBool nhn vo mt chui iu kin, n s phn tch chui, tnh ton ri tr ra gi tr BOOLEAN ca biu thc ny. V d : GiaTriBoolean(6<7) s tr ra FALSE Th tc ThucHien cng nhn vo mt chui, n cng s phn tch chui ri tin hnh thc hin nhng hnh ng c miu t trong chui ny. Vi hm v th tc ny, chng trnh ca chng ta s nh sau :
CONST SO_LUAT = 3; TYPE Luat RECORD DK : String; ThiHanh : String; END; DSLuat ARRAY [1..SO_LUAT] OF Luat; 9; VAR CacLuat DSLuat; PROCEDURE KhoiDong; BEGIN CacLuat[1].DK := x = Vx; CacLuat[2].DK := y = 0; CacLuat[3].DK := y>0; 9; CacLuat[1].ThaoTac := x:=0; CacLuat[2].ThaoTac:= y:=Vy; CacLuat[3].ThaoTac:= k:=min(Vx-x,y), x:=x+k, y:=y-k; END; BEGIN WHILE (x<>z) AND (y<>z) DO BEGIN

54

TTNT

FOR i:=1 TO SO_LUAT DO IF GiaTriBoolean(CacLuat[i].DK) THEN ThucHien(CacLuat[i].ThaoTac); END; END.

Chng ta tm cho rng trong qu trnh chng trnh thi hnh, ta c th d dng thay i s phn t mng CacLuat (cc ngn ng lp trnh sau ny nh Visual C++, Delphi u cho php iu ny). Vi chng trnh ny, khi mun sa i "tri thc", bn ch cn thay i gi tr mng Luat l xong. Tuy nhin, ngi dng vn gp kh khn khi mun b sung hoc hiu chnh tri thc. H cn phi nhp cc chui i loi nh x=0 hoc k:=min(Vx-x,y) ...Cc chui ny, tuy c ngha i vi chng trnh nhng vn cn kh xa l i vi ngi dng bnh thng. Chng ta cn gim bt "khong cch" ny li bng cch a ra nhng chui iu kin hoc thao tc c ngha trc tip i vi ngi dng. Chng trnh s c chuyn i li cc iu kin v thao tc ny sang dng ph hp vi chng trnh. lm c iu trn. Chng ta cn phi lit k c cc trng thi v thao tc c bn ca bi ton ny. Sau y l mt s trng thi v thao tc c bn. Trng thi c bn : Bnh X y, Bnh X rng, Bnh X khng rng, Bnh X c n lt nc. Thao tc ht nc trong bnh, y nc trong bnh, nc t bnh A sang bnh B cho n khi B y hoc A rng.
Lu rng ta khng th c thao tc " n lt nc t A sang B" v bi ton gi nh rng cc bnh u khng c vch chia, hn na nu ta bit cch n lt nc t A sang B th li gii bi ton tr thnh qu n gin. "Mc y X" " z lt nc t X sang Y" V y l mt bi ton n gin nn bn c th d nhn thy rng, cc trng thi c bn v thao tc chng c g khc so vi cc iu kin m chng ta a ra.

K tip, ta s vit cc on chng trnh cho php ngi dng nhp vo cc lut (dng nu ... th ...) c hnh thnh t cc trng thi v iu kin c bn ny, ng thi tin

55

TTNT

hnh chuyn sang dng my tnh c th x l c nh v d trn. Chng ta s khng bn n vic ci t cc on chng trnh giao tip vi ngi dng y. Nh vy, so vi chng trnh truyn thng (c cu to t hai "cht liu" c bn l d liu v thut ton), chng trnh tr tu nhn to c cu to t hai thnh phn l c s tri thc (knowledge base) v ng c suy din (inference engine). C s tri thc : l tp hp cc tri thc lin quan n vn m chng trnh quan tm gii quyt. ng c suy din : l phng php vn dng tri thc trong c s tri thc gii quyt vn .

Nu xt theo quan nim biu din tri thc m ta va bn lun trn th c s tri thc ch l mt dng d liu c bit v ng c suy din cng ch l mt dng ca thut ton c bit m thi. Tuy vy, c th ni rng, c s tri thc v ng c suy din l mt bc tin ha mi ca d liu v thut ton ca chng trnh! Bn c th hnh dung ng c suy din ging nh mt loi ng c tng qut, c chun ha c th dng vn hnh nhiu loi xe my khc nhau v c s tri thc chnh l loi nhin liu c bit vn hnh loi ng c ny !

56

TTNT

C s tri thc cng gp phi nhng vn tng t nh nhng c s d liu khc nh s trng lp, tha, mu thun. Khi xy dng c s tri thc, ta cng phi ch n nhng yu t ny. Nh vy, bn cnh vn biu din tri thc, ta cn phi ra cc phng php loi b nhng tri thc trng lp, tha hoc mu thun. Nhng thao tc ny s c thc hin trong qu trnh ghi nhn tri thc vo h thng. Chng ta s cp n nhng phng php ny trong phn tm hiu v cc lut dn. Hnh nh trn tm tt cho chng ta thy cu trc chung nht ca mt chng trnh tr tu nhn to.

B. CC PHNG PHP BIU DIN TRI THC TRN MY TNH

V. LOGIC MNH
y c l l kiu biu din tri thc n gin nht v gn gi nht i vi chng ta. Mnh l mt khng nh, mt pht biu m gi tr ca n ch c th hoc l ng hoc l sai. V d : pht biu "1+1=2" c gi tr ng. pht biu "Mi loi c c th sng trn b" c gi tr sai. Gi tr ca mnh khng ch ph thuc vo bn thn mnh . C nhng mnh m gi tr ca n lun ng hoc sai bt chp thi gian nhng cng c nhng mnh m gi tr ca n li ph thuc vo thi gian, khng gian v nhiu yu t khc quan khc. Chng hn nh mnh : "Con ngi khng th nhy cao hn 5m vi chn trn" l ng khi tri t , cn nhng hnh tinh c lc hp dn yu th c th sai. Ta k hiu mnh bng nhng ch ci la tinh nh a, b, c, ... C 3 php ni c bn to ra nhng mnh mi t nhng mnh c s l php hi ( ), giao( ) v ph nh ( )
Bn c chn hn tng s dng logic mnh trong chng trnh rt nhiu ln (nh trong cu trc lnh IF ... THEN ... ELSE) biu din cc tri thc "cng" trong my tnh !

Bn cnh cc thao tc tnh ra gi tr cc mnh phc t gi tr nhng mnh con, chng ta c c mt c ch suy din nh sau : Modus Ponens : Nu mnh A l ng v mnh A B l ng th gi tr ca B s l ng. Modus Tollens : Nu mnh A B l ng v mnh B l sai th gi tr ca A s l sai.

57

TTNT

Cc php ton v suy lun trn mnh c cp nhiu n trong cc ti liu v ton nn chng ta s khng i vo chi tit y.

VI. LOGIC V T
Biu din tri thc bng mnh gp phi mt tr ngi c bn l ta khng th can thip vo cu trc ca mt mnh . Hay ni mt cch khc l mnh khng c cu trc . iu ny lm hn ch rt nhiu thao tc suy lun . Do , ngi ta a vo khi nim v t v lng t ( - vi mi, - tn ti) tng cng tnh cu trc ca mt mnh . Trong logic v t, mt mnh c cu to bi hai thnh phn l cc i tng tri thc v mi lin h gia chng (gi l v t). Cc mnh s c biu din di dng : V t (<i tng 1>, <i tng 2>, , <i tng n>) Nh vy biu din v ca cc tri cy, cc mnh s c vit li thnh : Cam c v Ngt V (Cam, Ngt) Cam c mu Xanh Mu (Cam, Xanh)

...
Kiu biu din ny c hnh thc tng t nh hm trong cc ngn ng lp trnh, cc i tng tri thc chnh l cc tham s ca hm, gi tr mnh chnh l kt qu ca hm (thuc kiu BOOLEAN).

Vi v t, ta c th biu din cc tri thc di dng cc mnh tng qut, l nhng mnh m gi tr ca n c xc nh thng qua cc i tng tri thc cu to nn n. Chng hn tri thc : "A l b ca B nu B l anh hoc em ca mt ngi con ca A" c th c biu din di dng v t nh sau :
B (A, B) = Tn ti Z sao cho : B (A, Z) v (Anh(Z, B) hoc Anh(B,Z))

Trong trng hp ny, mnh B(A,B) l mt mnh tng qut Nh vy nu ta c cc mnh c s l :


a) B ("An", "Bnh") c gi tr ng (Anh l b ca Bnh) b) Anh("T", "Bnh") c gi tr ng (T l anh ca Bnh) th mnh c) B ("An", "T") s c gi tr l ng. (An l b ca T).

R rng l nu ch s dng logic mnh thng thng th ta s khng th tm c mt mi lin h no gia c v a,b bng cc php ni mnh , , . T , ta cng khng
58

TTNT

th tnh ra c gi tr ca mnh c. S d nh vy v ta khng th th hin tng minh tri thc "(A l b ca B) nu c Z sao cho (A l b ca Z) v (Z anh hoc em C)" di dng cc mnh thng thng. Chnh c trng ca v t cho php chng ta th hin c cc tri thc dng tng qut nh trn. Thm mt s v d na cc bn thy r hn kh nng ca v t : Cu cch ngn "Khng c vt g l ln nht v khng c vt g l b nht!" c th c biu din di dng v t nh sau : LnHn(x,y) = x>y NhHn(x,y) = x<y x, y : LnHn(y,x) v x, y : NhHn(y,x) Cu chm ngn "Gn mc th en, gn n th sng" c hiu l "chi vi bn xu no th ta cng s thnh ngi xu" c th c biu din bng v t nh sau : NgiXu (x) = y : Bn(x,y) v NgiXu(y) Cng c v t c nghin cu v pht trin thnh mt ngn ng lp trnh c trng cho tr tu nhn to. l ngn ng PROLOG. Phn c thm ca chng s gii thiu tng quan vi cc bn v ngn ng ny.

VII. MT S THUT GII LIN QUAN N LOGIC MNH


Mt trong nhng vn kh quan trng ca logic mnh l chng minh tnh ng n ca php suy din (a b). y cng chnh l bi ton chng minh thng gp trong ton hc. R rng rng vi hai php suy lun c bn ca logic mnh (Modus Ponens, Modus Tollens) cng vi cc php bin i hnh thc, ta cng c th chng minh c php suy din. Tuy nhin, thao tc bin i hnh thc l rt kh ci t c trn my tnh. Thm ch iu ny cn kh khn vi c con ngi! Vi cng c my tnh, bn c th cho rng ta s d dng chng minh c mi bi ton bng mt phng php "th bo" l lp bng chn tr . Tuy v l thuyt, phng php lp bng chn tr lun cho c kt qu cui cng nhng phc tp ca phng php ny l qu ln, O(2n) vi n l s bin mnh . Sau y chng ta s nghin cu hai phng php chng minh mnh vi phc tp ch c O(n). VII.1. Thut gii Vng Ho B1 : Pht biu li gi thit v kt lun ca vn theo dng chun sau :

59

TTNT

GT1, GT2, ..., GTn KL1, KL2, ..., KLm Trong cc GTi v KLi l cc mnh c xy dng t cc bin mnh v 3 php ni c bn : , , B2 : Chuyn v cc GTi v KLi c dng ph nh. V d : p q, (r s), g, p r s, p p q, p r, p (r s), g, s B3 : Nu GTi c php th thay th php bng du "," Nu KLi c php th thay th php bng du "," V d : p q, r ( p s) q, s p, q, r, p s q, s B4 : Nu GTi c php th tch thnh hai dng con. Nu KLi c php th tch thnh hai dng con. V d : p, p q q p, p q p, q q

B5 : Mt dng c chng minh nu tn ti chung mt mnh c hai pha. V d : p, q q c chng minh p, p q p p, q B6 : a) Nu mt dng khng cn php ni hoc c hai v v 2 v khng c chung mt bin mnh th dng khng c chng minh.

60

TTNT

b) Mt vn c chng minh nu tt c dng dn xut t dng chun ban u u c chng minh. VII.2 Thut gii Robinson Thut gii ny hot ng da trn phng php chng minh phn chng. Phng php chng minh phn chng Chng minh php suy lun (a b) l ng (vi a l gi thit, b l kt lun). Phn chng : gi s b sai suy ra b l ng. Bi ton c chng minh nu a ng v b ng sinh ra mt mu thun. B1 : Pht biu li gi thit v kt lun ca vn di dng chun nh sau : GT1, GT2, ...,GTn KL1, KL2, .., KLm Trong : GTi v KLj c xy dng t cc bin mnh v cc php ton : , , B2 : Nu GTi c php th thay bng du "," Nu KLi c php th thay bng du "," B3 : Bin i dng chun B1 v thnh danh sch mnh nh sau : { GT1, GT2, ..., GTn , KL1, KL2, ..., KLm } B4 : Nu trong danh sch mnh bc 2 c 2 mnh i ngu nhau th bi ton c chng minh. Ngc li th chuyn sang B4. (a v a gi l hai mnh i ngu nhau) B5 : Xy dng mt mnh mi bng cch tuyn mt cp mnh trong danh sch mnh bc 2. Nu mnh mi c cc bin mnh i ngu nhau th cc bin c loi b.

V d : &#p q r s q
Hai mnh q, q l i ngu nn s c loi b prs B6 : Thay th hai mnh va tuyn trong danh sch mnh bng mnh mi.

61

TTNT

V d : { p q , r s q , w r, s q } { p r s , w r, s q } B7 : Nu khng xy dng c thm mt mnh mi no v trong danh sch mnh khng c 2 mnh no i ngu nhau th vn khng c chng minh. V d : Chng minh rng p q, q r, r s, u s p, u B3: { p q, q r, r s, u s, p, u } B4 : C tt c 6 mnh nhng cha c mnh no i ngu nhau. B5 : tuyn mt cp mnh (chn hai mnh c bin i ngu). Chn hai mnh u : pqqrpr Danh sch mnh thnh : { p r , r s, u s, p, u } Vn cha c mnh i ngu. Tuyn hai cp mnh u tin prrsps Danh sch mnh thnh { p s, u s, p, u } Vn cha c hai mnh i ngu Tuyn hai cp mnh u tin p s u s p u Danh sch mnh thnh : { p u, p, u } Vn cha c hai mnh i ngu Tuyn hai cp mnh :

62

TTNT

puup Danh sch mnh tr thnh : { p, p } C hai mnh i ngu nn biu thc ban u c chng minh.

VIII. BIU DIN TRI THC S DNG LUT DN XUT (LUT SINH)
VIII.1. Khi nim Phng php biu din tri thc bng lut sinh c pht minh bi Newell v Simon trong lc hai ng ang c gng xy dng mt h gii bi ton tng qut. y l mt kiu biu din tri thc c cu trc. tng c bn l tri thc c th c cu trc bng mt cp iu kin hnh ng : "NU iu kin xy ra TH hnh ng s c thi hnh". Chng hn : NU n giao thng l TH bn khng c i thng, NU my tnh m m khng khi ng c TH kim tra ngun in, Ngy nay, cc lut sinh tr nn ph bin v c p dng rng ri trong nhiu h thng tr tu nhn to khc nhau. Lut sinh c th l mt cng c m t gii quyt cc vn thc t thay cho cc kiu phn tch vn truyn thng. Trong trng hp ny, cc lut c dng nh l nhng ch dn (tuy c th khng hon chnh) nhng rt hu ch tr gip cho cc quyt nh trong qu trnh tm kim, t lm gim khng gian tm kim. Mt v d khc l lut sinh c th c dng bt chc hnh vi ca nhng chuyn gia. Theo cch ny, lut sinh khng ch n thun l mt kiu biu din tri thc trong my tnh m l mt kiu biu din cc hnh vi ca con ngi. Mt cch tng qut lut sinh c dng nh sau : P1 P2 ... Pn Q Ty vo cc vn ang quan tm m lut sinh c nhng ng ngha hay cu to khc nhau : Trong logic v t : P1, P2, ..., Pn, Q l nhng biu thc logic. Trong ngn ng lp trnh, mi mt lut sinh l mt cu lnh.
IF (P1 AND P2 AND .. AND Pn) THEN Q.

Trong l thuyt hiu ngn ng t nhin, mi lut sinh l mt php dch : ONE mt. TWO hai.

63

TTNT

JANUARY thng mt biu din mt tp lut sinh, ngi ta thng phi ch r hai thnh phn chnh sau : (1) Tp cc s kin F(Facts) F = { f1, f2, ... fn } (2) Tp cc quy tc R (Rules) p dng trn cc s kin dng nh sau : f1 ^ f2 ^ ... ^ fi q Trong , cc fi , q u thuc F V d : Cho 1 c s tri thc c xc nh nh sau : Cc s kin : A, B, C, D, E, F, G, H, K Tp cc quy tc hay lut sinh (rule) R1 : A E R2 : B D R3 : H A R4 : E G C R5 : E K B R6 : D E K C R7 : G K F A VIII.2. C ch suy lun trn cc lut sinh Suy din tin : l qu trnh suy lun xut pht t mt s s kin ban u, xc nh cc s kin c th c "sinh" ra t s kin ny.

S kin ban u : H, K
R3 : H A {A, H. K } R1 : A E { A, E, H, H }

64

TTNT

R5 : E K B { A, B, E, H, K } R2 : B D { A, B, D, E, H, K } R6 : D E K C { A, B, C, D, E, H, K } Suy din li : l qu trnh suy lun ngc xut pht t mt s s kin ban u, ta tm kim cc s kin "sinh" ra s kin ny. Mt v d thng gp trong thc t l xut pht t cc tnh trng ca my tnh, chn on xem my tnh b hng hc u. V d : Tp cc s kin :

cng l "hng" hay "hot ng bnh thng" Hng mn hnh. Lng cp mn hnh. Tnh trng n cng l "tt" hoc "sng" C m thanh c cng. Tnh trng n mn hnh "xanh" hoc "chp " Khng s dng c my tnh. in vo my tnh "c" hay "khng"

Tp cc lut :
R1. Nu ( ( cng "hng") hoc (cp mn hnh "lng")) th khng s dng c my tnh. R2. Nu (in vo my l "c") v ( (m thanh c cng l "khng") hoc tnh trng n cng l "tt")) th ( cng "hng"). R3. Nu (in vo my l "c") v (tnh trng n mn hnh l "chp ") th (cp mn hnh "lng"). xc nh c cc nguyn nhn gy ra s kin "khng s dng c my tnh", ta phi xy dng mt cu trc th gi l th AND/OR nh sau :

65

TTNT

Nh vy l xc nh c nguyn nhn gy ra hng hc l do cng hng hay cp mn hnh lng, h thng phi ln lt i vo cc nhnh kim tra cc iu kin nh in vo my "c", m thanh cng "khng"Ti mt bc, nu gi tr cn xc nh khng th c suy ra t bt k mt lut no, h thng s yu cu ngi dng trc tip nhp vo. Chng hn nh bit my tnh c in khng, h thng s hin ra mn hnh cu hi "Bn kim tra xem c in vo my tnh khng (kim tra n ngun)? (C/K)". thc hin c c ch suy lun li, ngi ta thng s dng ngn xp ( ghi nhn li nhng nhnh cha kim tra). VIII.3. Vn ti u lut Tp cc lut trong mt c s tri thc rt c kh nng tha, trng lp hoc mu thun. D nhin l h thng c th li cho ngi dng v vic a vo h thng nhng tri thc nh vy. Tuy vic ti u mt c s tri thc v mt tng qut l mt thao tc kh (v gia cc tri thc thng c quan h khng tng minh), nhng trong gii hn c s tri thc di dng lut, ta vn c mt s thut ton n gin loi b cc vn ny. VIII.3.1. Rt gn bn phi Lut sau hin nhin ng : A B A (1) Do lut ABAC L hon ton tng ng vi

66

TTNT

ABC Quy tc rt gn : C th loi b nhng s kin bn v phi nu nhng s kin xut hin bn v tri. Nu sau khi rt gn m v phi tr thnh rng th lut l lut hin nhin. Ta c th loi b cc lut hin nhin ra khi tri thc.

VIII.3.2. Rt gn bn tri Xt cc lut : (L1) A, B C (L2) A X (L3) X C R rng l lut A, B C c th c thay th bng lut A C m khng lm nh hng n cc kt lun trong mi trng hp. Ta ni rng s kin B trong lut (1) l d tha v c th c loi b khi lut dn trn.

VIII.3.3. Phn r v kt hp lut Lut A B C Tng ng vi hai lut AC BC Vi quy tc ny, ta c th loi b hon ton cc lut c php ni HOC. Cc lut c php ni ny thng lm cho thao tc x l tr nn phc tp. VIII.3.4. Lut tha Mt lut dn A B c gi l tha nu c th suy ra lut ny t nhng lut cn li. V d : trong tp cc lut gm {A B, B C, A C} th lut th 3 l lut tha v n c th c suy ra t 2 lut cn li. VIII.3.5. Thut ton ti u tp lut dn Thut ton ny s ti u ha tp lut cho bng cch loi i cc lut c php ni HOC, cc lut hin nhin hoc cc lut tha. Thut ton bao gm cc bc chnh
67

TTNT B1 : Rt gn v phi Vi mi lut r trong R Vi mi s kin A VPhi(r) Nu A VTri(r) th Loi A ra khi v phi ca R. Nu VPhi(r) rng th loi b r ra khi h lut dn : R = R {r} B2 : Phn r cc lut Vi mi lut r : X1 X2 Xn Y trong R Vi mi i t 1 n n R := R + { Xi Y } R := R {r} B3 : Loi b lut tha Vi mi lut r thuc R Nu VPhi(r) Baong(VTri(r), R-{r}) th R := R {r} B4 : Rt gn v tri Vi mi lut dn r : X : A1 A2, , An Y thuc R Vi mi s kin Ai thuc r Gi lut r1 : X Ai Y S = ( R {r} ) {r1} Nu Baong( X Ai , S) Baong(X, R) th loi s kin A ra khi X

VIII.4. u im v nhc im ca biu din tri thc bng lut u im Biu din tri thc bng lut c bit hu hiu trong nhng tnh hung h thng cn a ra nhng hnh ng da vo nhng s kin c th quan st c. N c nhng u im chnh yu sau y : Cc lut rt d hiu nn c th d dng dng trao i vi ngi dng (v n l mt trong nhng dng t nhin ca ngn ng). C th d dng xy dng c c ch suy lun v gii thch t cc lut.

68

TTNT

Vic hiu chnh v bo tr h thng l tng i d dng. C th ci tin d dng tch hp cc lut m. Cc lut thng t ph thuc vo nhau. Nhc im Cc tri thc phc tp i lc i hi qu nhiu (hng ngn) lut sinh. iu ny s lm ny sinh nhiu vn lin quan n tc ln qun tr h thng. Thng k cho thy, ngi xy dng h thng tr tu nhn to thch s dng lut sinh hn tt c phng php khc (d hiu, d ci t) nn h thng tm mi cch biu din tri thc bng lut sinh cho d c phng php khc thch hp hn! y l nhc im mang tnh ch quan ca con ngi. C s tri thc lut sinh ln s lm gii hn kh nng tm kim ca chng trnh iu khin. Nhiu h thng gp kh khn trong vic nh gi cc h da trn lut sinh cng nh gp kh khn khi suy lun trn lut sinh.

X. BIU DIN TRI THC S DNG MNG NG NGHA


X.1. Khi nim Mng ng ngha l mt phng php biu din tri thc u tin v cng l phng php d hiu nht i vi chng ta. Phng php ny s biu din tri thc di dng mt th, trong nh l cc i tng (khi nim) cn cc cung cho bit mi quan h gia cc i tng (khi nim) ny. Chng hn : gia cc khi nim chch che, chim, ht, cnh, t c mt s mi quan h nh sau : Chch che l mt loi chim. Chim bit ht Chim c cnh Chim sng trong t Cc mi quan h ny s c biu din trc quan bng mt th nh sau :

69

TTNT

Do mng ng ngha l mt loi th cho nn n tha hng c tt c nhng mt mnh ca cng c ny. Ngha l ta c th dng nhng thut ton ca th trn mng ng ngha nh thut ton tm lin thng, tm ng i ngn nht, thc hin cc c ch suy lun. im c bit ca mng ng ngha so vi th thng thng chnh l vic gn mt ngha (c, lm, l, bit, ...) cho cc cung. Trong th tiu chun, vic c mt cung ni gia hai nh ch cho bit c s lin h gia hai nh v tt c cc cung trong th u biu din cho cng mt loi lin h. Trong mng ng ngha, cung ni gia hai nh cn cho bit gia hai khi nim tng ng c s lin h nh th no. Vic gn ng ngha vo cc cung ca th gip gim bt c s lng th cn phi dng biu din cc mi lin h gia cc khi nim. Chng hn nh trong v d trn, nu s dng th thng thng, ta phi dng n 4 loi th cho 4 mi lin h : mt th biu din mi lin h "l", mt th cho mi lin h "lm", mt cho "bit" v mt cho "c". Mt im kh th v ca mng ng ngha l tnh k tha. Bi v ngay t trong khi nim, mng ng ngha hm s phn cp (nh cc mi lin h "l") nn c nhiu nh trong mng mc nhin s c nhng thuc tnh ca nhng nh khc. Chng hn theo mng ng ngha trn, ta c th d dng tr li "c" cho cu hi : "Chch che c lm t khng?". Ta c th khng nh c iu ny v nh "chch che" c lin kt "l" vi nh "chim" v nh "chim" li lin kt "bit" vi nh "lm t" nn suy ra nh "chch che" cng c lin kt loi "bit" vi nh "lm t". (Nu , bn s nhn ra c kiu "suy lun" m ta va thc hin bt ngun t thut ton "loang" hay "tm lin thng" trn th!). Chnh c tnh k tha ca mng ng ngha cho php ta c th thc hin c rt nhiu php suy din t nhng thng tin sn c trn mng. Tuy mng ng ngha l mt kiu biu din trc quan i vi con ngi nhng khi a vo my tnh, cc i tng v mi lin h gia chng thng c biu din di dng nhng pht biu ng t (nh v t). Hn na, cc thao tc tm kim trn mng ng ngha thng kh khn (c bit i vi nhng mng c kch thc ln). Do , m hnh mng ng ngha c dng ch yu phn tch vn . Sau , n s c chuyn i sang dng lut hoc frame thi hnh hoc mng ng ngha s c dng kt hp vi mt s phng php biu din khc.

70

TTNT

X.2. u im v nhc im ca mng ng ngha u im Mng ng ngha rt linh ng, ta c th d dng thm vo mng cc nh hoc cung mi b sung cc tri thc cn thit. Mng ng ngha c tnh trc quan cao nn rt d hiu. Mng ng ngha cho php cc nh c th tha k cc tnh cht t cc nh khc thng qua cc cung loi "l", t , c th to ra cc lin kt "ngm" gia nhng nh khng c lin kt trc tip vi nhau. Mng ng ngha hot ng kh t nhin theo cch thc con ngi ghi nhn thng tin.

Nhc im Cho n nay, vn cha c mt chun no quy nh cc gii hn cho cc nh v cung ca mng. Ngha l bn c th gn ghp bt k khi nim no cho nh hoc cung! Tnh tha k (vn l mt u im) trn mng s c th dn n nguy c mu thun trong tri thc. Chng hn, nu b sung thm nt "G" vo mng nh hnh sau th ta c th kt lun rng "G" bit "bay"!. S d c iu ny l v c s khng r rng trong ng ngha gn cho mt nt ca mng. Bn c c th phn i quan im v cho rng, vic sinh ra mu thun l do ta thit k mng d ch khng phi do khuyt im ca mng!. Tuy nhin, xin lu rng, tnh tha k sinh ra rt nhiu mi lin "ngm" nn kh nng ny sinh ra mt mi lin h khng hp l l rt ln! Hu nh khng th bin din cc tri thc dng th tc bng mng ng ngha v cc khi nim v thi gian v trnh t khng c th hin tng minh trn mng ng ngha. X.3. Mt v d tiu biu D l mt phng php tng i c v c nhng yu im nhng mng ng nghavn c nhng ng dng v cng c o. Hai loi ng dng tiu biu ca mng ng ngha l ng dng x l ngn ng t nhin v ng dng gii bi ton t ng. V d 1 : Trong ng dng x l ngn ng t nhin, mng ng ngha c th gip my tnh phn tch c cu trc ca cu t c th phn no "hiu" c ngha ca cu. Chng hn, cu "Chu ang c mt cun sch dy v ci khoi tr" c th c biu din bng mt mng ng ngha nh sau :

71

TTNT

V d 2 : Gii bi ton tam gic tng qut Chng ta s khng i su vo v d 1 v y l mt vn qu phc tp c th trnh by trong cun sch ny. Trong v d ny, chng ta s kho st mt vn n gin hn nhng cng khng km phn c o. Khi mi hc lp trnh, bn thng c gio vin cho nhng bi tp nhp mn i loi nh "Cho 3 cnh ca tam gic, tnh chiu di cc ng cao", "Cho gc a, b v cnh AC. Tnh chiu di trung tuyn", ... Vi mi bi tp ny, vic bn cn lm l ly giy bt ra tm cch tnh, sau khi xc nh cc bc tnh ton, bn chuyn n thnh chng trnh. Nu c 10 bi, bn phi lm li vic tnh ton ri lp trnh 10 ln. Nu c 100 bi, bn phi lm 100 ln. V tin bun cho bn l s lng bi ton thuc loi ny l rt nhiu! Bi v mt tam gic c tt c 22 yu t khc nhau!. Khng l mi ln gp mt bi ton mi, bn u phi lp trnh li? Liu c mt chng trnh tng qut c th t ng gii c tt c (vi ngn!) nhng bi ton tam gic thuc loi ny khng? Cu tr li l C ! V ngc nhin hn na, chng trnh ny li kh n gin. Bi ton ny s c gii bng mng ng ngha. C 22 yu t lin quan n cnh v gc ca tam gic. xc nh mt tam gic hay xy dng mt 1 tam gic ta cn c 3 yu t trong phi c yu t cnh. Nh vy c khong C322 -1 (khong vi ngn) cch xy dng hay xc nh mt tam gic. Theo thng k, c khong 200 cng thc lin quan n cnh v gc 1 tam gic. gii bi ton ny bng cng c mng ng ngha, ta phi s dng khong 200 nh cha cng thc v khong 22 nh cha cc yu t ca tam gic. Mng ng ngha cho bi ton ny c cu trc nh sau : nh ca th bao gm hai loi : nh cha cng thc (k hiu bng hnh ch nht) nh cha yu t ca tam gic (k hiu bng hnh trn) Cung : ch ni t nh hnh trn n nh hnh ch nht cho bit yu t tam gic xut hin trong cng thc no (khng c trng hp cung ni gia hai nh hnh trn hoc cung ni gia hai nh hnh ch nht).

72

TTNT * Lu : trong mt cng thc lin h gia n yu t ca tam gic, ta gi nh rng nu bit gi tr ca n-1 yu t th s tnh c gi tr ca yu t cn li. Chng hn nh trong cng thc tng 3 gc ca tam gic bng 1800 th khi bit c hai gc, ta s tnh c gc cn li.

C ch suy din thc hin theo thut ton "loang" n gin sau : B1 : Kch hot nhng nh hnh trn cho ban u (nhng yu t c gi tr) B2 : Lp li bc sau cho n khi kch hot c tt c nhng nh ng vi nhng yu t cn tnh hoc khng th kch hot c bt k nh no na. Nu mt nh hnh ch nht c cung ni vi n nh hnh trn m n-1 nh hnh trn c kch hot th kch hot nh hnh trn cn li (v tnh gi tr nh cn li ny thng qua cng thc nh hnh ch nht). Gi s ta c mng ng ngha gii bi ton tam gic nh hnh sau

V d : "Cho hai gc , v chiu di cnh a ca tam gic. Tnh chiu di ng cao hC". Vi mng ng ngha cho trong hnh trn. Cc bc thi hnh ca thut ton nh sau :

73

TTNT

Bt u : nh , , a ca th c kch hot. Cng thc (1) c kch hot (v , , a c kch hot). T cng thc (1) tnh c cnh b. nh b c kch hot. Cng thc (4) c kch hot (v , ). T cng thc (4) tnh c gc Cng thc (2) c kch hot (v 3 nh , , b c kch hot). T cng thc (2) tnh c cnh c. nh c c kch hot. Cng thc (3) c kch hot (v 3 nh a, b, c c kch hot) . T cng thc (3) tnh c din tch S. nh S c kch hot. Cng thc (5) c kch hot (v 2 nh S, c c kch hot). T cng thc (5) tnh c hC. nh hC c kch hot. Gi tr hC c tnh. Thut ton kt thc. V mt chng trnh, ta c th ci t mng ng ngha gii bi ton tam gic bng mt mng hai chiu A trong : Ct : ng vi cng thc. Mi ct ng vi mt cng thc tam gic khc nhau (nh hnh ch nht). Dng : ng vi yu t tam gic. Mi dng ng vi mt yu t tam gic khc nhau (nh hnh trn). Phn t A[i, j] = -1 ngha l trong cng thc ng vi ct j c yu t tam gic ng vi ct i. Ngc li A[i,j] = 0. thc hin thao tc "kch hot" mt nh hnh trn, ta t gi tr ca ton dng ng vi yu t tam gic bng 1. kim tra xem mt cng thc c n-1 yu t hay cha (ngha l kim tra iu kin "nh hnh ch nht c cung ni vi n nh hnh trn m n-1 nh hnh trn c kch hot"), ta ch vic ly hiu gia tng s c gi tr bng 1 v tng s c gi tr -1 trn ct ng vi cng thc cn kim tra. Nu kt qu bng n, th cng thc c n-1 yu t. Tr li mng ng ngha cho. Qu trnh thi hnh kch hot c din ra nh sau : Mng biu din mng ng ngha ban u

(1)

(2)

(3)

(4)

(5)

74

TTNT

a b c S hC

-1 -1 0 -1 -1 0 0 0

0 -1 -1 0 -1 -1 0 0

0 0 0 -1 -1 -1 -1 0

-1 -1 -1 0 0 0 0 0

0 0 0 0 0 -1 -1 -1

Khi u : nh , , a ca th c kch hot.

(1) a b c S hC 1 1 0 1 -1 0 0 0

(2) 0 1 -1 0 -1 -1 0 0

(3) 0 0 0 1 -1 -1 -1 0

(4) 1 1 -1 1 0 0 0 0

(5) 0 0 0 0 0 -1 -1 -1

Trn ct (1), hiu (1+1+1 (-1)) = 4 nn dng b s c kch hot.

(1) 1 1

(2) 0 1

(3) 0 0

(4) 1 1

(5) 0 0

75

TTNT

a b c S hC

0 1 1 0 0 0

-1 0 1 -1 0 0

0 1 1 -1 -1 0

-1 1 0 0 0 0

0 0 0 -1 -1 -1

Trn ct (4), hiu (1+1+1 (-1)) = 4 nn dng s c kch hot.

(1) a b c S hC 1 1 0 1 1 0 0 0

(2) 0 1 1 0 1 -1 0 0

(3) 0 0 0 1 1 -1 -1 0

(4) 1 1 1 1 0 0 0 0

(5) 0 0 0 0 0 -1 -1 -1

Trn ct (2), hiu (1+1+1 (1)) = 4 nn dng c c kch hot.

(1) A 1 1 0 1

(2) 0 1 1 0

(3) 0 0 0 1

(4) 1 1 1 1

(5) 0 0 0 0

76

TTNT

B C S hC

1 0 0 0

1 1 0 0

1 1 -1 0

0 0 0 0

0 1 -1 -1

Trn ct (3), hiu (1+1+1 (-1)) = 4 nn dng S c kch hot.

(1) a b c S hC 1 1 0 1 1 0 0 0

(2) 0 1 1 0 1 1 0 0

(3) 0 0 0 1 1 1 1 0

(4) 1 1 1 1 0 0 0 0

(5) 0 0 0 0 0 1 1 -1

Trn ct (5), hiu (1+1 (1)) = 3 nn dng hC c kch hot. Kh nng ca h thng ny khng ch dng li vic tnh ra gi tr cc yu t cn thit, vi mt cht sa i, chng trnh ny cn c th a ra cch gii hnh thc ca bi ton v thm ch cn c th chn c cch gii hnh thc ti u (ti u hiu theo ngha l cch gii s dng nhng cng thc n gin nht). S d c th ni nh vy v cch suy lun ca ta trong bi ton ny l tm kim theo chiu rng. Do , khi t n kt qu, ta c th c rt nhiu cch khc nhau. c th chn c gii php ti u, bn cn phi nh ngha c "phc tp" ca mt cng thc. Mt trong nhng tiu chun thng c dng l s lng php nhn, chia, cng, tr, rt cn, tnh sin, cos, ... c p dng trong cng thc. Cc php tnh sin, cos v rt cn c phc tp cao nht, k n l nhn chia v cui cng l cng tr. Cui cng bn c th ci tin li phng php suy lun bng cch vn dng thut ton A vi c lng h=0 c th chn ra c "ng i" ti u. Ta chn c lng h=0 v hai l do sau (1) khng gian bi ton nh nn ta khng cn phi gii hn rng tm kim (2) xy dng mt c lng nh vy l tng i kh khn, c bit l lm sao h thng khng nh gi qu cao h.

77

TTNT

XI. BIU DIN TRI THC BNG FRAME


XI.1. Khi nim Frame l mt cu trc d liu cha ng tt c nhng tri thc lin quan n mt i tng c th no . Frames c lin h cht ch n khi nim hng i tng (thc ra frame l ngun gc ca lp trnh hng i tng). Ngc li vi cc phng php biu din tri thc c cp n, frame "ng gi" ton b mt i tng, tnh hung hoc c mt vn phc tp thnh mt thc th duy nht c cu trc. Mt frame bao hm trong n mt khi lng tng i ln tri thc v mt i tng, s kin, v tr, tnh hung hoc nhng yu t khc. Do , frame c th gip ta m t kh chi tit mt i tng.
Di mt kha cnh no , ngi ta c th xem phng php biu din tri thc bng frame chnh l ngun gc ca ngn ng lp trnh hng i tng. tng ca phng php ny l "thay v bt ngi dng s dng cc cng c ph nh dao m hp,

ngy nay cc hng sn xut hp thng gn km cc np m hp ngay bn trn v lon. Nh vy, ngi dng s khng bao gi phi lo lng n vic tm mt thit b m hp na!". Cng vy, tng chnh ca frame (hay ca phng php lp trnh
hng i tng) l khi biu din mt tri thc, ta s "gn km" nhng thao tc thng gp trn tri thc ny. Chng hn nh khi m t khi nim v hnh ch nht, ta s gn km cch tnh chu vi, din tch.

Frame thng c dng biu din nhng tri thc "chun" hoc nhng tri thc c xy dng da trn nhng kinh nghim hoc cc c im c hiu bit cn k. B no ca con ngi chng ta vn lun "lu tr" rt nhiu cc tri thc chung m khi cn, chng ta c th "ly ra" vn dng n trong nhng vn cn phi gii quyt. Frame l mt cng c thch hp biu din nhng kiu tri thc ny. XI.2. Cu trc ca frame Mi mt frame m t mt i tng (object). Mt frame bao gm 2 thnh phn c bn l slot v facet. Mt slot l mt thuc tnh c t i tng c biu din bi frame. V d : trong frame m t xe hi, c hai slot l trng lng v loi my. Mi slot c th cha mt hoc nhiu facet. Cc facet (i lc c gi l slot "con") c t mt s thng tin hoc th tc lin quan n thuc tnh c m t bi slot. Facet c nhiu loi khc nhau, sau y l mt s facet thng gp. Value (gi tr) : cho bit gi tr ca thuc tnh (nh xanh, , tm vng nu slot l mu xe). Default (gi tr mc nh) : h thng s t ng s dng gi tr trong facet ny nu slot l rng (ngha l chng c c t no!). Chng hn trong frame v xe, xt slot v s lng bnh. Slot ny s c gi tr 4. Ngha l, mc nh mt chic xe hi s c 4 bnh!

78

TTNT

Range (min gi tr) : (tng t nh kiu bin), cho bit gi tr slot c th nhn nhng loi gi tr g (nh s nguyn, s thc, ch ci, ...) If added : m t mt hnh ng s c thi hnh khi mt gi tr trong slot c thm vo (hoc c hiu chnh). Th tc thng c vit di dng mt script. If needed : c s dng khi slot khng c gi tr no. Facet m t mt hm tnh ra gi tr ca slot. Frame : XE HI Thuc lp : phng tin vn chuyn. Tn nh sn xut : Audi Quc gia ca nh sn xut : c
Model : 5000 Turbo

Loi xe : Sedan Trng lng : 3300lb S lng ca : 4 (default) Hp s : 3 s t ng S lng bnh : 4 (default) My (tham chiu n frame My) Kiu : In-line, overhead cam S xy-lanh : 5 Kh nng tng tc 0-60 : 10.4 giy dm : 17.1 giy, 85 mph. XI.3. Tnh k tha Trong thc t, mt h thng tr tu nhn to thng s dng nhiu frame c lin kt vi nhau theo mt cch no . Mt trong nhng im th v ca frame l tnh phn cp. c tnh ny cho php k tha cc tnh cht gia cc frame. Frame MY Xy-lanh : 3.19 inch T l nn : 3.4 inche Xng : TurboCharger M lc : 140 hp

79

TTNT

Hnh sau y cho thy cu trc phn cp ca cc loi hnh hnh hc c bn. Gc ca cy trn cng tng ng vi mc tru tng cao nht. Cc frame nm di cng (khng c frame con no) gi l l. Nhng frame nm mc thp hn c th tha k tt c nhng tnh cht ca nhng frame cao hn. Cc frame cha s cung cp nhng m t tng qut v thc th. Frame c cp cng cao th mc tng qut cng cao. Thng thng, frame cha s bao gm cc nh ngha ca cc thuc tnh. Cn cc frame con s cha ng gi tr thc s ca cc thuc tnh ny.

Mt v d biu din cc i tng hnh hc bng frame Cc kiu d liu c bn : Area : numeric; // din tch Height : numeric; //chiu cao Perimeter : numberic; //chu vi Side : numeric; //cnh Diagonal : numeric; //ng cho Radius : numeric; //bn knh

80

TTNT

Angle : numeric; //gc Diameter : numeric; //ng knh pi : (val:numeric = 3.14159) Frame : CIRCLE (hnh trn) r : radius; s : area; p : perimeter; d : diameter; d = 2 r; s = pi r2; p = 2 pi r; Frame RECTANGLE (hnh ch nht) b1 : side; b2 : side; s : area; p : perimeter; s = b1 b2; p = 2 (b1+b2); d2 = b12 + b22; Frame SQUARE (hnh vung) L : RECTANGLE b1 = b2; Frame RHOMBUS (hnh thoi)

81

TTNT

b : side; d1 : diagonal; d2 : diagonal; s : area; p : perimeter; alpha1 : angle; alpha2 : angle; h : height; cos (alpha2/2) d1 = h; s = d1 d2 / 2; p = 4 b; s = b h; cos (alpha2/2)/(2 b) = d2; Chng ta c th d dng khai bo cc i tng hnh hc khc theo cch ny. Sau khi biu din cc tri thc v cc hnh hnh hc c bn xong, ta c th vn dng n gii cc bi ton hnh hc, chng hn bi ton tnh din tch. V d, cho hnh vung k v vng trn ni tip c, bit cnh hnh vung c chiu di l x, hy vit chng trnh tnh din tch phn t en.

D thy rng, din tch phn t en chnh l hiu gia din tch hnh vung v din tch hnh trn ni tip. D nhin l bn cng c th vit mt chng trnh bnh thng tnh ton, nhng khi "tch hp" cc tri thc v tnh din tch bn trong biu din, chng trnh ca chng ta tr nn rt gn nh. Bn hy lu 3 lnh c in m trong v d di. Lnh u tin s "c t" li gi thit "hnh vung c cnh vi chiu di x", lnh k

82

TTNT

tip c t gi thit "hnh trn ni tip", cn lnh th 3 m t vic tnh din tch bng cch ly din tch hnh vung tr cho din tch hnh trn. VAR x, s : numeric; k : square; c : circle; BEGIN <Nhp x>; k.b1 := x; c.d := x; s := k.s c.s; END. Nh vy, chng trnh my tnh ca chng ta hot ng kh ging nh vic "m t" cc gii bi ton bng ngn ng t nhin. Hy ngh xa hn mt t. Cc bi ton hnh hc thng c m t bng cc ngn t kh chnh xc (chng hn nh : cho mt tam gic vi chiu cao xut pht t nh A l 5, chiu di cnh y l 6, ....). Do , v mt nguyn tc, chng ta vn c th xy dng mt chng trnh "hiu" nhng bi ny (theo nh cch m chng ta va lm). Sau , ngi dng c th hon ton nh my tnh gii gip bi ton cho mnh bng cch m t li gii cho my tnh (ch khng cn phi lp trnh). Bn c cm gic iu ny tht th v khng? y chnh l bc i u tin trong vic to ra mt chng trnh tr gip cho vic gii cc bi ton hnh hc trn my tnh vi giao tip bng ngn ng t nhin! tng thm sc mnh cho h thng ny, ngi ta thng ci t mt mng ng ngha ngay bn trong mi frame. Chng hn, ta c th c mt frame TRIANGLE, trong ci t mt mng ng ngha (ging nh v d trong phn mng ng ngha) c t mi lin h gia cc yu t tam gic (thay v s dng cc cng thc lin h n gin nh v d trn).

XII. BIU DIN TRI THC BNG SCRIPT


Script l mt cch biu din tri thc tng t nh frame nhng thay v c t mt i tng, n m t mt chui cc s kin. m t chui s kin, script s dng mt dy cc slot cha thng tin v cc con ngi, i tng v hnh ng lin quan n s kin . Tuy cu trc ca cc script l rt khc nhau ty theo bi ton, nhng nhn chung mt script thng bao gm cc thnh phn sau : iu kin vo (entry condition): m t nhng tnh hung hoc iu kin cn c tha mn trc khi cc s kin trong script c th din ra.

83

TTNT

Role (din vin): l nhng con ngi c lin quan trong script. Prop (tc t): l tt c nhng i tng c s dng trong cc chui s kin s din ra. Scene(Tnh hung) : l chui s kin thc s din ra. Result (Kt qu) : trng thi ca cc Role sau khi script thi hnh xong. Track (phin bn) : m t mt bin th (hoc trng hp c bit) c th xy ra trong on script. Sau y l mt v d tiu biu cho script. V d ny l mt bin th ca v d ni ting v nh hng bn thc n nhanh (cc nh hng bn g rn m ta thng gp trong cc siu th!) thng c s dng minh ha cch biu din tri thc bng script trong cch sch ni v tr tu nhn to. i n trong mt nh hng l mt tnh hung thng gp trong cuc sng vi nhng iu kin vo, din vin, tc t, hon cnh, kt qu kh "chun". V qua script v d, bn s thy phng php ny c th c dng m t chnh xc nhng tnh hung din ra hng ngy ca nhng nh hng bn thc n nhanh. Cc tnh hung l nhng on script con trong on script chnh m t nhng tnh hung nh trong ton b qu trnh. Lu rng trong on script ny c tnh hung ty chn trong m t vic khch hng mua thc n v thay v vo nh hng n. Script "nh hng" Phin bn : Nh hng bn thc n nhanh. Din vin : Khch hng Ngi phc v. Tc t : Ch ngi. Khay ng thc n Thc n Tin Cc loi gia v nh mui, tng, t, tiu, ... iu kin vo : Khch hng i Bn phc v.

84

TTNT

Khch hng c tin tr. Tnh hung 1 : Vo nh hng Khch hng u xe vo bi u xe. Khch hng bc vo nh hng. Khch hng xp hng trc bn phc v. Khch hng c thc n trn tng v quyt nh s ku mn n g. Tnh hung 2: Ku mn n. Khch hng ku mn n vi ngi phc v (ang ng quy phc v) Ngi phc v t thc n ln khay v a ha n tnh tin cho khch. Khch hng tr tin cho ngi phc v. Tnh hung 3: Khch hng dng mn n Khch hng ly thm cc gia v Khch hng cm khay n mt bn cn trng. Khch hng n thc n. Tnh hung 3A (ty chn) : Khch hng mua thc n em v Khch hng mang thc n v nh. Tnh hung 4 : Ra v Khch hng thu dn bn Khch hng b rc (thc n tha, xng, mng vn, ...) vo thng rc. Khch hng ra khi nh hng. Khch hng li xe i. Kt qu : Khch hng khng cn i.

85

TTNT

Khch hng cn t tin hn ban u. Khch hng vui v * Khch hng bc mnh * Khch hng qu no.
* Ty chn.

Script rt hu dng trong vic d on iu g s xy n trong nhng tnh hung xc nh. Thm ch trong nhng tnh hung cha din ra, script cn cho php my tnh d on c vic g s xy ra v xy ra i vi ai v vo thi im no. Nu my tnh kch hot mt script, ngi dng c th t cu hi v h thng c th suy ra c nhng cu tr li chnh xc m khng cn ngi dng cung cp thm nhiu thng tin (trong mt s trng hp c th khng cn thm thng tin). Do , cng ging nh frame, script l mt dng biu din tri thc tng i hu dng v n cho php ta m t chnh xc nhng tnh hung "chun" m con ngi vn thc hin mi ngy hoc nm bt chnh xc. ci t script trong my tnh, bn phi tm cch lu tr cc tri thc di dng hnh thc. LISP l ngn ng lp trnh ph hp nht lm iu ny. Sau khi ci t xong script, bn (ngi dng) c th t cu hi v nhng con ngi hoc iu kin c lin quan trong script. H thng sau s tin hnh thao tc tm kim hoc thao tc so mu tm cu tr li. Chng hn bn c th t cu hi "Khch hng lm g trc tin?". H thng s tm thy cu tr li trong scene 1 v a ra p n "u xe v bc vo nh hng".

XIII. PHI HP NHIU CCH BIU DIN TRI THC


Mc tiu chnh biu din tri thc trong my tnh l phc v cho vic thu nhn tri thc vo my tnh, truy xut tri thc v thc hin cc php suy lun da trn nhng tri thc lu tr. Do , tha mn c 3 mc tiu trn, khi chn phng php biu din tri thc, chng ta phi cn nhc mt s yu t c bn sau y : Tnh t nhin, ng b v d hiu ca biu din tri thc. Mc tru tng ca tri thc : tri thc c khai bo c th hay nhng vo h thng di dng cc m th tc? Tnh n th v linh ng ca c s tri thc (c cho php d dng b sung tri thc, mc ph thuc gia cc tri thc, ...) Tnh hiu qu trong vic truy xut tri thc v sc mnh ca cc php suy lun (theo kiu heuristic) .

86

TTNT

Bng sau cho chng ta mt s u v khuyt im ca cc phng php biu din tri thc c trnh by.
P.Php Lut sinh u im C php n gin, d hiu, din dch n gin, tnh n th cao, linh ng (d iu chnh). Nhc im Rt kh theo di s phn cp, khng hiu qu trong nhng h thng ln, khng th biu din c mi loi tri thc, rt yu trong vic biu din cc tri thc dng m t, c cu trc. Ng ngha gn lin vi mi nh c th nhp nhng, kh x l cc ngoi l, kh lp trnh. Kh lp trnh, kh suy din, thiu phn mm h tr.

Mng ng ngha

D theo di s phn cp, s d theo cc mi lin h, linh ng C sc mnh din t tt, d ci t cc thuc tnh cho cc slot cng nh cc mi lin h, d dng to ra cc th tc chuyn bit ha, d a vo cc thng tin mc nh v d thc hin cc thao tc pht hin cc gi tr b thiu st. C ch suy lun chnh xc (c chng minh bi ton hc).

Frame

Logic hnh thc

Tch ri vic biu din v x l, khng hiu qu vi lng d liu ln, qu chm khi c s d liu ln.

Tuy vy, nh chng ta bit, hin nay vn cha c mt kiu biu din tri thc no ph hp vi mi tnh hung. Do , khi phi lm vic vi nhiu ngun tri thc khc nhau (khc loi, khc tnh cht), chng ta nhiu lc phi hy sinh tnh ng b bng cch s dng cng lc nhiu kiu biu din tri thc, mi kiu biu din ng vi mt nhim v con. Nhng nh vy, chng ta li ny sinh ra vn "dch" mt tri thc t kiu biu din ny sang kiu biu din khc. Tuy th nhng mt s h chng trnh tr tu gn y vn dng cng lc nhiu kiu biu din d liu khc nhau.
Mt trong nhng v d kt hp nhiu kiu biu din tri thc m chng ta tng lm quen l kiu kt hp gia frame v mng ng ngha trong vic tr gip gii bi ton hnh hc.

Mt trong nhng s phi hp tng i thnh cng l s kt hp gia lut sinh v frame. Lut sinh khng hiu qu trong nhiu ng dng, c bit l trong cc tc v nh ngha, m t cc i tng hoc nhng mi lin kt tnh gia cc i tng. Nhng nhng yu im ny li chnh l u im ca frame. Ngy nay, c rt nhiu h thng to ra mt kiu biu din lai gia lut sinh v frame c c u im ca hai cch biu din. S thnh cng ca cc h thng ni ting nh KEE, Level5 Object v Nexpert Object minh chng cho iu ny. Frame cung cp mt ngn ng cu trc hiu qu c t nhng i tng xut hin trong cc lut. Frame cn ng vai tr nh mt lp h tr cho thao tc suy din c bn trn nhng i tng khng cn phi tng tc mt cch tng minh trong cc lut. Kh nng phn lp ca frame cn c th c dng phn
87

TTNT

hoch, to ch mc v sp xp cc lut sinh trong h thng. Kh nng ny rt thch hp cho ngi dng trong vic xy dng v hiu cc lut, cng nh cng c th theo di c cc lut c s dng khi no v cho mc g. Hnh sau cho thy mt kiu kt hp gia lut sinh v frame. S kt hp ny cho php to ra cc lut so mu nhm tng tc tm kim ca h thng. Kt qu ca s kt hp ny cho php to ra cc biu din phc tp hn rt nhiu so vi vic ch dng frame, thm ch phc tp hn c vic lp trnh trc tip bng ngn ng C++ !!.

kin c th c mu thun hoc khng chc chn.

* Suy lun khng chc chn (Hypothetical reasoning) : l k thut suy lun da trn cc iu

V d kt hp biu din tri thc bng lut sinh v frame trong bi ton iu ch cht ha hc Vn : Cho trc mt s cht ha hc. Hy xy dng chui cc phn ng ha hc iu ch mt s cht ha hc khc. u tin, y l mt ng dng ht sc t nhin ca tri thc biu din di dng lut. L do l v bn thn cc phn ng ha hc tiu chun u c th hin di dng lut. Chng hn ta c cc phng trnh phn ng sau : Na + Cl2 NaCl Fe + Cl2 FeCl2

88

TTNT

Cu + Cl2 CuCl2 Cl2 + H2O HCl + HClO MnO2 + 4HCl MnCl2 + Cl2 + H2O HCl + KMnO4 KCl + MnCl2 + H2O + Cl2 NaCl + H2O Cl2 + H2 + NaOH ... Nh vy, nu xem mt cht ha hc l mt s kin v mt phng trnh phn ng nh l mt lut dn th bi ton iu ch cht ha hc, mt cch rt t nhin, tr thnh bi ton suy lun tin trong c s tri thc dng lut dn. Tuy nhin, s lng cc phn ng l rt ln, nn ta khng th s dng cc lut da trn cc phn ng c th nh vy m phi s dng cc phn ng tng qut hn nh : Axit + Baz Mui + Nc Kim + Nc Xt + H2 (trong ha hc cng c nhiu phn ng rt c bit khng th tng qut c, trong trng hp ny, ta s xem phn ng nh l mt lut ring!). m t c cc phn ng tng qut nh trn, ta s s dng cc frame. Chng hn c t Acid Sulfuric H2SO4 ta s dng cc frame tng qut sau.

89

TTNT

D nhin l trong cc frame trn cn rt nhiu thuc tnh ha hc khc. y chng ti ch trnh by s lc v mt tng bn c c c s bt u. tng ny c mt s sinh vin nm 4 ca khoa Cng Ngh Thng Tin i Hc Khoa Hc T Nhin TP. H Ch Minh ci t thnh cng. Chng trnh chy tt trong phm vi cc phn ng trong sch gio khoa lp 10, 11 v 12.

90

TTNT

Chng 3 M U V QUAN MY HC

I. TH NO L MY HC ? II. HC BNG CCH XY DNG CY NH DANH


II.1. m chi II.2. Phng n chn thuc tnh phn hoch II.2.1. Quinlan II.2.2. o hn lon II.3. Pht sinh tp lut II.4. Ti u tp lut II.4.1. Loi b mnh tha II.4.2. Xy dng mnh mc nh

I. TH NO L MY HC ?
Thut ng "hc" theo ngha thng thng l tip thu tri thc bit cch vn dng. ngoi i, qu tr hc din ra di nhiu hnh thc khc nhau nh hc thuc lng (hc vt), hc theo kinh nghim (hc da theo trng hp), hc theo kiu nghe nhn,... Trn my tnh cng c nhiu thut ton hc khc nhau. Tuy nhin, trong phm vi ca gio trnh ny, chng ta ch kho st phng php hc da theo trng hp. Theo phng php ny, h thng s c cung cp mt s cc trng hp "mu", da trn tp mu ny, h thng s tin hnh phn tch v rt ra cc quy lut (biu din bng lut sinh). Sau , h thng s da trn cc lut ny "nh gi" cc trng hp khc (thng khng ging nh cc trng hp "mu"). Ngay c ch vi kiu hc ny, chng ta cng c nhiu thut ton hc khc nhau. Mt ln na, vi mc ch gii thiu, chng ta ch kho st mt trng hp n gin. C th khi qut qu trnh hc theo trng hp di dng hnh thc nh sau : D liu cung cp cho h thng l mt nh x f trong ng mt trng hp p trong tp hp P vi mt "lp" r trong tp R. f : P | R

91

TTNT

pr Tuy nhin, tp P thng nh (v hu hn) so vi tp tt c cc trng hp cn quan tm P (P P). Mc tiu ca chng ta l xy dng nh x f sao cho c th ng mi trng hp p trong tp P vi mt "lp" r trong tp R. Hn na, f phi bo ton f, ngha l : Vi mi p P th f(p) f (p)

Hnh 3.1 : Hc theo trng hp l tm cch xy dng nh x f da theo nh x f. f c gi l tp mu.

Phng php hc theo trng hp l mt phng php ph bin trong c nghin cu khoa hc v m tn d oan. C hai u da trn cc d liu quan st, thng k t rt ra cc quy lut. Tuy nhin, khc vi khoa hc, m tn d oan thng da trn tp mu khng c trng, cc b, thiu c s khoa hc.

II. HC BNG CCH XY DNG CY NH DANH


Pht biu hnh thc c th kh hnh dung. c th hn, ta hy cng nhau quan st mt v d c. Nhim v ca chng ta trong v d ny l xy dng cc quy lut c th kt lun mt ngi nh th no khi i tm bin th b chy nng. Ta gi tnh cht chy nng hay khng chy nng l thuc tnh quan tm (thuc tnh mc tiu). Nh vy, trong trng hp ny, tp R ca chng ta ch gm c hai phn t {"chy nng", "bnh thng"}. Cn tp P l tt c nhng ngi c lit k trong bng di (8 ngi) Chng ta quan st hin tng chy nng da trn 4 thuc tnh sau : chiu cao (cao, trung bnh, thp), mu tc (vng, nu, ) cn nng (nh, TB, nng), dng kem (c, khng),. Ta gi cc thuc tnh ny gi l thuc tnh dn xut.
D nhin l trong thc t c th a ra c mt kt lun nh vy, chng ta cn nhiu d liu hn v ng thi cng cn nhiu thuc tnh dn xut trn. V d n gin ny ch nhm minh ha tng ca thut ton my hc m chng ta sp trnh by.

92

TTNT

Tn Sarah Dana Alex Annie Emilie Peter John Kartie

Tc Vng Vng Nu Vng Nu Nu Vng

Ch.Cao T.Bnh Cao Thp Thp T.Bnh Cao T.Bnh Thp

Cn Nng Nh T.Bnh T.Bnh T.Bnh Nng Nng Nng Nh

Dng kem? Khng C C Khng Khng Khng Khng C

Kt qu Chy Khng Khng Chy Chy Khng Khng Khng

tng u tin ca phng php ny l tm cch phn hoch tp P ban u thnh cc tp Pi sao cho tt c cc phn t trong tt c cc tp Pi u c chung thuc tnh mc tiu. P = P1 P2 ... Pn v (i,j) i j : th (Pi Pj = ) v i, k,l : pk Pi v pl Pj th f(pk) = f(pl) Sau khi phn hoch xong tp P thnh tp cc phn hoch Pi c c trng bi thuc tnh ch ri (ri R), bc tip theo l ng vi mi phn hoch Pi ta xy dng lut Li : GTi ri trong cc GTi l mnh c hnh thnh bng cch kt hp cc thuc tnh dn xut. Mt ln na, vn hnh thc c th lm bn cm thy kh khn. Chng ta hy th tng trn vi bng s liu m ta c.

C hai cch phn hoch hin nhin nht m ai cng c th ngh ra. Cch u tin l cho mi ngi vo mt phn hoch ring (P1 = {Sarah}, P2 = {Dana}, tng cng s c 8 phn hoch cho 8 ngi). Cch th hai l phn hoch thnh hai tp, mt tp gm tt c nhng ngi chy nng v tp cn li bao gm tt c nhng ngi khng chy nng. Tuy n gin nhng phn hoch theo kiu ny th chng ta chng gii quyt c g !! II.1. m chi Chng ta hy th mt phng php khc. By gi bn hy quan st thuc tnh u tin mu tc. Nu da theo mu tc phn chia ta s c c 3 phn hoch khc nhau ng vi mi gi tr ca thuc tnh mu tc. C th l :

93

TTNT

Pvng = { Sarah, Dana, Annie, Kartie } Pnu = { Alex, Peter, John } P = { Emmile }
* Cc ngi b chy nng c gch di v in m.

Thay v lit k ra nh trn, ta dng s cy tin m t cho cc bc phn hoch sau :

Quan st hnh trn ta thy rng phn hoch Pnu v P tha mn c iu kin "c chung thuc tnh mc tiu" (Pnu cha ton ngi khng chy nng, P cha ton ngi chy nng). Cn li tp Pvng l cn ln ln ngi chy nng v khng chy nng. Ta s tip tc phn hoch tp ny thnh cc tp con. By gi ta hy quan st thuc tnh chiu cao. Thuc tnh ny gip phn hoch tp Pvng thnh 3 tp con : PVng, Thp = {Annie, Kartie},
PVng, T.Bnh= {Sarah} v PVng,Cao= { Dana }

Nu ni tip vo cy hnh trc ta s c hnh nh cy phn hoch nh sau :

Qu trnh ny c th tip tc cho n khi tt c cc nt l ca cy khng cn ln ln gia chy nng v khng chy nng na. Bn cng thy rng, qua mi bc phn hoch cy phn hoch ngy cng "phnh" ra. Chnh v vy m qu trnh ny c gi l qu trnh "m chi". Cy m chng ta ang xy dng c gi l cy nh danh.

94

TTNT

n y, chng ta li gp mt vn mi. Nu nh ban u ta khng chn thuc tnh mu tc phn hoch m chn thuc tnh khc nh chiu cao chng hn phn hoch th sao? Cui cng th cch phn hoch no s tt hn? II.2. Phng n chn thuc tnh phn hoch Vn m chng ta gp phi cng tng t nh bi ton tm kim : "ng trc mt ng r, ta cn phi i vo hng no?". Hai phng php nh gi di y s gip ta chn c thuc tnh phn hoch ti mi bc xy dng cy nh danh. II.2.1. Quinlan Quinlan quyt nh thuc tnh phn hoch bng cch xy dng cc vector c trng cho mi gi tr ca tng thuc tnh dn xut v thuc tnh mc tiu. Cch tnh c th nh sau : Vi mi thuc tnh dn xut A cn c th s dng phn hoch, tnh :
VA(j) = ( T(j , r1), T(j , r2) , , T(j , rn) ) T(j, ri) = (tng s phn t trong phn hoch c gi tr thuc tnh dn xut A l j v c gi tr thuc tnh mc tiu l ri ) / ( tng s phn t trong phn hoch c gi tr thuc tnh dn xut A l j )

* trong r1, r2, , rn l cc gi tr ca thuc tnh mc tiu

Nh vy nu mt thuc tnh A c th nhn mt trong 5 gi tr khc nhau th n s c 5 vector c trng. Mt vector V(Aj ) c gi l vector n v nu n ch c duy nht mt thnh phn c gi tr 1 v nhng thnh phn khc c gi tr 0. Thuc tnh c chn phn hoch l thuc tnh c nhiu vector n v nht. Tr li v d ca chng ta, trng thi ban u (cha phn hoch) chng ta s tnh vector c trng cho tng thuc tnh dn xut tm ra thuc tnh dng phn hoch. u tin l thuc tnh mu tc. Thuc tnh mu tc c 3 gi tr khc nhau (vng, , nu) nn s c 3 vector c trng tng ng l :
VTc (vng) = ( T(vng, chy nng), T(vng, khng chy nng) ) S ngi tc vng l : 4 S ngi tc vng v chy nng l : 2

95

TTNT S ngi tc vng v khng chy nng l : 2

Do
VTc(vng) = (2/4 , 2/4) = (0.5, 0.5)

Tng t
VTc(nu) = (0/3, 3/3) = (0,1) (vector n v) S ngi tc nu l : 3 S ngi tc nu v chy nng l : 0 S ngi tc nu v khng chy nng l : 3 VTc() = (1/1, 0/1) = (1,0) (vector n v)

Tng s vector n v ca thuc tnh tc vng l 2 Cc thuc tnh khc c tnh tng t, kt qu nh sau :
VC.Cao(Cao) = (0/2,2/2) = (0,1) VC.Cao(T.B) = (2/3,1/3) VC.Cao(Thp) = (1/3,2/3)

VC.Nng (Nh) = (1/2,1/2) VC.Nng (T.B) = (1/3,2/3) VC.Nng (Nng) = (1/3,2/3)

VKem (C) = (3/3,0/3) = (1,0) VKem (Khng) = (3/5,2/5)

Nh vy thuc tnh mu tc c s vector n v nhiu nht nn s c chn phn hoch. Sau khi phn hoch theo mu tc xong, ch c phn hoch theo tc vng (Pvng) l cn cha nhng ngi chy nng v khng chy nng nn ta s tip tc phn hoch tp ny. Ta s thc hin thao tc tnh vector c trng tng t i vi cc thuc tnh cn li

96

TTNT

(chiu cao, cn nng, dng kem). Trong phn hoch Pvng, tp d liu ca chng ta cn li l :
Tn Sarah Dana Annie Kartie Ch.Cao T.Bnh Cao Thp Thp Cn Nng Nh T.Bnh T.Bnh Nh Dng kem? Khng C Khng C Kt qu Chy Khng Chy Khng

VC.Cao(Cao) = (0/1,1/1) = (0,1) VC.Cao(T.B) = (1/1,0/1) = (1,0) VC.Cao(Thp) = (1/2,1/2)

VC.Nng (Nh) = (1/2,1/2) VC.Nng (T.B) = (1/2,1/2) VC.Nng (Nng) = (0,0)

VKem (C) = (0/2,2/2) = (0,1) VKem (Khng) = (2/2,0/2) = (1,0)

2 thuc tnh dmg kem v chiu cao u c 2 vector n v. Tuy nhin, s phn hoch ca thuc tnh dng kem l t hn nn ta chn phn hoch theo thuc tnh dng kem. Cy nh danh cui cng ca chng ta s nh sau :

97

TTNT

II.2.2. o hn lon Thay v phi xy dng cc vector c trng nh phng php ca Quinlan, ng vi mi thuc tnh dn xut ta ch cn tnh ra o hn lon v la chn thuc tnh no c o hn loi l thp nht. Cng thc tnh nh sau :

TA = trong : bt l tng s phn t c trong phn hoch bj l tng s phn t c thuc tnh dn xut A c gi tr j. bri : tng s phn t c thuc tnh dn xut A c gi tr j v thuc tnh mc tiu c gi tr i. II.3. Pht sinh tp lut Nguyn tc pht sinh tp lut t cy nh danh kh n gin. ng vi mi nt l, ta ch vic i t nh cho n nt l v pht sinh ra lut tng ng. C th l t cy nh danh kt qu cui phn II.2 ta c cc lut sau (xt cc nt l t tri sang phi)
(Mu tc vng) v (c dng kem) khng chy nng (Mu tc vng) v (khng dng kem) chy nng (Mu tc nu) khng chy nng (Mu tc ) chy nng

98

TTNT

Kh n gin phi khng? C l khng c g phi ni g thm. Chng ta hy thc hin bc cui cng l ti u tp lut.

II.4. Ti u tp lut II.4.1. Loi b mnh tha Khc so vi cc phng php loi b mnh tha c trnh by trong phn biu din tri thc (ch quan tm n logic hnh thc), phng php loi b mnh tha y da vo d liu. Vi v d v tp lut c phn trc, bn hy quan st lut sau :
(Mu tc vng) v (c dng kem) khng chy nng

By gi ta hy lp mt bng (gi l bng Contigency), bng thng k nhng ngi c dng kem tng ng vi tc mu vng v b chy nng hay khng. Trong d liu cho, c 3 ngi khng dng kem.
Khng chy nng Mu vng Mu khc 2 1 Chy nng 0 0

Theo bng thng k ny th r rng l thuc tnh tc vng (trong lut trn) khng ng gp g trong vic a ra kt lun chy nng hay khng (c 3 ngi dng kem u khng chy nng) nn ta c th loi b thuc tnh tc vng ra khi tp lut. Sau khi loi b mnh tha, tp mnh ca chng ta trong v d trn s cn :

(c dng kem) khng chy nng (Mu tc vng) v (khng dng kem) chy nng (Mu tc nu) khng chy nng (Mu tc ) chy nng

Nh vy quy tc chung c th loi b mt mnh l nh th no? Rt n gin, gi s lut ca chng ta c n mnh :


A1 v A2 v v An R

99

TTNT

kim tra xem c th loi b mnh Ai hay khng, bn hy lp ra mt tp hp P bao gm cc phn t tha tt c mnh A1 , A2 , Ai-, Ai+1, , An (lu : khng cn xt l c tha Ai hay khng, ch cn tha cc mnh cn li l c) Sau , bn hy lp bng Contigency nh sau :
R Ai Ai E G R F H

Trong
E l s phn t trong P tha c Ai v R. F l s phn t trong P tha Ai v khng tha R G l s phn t trong P khng tha Ai v tha R H l s phn t trong P khng tha Ai v khng tha R

Nu tng F+H = 0 th c th loi b mnh Ai ra khi lut.

II.4.2. Xy dng mnh mc nh C mt vn t ra l khi gp phi mt trng hp m tt c cc lut u khng tha th phi lm nh th no? Mt cch hnh ng l t ra mt lut mc nh i loi nh :
Nu khng c lut no tha chy nng (1) Hoc Nu khng c lut no tha khng chy nng. (2) (ch c hai lut v thuc tnh mc tiu ch c th nhn mt trong hai gi tr l chy nng hay khng chy nng)

Gi s ta chn lut mc nh l (2) th tp lut ca chng ta s tr thnh :


(Mu tc vng) v (khng dng kem) chy nng (Mu tc ) chy nng Nu khng c lut no tha khng chy nng. (2)

100

TTNT

Lu rng l chng ta loi b i tt c cc lut dn n kt lun khng chy nng v thay n bng lut mc nh. Ti sao vy? Bi v cc lut ny c cng kt lun vi lut mc nh. R rng l ch c th c mt trong hai kh nng l chy nng hay khng. Vn l chn lut no? Sau y l mt s quy tc. 1) Chn lut mc nh sao cho n c th thay th cho nhiu lut nht. (trong v d ca ta th nguyn tc ny khng p dng c v c 2 lut dn n chy nng v 2 lut dn n khng chy nng) 2) Chn lut mc nh c kt lun ph bin nht. Trong v d ca chng ta th nn chn lut (2) v s trng hp khng chy nng l 5 cn khng chy nng l 3. 3) Chn lut mc nh sao cho tng s mnh ca cc lut m n thay th l nhiu nht. Trong v d ca chng ta th lut c chn s l lut (1) v tng s mnh ca lut dn n chy nng l 3 trong khi tng s mnh ca lut dn n khng chy nng ch l 2.

BI TP

CHNG 1
1) Vit chng trnh gii bi ton hnh trnh ngi bn hng rong bng hai thut gii GTS1 v GTS2 trong trng hp c n a im khc nhau. 2) Vit chng trnh gii bi ton phn cng cng vic bng cch ng dng nguyn l th t. 3) ng dng nguyn l th t, hy gii bi ton chia vt sau. C n vt vi khi lng ln lt l M1, M2, Mn. Hy tm cch chia n vt ny thnh hai nhm sao cho chnh lch khi lng gia hai nhm ny l nh nht. 4) Vit chng trnh gii bi ton m i tun. 5) Vit chng trnh gii bi ton 8 hu. 6) Vit chng trnh gii bi ton Ta-canh bng thut gii A*. 7) Vit chng trnh gii bi ton thp H Ni bng thut gii A*. 8)* Vit chng trnh tm kim ng i ngn nht trong mt bn tng qut. Bn c biu din bng mt mng hai chiu A, trong A[x,y]=0 l c th i c v A[x,y]= 1 l vt cn. Cho php ngi dng click chut trn mn hnh to bn v xc nh im xut pht v kt thc. Chi ph i t mt bt k sang k cn n l 1.

101

TTNT

M rng bi ton trong trng hp chi ph di chuyn t (x,y) sang mt bt k k (x,y) l A[x,y].

CHNG 2
1. Vit chng trnh minh ha cc bc gii bi ton ong nc (s dng ha cng tt). 2. Vit chng trnh ci t hai thut ton Vng Ho v Robinson trong lit k cc bc chng minh mt biu thc logic. 3. Vit chng trnh gii bi ton tam gic tng qut bng mng ng ngha (lu s dng thut ton k php nghch o Ba Lan) 4. Hy th xy dng mt b lut phc tp hn trong v d c trnh by dng chun on hng hc ca my tnh. Vit chng trnh ng dng b lut ny trong vic chun on hng hc ca my tnh (s dng thut ton suy din li). 5. Hy ci t cc frame c t cc i tng hnh hc bng k thut hng i tng trong ngn ng lp trnh m bn quen dng. Hy xy dng mt ngn ng script n gin cho php ngi dng c th s dng cc frame ny trong vic gii mt s bi ton hnh hc n gin. CHNG 3 1) Cho bng s liu sau Hy xy dng cy nh danh v tm lut xc nh mt ngi l Chu u hay Chu bng hai phng php vector c trng ca Quinlan v o hn lon. STT 1 2 3 4 5 6 7 8 Dng To Nh Nh To Nh Nh Nh To Cao TB Cao TB Cao TB Cao Cao TB Gii Nam Nam Nam Nam N Nam N N Chu u u u u u u

2)* Vit chng trnh ci t tng qut thut ton hc da trn vic xy dng cy nh danh. Chng trnh yu cu ngi dng a vo danh sch cc thuc tnh dn xut, thuc tnh mc tiu cng vi tt c cc gi tr ca mi thuc tnh; yu
102

TTNT

cu ngi dng cung cp bng s liu quan st. Chng trnh s lit k ln mn hnh cc lut m n tm c t bng s liu. Sau , yu cu ngi dng nhp vo cc trng hp cn xc nh, h thng s a ra kt lun ca trng hp ny. Lu : Nn s dng mt h qun tr CSDL ci t chng trnh ny.
GS.TSKH. Hong Kim Ths. inh Nguyn Anh Dng

103

You might also like