You are on page 1of 103

TTNT

1
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
2
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
3
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(n
2
).

TTNT
4


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 J
1
, J
2
, Jm. Cng ty c n my
gia cng ln lt l P
1
, P
2
, 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 J
1
trn mt my bt k ta cn dng
mt thi gian tng ng l t
1
. Nhim v ca cng ty l phi lm sao gia cng xong ton
b n chi tit trong thi gian sm nht.
TTNT
5
Chng ta xt bi ton trong trng hp c 3 my P
1
, P
2
, P
3
v 6 cng vic vi thi gian l
t
1
=2, t
2
=5, t
3
=8, t
4
=1, t
5
=5, t
6
=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 J
2
trn my P
1
, J
5
trn P
2

v J
1
ti P
3
. Ti thi im t=2, cng vic J
1
c hon thnh, trn my P
3
ta gia cng tip
chi tit J
4
. Trong lc , hai my P
1
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 P
1
v P
2
c qu
nhiu thi gian rnh.
Thut ton tm phng n ti u L
0
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
6

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 J
3
. 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
T
0
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.
TTNT
7
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* s 4/3 T
0
, 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 T
0
v TG hy xy dng chui trng thi T
0
, T
1
, T
2
, ..., 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(T
i-1
, T
i
) 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
8
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 (back-
tracking) 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
9

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
10
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 Chiu rng
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.
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.
Lng b nh s dng
lu tr cc trng thi
Ch lu li cc trng thi cha xt
n.
Phi lu ton b cc trng
thi.
Trng hp xu nht Vt cn ton b Vt cn ton b.
Trng hp tt nht Phng n chn hng i tuyt i
chnh xc. Li gii c xc nh
mt cch trc tip.
Vt cn ton b.
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
TTNT
11
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 (T
0
)
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.


TTNT
12
M gi
Ti

:= T
0
; 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.
TTNT
13
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 Tk
1
,
Tk
2
, Tk
3
vi gi tr cc hm h tng ng l h(Tk
1
) = 1.67, h(Tk
2
) = 2.52, h(Tk
3
) = 1.04.
u tin, Tk s c gn bng Tk
1
, nhng v h(Tk) = h(T
k1
) > h(Ti) nn Tk khng
c chn. K tip l Tk s c gn bng Tk
2
v cng khng c chn. Cui cng th
Tk
3
c chn. Nhng gi s h(Tk
3
) = 1.3 th c Tk
3
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) 90
0
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 ,
TTNT
14
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 (T
0
)
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 T
i
v tt hn Ti.
b) Xc nh Tkmax l trng thi tt nht trong tp S
t Ti = Tkmax
TTNT
15
M gi
Ti

:= T
0
;
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;
TTNT
16
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.

TTNT
17
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.
TTNT
18

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

Hnh : Trng thi khi u v trng thi kt thc
Gi s ban u ta dng mt hm Heuristic n gin nh sau :
H
1
: 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 (T
1
).
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 T
1
, 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

T
1
T
A
T
B
T
C

TTNT
20
Hnh Cc trng thi c th t c t T
1
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 :
H
2
: 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(T
1
) =
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 H
2
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 H
1
b tht bi (do ch bit nh gi u im)
cn hm H
2
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.
TTNT
21
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
TTNT
22
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 :
TTNT
23
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 :
TTNT
24
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
TTNT
25
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 T
i

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
.
TTNT
26
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 T
0
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 T
0
. chnh l "con ng" ti u i t TG n T
0
(hay ni
cch khc l t T
0
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 T
0
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.

TTNT
27
III.8. V d minh ha hot ng ca thut gii A
*

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
.
TTNT
28
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
TTNT
29
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)
TTNT
30
(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
TTNT
31
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)
TTNT
32
= 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.

TTNT
33
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
TTNT
34
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.
TTNT
35

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
TTNT
36
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
TTNT
37
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(T
i-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.
TTNT
38
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 !
TTNT
39

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 10
6
x 10
6
) 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.

TTNT
40
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 n
2
! vi n l kch thc bn c v mi
trng thi l mt hon v ca tp n
2
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
TTNT
41
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 T
0
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 d
0
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
TTNT
42
khng tm thy kt qu, chng ta ln ngc tr li v li dng BFS khi t su d
0
.
Tham s d
0
s c chn sao cho b nh dng cho tm kim BFS trn khng gian "di"
mc d
0
s khng vt qu mt hng s cho trc. R rng ta ta khng d g xc nh
c d
0
(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 M
0
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 M
0
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...
TTNT
43

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

TTNT
44
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.
TTNT
45
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).
TTNT
46
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 U R
5 10 2
TTNT
47
2.5 20 8
4 12 3
7.3 14.6 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 :
TTNT
48
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 60
0
, ...)
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.
TTNT
49
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.
TTNT
50
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
TTNT
51
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
TTNT
52
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;
TTNT
53
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) ;
TTNT
54
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
TTNT
55
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
TTNT
56
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 !

TTNT
57
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 khch 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
(v ), 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.
TTNT
58
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 (An 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 . , v , . T , ta cng khng
TTNT
59
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(2
n
) 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 :
TTNT
60
GT
1
, GT
2
, ..., GTn KL
1
, KL
2
, ..., KLm
Trong cc GTi v KLi l cc mnh c xy dng t cc bin mnh v 3 php
ni c bn : . , v ,
B2 : Chuyn v cc GTi v KLi c dng ph nh.
V d :
p v q, (r . s), g, p v r s, p
p v q, p v r, p (r . s), g, s
B3 : Nu GTi c php . th thay th php . bng du ","
Nu KLi c php v th thay th php v bng du ","
V d :
p . q, r . ( p v s) q, s
p, q, r, p v s q, s
B4 : Nu GTi c php v th tch thnh hai dng con.
Nu KLi c php . th tch thnh hai dng con.
V d :
p, p v 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 v c hai v v 2 v khng c chung mt
bin mnh th dng khng c chng minh.
TTNT
61
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 :
GT
1
, GT
2
, ...,GTn KL
1
, KL
2
, .., KLm
Trong : GTi v KLj c xy dng t cc bin mnh v cc php ton : . , v ,
B2 : Nu GTi c php . th thay bng du ","
Nu KLi c php v th thay bng du ","
B3 : Bin i dng chun B1 v thnh danh sch mnh nh sau :
{ GT
1
, GT
2
, ..., GTn , KL
1
, KL
2
, ..., 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 v q v r v s v q
Hai mnh q, q l i ngu nn s c loi b
p v r v s
B6 : Thay th hai mnh va tuyn trong danh sch mnh bng mnh mi.
TTNT
62
V d :
{ p v q , r v s v q , w v r, s v q }
{ p v r v s , w v r, s v 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 v q, q v r, r v s, u v s p, u
B3: { p v q, q v r, r v s, u v 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 :
p v q v q v r p v r
Danh sch mnh thnh :
{ p v r , r v s, u v s, p, u }
Vn cha c mnh i ngu.
Tuyn hai cp mnh u tin
p v r v r v s p v s
Danh sch mnh thnh { p v s, u v s, p, u }
Vn cha c hai mnh i ngu
Tuyn hai cp mnh u tin
p v s v u v s p v u
Danh sch mnh thnh : { p v u, p, u }
Vn cha c hai mnh i ngu
Tuyn hai cp mnh :
TTNT
63
p v u v u p
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 :
P
1
. P
2
. ... . 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 : P
1
, P
2
, ..., Pn, Q l nhng biu thc logic.
Trong ngn ng lp trnh, mi mt lut sinh l mt cu lnh.
IF (P
1
AND P
2
AND .. AND Pn) THEN Q.
Trong l thuyt hiu ngn ng t nhin, mi lut sinh l mt php dch :
ONE mt.
TWO hai.
TTNT
64
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 = { f
1
, f
2
, ... fn

}
(2) Tp cc quy tc R (Rules) p dng trn cc s kin dng nh sau :
f
1
^ f
2
^ ... ^ 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 }
TTNT
65
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 :
TTNT
66

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
A . B A . C
L hon ton tng ng vi
TTNT
67
A . B C
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 v B C
Tng ng vi hai lut
A C
B C
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
TTNT
68
B1 : Rt gn v phi
Vi mi lut r trong R
Vi mi s kin A e VPhi(r)
Nu A e 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 : X
1 v
X
2 v
v 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) e Baong(VTri(r), R-{r}) th R := R {r}
B4 : Rt gn v tri
Vi mi lut dn r : X : A
1 .
A
2
, , An Y thuc R
Vi mi s kin Ai thuc r
Gi lut r
1
: X Ai Y
S = ( R {r} ) {r
1
}
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.
TTNT
69
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 :
TTNT
70

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.
TTNT
71
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 :
TTNT
72

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 C
3
22
-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).
TTNT
73
* 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 180
0
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 o, | 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 :
TTNT
74
Bt u : nh o, |, a ca th c kch hot.
Cng thc (1) c kch hot (v o, |, a c kch hot). T cng thc (1)
tnh c cnh b. nh b c kch hot.
Cng thc (4) c kch hot (v o, |). T cng thc (4) tnh c gc o
Cng thc (2) c kch hot (v 3 nh |, o , 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)
TTNT
75
o -1 0 0 -1 0
| -1 -1 0 -1 0
o
0 -1 0 -1 0
a -1 0 -1 0 0
b -1 -1 -1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Khi u : nh o, |, a ca th c kch hot.

(1) (2) (3) (4) (5)
o 1 0 0 1 0
| 1 1 0 1 0
o
0 -1 0 -1 0
a 1 0 1 1 0
b -1 -1 -1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trn ct (1), hiu (1+1+1 (-1)) = 4 nn dng b s c kch hot.

(1) (2) (3) (4) (5)
o 1 0 0 1 0
| 1 1 0 1 0
TTNT
76
o
0 -1 0 -1 0
a 1 0 1 1 0
b 1 1 1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trn ct (4), hiu (1+1+1 (-1)) = 4 nn dng o s c kch hot.

(1) (2) (3) (4) (5)
o 1 0 0 1 0
| 1 1 0 1 0
o
0 1 0 1 0
a 1 0 1 1 0
b 1 1 1 0 0
c 0 -1 -1 0 -1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trn ct (2), hiu (1+1+1 (1)) = 4 nn dng c c kch hot.

(1) (2) (3) (4) (5)
o 1 0 0 1 0
| 1 1 0 1 0
o
0 1 0 1 0
A 1 0 1 1 0
TTNT
77
B 1 1 1 0 0
C 0 1 1 0 1
S 0 0 -1 0 -1
hC 0 0 0 0 -1
Trn ct (3), hiu (1+1+1 (-1)) = 4 nn dng S c kch hot.

(1) (2) (3) (4) (5)
o 1 0 0 1 0
| 1 1 0 1 0
o
0 1 0 1 0
a 1 0 1 1 0
b 1 1 1 0 0
c 0 1 1 0 1
S 0 0 1 0 1
hC 0 0 0 0 -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.
TTNT
78
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!
TTNT
79
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.


Frame MY
Xy-lanh : 3.19
inch
T l nn : 3.4
inche
Xng :
TurboCharger
M lc : 140 hp

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.
TTNT
80
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
TTNT
81
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 r
2
;
p = 2 pi r;
Frame RECTANGLE (hnh ch nht)
b
1
: side;
b
2
: side;
s : area;
p : perimeter;
s = b
1
b
2
;
p = 2 (b
1
+b
2
);
d
2
= b
1
2
+ b
2
2
;
Frame SQUARE (hnh vung)
L : RECTANGLE
b
1
= b
2
;
Frame RHOMBUS (hnh thoi)
TTNT
82
b : side;
d
1
: diagonal;
d
2
: diagonal;
s : area;
p : perimeter;
alpha
1
: angle;
alpha
2
: angle;
h : height;
cos (alpha
2
/2) d
1
= h;
s = d
1
d
2
/ 2;
p = 4 b;
s = b h;
cos (alpha
2
/2)/(2 b) = d
2
;
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
TTNT
83
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.b
1
:= 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.
TTNT
84
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 : Bn phc v.
Ch ngi.
Khay ng thc n
Thc n
Tin
Cc loi gia v nh mui, tng, t, tiu, ...
iu kin vo :
Khch hng i
TTNT
85
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.
TTNT
86
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) .
TTNT
87
Bng sau cho chng ta mt s u v khuyt im ca cc phng php biu
din tri thc c trnh by.
P.Php u im Nhc im
Lut sinh C php n gin, d hiu, din
dch n gin, tnh n th cao,
linh ng (d iu chnh).
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.
Mng ng ngha D theo di s phn cp, s d
theo cc mi lin h, linh ng
Ng ngha gn lin vi mi nh c
th nhp nhng, kh x l cc ngoi
l, kh lp trnh.
Frame 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.
Kh lp trnh, kh suy din, thiu
phn mm h tr.
Logic hnh thc C ch suy lun chnh xc
(c chng minh bi ton
hc).
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
TTNT
88
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++ !!.

* Suy lun khng chc chn (Hypothetical reasoning) : l k thut suy lun da trn cc iu
kin c th c mu thun hoc khng chc chn.

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 + Cl
2
NaCl
Fe + Cl
2
FeCl
2
TTNT
89
Cu + Cl
2
CuCl
2
Cl
2
+ H
2
O HCl + HClO
MnO
2
+ 4HCl MnCl
2
+ Cl
2
+ H
2
O
HCl + KMnO
4
KCl + MnCl
2
+ H
2
O + Cl
2

NaCl + H
2
O Cl
2
+ H
2
+ 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 + H
2
(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 H
2
SO
4
ta s dng cc frame tng qut sau.


TTNT
90
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.
TTNT
91
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 trnh 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
TTNT
92
p r
Tuy nhin, tp P thng nh (v hu hn) so vi tp tt c cc trng hp cn quan tm
P (P c 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 e 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.
TTNT
93
Tn Tc Ch.Cao Cn
Nng
Dng
kem?
Kt qu
Sarah Vng T.Bnh Nh Khng Chy
Dana Vng Cao T.Bnh C Khng
Alex Nu Thp T.Bnh C Khng
Annie Vng Thp T.Bnh Khng Chy
Emilie T.Bnh Nng Khng Chy
Peter Nu Cao Nng Khng Khng
John Nu T.Bnh Nng Khng Khng
Kartie Vng Thp Nh C 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 = P
1
P
2
... Pn v (i,j) i= j : th (Pi Pj = C ) v
i, k,l : pk e Pi v pl e 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
e
R), bc tip theo l ng vi mi phn hoch Pi

ta xy dng lut Li :
GTi ri trong cc GT
i
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 (P
1
= {Sarah}, P
2
= {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 :
TTNT
94
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.
TTNT
95
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

, r
1
), T(j

, r
2
) , , 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 r
1
, r
2
, , 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
TTNT
96
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
TTNT
97
(chiu cao, cn nng, dng kem). Trong phn hoch Pvng, tp d liu ca chng ta cn
li l :
Tn Ch.Cao Cn
Nng
Dng
kem?
Kt qu
Sarah T.Bnh Nh Khng Chy
Dana Cao T.Bnh C Khng
Annie Thp T.Bnh Khng Chy
Kartie Thp Nh C 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 :
TTNT
98

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 :
b
t
l tng s phn t c trong phn hoch
b
j
l tng s phn t c thuc tnh dn xut A c gi tr j.
b
ri
: 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
TTNT
99
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 Chy nng
Mu vng 2 0
Mu khc 1 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 :
A
1
v A
2
v v An R
TTNT
100
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 A
1
, A
2
, 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 R
Ai E F

Ai
G 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)
TTNT
101
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 GTS
1
v GTS
2
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 M
1
, M
2
, 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.
TTNT
102
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 Dng Cao Gii Chu
1 To TB Nam
2 Nh Cao Nam
3 Nh TB Nam u
4 To Cao Nam u
5 Nh TB N u
6 Nh Cao Nam u
7 Nh Cao N u
8 To TB N 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
TTNT
103
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

You might also like