You are on page 1of 167

Li ni u

Trong cc nm qua, nhiu ti liu ca ngnh cng ngh thng tin c gii
thiu nhiu cho cc cn b nghin cu, ng dng v sinh vin bc i hc.
Tuy nhin cc gio trnh ca ngnh hc ny cha p ng dc nhu cu ca
sinh vin cc trng i hc, c bit i vi sinh vin khu vc min Trung.
V vy, chng ti bin son gio trnh Tr tu nhn to, mt mn c s
chuyn ngnh trong chng trnh o to C nhn Tin hc, ngoi mc ch
xy dng nhiu gio trnh trn mt khung chng trnh o to, m cn gip
cho sinh vin c ti liu hc tp ph hp vi hon cnh thc t ca i hc
Hu.
Trong cun sch ny, sinh vin c lm quen vi mt s kin thc c bn
nht v cc phng php tm kim li gii v cc phng php x l tri thc.
Ngoi ra, cun sch cng gii thiu mt s chng trnh ci t, nhm gip
sinh vin c th hiu mt cch tng tn cc gii thut, ng thi tin tng
rng cc gii thut ny c th p dung thc t v ci t c trn my tnh
mt cch d dng.
Cc ni dung trnh by trong cun sch tng c ging cho sinh vin
ngnh Cng ngh Thng tin ti i hc Hu trong nhng nm va qua.
Cun sch ra i di s gip v mt vt cht cng nh tinh thn ca i
hc Hu, Trng i hc Khoa hc v c bit l Ban ch nhim Khoa Cng
ngh Thng tin v cc ng nghip thuc B mn Khoa hc My tnh. Chng
ti xin gi ti h lng bit n. Xin chn thnh cm n cc bn b c c v
gup cho cun sch sm c hon thnh.
Mc d ht sc c gng, tuy nhin cun sch cng khng trnh khi nhng
thiu st. Chng ti rt mong c s gp ca cc c gi, c bit i vi
cc ng nghip v sinh vin cun sch ngy cng hon thin.
Hu, thng 7 nm 2004
Tc gi
Ti liu tham kho
1. Bch Hng Khang, Hong Kim
Tr tu nhn to: Cc phng php v ng dng. Nh xut bn Khoa hc
v K thut, 1989.
2. inh Mnh Tng
Gio trnh Tr tu nhn to, i hc Quc gia H ni.
3. Nguyn Thanh Thu
Tr tu nhn to: Cc phng php gii quyt vn v k thut x l tri
thc. Nh xut bn Gio dc, 1996.
4. N. Nilson
Artificial Intelligence. Ed. McGrawhill, 1971
5. Patrick Henry Winston
Artificial Intelligence. Ed. Addison Wesley, 1992.
.
Mc lc
Chng 0. M u 2
1. Tng quan v Khoa hc Tr ru nhn to 2
2. Lch s pht trin ca Tr tu nhn to 5
3. Mt s vn Tr tu nhn to quan tm 8
4. Cc khi nim c bn 10
Chng 1. Biu din bi ton trong khng gian trng thi 12
1. t vn 12
2. M t trng thi 12
3. Ton t chuyn trng thi 14
4. Khng gian trng thi ca bi ton 17
5. Biu din khng gian trng thi di dng th 18
6. Bi tp 21
Chng 2.
Cc phng php tm kim li gii trong khng gian trng thi 23
1. Phng php tm kim theo chiu rng 23
2. Phng php tm kim theo chiu su 30
3. Phng php tm kim su dn 34
4. Phng php tm kim tt nht u tin 36
5. Tm kim ng i c gi thnh cc tiu - Thut ton AT 39
6. Tm kim cc tiu s dng hm nh gi - Thut ton A* 43
7. Phng php tm kim leo i 46
8. Phng php sinh v th 49
9. Phng php tho mn rng buc 51
10. Ci t mt s gii thut. 53
11. Bi tp 72
Chng 3
Phn r bi ton Tm kim li gii trn th V/Hoc 90
1. t vn 90
2. th V/Hoc 92
3. Cc phng php tm kim li gii trn th V/Hoc 94
4. Cy tm kim v cc u th 104
Chng 4.
Biu din bi ton bng logic v cc phng php chng minh 107
1. Biu din vn h logic hnh thc 108
2. Mt s gii thut chng minh 130
3. V d v bi tp 138
Chng 5. Tri thc v cc phng php suy din 148
1. Tri thc v d liu 148
2. Cc dng m t tri thc 149
3. Suy din trn lut sn xut 152
Ti liu tham kho 163
I HC HU
TRNG I HC KHOA HC
Gio trnh
TR TU NHN TO
Hu, 2004
2
Chng 0 M U
1. Tng quan v khoa hc Tr tu nhn to.
Trong Cng Ngh Thng Tin, Tr Tu Nhn To (Artificial Intelligence) l
mt ngnh mi, nhng pht trin rt mnh m v em li nhiu kt qu to ln.
Con ngi thng t cho mnh l sinh vt thng minh v kh nng tr tu ng
vai tr quan trong trong cuc sng. Trong vn hc cng tng c nhng cu
chuyn cao v tr thng minh ca con ngi.
Tr Tu Nhn To ch mi hnh thnh t nm 1956. Tuy nhin, vic nghin
cu tr tu c t lu. Trn 2000 nm trc, cc nh trit hc tm hiu v
cch thc nhn nhn, hc tp, nh v suy l. Vic ra i ca my tnh in t
vo nhng nm 50 ca th k 20 sinh ra khuynh hng a cc lnh vc
nghin cu tr tu v cc vn l thuyt v thc nghim trn my.
1.1. i tng v mc tiu nghin cu ca tr tu nhn to.
Tr tu nhn to nghin cu v cch hnh x thng minh (intelligent
behaviour) vi mc tiu l xy dng l thuyt y v thng minh c th
gii thch c hot ng thng minh ca sinh vt v p dng c cc hiu bit
vo cc my mc ni chung, nhm phc v cho con ngi.
- V mt k thut: To ra cc my thng minh gii quyt vn thc
t dng cc k thut AI.
- Khoa hc: Pht trin cc khi nim v thut ng hiu c cc hnh
x thng minh ca sinh vt.
1.2. Vai tr ca Tr Tu Nhn To.
Tr tu nhn to bao qut rt nhiu lnh vc nghin cu hp. N nghin cu
t cc lnh vc tng qut nh my nhn bit, suy lun logic, n cc bi ton
nh chi c, chng minh nh l. Thng th cc nh khoa hc cc lnh vc
3
khc tm n vi tr tu nhn to cc k thut h thng ho v t ng ho cc
x l tri thc cng nh cc phng php thuc lnh vc mang tnh ngi.
Tr tu nhn to nghin cu k thut lm cho my tnh c th suy ngh mt
cch thng minh v m phng qu trnh suy ngh ca con ngi khi a ra
nhng quyt nh, li gii. Trn c s , thit k cc chng trnh cho my tnh
gii quyt bi ton.
S ra i v pht trin ca Tr tu nhn to to ra mt bc nhy vt v
cht trong k thut v k ngh x l thng tin. Tr tu nhn to chnh l c s
ca cng ngh x l thng tin mi, c lp vi cng ngh x l thng tin truyn
thng da trn vn bn giy t. iu ny c th hin qua cc mt sau:
- Nh nhng cng c hnh thc ho (cc m hinh logic ngn ng, logic
m,...), cc tri thc th tc v tri thc m t c th biu din c trong
my. Do vy qu trnh gii bi ton c tin hnh hu hiu hn.
- M hnh logic ngn ng m rng kh nng ng dng ca my tnh
trong lnh vc i hi tri thc chuyn gia trnh cao, rt kh nh: y
hc, sinh hc, a l, t ng ha.
- Mt s phn mm tr tu nhn to th hin tnh thch nghi v tnh mm
do i vi cc lp bi ton thuc nhiu lnh vc khc nhau.
- Khi my tnh c trang b cc phn mm tr tu nhn to ghp mng s
cho php gii quyt nhng bi ton c ln v phn tn.
1.3. Cc k thut Tr tu nhn to.
C nhiu k thut nghin cu, pht trin ngnh khoa hc Tr tu nhn to.
Tuy vy, cc k thut Tr tu nhn to thng kh phc tp khi ci t c th, l
do l cc k thut ny thin v x l cc k hiu tng trng v i hi phi s
dng nhng tri thc chuyn mn thuc nhiu lnh vc khc nhau.
Do vy, cc k thut Tr tu nhn to hng ti khai thc nhng tri thc v
lnh vc ang quan tm c m ho trong my sao cho t c mc tng
qut; d hiu, d din t thng qua ngn ng chuyn mn gn gi vi ngn ng
4
t nhin; d sa i, hiu chnh, d s dng, khai thc nhm thu hp cc kh
nng cn xt i ti li gii cui cng.
Cc k thut Tr tu nhn to c bn bao gm :
- L thuyt gii bi ton v suy din thng minh: L thuyt gii bi ton
cho php vit cc chng trnh gii cu , chi cc tr chi thng qua
cc suy lun mang tnh ngi; cc h thng chng minh nh l. Ngoi ra
cc h thng hi p thng minh cn cho php lu tr v x l khi lng
ln cc thng tin.
- L thuyt tm kim may ri: L thuyt ny bao gm cc phng php
v k thut tm kim vi s h tr ca thng tin ph gii bi ton mt
cch c hiu qu.
- Cc ngn ng v Tr tu nhn to: x l cc tri thc ngi ta khng
ch s dng cc ngn ng lp trnh dng cho cc x l d liu s, m cn
c ngn ng khc. Cc ngn ng chuyn dng ny cho php lu tr v x
l thng tin k hiu. Mt s ngn ng c nhiu ngi bit n l
IPL.V,LISP, PROLOG.
- L thuyt th hin tri thc v h chuyn gia: Tr tu nhn to l khoa
hc v th hin v s dng tri thc. Mng ng ngha, lc , logic v t,
khung l cc phng php th hin tri thc thng dng. Vic gn lin
cch th hin v s dng tri thc l c s hnh thnh h chuyn gia.
- L thuyt nhn dng v x l ting ni: Giai on pht trin u ca
Tr tu nhn to gn vi l thuyt nhn dng. Cc phng php nhn dng
chnh gm: nhn dng hnh hc, nhn dng dng tm l hc, nhn dng
theo phng php hm th, dng my nhn dng. ng dng ca phng
php ny trong vic nhn dng ch vit, m thanh.
- Ngi my: Cui nhng nm 70, ngi my trong cng nghip t
c nhiu tin b. Ngi my c b phn cm nhn v cc c ch hot
5
ng c ni ghp theo s iu khin thng minh. Khoa hc v c hc
v Tr tu nhn to c tch hp trong khoa hc ngi my.
- Tm l hc x l thng tin : Cc kt qu nghin cu ca tm l hc gip
Tr tu nhn to xy dng cc c ch tr li theo hnh vi, c thc; n
gip cho vic thc hin cc suy din mang tnh ngi.
- Ngoi ra, x l danh sch, k thut quy, k thut quay lui v x l
c php hnh thc l nhng k thut c bn ca tin hc truyn thng c
lin quan trc tip n Tr tu nhn to.
2. Lch s pht trin ca Tr Tu Nhn To.
Lch s ca Tr tu nhn to cho thy ngnh khoa hc ny c nhiu kt qu
ng ghi nhn. Theo cc mc pht trin, ngi ta thy Tr tu nhn to c
sinh ra t nhng nm 50 vi cc s kin sau:
Turing c coi l ngi khai sinh ngnh Tr tu nhn to bi pht hin
ca ng v my tnh c th lu tr chng trnh v d liu.
Thng 8/1956 J.Mc Carthy, M. Minsky, A. Newell, Shannon. Simon ,
a ra khi nim tr tu nhn to.
Vo khong nm 1960 ti i hc MIT (Massachussets Institure of
Technology) ngn ng LISP ra i, ph hp vi cc nhu cu x l c
trng ca tr tu nhn to - l ngn ng lp trnh u tin dng cho tr
tu nhn to.
Thut ng Tr tu nhn to c dng u tin vo nm 1961 cng ti
MIT.
Nhng nm 60 l giai on lc quan cao v kh nng lm cho my tnh
bit suy ngh. Trong giai on ny ngi ta c chng kin my chi
c u tin v cc chng trnh chng minh nh l t ng.
6
C th: 1961: Chng trnh tnh tch phn bt nh
1963: Cc chng trnh Heuristics: Chng trnh chng minh cc
nh l hnh hc khng gian c tn l tng t, chng trnh chi c ca
Samuel.
1964: Chng trnh gii phng trnh i s s cp, chng trnh
tr gip ELIZA (c kh nng lm vic ging nh mt chuyn gia phn tich tm
l).
1966: Chng trnh phn tch v tng hp ting ni
1968: Chng trnh iu khin ngi my (Robot) theo n Mt
tay, chng trnh hc ni.
Vo nhng nm 60, do gii hn kh nng ca cc thit b, b nh v c
bit l yu t thi gian thc hin nn c s kh khn trong vic tng qut
ho cc kt qu c th vo trong mt chng trnh mm do thng minh.
Vo nhng nm 70, my tnh vi b nh ln v tc tnh ton nhanh
nhng cc phng php tip cn Tr tu nhn to c vn tht bi (do s
bng n t hp trong qu trnh tm kim li gii cc bi ton t ra).
Vo cui nhng nm 70 mt vi kt qu nh x l ngn ng t nhin,
biu din tri thc v gii quyt vn . Nhng kt qu to iu kin
cho sn phm thng mi u tin ca Tr tu nhn to ra i l H
chuyn gia, c em p dng trong cc lnh vc khc nhau (H chuyn
gia l mt phn mm my tnh cha cc thng tin v tri thc v mt lnh
vc c th no , c kh nng gii quyt nhng yu cu ca ngi s
dng trong mt mc no , mt trnh nh mt chuyn gia con
ngi c kinh nghim kh lu nm).
Mt s kin quan trng vo nhng nm 70 l s ra i ngn ng Prolog,
tng t LISP nhng n c c s d liu i km.
7
Vo nhng nm 80, th trng cc sn phm dn dng c kh nhiu
sn phm trnh cao nh: my git, my nh,... s dng Tr tu nhn
to. Cc h thng nhn dng v x l nh, ting ni.
Nhng nm 90, cc nghin cu nhm vo ci t thnh phn thng minh
trong cc h thng thng tin, gi chung l ci t tr tu nhn to, lm r
hn cc ngnh ca khoa hc Tr tu nhn to v tin hnh cc nghin cu
mi, c bit l nghin cu v c ch suy l, v Tr tu nhn to phn
to, v cc m hnh tng tc.
Nhng c trng ca Tr tu nhn to
Tr tu nhn to x l thng tin theo trt t k hiu. Cc thng tin gm:
khi nim, lut, cc i tng ? dng cho suy l. Khi nim c bn trong
Tr tu nhn to l s th hin, suy l, nhn bit, vic hc v h thng c
s tri thc.
Phng php may ri hay c dng trong Tr tu nhn to. Phng php
ny cho php gii hai lp bi ton kh. Th nht l nhng bi ton cha
c thut gii ( bi ton nhn bit, ra quyt nh). Th hai l cc bi ton
c thut gii nhng phc tp ln ( chng hn bi ton chi c).
Tr tu nhn to xt n nhng thng tin khng y , khng chnh xc,
c v mu thun. Tuy vy, cc kt qu ca Tr tu nhn to l c th.
Vic tng tc ngi- my i i vi nhn bit t ng l cn thit trong
Tr tu nhn to. Cc bi ton nhn dng l v d v yu cu ny.
Tr tu nhn to lin quan n nhiu lnh vc, nh cc k thut mi, logic
hc, khoa hc nhn bit, ngn ng hc, khoa hc v t chc, thn kinh
hc. Tr tu nhn to cn nm trong cc lnh vc nghin cu nng cao, cc
n nghin cu quan trng.
8
3. Mt s vn Tr tu Nhn to quan tm.
Nhng vn chung
Khoa hc Tr tu nhn to lin quan n cm gic, tri gic v c qu trnh t
duy thng qua cc hnh vi, giao tip. N c cc nh hng nghin cu, ng
dng sau:
1- Tm v nghin cu cc th tc gip con ngi tin hnh cc hot ng
sng to. Cng vic sng to c thc hin trn m hnh theo cu trc, chc
nng v s dng cng ngh thng tin.
2- Dng ngn ng t nhin. Trc ht l ngn ng c dng th hin tri
thc, tip thu v chuyn ho sang dng c th x l c.
3- Hnh thc ho cc kha cnh, cc hnh vi lin quan n Tr tu nhn to.
Do vy c th xy dng cc bi ton mang tnh ngi v thng minh.
Cc hot ng ln trong Tr tu nhn to bao gm: chng minh nh l, x l
ngn ng t nhin, hiu ting ni, phn tch nh v hnh, ngi my v h
chuyn gia. V ci t h thng, khuynh hng hin ti ca Tr tu nhn to l
ci t cc h Tr tu nhn to trong cc h thng khc, c bit l trong cc h
thng tin hc.
Nhng vn cha c gii quyt trong Tr tu nhn to
Nhng thnh tu nghin cu v ng dng cc k thut Tr tu nhn to
khng nh tnh thc tin ca cc d n xy dng my tnh c kh nng suy
ngh. Tuy vy trong mt s phm vi, my tnh cn thua xa so vi hot ng
ca h thn kinh con ngi:
S khc nhau trong hot ng gia my tnh v b no con ngi, iu ny
th hin u th ca my tnh so vi b no ngi v kh nng tnh ton rt ln
(nht l trong cc chng trnh x l d liu ln).
X l song song: mc d cng ngh in t hin i cho php xy dng cc
b a x l, song my tnh khng th hot ng song song nh b no con
ngi c.
9
Kh nng din gii: con ngi c th xem xt cng mt vn theo nhng
phng php khc nhau, t din gii theo cch d hiu nht. Ngc li, s
linh hot ny khng th m phng c trong cc h thng Tr tu nhn to.
Lgic ri rc v tnh lin tc: mt thch ln vi cc h thng Tr tu
nhn to l kh nng kt hp cc phng php x l thng tin trong mi trng
lin tc vi cc thao tc x l thng tin ri rc.
Kh nng hc: mc d hin nay my tnh c nhiu tnh nng cao nhng
cng khng th m phng c hon ton kh nng hc ging b no con
ngi.
Kh nng t t chc: cho ti nay, ngi ta cha th to lp c cc h
thng Tr tu nhn to c kh nng t t chc, t iu khin hot ng ca n
thch nghi vi mi trng.
Nhng vn t ra trong tng lai ca Tr tu nhn to.
Trong tng lai, nhng nghin cu v ng dng ca Tr tu nhn to tp
trung vo cc vn ln sau:
Nghin cu v th nghim cc mng Neuron, cc h thng Tr tu nhn to
m phng chc nng hot ng ca b no vi cc kh nng hc, t t chc, t
thch nghi, tng qut ho, x l song song, c kh nng din gii, x l thng tin
lin tc v ri rc.
Nghin cu v to lp cc h thng c giao tip thn thin gia ngi v
my trn c s nghin cu nhn thc my, thu thp v x l tri thc, x l thng
tin hnh nh, ting ni.
Nghin cu cc phng php biu din tri thc v cc phng php suy din
thng minh, cc phng php gii quyt vn i vi nhng bi ton ph
thuc khng gian, thi gian.
Ngy nay, th gii ang chuyn mnh trong nhng nghin cu v Tr tu
nhn to. Chc chn rng my tnh vi tr tu nh con ngi s tc ng mnh
n cuc sng x hi.
10
4. Cc khi nim c bn:
Tr tu con ngi (Human Intelligence): Cho n nay c hai khi nim v tr
tu con ngi c chp nhn v s dng nhiu nht, l:
Khi nim tr tu theo quan im ca Turing
Tr tu l nhng g c th nh gi c thng qua cc trc nghim thng
minh
Khi nim tr tu a ra trong t in bch khoa ton th:
Tr tu l kh nng:
Phn ng mt cch thch hp nhng tnh hung mi thng qua hiu chnh
hnh vi mt cch thch ng.
Hiu r nhng mi lin h qua li ca cc s kin ca th gii bn ngoi
nhm a ra nhng hnh ng ph hp t ti mt mc ch no .
Nhng nghin cu cc chuyn gia tm l hc nhn thc ch ra rng qu trnh
hot ng tr tu ca con ngi bao gm 4 thao tc c bn:
1- Xc nh tp ch (goals).
2- Thu thp cc s kin (facts) v cc lut suy din (inference rules) t
c ch t ra.
3- Thu gn (pruning) qu trnh suy lun nhm xc nh tp cc suy din c
th s dng c.
4- p dng cc c ch suy din c th (inference mechanisms) a cc
s kin ban u i n ch.
Tr tu my: cng khng c mt nh ngha tng quat, nhng cng c th nu
cc c trng chnh:
1- Kh nng hc.
2- Kh nng m phng hnh vi ca con ngi.
3- Kh nng tru tng ho, tng qut ho v suy din .
4- Kh nng t gii thch hnh vi.
5- Kh nng thch nghi tnh hung mi k c thu np tri thc v d liu.
11
6- Kh nng x l cc biu din hnh thc nh cc k hiu tng trng.
7- Kh nng s dng tri thc heuristic.
8- Kh nng x l cc thng tin khng y , khng chnh xc
5. Mt s chuyn ngnh ca Tr tu nhn to:
1. Cc phng php tm kim li gii.
2. H chuyn gia
3. My nhn v ngn ng.
4. L thuyt nhn dng.
5. Cc m hnh thn kinh.
6. Ngi my.
. . .
12
Chng 1
BIU DIN BI TON
TRONG KHNG GIAN TRNG THI
1. t vn .
Khi gii quyt bi ton bng phng php tm kim, trc ht ta phi xc
nh khng gian tm kim bao gm tt c cc i tng trn thc hin vic
tm kim.
Mt phng php biu din vn ph hp l s dng cc khi nim trng
thi (state) v ton t (operator).
Phng php gii quyt vn da trn khi nim trng thi v ton t c
gi l cch tip cn gii quyt vn nh khng gian trng thi.
2. M t trng thi
Gii bi ton trong khng gian trng thi, trc ht phi xc nh dng m t
trng thi bi ton sao cho bi ton tr nn n gin hn, ph hp bn cht vt
l ca bi ton (C th s dng cc xu k hiu, vct, mng hai chiu, cy,
danh sch).
Mi trng thi chnh l mi hnh trng ca bi ton, cc tnh trng ban u v
tnh trng cui ca bi ton gi l trng thi u v trng thi cui.
V d 1. Bi ton ong nc
Cho 2 bnh c dung tch ln lt l m v n (lit). Vi ngun nc khng
hn ch, dng 2 bnh trn ong k lit nc. Khng mt tnh tng qut c th
gi thit k <= min(m,n).
Ti mi thi im xc nh, lng nc hin c trong mi bnh phn nh
bn cht hnh trng ca bi ton thi im .
- Gi x l lng nc hin c trong bnh dung tch m v y l lng nc
hin c trong bnh dung tch n. Nh vy b c th t (x,y) c th xem l trng
thi ca bi ton. Vi cch m t nh vy, cc trng thi c bit ca bi ton s l:
- Trng thi u: (0,0)
- Trng thi cui: (x,k) hoc (k,y), 0 s x s m , 0 s y s n
13
V d 2. Bi ton tr chi 8 s
Trong bng vung 3 hng, 3 ct , mi cha mt s nm trong phm vi
t 1 n 8 sao cho khng c 2 c cng gi tr, c mt trong bng b trng
(khng cha gi tr no c. Xut pht t mt sp xp no cc s trong bng,
hy dch chuyn trng sang phi, sang tri, ln trn hoc xung di (nu c
th c) a v bng ban u v bng qui c trc. Chng hn Hnh 1.
di y l bng xut pht v Hnh 2. l bng m ta phi thc hin cc bc di
chuyn trng t c.
2 8 3
1 6 4
7 5
Hnh 1.
1 2 3
8 4
7 6 5
Hnh 2.
Gi tr cc phn t trong bng xc nh trng thi bi ton. V vy c th
m t trng thi ca bi ton bng mt ma trn A
3*3
= (a
ij
) , a
ij
e{0..8}, a
ij
< > a
kl
,
i<>k, j<> l
- Trng thi u ca bi ton l ma trn
- Trng thi cui l ma trn
C th pht biu dng tng qut ca bi ton ny (Tr chi n
2
-1 s)
|
|
|
.
|

\
|
5 0 7
4 6 1
3 8 2
|
|
|
.
|

\
|
5 6 7
4 0 8
3 2 1
14
V d 3. Bi ton thp H Ni
Cho ba cc 1, 2, 3. cc 1 ban u c n a sp xp theo th t to dn t di
ln trn. Hy dch chuyn n a sang cc th 3 sao cho:
- Mi ln ch chuyn mt a.
- Trong mi cc khng cho php a to nm trn a nh hn.
Bi ton xc nh khi bit c tng a ang nm cc no. Hay ni cch
khc, c hai cch xc nh:
1- Cc 1 hin ang cha nhng a no? Cc 2 hin ang cha nhng a
no? V cc 3 ang cha nhng a no.
2- a ln th i hin ang nm cc no? ( i = 1 .. n )
Nh vy cch m t trng thi bi ton khng duy nht, vn l chn cch m
t no t c mc ch d dng nht.
Theo trn, vi cch th nht ta phi dng 3 danh sch ng v s a trn mi
cc l khc nhau trong tng thi im khc nhau.
Cch th hai, nhn qua th kh m t nhng da vo khi nim v b c th t
trong ton hc, cch ny m t bi ton hiu qu hn. Tht vy, nu gi x
i
l cc
cha a ln th i, trong x
i
e{1, 2, 3}, ie{1 ..n}. Khi b c th t (x
1
, x
2
, .
. ,x
n
) c th dng lm dng m t trng thi ang xt ca bi ton. Vi cch m
t ny,
Trng thi u l (1,1,. . .,1)
Trng thi cui l (3,3,. . .,3)
3. Ton t chuyn trng thi.
Ton t chuyn trng thi thc cht l cc php bin i a t trng thi ny
sang trng thi khc. C hai cch dng biu din cc ton t:
- Biu din nh mt hm xc nh trn tp cc trng thi v nhn gi tr
cng trong tp ny.
- Biu din di dng cc quy tc sn xut S? A c ngha l nu c trng
thi S th c th a n trng thi A.
15
V d 1. Bi ton ong nc
Cc thao tc s dng chuyn trng thi ny sang trng thi khc gm:
y mt bnh, ht nc trong mt bnh ra ngoi, nc t bnh ny sang
bnh khc. Nh vy, nu trng thi ang xt l (x,y) th cc trng thi k tip c
th chuyn n s l:
(m,y)
(x,n)
(0,y)
(x,0)
(x,y) (0, x+ y) nu x+y < = n
(x+y -n,n) nu x+y > n
(x+ y,0) nu x+y < = m
(m, x+y-m) nu x+y > m
V d 2. Tr chi 8 s
Cc thao tc chuyn trng thi tng ng vi vic chuyn trng sang
phi, sang tri, ln, xung nu c th c.
- Biu din theo quy tc sn xut:
- Biu din theo mt hm
Gi hm f
u
l hm biu din cho ton t chuyn trng ln trn; gi B (B=
(b
ij
)) l trng thi sau khi di chuyn trng trng thi A (A= (a
ij
)) ln trn,
ngha l: B= f
u
(A), gi s trng ang v tr (i
0
, j
0
) (hay ni cch khc a
i0 j0
=
0) th hm f c xc nh nh sau:
1 3 4
2 5
8 7 6
1 3
2 5 4
8 7 6
1 3 4
2 5 6
8 7
1 3 4
2 5
8 7 6
16
a
ij
(i, j) nu i
0
= 1
f
u
(a
ij
) = a
ij
nu (i, j) = (i
0
-1, j
0
) v (i, j) = (i
0
, j
0
) v i
0
>1
a
i0-1, j0
nu (i, j) = (i
0
, j
0
), i
0
>1
a
i0, j0
nu (i, j) = (i
0
-1, j
0
), i
0
>1
Tng t, c th xc nh cc php chuyn trng xung di f
d
, qua tri f
l
, qua
phi f
r
nh sau:
a
ij
(i, j) nu i
0
= 3
f
d
(a
ij
) = a
ij
nu (i, j) = (i
0
+1, j
0
) v (i, j) = (i
0
, j
0
) v i
0
<3
a
i0-1, j0
nu (i, j) = (i
0
, j
0
), i
0
<3
a
i0, j0
nu (i, j) = (i
0
+1, j
0
), i
0
<3
a
ij
(i, j) nu j
0
= 1
f
l
(a
ij
) = a
ij
nu (i, j) = (i
0
, j
0
-1) v (i, j) = (i
0
, j
0
) v j
0
> 1
a
i0-1, j0
nu (i, j) = (i
0
, j
0
), j
0
> 1
a
i0, j0
nu (i, j) = (i
0
, j
0
-1), j
0
> 1
a
ij
(i, j) nu j
0
= 3
f
r
(a
ij
) = a
ij
nu (i, j) = (i
0
, j
0
+1) v (i, j) = (i
0
, j
0
) v j
0
< 3
a
i0-1, j0
nu (i, j) = (i
0
, j
0
), j
0
< 3
a
i0, j0
nu (i, j) = (i
0
, j
0
+1), j
0
< 3
V d 3. Bi ton Thp H Ni vi n=3.
Mi trng thi l mt b ba (i, j, k). C cc trng hp nh sau:
- Ba a cng nm trn mt cc: (i, i, i)
- Hai a cng nm trn mt cc: (i, i, j), (i, j, i), (j, i, i)
- Ba a nm trn ba cc phn bit: (i, j, k)
17
(i, i, i) (i, i, j)
(i, i, k)
(i, i, j) (i, i, k)
(i, k, j)
(i, i, i)
(i, j, i) (i, j, k)
(i, j, j)
(i, k, i)
(j, i, i) (j, i, j)
(j, i, k)
(k, i, i)
(i, j, k) (i, i, k)
(i, j, j)
(i, j, i)
4. Khng gian trng thi ca bi ton.
Kkhng gian trng thi l tp tt c cc trng thi c th c v tp cc ton
t ca bi ton.
Khng gian trng thi l mt b bn, K hiu: K= (T, S, G, F). Trong ,
T: tp tt c cc trng thi c th c ca bi ton
S: trng thi u
G: tp cc trng thi ch
F: tp cc ton t
V d 1. Khng gian trng thi ca bi ton ong nc l b bn T, S, G, F xc
inh nh sau:
T = { (x,y) / 0 <= x <= m; 0 <= y <= n }
S = (0,0)
G = { (x,k) hoc (k,y) / 0 <= x <= m; 0 <= y <= n}
F = Tp cc thao tc ong y, ra hoc sang bnh khc thc hin
trn mt bnh.
18
V d 2. Khng gian trng thi ca bi ton Thp H ni vi n = 3:
T = { (x1, x2, x3)/ xi e {1, 2, 3} }
S = (1, 1, 1)
G = {(3, 3, 3)}
F = Tp cc kh nng c th chuyn a xc nh trong phn
trc.
V d 3. Khng gian trng thi ca bi ton tr chi 8 s:
T = { (a
ij
)
3x3
/ 0<= a
ij
<= 8 v a
ij
<> a
kl
vi i<> j hoc k <> l}
S = Ma trn xut pht ca bi ton,
G = Ma trn cui cng ca bi ton (cc s nm theo v tr yu cu)
F = {f
l
, f
r
, f
u
, f
d
}
Tm kim li gii trong khng gian trng thi l qu trnh tm kim xut pht t
trng thi ban u, da vo ton t chuyn trng thi xc nh cc trng thi
tip theo cho n khi gp c trng thi ch.
5. Biu din khng gian trng thi di dng th
5.1. Cc khi nim
- th G = (V,E) trong V:tp nh, E: tp cung (EcV*V)
Ch
- G l th v hng th (i, j) l mt cnh cng nh l (j, i) (tc l:(i, j)eE th
(j,i)eE)
- Nu G l th c hng th cung (i, j) hon ton khc vi cung (j, i).
V d xt d th v hng G
1
v th c hng G
2
G
1
G
2
- Tp nh k:
neV, T(n)={meV/ (n,m) eE}c gi l tp cc nh k ca n
1
2 4
3
1
2 4
3
19
- ng i:
p = (n
1
,...,n
k
) c gi l ng i t nh n
1
n
k
nu n
i
eV, i=1,k ;
(n
i
, n
i+1
)eE i=1, k -1
- Cy l th c nh gc n
0
eV tho:
Mt th G=(V, E) gi l cy nu tn ti mt nh n
0
eV c nhng tnh cht
sau:
. .
- neV, neT(n
0
), trong T(n
0
): tp cc nh thuc dng di ca n
0
(n
0
l t
tin ca n)
- neV, -!meV sao cho neT(m); m c gi l cha ca n.
5.2. Biu din khng gian trng thi bng th
Theo ngn ng th, khng gian trng thi tng ng vi mt th
nh hng trong : Cc trng thi tng ng vi cc nh trong th, nu tn
ti ton t chuyn trng thi th c cung (s, t)
thy r mi tng quan, ta c bng sau
KGTT th
Trng thi
Ton t
Dy cc trng thi lin tip
nh
Cung
ng i
5.3. Biu din th
Cho th G = (V,E) , gi s V={1, 2,....,n}. C hai cch thng dng
biu din th G lu tr trong my tnh.
i) Biu din bng ma trn k
th G c biu din bi ma trn k A=(a
ij
)
nxn
, vi n l s nh ca th,
trong :
a
ij
= 1 nu (i, j) eE
0 trong trng hp ngc li
20
Nu G l th v hng th ma trn k A l ma trn i xng.
V d Vi th v hng G
1
v th c hng G
2
trn ta c cc ma trn k
sau:
G
1
: G
2
:
ii) Biu din bng danh sch k.
Vi mi nh i ca th, ta c mt danh sch tt c cc nh k vi i, ta
k hiu l List(i). th hin List(i) ta c th dng mng, kiu tp hp hay kiu
con tr. V d vi th G1, ta c List(1)= [2, 3, 4]
V d 1. Bi ton ong nc m=3, n=2, k=1
(0,0)
(3,0) (0,2)
(1,2) (3,2) (2,0)
(1,0) (0,1) (2,2)
(3,1)
V d 2. Thp H Ni vi n = 3
(111)
(112) (113)
(132) (123)
(133) (131) (121) (122)
(233) (322)
(231) (232) (323) (321)
(221) (212) (313) (331)
(222) (223) (213) (211) (311) (312) (332) (333)
0 1 1 1
1 0 1 1
1 1 0 0
1 1 0 0
0 1 0 1
1 0 1 1
0 0 0 0
0 0 1 0
21
6. BI TP
Xy dng khng gian trng thi i vi cc bi ton sau:
6.1. Cho n thnh ph nh s t 1 n n. Giao thng ng b gia hai thnh
ph i v j c cho bi gi tr a
ij
nh sau: a
ij
= -1 c ngha l khng c ng b
i t thnh ph i sang thnh ph j v a
ij
= 1 nu c ng i trc tip t thnh
ph i sang thnh ph j. Tm ng i t thnh ph i
0
sang thnh ph j
0
.
6.2. Cho k v n l 2 s nguyn dng. C 2
k
vin si, c phn b trong n
ng, ng th nht c a
1
vin, ng th 2 c a
2
vin, , ng th n c a
n
vin
v tt nhin a
1
+ a
2
+ + a
n
= 2
k
. Ngi ta cn san s lng si t cc ng
dn si tr v 1 ng. Quy tc san si nh sau: mi ln san p dng cho 2 ng
si, gi s 1 ng c a vin v ng kia c b vin (khng gim tng qut, c th
gi thit a > b) th san si t ng c a vin sang ng c b vin thnh mt
ng c a-b vin v ng kia 2*b vin.
Hng dn: Trng thi ca bi ton phi xc nh c s si hin c trong mi
ng.
6.3. Mt dy cc s nguyn dng a
1
, a
2
, , a
n
c gi l hp l nu tho mn
hai iu kin:
- a
n
l s nguyn t.
- a
i+1
= a
i
+1 hoc 2*a
i
Cho trc s a
1
, hy tm dy hp l a
1
, a
2
, , a
n
.
6.4 Bi ton ngi a hng.
Ngi a hng cn phi xc nh c hnh trnh ngn nht sao cho mi
thnh ph i n ng mt ln v quay tr li thnh ph xut pht. Gi s thnh
ph xut pht l thnh ph 1, c tt c n thnh ph nh s t 1 n n.
22
Hng dn:
- Mi trng thi cho bi danh sch cc thnh ph i qua cho n thi im
hin ti, trong khng cho php mt thnh ph no c xut hin nhiu
hn mt ln tr thnh ph 1 sau khi lit k tt c cc thnh ph cn li.
- Cc ton t tng ng vi cc hnh ng
1- i ti thnh ph 1
2- i ti thnh ph 2
3- i ti thnh ph 3.
. . .
6.5. Bi ton phn tch c php.
Vn phm G l b bn G = (N, T, P, S), N l tp k hiu khng kt thc,
T l tp k hiu kt thc, S eN l k hiu u v P l tp sn xut c dng o
|, y o, | e(NUT). Ngn ng sinh ra bi vn phm G c nh ngha bi:\
L(G) = { eeT | S e }, S e c ngha l - e
1
, , e
n
e (NUT) sao
cho e
i
e
i+1
, e
1
= S v e
n
= e.
Bi ton phn tch c php c pht biu : ch trc vn phm G vi xu
e eT cho hy xc nh xem e eL(G) hay khng ?
23
Chng 2
CC PHNG PHP TM KIM LI GII TRONG
KHNG GIAN TRNG THI
Qu trnh tm kim li gii ca bi ton c biu din trong khng gian
trng thi c xem nh qu trnh d tm trn th, xut pht t trng thi ban
u, thng qua cc ton t chuyn trng thi, ln lt n cc trng thi tip theo
cho n khi gp c trng thi ch hoc khng cn trng thi no c th tip
tc c na. Khi p dng cc phng php tm kim trong khng gian trng
thi , ngi ta thng quan tm n cc vn sau:
- K thut tm kim li gii
- Phng php lun ca vic tm kim
- Cch th hin cc nt trong qu trnh tm kim (m t trng thi bi ton)
- Vic chn cc ton t chuyn trng thi no p dung v c kh nng s
dng .phng php may ri trong qu trnh tm kim.
Tuy nhin, khng phi cc phng php ny c th p dng cho tt c cc bi
ton phc tp m cho tng lp bi ton. Vic chn chin lc tm kim cho bi
ton c th ph thuc nhiu vo cc c trng ca bi ton.
Cc th tc tm kim in hnh bao gm:
- Tm kim theo chiu rng (Breadth First Search)
- Tm kim theo chiu su (Depth First Search)
- Tm kim su dn (Depthwise Search)
- Tm kim cc tiu ho gi thnh (Cost minimization Search).
- Tm kim vi tri thc b sung (Heuristic Search).
1. Phng php tm kim theo chiu rng.
1.1. K thut tm kim rng.
K thut tm kim rng l tm kim trn tt c cc nt ca mt mc trong
khng gian bi ton trc khi chuyn sang cc nt ca mc tip theo.
24
K thut tm kim rng bt u t mc th nht ca khng gian bi ton,
theo hng dn ca lut trng ti, chng hn i t tri sang phi. Nu
khng thy li gii ti mc ny, n chuyn xung mc sau tip tc
n khi nh v c li gii nu c.
1.2. Gii thut.
Input:
Cy/ th G = (V,E) vi nh gc l n
0
(trng thi u)
Tp ch Goals
Output:
Mt ng i p t n
0
n mt nh n
*
e Goals
Method:
S dng hai danh sch hot ng theo nguyn tc FIFO (queue) MO v
DONG
Procedure BrFS; (Breadth First Search)
Begin
Append(MO,n
o
)
DONG=null;
While MO <> null do
begin
n:= Take(MO);
if neDICH then exit;
Append(DONG, n);
For me T(n) and meDONG+MO do
Append(MO, m);
end;
Write (Khng c li gii);
End;
25
Ch : Th tc Append(MO,n
0
) b sung mt phn t vo queue MO.
Hm Take(MO) ly mt phn t trong queue MO.
- Nu G l cy th khng cn dng danh sch DONG.
1.3. nh gi phc tp ca gii thut tm kim rng.
Gi s rng, mi trng thi khi c xt s sinh ra k trng thi k tip. Khi
ta gi k l nhn t nhnh. Nu bi ton tm c nghim theo phng php
tm kim rng c di d. Nh vy, nh ch s nm mc d+1, do s nh
cn xt ln nht l:
1 + k + k
2
+ . . . + k
d
.
Nh vy phc tp thi gian ca gii thut l O(k
d
). phc tp khng
gian cng l O(k
d
), v tt c cc nh ca cy tm kim mc d+1 u phi lu
vo danh sch.
1.4. u v nhc im ca phng php tm kim rng.
1.4.1. u im.
- K thut tm kim rng l k thut vt cn khng gian trng thi bi ton
v vy s tm c li gii nu c.
- ng i tm c i qua t nh nht.
1.4.2. Nhc im.
- Tm kim li gii theo thut ton nh trc, do vy tm kim mt cch
my mc; khi khng c thng tin h tr cho qu trnh tm kim, khng
nhn ra ngay li gii.
- Khng ph hp vi khng gian bi on kch thc ln. i vi loi bi
ton ny, phng php tm rng i mt vi cc nhu cu:
- Cn nhiu b nh theo s nt cn lu tr.
- Cn nhiu cng sc x l cc nt, nht l khi cc nhnh cy di, s nt
tng.
- D thc hin cc thao tc khng thch hp, tha, a n vic tng
ng k s nt phi x l.
26
- Khng hiu qa nu li gii su. Phng php ny khng ph hp cho
trng hp c nhiu ng dn n kt qu nhng u su.
- Giao tip vi ngi dng khng thn thin. Do duyt qua tt c cc nt,
vic tm kim khng tp trung vo mt ch .
1.5. Cc v d.
V d 1. Bi ton ong nc vi m = 5, n= 4, k =3
Mc 1: Trng thi u (0;0)
Mc 2: Cc trng thi (5;0), (0;4), Mc 3: (5;4), (1;4), (4,0)
Mc 4: (1;0), (4;4) Mc 5: (0;1), (5;3)
mc 5 ta gp trng thi ch l (5;3) v vy c c li gii nh sau:
(0;0) (0;4) (4;0) (4;4) (5;3)
c c li gii ny ta phi lu li vt ca ng i, c th trnh by qu
trnh tm kim di dng bng sau:
i T(i)
|MO +
DONG
(0;0)
(0;0)
(5;0) (0;4) (5;0) (0;4) (0;0)
(5;0) (5;4) (0;0) (1;4) (0;4) (5;4)
(1;4)
(0;0) (5;0)
(0;4) (5;4) (0;0) (4;0) (5;4) (1;4)
(4;0)
(0;0) (5;0) (0;4)
(5;4) (0;4) (5;0) (1;4) (4;0) (0;0) (5;0) (0;4) (5;4)
(1;4) (5;4) (0;4) (1;0)
(5;0)
(4;0) (1;0) (0;0) (5;0) (0;4) (5;4) (1;4)
(4;0) (5;0) (4;4) (0;0)
(0;4)
(1;0) (4;4) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)
(1;0) (5;0) (1;4) (0;1) (4;4) (0;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)
(1;0)
(4;4) (5;4) (0;4) (4;0)
(5;3)
(0;1) (5;3) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)
(1;0) (4;4)
(0;1) (5;1) (0;4) (0;0)
(1;0)
(5;3) (5;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)
(1;0) (0;1)
(5;3)
27
V d 2. Bi ton tr chi 8 s
Bng xut pht
2 8 3
1 6 4
7 5
Bng kt thc
1 2 3
8 4
7 6 5
Mc 1: C mt trng thi
2 8 3
1 6 4
7 5
Mc 2: C ba trng thi
2 8 3 2 8 3 2 8 3
1 4 1 6 4 1 6 4
7 6 5 7 5 7 5
Mc 3: C nm trng thi
2 8 3 2 8 3 2 3
1 4 1 4 1 8 4
7 6 5 7 6 5 7 6 5
2 8 3 2 8 3
6 4 1 6
1 7 5 7 5 4
28
Mc 4: C mi trng thi
8 3 2 8 3
2 1 4 7 1 4
7 6 5 6 5
2 8 2 8 3
1 4 3 1 4 5
1 7 5 7 6
2 3 2 3
1 8 4 1 8 4
7 6 5 7 6 5
8 3 2 8 3
2 6 4 6 4
1 7 5 1 7 5
2 8 2 8 3
1 6 3 1 6 4
7 5 4 7 5
Mc 6: C 12 trng thi
1 2 3 2 3 4
8 4 1 8
7 6 5 7 6 5
29
8 3 2 8 3
2 1 4 7 1 4
7 6 5 6 5
2 8 2 8 3
1 4 3 1 4 5
7 6 5 7 6
8 3 2 3
2 6 4 6 8 4
1 7 5 1 7 5
2 8 3 2 8
6 7 4 1 6 3
1 5 7 5 4
2 3 2 8 3
1 8 3 1 5 6
7 5 4 7 4
Mc 6: C 24 trng thi
1 2 3 1 2 3
8 4 7 8 4
7 6 5 6 5
. . .
30
mc ny ta gp c trng thi ch.
1 2 3
8 4
7 6 5
2. Phng php tm kim theo chiu su.
2.1. K thut tm kim su.
Tm kim su trong khng gian bi ton c bt u t mt nt ri tip
tc cho n khi hoc n ng ct hoc n ch. Ti mi nt c lut trong ti,
chng hn, i theo nt cc tri, hng dn vic tm. Nu khng i tip oc,
gi l n ng ct, h thng quay li mt mc trn th v tm theo hng
khc, chng hn, n nt st nt cc tri. Hnh ng ny gi l quay lui.
Thut ton tm kim theo chiu su c hnh dung nh vic kho st mt
cy bt u t gc i theo mi cnh c th c, khi gp cnh ct th quay li
xt cnh cha i qua.
- bc tng qut, gi s ang xt nh i, khi cc nh k vi i c cc
trng hp:
+ Nu tn ti nh j k i cha c xt th xt nh ny (n tr
thnh nh xt) v bt u t tip tc qu trnh tm kim vi nh
ny..
+ Nu vi mi nh k vi i u c xt th i coi nh duyt
xong v quay tr li tm kim t nh m t ta i n c i.
2.2. Gii thut.
Input:
Cy/ th G = (V,E) vi nh gc l n
0
(trng thi u)
Tp ch Goals
Output:
Mt ng i p t n
0
n mt nh n
*
e Goals
31
Method:
S dng hai danh sch hot ng theo nguyn tc LIFO (Stack) MO v
DONG
Procedure DFS; (Depth First Search)
Begin
Push (MO,n
o
)
DONG=null;
While MO <> null do
begin
n:=pop (MO);
if neDICH then exit;
push (DONG, n);
For me T(n) and meDONG+MO do
Push (MO, m);
end;
Write (Khng c li gii);
End;
Ch : Th tc Push(MO,n
0
) thc hin vic b sung n
0
vo stack MO
Hm Pop(MO) ly phn t u tin trong Stack MO.
2.3. nh gi phc tp ca thut ton tm kim su.
Gi s nghim ca bi ton l ng i c di d, cy tm kim c nhn
t nhnh l k. C th xy ra nghim l nh cui cng c xt mc d+1 theo
lut trng ti. Khi phc tp thi gian ca thut ton tm kim theo chiu
su trong trng hp xu nht l O(k
d
).
nh gi phc tp khng gian ca thut ton tm kim su ta c
nhn xt rng: Khi xt nh j, ta ch cn lu cc nh cha c xt m chng l
nhng nh con ca nhng nh nm trn ng i t nh gc n j. V vy ch
cn lu ti a la k*d. Do phc tp khng gian ca thut ton l O(k*d).
32
2.4. u v nhc im ca phng php tm kim su.
2.4.1. u im.
- Nu bi ton c li gii, phng php tm kim su bo m tm ra li gii.
- K thut tm kim su tp trung vo ch, con ngi cm thy hi lng khi
cc cu hi tp trung vo vn chnh.
- Do cch tm ca k thut ny, nu li gii rt su, k thut tm su s tit
kim thi gian.
2.4.2. Nhc im.
- Tm su khai thc khng gian bi ton tm li gii theo thut ton n
gin mt cch cng nhc. Trong qu trnh tm n khng c thng tin no h
tr pht hin li gii. Nu chn nt ban u khng thch hp c th khng
dn n ch ca bi ton.
- Khng ph hp vi khng gian bi ton ln, k thut tm kim su c th
khng n li gii trong khong thi gian va phi.
2.5. Cc v d.
V d 1. Bi ton ong nc vi m = 5, n = 4, k = 3
Nu ta chn nhnh u tin y bnh th hai th s tm thy li gii rt nhanh.
Qu trnh tm kim c th trnh by bng bng di y
i T(i)
MO +|
DONG
(0;0)
(0;0) (5;0) (0;4) (5;0) (0;4) (0;0)
(0;4) (5;4) (0;0) (4;0) (5;0) (5;4)
(4;0)
(0;0) (0;4)
(4;0) (5;0) (4;4) (0;0)
(0;4)
(5;0) (5;4)
(4;4)
(0;0) (0;4) (4;0)
(4;4)
(5;4) (0;4) (4;0)
(5;3)
(5;0) (5;4)
(5;3)
(0;0) (0;4) (4;0) (4;4)
(5;3)
33
Li gii tm c: (0;0) (0;4) (4;0) (4;4) (5;3)
V d 2. Bi ton Thp H ni vi n = 3.
Nhc li, dng b ba (x
1
; x
2
; x
3
) biu din trng thi bi ton, vi x
i
l cc cha
a ln th i.
i T(i)
MO +|
DONG
(1;1;1)
(1;1;1) (1;1;2) (1;1;3) (1;1;2) (1;1;3) (1;1;1)
(1;1;3) (1;1;1)(1;1;2)
(1;2;3)
(1;1;2)(1;2;3) (1;1;1)(1;1;3)
(1;2;3) (1;1;3) (1;2;1)
(1;2;2)
(1;1;2)(1;2;1)(1;2;2) (1;1;1)(1;1;3)(1;2;3)
(1;2;2) (1;2;3) (1;2;1)
(3;2;2)
(1;1;2)(1;2;1)(3;2;2) (1;1;1)(1;1;3)(1;2;3)(1;2;2)
(3;2;2) (1;2;2) (3;2;3)
(3;2;1)
(1;1;2)(1;2;1)(3;2;1) (1;1;1)(1;1;3)(1;2;3)(1;2;2)
(3;2;2)
(3;2;1) (3;2;2) (3;2;3)
(3;3;1)
(1;1;2)(1;2;1)(3;3;1) (1;1;1)(1;1;3)(1;2;3)(1;2;2)
(3;2;2) (3;2;1)
(3;3;1) (3;2;1) (3;3;2)
(3;3;3)
(1;1;2)(1;2;1)(3;3;3) (1;1;1)(1;1;3)(1;2;3)(1;2;2)
(3;2;2) (3;2;1) (3;3;3)
(3;3;3)
Li gii ca bi ton:
(1;1;1) (1;1;3) (1;2;3) (1;2;2) (3;2;2) (3;2;1) (3;3;1) (3;3;3)
- C hai v d trn, chng ta u thy, tm kim theo chiu su u cho li gii
tt v nhanh.
V d 3. Bi ton tm dy hp l vi s hng u a
1
= 26
Nhc li: Dy a
1
, a
2
, ,a
n
c gi l hp l nu tho hai iu kin:
34
- a
n
l s nguyn t
- a
k+1
= a
k
+1 hoc 2*a
k
Nh vy, khi bit a
k
th ta xc nh c a
k+1
. V vy c th m t trng thi bi
ton tng ng vi gi trj a
k
ti thi im ang xt. Ta c th ch ra mt cch
tm kim theo chiu su nh sau
I T(i)
MO +|
DONG
26
26 27 52 27 52 26
52 53 104 27 53 104 26 52
104 105 208 27 53 105 208 26 52 104
208 209 416 27 53 105 209 416 26 52 104 208
. . .
Vi cch tm kim theo theo thut ton mt cch my mc nh vy th r rng
khng bao gi t c ch. Trong khi chng ta d dng nhn c li gii,
chng hn:
a
1
= 26; a
2
= 52; a
3
= 53. Nh vy n =3
3. Tm kim su dn
3.1. K thut tm kim su dn.
K thut tm kim su dn l thc hin vic tm kim vi su mc
gii hn d no . Nu khng tm ra nghim ta tng su ln d+1 v li tm
kim theo su ti mc d+1. Qu trnh trn c lp li vi d ln lt l 1,
2,...n su max no .
K thut tm kim su dn thng c thc hin khi cy tm kim cha
nhnh v hn, v nu s dng tm kim theo su ta c th mc kt mt
nhnh no (thut ton khng dng) v khng tm ra nghim.
n
0
D
35
3.2. Gii thut.
Thut ton tm kim su dn s dng thut ton tm kim su hn ch nh
th tc con. l th tc tm kim theo chiu su nhng ch ti su d no
ri quay ln.
Th tc tm kim su hn ch (depth_limitedsearch)
Procedure Depth_limited_search(d); {d l tham s su}
Begin
Push (MO,n
o
);
Depth(n
0
)=0; {hm depth ghi li su mi
nh}
DONG=null;
While MO <> null do
begin
n:=pop (MO);
if neDICH then exit;
push (DONG, n);
if depth(n)<=d then
For me T(n) and meDONG do
begin
Push (MO, m);
depth(m)=depth(n)+1;
end;
end;
Write (Khng c li gii);
End
Thut ton tm kim su dn (Depth_deepening_search) s s dng th tc tm
kim su hn ch nh th tc con:
36
Procedure Depth_deepening_search;
Begin
For d:=0 to max do
Depth_limited_search(d);
If thnh cng then exit;
End;
3.3. Nhn xt.
- Lun tm ra nghim (nu bi ton c nghim), min l chn max
ln (ging nh tm kim theo chiu rng)
- C phc tp thi gian l O(k
d
) (ging tm kim rng)
- C phc tp khng gian l O(k*d) (ging tm kim su)
- Gii thut tm kim su dn thng p dng cho cc bi ton c khng
gian trng thi ln v su ca nghim khng bit trc.
4. Phng php tm kim tt nht u tin (Best First Search).
C hai k thut tm kim rng v tm kim su u l phng php c bn
khai thc khng gian bi ton. Chng u vt cn khng gian tm ra li
gii theo th tc xc nh trc. Mc d c s dng tri thc v trng thi ca bi
ton hng dn tm kim nhng khng ph bin. Cho d c mt s u im,
nhng chng l nhng k thut thc hin mt cch my mc. Chnh v vy
chng b gn tn l k thut tm kim m.
4.1. K thut tm kim tt nht u tin.
K thut tm kim tt nht u tin tm li gii c dng tri thc v bi
ton hng dn. Tri thc ny hng vic tm kim v nt li gii trong khng
gian bi ton.
Ti mi nt c xem xt, ngi ta s quyt nh vic tm kim tip tc
theo nhnh no tin tng s dn n li gii.
Trong cc chng trnh tr tu nhn to, k thut tm kim tt nht u
tin s dng hm nh gi. Hm ny dng cc thng tin hin ti v mc quan
trng ca bi ton ti nt gn gi tr cho nt ny, gi l trng s ca nt.
37
Gi tr ny c xem xt trong lc tm kim. Thng thng, nt c trng s nh
(ln) nht s c chn trong qu trnh tm kim.
4.2. Hmnh gi
Trong nhiu vn , ta c th s dng kinh nghim, tri thc ca chng ta
v vn nh gi cc trng thi ca vn .
Vi mi trng thi u, ta s xc dnh mt gi tr s h(u), s ny nh gi
s gn ch ca trng thi u. Hm h(u) c gi l hmnh gi.
Phng php tm kim kinh nghim l phng php tm kim c s dng
n hm nh gi. Trong qu trnh tm kim, ti mi bc ta s chn trng thi
k tip l trng thi c nhiu ha hn dn ti ch nhiu nht.
Qu trnh tm kim trong khng gian trng thi c s dng hm nh gi
bao gm cc bc c bn sau:
- Biu din thch hp cc trng thi v cc ton t chuyn trng thi
- Xy dng hm nh gi
- Thit k chin lc chn trng thi mi bc
4.3. u v nhc im ca phng php tm kim tt nht u tin.
4.3.1. u im.
- Phng php tm kim tt nht u tin t hp cc u im ca phng
php tm kim rng v tm kim su.
- u im ch yu ca phng php tm kim tt nht u tin l dng tri
thc dn dt vic tm kim. Tri thc ny gip ngi ta bt u t u l tt
nht v cch tt nht tin hnh tm li gii.
- Tm kim tt nht u tin tun theo cch suy l ca mt chuyn gia. Do
c th thy r ng i hn tm kim rng v tm kim su.
4.3.2. Nhc im.
- Qu trnh tm kim c th i xa khi li gii. K thut ny ch xt mt
phn ca khng gian v coi l phn ha hn hn c.
38
4.4. Gii thut.
D liu tng t nh gii thut tm kim rng v su, s dng danh sch
MO lu cc nh s xt.
Procedure BFS; {Best First Search}
Begin
Push(MO,n
0
);
while MO <> null do
begin
i := Pop(MO);
if i eGoals then
exit;
for j eT(i) do
Push(MO,j);
Sort(MO); {theo th t ca hm nh gi}
end;
write(Khong co loi giai);
end;
4.5. Cc v d.
V d 1 Trong bi ton tm kim ng i trn bn giao thng, ta c th ly
di ca ng chim bay t mt thnh ph ang xt ti mt thnh ph ch
lm gi tr ca hm nh gi ca thnh ph ang xt.
V d 2 Bi ton 8 s. Chng ta c th a ra hai cch nh gi
u = ch =
- Hm h
1
: Vi mi trng thi u th h
1
(u) l s qun khng nm ng v tr
ca n trong trng thi ch.
Vi v d trn, ta c h
1
(u)=4
3 2 8
6 4
7 1 5
1 2 3
8 4
7 6 5
39
- Hm h
2
: Gi h
2
(u) l l tng khong cch gia v tr ca cc qun trong
trng thi u v v tr ca n trong trng thi ch. y, khong cch c hiu
l s ln dch chuyn t nht theo hng hoc ct a mt qun v tr ca
hin ti ti trng thi ch.
Vi v d trn, ta c:h
2
(u)=2+3+1+3= 9 (v qun 3 cn t nht 2 dch
chuyn, qun 8 cn t nht 3 dch chuyn, qun 6 cn t nht 1 dch chuyn v
qun 1 cn t nht 3 dch chuyn)
5. Tm kim ng i c gi thnh cc tiu - Thut ton AT
Cho th G= (V, E) biu din bi ton vi nh xut pht n
0
v tp ch
DICH xc nh.
Vi mi php chuyn trng thi n
i
n
i+1
tn chi ph c(n
i
, n
i+1
) k hiu c(u)
vi u= (n
i
, ni
+1
)eE
c(u)
n
i
n
i+1
Vn :
Tm ng i p: n
0
n
*
e DICH sao cho min ) ( ) ( =

ep u
u c p c
Chng hn trong bi ton tm ng i trong bn giao thng, gi ca
cung (i,j) chnh l di ca ng ni thnh ph i vi thnh ph j. di
ng i c xc nh l tng di cc cung trn ng i. Vn t ra l
tm ng i ngn nht t trng thi ban u n trng thi ch.
- Phng php gii
1) Nu E u const k u c e = ) ( ) ( th min # min ) ( p p c Dng phng php
tm kim theo chiu rng.
2) Gi g(n) l gi ca ng i cc tiu t nh n
0
n n, khi bi ton c th
pht biu nh sau:
Tmng i t nh DICH n n
k
e
0
sao cho: { } DICH n n g n g
k
e = / ) ( min ) (
Lc , ta c: 0 ) (
0
= n g
{ } ) , ( ) ( min ) (
) , (
m n c n g m g
E m n
+ =
e
40
Dng 2 danh sch MO, DONG nh trn. Ti mi thi im chn nh n
trong MO ra xt l nh tho.
- Thut ton AT
Input:
th G = (V,E), nh xut pht n
0
Hm chi ph c: E R
+
c(i,j): xc nh chi ph chuyn t nh i sang nh j vi (i,j) eE
Tp cc nh ch DICH
Output:
ng i t nh n
0
n nh n
*
e DICH sao cho g(n
*
) = c(p) = min{g(n)|
neDICH}.
Procedure AT;
{ Dng g
0
(n) l chi ph cc tiu ca ng i t nh xut pht n nh n ti
thi im ang xt v xem nh hm g}
Begin
g(n
0
):= 0;
push(MO, n
0
);
While MO<>null do
begin
) ( min : ) ( m g n g
MO me
=
if neDICH then
exit {xay dung duong di cuc tieu}
push(DONG, n);
if T(n) <>null then
for meT(n) do
if meMO+DONG then
begin
push(MO,m);
41
g(m):=g(n)+c(n,m);
cha(m):=n;
end
else
if g(m) >g(n)+c(n,m) then
begin
g(m):=g(n)+c(n,m);
cha(m):=n;
end;
end;
writeln(Khong co duong di);
End;
V d 1. Bi ton Thp H Ni -vi chi ph chuyn a nh sau:
Chi ph chuyn a nh gia 2 cc gn 1
Chi ph chuyn a nh gia 2 cc xa 3
Chi ph chuyn a va gia 2 cc gn 2
Chi ph chuyn a va gia 2 cc xa 5
Chi ph chuyn a ln gia 2 cc gn 4
Chi ph chuyn a ln gia 2 cc xa 8
Xut pht t nh (1,1,1), ta c g(1,1,1) = 0.
Khi xt nh (1,1,1) ta c cc nh k v chi ph tng ng :
g(1,1,2) = 1; g(1,1,3) = 3; nh vy nh (1,1,2) c chn
Cc nh k ca (1,1,2) c gi tr hm g:
g(1,1,3) = 2 ( y gi ca nh (1,1,3) c tnh li); g(1,3,2) = 5; chn
nh (1,1,3), ta li tnh tip gi tr hm g ca cc nh k vi nh ny:
g(1,2,3) = 2; li chn nh (1,2,3); chi ph ca cc nh k vi n:
g(1,2,1) = 2 + 3 = 5; g(1,2,2) = 2 + 1 = 3; chn nh (1,2,2)
g(1,2,1) = 3 +1 = 4 (c tnh li); g(3,2,2) = 3 + 8 = 11, chn nh
(1,2,1)
42
C tip tc nh vy cho n khi xt nh (3,3,3).
V d 2
A
n
0
=A
DICH={F,K} B C D
E F G H I
K
C th trnh by qu trnh tm kim bng bng di y. K hiu gi tr g(n) l
ch s di tng ng nh n: n
g(n)
i T(i) MO DONG
A
0
A B C D B
8
C
4
D
5
A
C G B
8
D
5
G
5
A C
D H I B
8
G
5
H
14
I
6
A C D
G B
8
H
14
I
6
A C D G
I K B
8
H
14
K
8
A C D G
B E F H
14
K
8
E
10
F
11
A C D G B
K
Li gii ca bi ton l A D I K v chi ph ca ng i tm c l 8
V d 3.
n
0
= A; DICH = {G}
A
B C
D
E G
F
8
2
5
4
8
3 1
9
1
2
5
1
7 4
4
8
3
6
3
2
9
5
43
i T(i) MO DONG
A
0
A B C D B
5
C
3
D
6
A
C A B E F D B
4
D
6
E
7
F
11
A C
B A C E D
6
E
7
F
11
A C B
D A C F G E
7
F
9
G
15
A C B D
E B C F F
9
G
15
A C B D E
F C D E G G
14
A C B D E F
G
ng i tm c p: A D F G. Chi ph ca ng i l 14.
6. Tm kim cc tiu s dng hmnh gi - Thut ton A
*
i vi nhiu bi ton, vic tm kim ng i cc tiu s c nh
hng tp trung xung quanh ng i tt nht; nu s dng cc thng tin c t
v bi ton gi l cc heuristic.
i vi vic tm kim ng i vi chi ph cc tiu, ngi ta s dng
hmnh gi heuristic nh sau:
Gi g(n): gi cc tiu ng i t n
0
n. Ti nh n, g(n) xc nh c.
Gi h(n): gi cc tiu ng i t nDICH, h(n) khng xc nh c
ngi ta tm cch c lng gi tr ny.
t f
0
(n)=g
0
(n)+h
0
(n): d on chi ph cc tiu ca ng i t
n
0
DICH c i qua nh n.
g
0
(n) l chi ph ca ng i t nh xut pht n nh n ti thi im
ang xt. h
0
(n) l c lng (d on) chi ph ng i t nh n n ch. Vic
chn gi tr xp x h
0
(n) ca h(n) khng c mt phng php tng qut v c
xem nh mt ngh thut. Gi tr ny s do cc chuyn gia a ra.
Lc ny gii thut tm kim cc tiu s thay vic xt hm g bi hm f.
Tuy nhin, ngi ta cng chng minh c 2 kt qu nh sau:
44
Kt qu 1: Nu h
0
(n) c tnh cht: n n h n h s s ) ( ) ( 0
0
v E u u c e > 0 ) ( th th
tc TKCT s dng hm f
0
(n) chn phn t trong MO ra xt (thay g(n)) s cho
ng i t n
0
n
*
eDICH sao cho ) ( min ) (
*
n g n g
DICH ne
=
Kt qu 2: Gi s dng 2 hm c lng
0
1
h v
0
2
h tho tnh cht:
) , ( ) ( ) (
0
2
0
2
n m h n h m h s (gi cc tiu ca ng i t mn) v
) ( ) ( ) ( 0 ,
0
2
0
1
n h n h n h N n s s s e . Khi #DONG
2
s #DONG
1
Nhn xt:
h h
0
phng n tt nht
0
0
h phng n ti nht
Thut ton A
*
Input:
th G = (V,E), nh xut pht n
0
Hm chi ph c: E R
+
c(i,j): xc nh chi ph chuyn t nh i sang nh j vi (i,j) eE
h: V R
+
; h(n) xc nh d on chi ph ti u ca ng i t nh n
n ch. (k hiu h thay cho h
0
, (tng t g))
Tp cc nh ch DICH
Output:
ng i t nh n
0
n nh n
*
e DICH
Procedure A
*
;
Begin
g(n
0
):= 0;
push(MO, n
0
);
While MO<>null do
begin
) ( min : ) ( m f n f
MO me
=
if neDICH then
45
exit {xay dung duong di cuc tieu}
push(DONG, n);
if T(n) <>null then
for meT(n) do
if meMO+DONG then
begin
push(MO,m);
tnh f(m);
cha(m):=n;
end
else
if f
mi
(m) > f
c
(n) then
begin
f(m):= f
mi
(m);
cha(m):=n;
end;
end;
writeln(Khong co duong di);
End;
V d 1. Cho th biu din bi ton v gi tr d on h
0
nh sau:
n A B C D E F G H
h
0
(n) 14 10 10 5 5 4 4 0
A
B D
C
E
F
G
H
5
3
7
4
2
6
5
3
2
3
12
7
46
Tm ng i t nh A n nh H.
Trc tin nh A c a vo danh sch MO
g(A) = 0; h(A) = 14; f(A) = 14
Xt nh A, (a A vo danh sch DONG) ta c cc nh k B, C, D:
g(B) = 5; f(B) = 15; g(C) = 3; f(C) = 13; g(D) = 7; f(D) = 12 chn nh D.
Xt nh D (a D vo danh sch DONG) c cc nh k A, C, E. nh A
trong danh sch DONG, ta tnh li f(C) v tnh f(E):
f(C) khng thay i; f(E) = g(D) +c(D,E) + H(E) = 7 + 6 + 5 = 18; f(E) = 18,
chn nh C, c cc nh k A, D, E. Tnh li f(E) = 12, chn E. Cc nh k ca
E l C, D, F, G. Tnh f(F) = 14; f(G) = 16, chn F. Cc nh k ca F l E, G, B
v f(B), f(E), f(G) khng i, chn B. Cc nh k ca B l F, H. f(H) = 17,
chn G. Tnh li f(H) = 15 v dng.
ng i tm c l p: A C E G H vi chi ph ng i l 15
7. Phng php tm kim leo i (hill-climbing search)
7.1. K thut tm kim leo i.
Tm kim leo i l tm kim theo su c hng dn bi hm nh
gi. Song khc vi tm kim theo su, khi pht trin mt nh u th bc tip
theo ta chn trong s cc nh con ca u, nh c ha hn nhiu nht pht
trin, nh ny c xc nh bi hm nh gi.
7.2. Gii thut.
Input:
th G = (V,E), nh xut pht n
0
.
Hmnh gi h(n) i vi mi nh n.
Tp nh ch DICH
Output:
ng i t nh n
0
n DICH
Procedure HLC; {Hill Climbing Search}
begin
Push(MO,n
0
);
47
while MO <> null do
begin
i = Pop(MO);
if T(i) DICH <> null then
begin
L:= null;
for j e T(i) do
if j cha xt then
a j vo danh sch L
sp xp L theo th t hm nh gi;
chuyn danh sch L vo u danh sch MO;
end;
write(Khong co loi giai);
end;
7.3. Nhn xt.
Phng php tm kim leo i ch trng tm hng i d dn n trng
thi ch nht. Cch c a ra nhm lm gim cng sc tm kim. Thut
ton tm kim leo i thc cht l thut ton tm kim theo chiu su, song ti
mi bc ta s u tin chn mt trng thi c ha hn nhanh ti ich nht
pht trin trc. Vn quan trng l bit khai thc kheo lo thng tin phn hi
xc nh hng i tip v y nhnah qu trnh tm kim. Thng thng ta gn
mi trng thi ca bi ton vi mt s o (hm nh gi) no nhm nh gi
mc gn ch ca n. iu c ngha l nu trng thi hin thi l u th
trng thi v s c pht trin tip theo nu v k vi u v hm anh gi ca v t
gi tr max (hoc min).
Tuy nhin phng php ny khng c ci thin so vi cc phng php
khc trong mt s trng hp sau:
48
- Cc tr a phng: nt ang xt tt hn cc nt ln cn, nhng
khng phi l phng n tt nht trong ton th, v vy c th phi
quay lui v nt trc i theo hng khc. Gii php ny i hi ghi
nh li nhiu ng i.
- Cao nguyn bng phng: Cc gi tr ca cc phng n nh nhau,
khng xc nh c ngay hng no l tt hn trong vng ln cn.
7.4. Cc v d.
V d 1. Bi ton tr chi 8 s.
2 8 3 1 2 3
trng thi u 1 6 4 trng thi ch 8 4
7 5 7 6 5
Trong bi ton ny ta s dng hm nh gi, k hiu l h vi ngha: h(u)
cho bit s cc ch s trong trng thi u khng trng vi v tr c n trong trng
thi ch. Trng thi c tim nng dn n ch nhanh nht (c u tin pht
trin trc) l trng thi c hm nh gi h t gi tr min..
Minh ho cy tm kim cho tr chi ny theo gii thut leo i trang sau
Trng thi c chn i tip hng mi tn. mc 3 chng ta thy c
hai trng thi cng gi tr hm nh gi (= 3). y l trng hp cao nguyn
bng phng nh nhn xt trn, nu ta chn phng n kia th chc chn qu
trnh tm kim s khc i nhiu. Trng hp ny dnh cho c gi.
49
2 8 3
1 6 4
7 5
h(u) = 4
2 8 3 2 8 3 2 8 3
1 6 4 1 4 1 6 4
7 5 7 6 5 7 5
h(u) = 5 h(u) = 3 h(u) = 5
2 8 3 2 3 2 8 3
1 4 1 8 4 1 4
7 6 5 7 6 5 7 6 5
h(u) = 3 h(u) = 3 h(u) = 4
2 3 2 3
1 8 4 1 8 4
7 6 5 7 6 5
h(u) = 2 h(u) = 4
1 2 3
8 4
7 6 5
h(u) = 1
1 2 3
1 4
7 5
8. Phng php sinh v th.
Chin lc ny n gin, gm ba bc:
- Trc ht to ra mt gii php. Trong vi bi ton c th l vic
chn mt li gii trong khng gian cc li gii hay to ra mt ng i.
50
- Th hai, th xem li gii c thch hp khng bng cch so snh
phng n khc hay so sanh vi im cui cn suy din.
- Tip theo, nu li gii t c th dng, ngc li, lp li t bc u
vi nt khc.
Vi phng php ny nu bi ton c lli gii th s a n ch. Tuy
nhin kch thc bi ton ln s tng khi lng tnh ton. Vic to li gii ban
u c th thc hin ngu nhin, v cng hy vng ngu nhin m t c li
gii, bi vy, khng th khng tnh n ch mt vi hng i c cm nhn l
tt, v loi tr trc cc hng khng dn n li gii.
V d1. Tm s c 6 ch s m tng bnh phng cc ch s chia ht cho 3.
Giai on sinh: to ra s c 6 ch s v ta gi cc ch s t tri qua phi
ln lt l a, b, c, d, e, f th 0 < a <= 9 , 0 <= b, c, d, e, f <= 9.
Giai on th: nu a*a + b*b + c*c + d*d + e*e + f*f chia ht cho 3 th
chon, ngc li, to ra s khc.
V d 2. Mt xu nh phn c gi l tha nu trong xu khng c hai ch s 1
ng k nhau. Tm xu nh phn tha c chiu di n.
Giai on sinh: To ra mt xu nh phn S c chiu di n.
Giai on th: Kim tra c phi xu tha khng? (Pos(11,S) = 0).
Trong hai v d trn, sinh vin c th lp trnh tm tt c cc li gii
ca bi ton, chng hain tm tt c cc xu nh phn tha c chiu di n cho
trc.
V d 3. Mt bnh nhn c mt vi triu chng, chng hn: st cao v bui
chiu, ho v mt mi ,. Bc s c chn on nghi b lao phi, ngi ta s cho
lm ngay xt nghim, nu ng l dng tnh th kt lun v iu tr bnh lao
phi, ngc lai, bt buc bc s phi chuyn hng suy ngh sang mt bnh
khc, v.v
51
9. Phng php tho mn rng buc.
Phng php tho mn rng buc h tr cho phng php sinh v th, khi ch
ti mt s rng buc p t ln cc nt trong khng gian bi ton. Mc ch t
ra l xc nh ng i trong th khng gian bi ton, ng i t trng thi
u n trng thi cui p ng mt vi rng buc no . Do vy qu trnh tm
kim li gii bao gm hai phn lin quan cht ch vi nhau:
- Tm kim trong khng gian cc rng buc.
- Tm kim trong khng gian cc bi ton ban u.
Ni dung ca phng php nh sau: Thc hin cc bc t a) n e) di
y cho n khi tm c li gii y ca bi ton hoc tt c cc ng u
duyt qua nhng khng cho kt qu.
a) Chn mt nh cha c xt trong th tm kim.
b) p dng cc lut suy din trn cc rng buc i vi nh chn
to ra tp cc rng buc mi.
c) Nu tp cc rng buc mi c mu thun th a ra thng bo ng
i hn thi ti nt ang xt dn ti b tc.
d) Nu tp rng buc m t li gii y ca bi ton th dng v a ra
thng bo thnh cng. Ngc lai, sang bc sau.
e) p dng cc lut bin i khng gian trng thi tng ng to ra li
gii b phn, tng hp vi tp cc rng buc hin thi. Thm cc li
gii b phn ny vo th tm kim.
V d. Xt bi ton in cc ch s phn bit thay cho cc ch ci S, E, N, D,
M, O, R, Y sao cho php cng sau l ng:
SEND
MORE
MONEY
Cc rng buc ban u:
- Cc ch ci khc nhau khng nhn cng mt gi tr.
- Cc rng buc s hc (cng c nh hoc khng c nh.
52
Gi C1, C2, C3, C4 ln lt l s nh ca cc ct t phi sang tri. Khi
ta xy dng cc rng buc c th nh sau:
E, N, D,O, R, Y thuc tp {0 ..9} (1)
S, M thuc tp {1..9} (2)
C1, C2, C3, C4 thuc tp {0,1} (3)
D + E = Y + 10*C1 (4)
N + R + C1 = E + 10*C2 (5)
E + O + C2 = N + 10*C3 (6)
S + M + C3 = O + 10*C4 (7)
M = C4 (8)
T rng buc (2) v (8) suy ra M = 1 v C4=1 (9)
T rng buc (7) v (9) suy ra S +C3 = O + 9, lc ny c hai phng n
la chn:
Phng n 1:
C3 = 0, khi ta c S = O + 9, nh vy S = 9 v O = 0 (10-1)
T rng buc (6) ta c E + C2 = N, suy ra C2 = 1 v
E + 1 = N (11-1)
T rng buc (5), ta c R + C1 = 9, nh vy R = 8 v C1 = 1 (12-1)
(do kt hp vi cc rng buc (2) v (10-1).
T rng buc (4) ta c D + E = Y +10. n bc ny ta c th khng nh
cc gi tr ca D, E, Y ch c th nhn trong tp {2, 3, 4, 5, 6, 7}. Ngoi ra D + E
>= 12. V vy ch c cc kh nng sau c th xy ra:
- D = 5 v E = 7
- D = 7 v E = 5 (hai trung hp ny Y = 2)
- D = 6 v E = 7
- D = 7 v E = 6 (hai trng hp sau Y = 3)
Xt kh nng th nht. T rng buc (11-1) ta suy ra N = 8 mu thun vi (12-
1) nn b loi
53
Xt kh nng th hai. T rng buc (11-1) ta suy ra N= 6. Kim tra iu kin bi
ton u tho mn. Vy ta c nghim l:
S = 9, E = 5, N= 6, D = 7, M= 1, O = 0, R = 8, Y = 2.
Xt kh nng th ba. T rng buc (11-1) suy ra N = 8 mu thun vi (12-1)
Xt kh nng th t. T rng buc (11-1) suy ra N=7 = D mu thun.
Phng n 2.
C3 = 1. T rng buc (7) ta c S = O + 8, suy ra S = 8 v O = 0 (10-2)
(v M=1 v S <= 9).
T rng buc (6) ta c E = N +10 mu thun vi rng buc (1). vy
phng n 2 khng c li gii.
10.Ci t mt s gii thut.
Mt s quy c:
- Gi s th G c cho bi ma trn k A.
- Cc danh sch MO v DONG c lu trong cng mt mng, vi cc
ch s ring.
- Mng logic Dau dng nh du cc nh xt (nm trong danh
sch DONG
10.1. Tm kim rng.
- Danh sch MO v DONG c lu trong mng Q, d v c l ch s ca
phn t u v cui ca queue Q.
- V = { 1..n}
- Th tc Duyet_rong(i) nh du tt c cc nh t i c th n c
nh .
Procedure Khoitao;
Begin
Fillchar (Dau, n, True);
End;
Procedure Duyet_rong (i:byte);
Var Q: array [1..100] of byte;
54
d, c, j, k: byte;
Begin
d:=1; {Khi to hng i rng }
c:=1;
Q[c]:= i;
Dau[i]:= false;
While d<=c do
begin
j:= Q[d];
inc(d);
for k:=1 to n do
if (A[j,k]=1) and Dau[k] then
begin
inc(c);
Q[c]:=k;
Dau[k]:=false;
end;
end;
End;
V d 1. Tm ng i t nh i
0
n nh j
0
ca th G.
D liu c lu vo file Text c cu trc nh sau:
- Dng u tin cha 3 s n, i
0
, j
0
(n l s nh ca th)
- n dng tip theo ln lt cha gi tr n dng ca ma trn A.
Tn file c nhp t bn phm khi thc hin chng trnh.
Gi tr ca mng Truoc t v tr j Truoc[j] xc nh nh ng trc j trong
ng i tm c.
Program uongdi;
Var
A: array[1..50,1..50] of byte;
55
Dau: array[1..50] of boolean;
Truoc: array[1..50] of byte;
n, i0, j0: byte;
Procedure khoitao;
Var
i, j : byte;
f:text;
tenfile:string;
Begin
write(ten file);
readln(tenfile);
assign(f, tenfile);
reset(f);
readln(f,n,i0,j0);
for i:=1 to n do
begin
for j:=1 to n do
read(f, A[i,j]);
readln(f);
end;
close(f);
Fillchar (Dau,n,true);
End;
Procedure BFS(i:byte);
Var
Q: array [1..50] of byte;
d,c,j,k: byte;
Begin
d:=1;
56
c:=1;
Q[c]:=i;
Dau[i]:=false;
Truoc[i] := 0;
While d<=c do
begin
j:=Q[d];
inc(d);
for k:=1 to n do
if (A[j,k]=1) and Dau[k] then
begin
inc(c) ;
Q[c]:=k;
Dau[k]:=false;
Truoc[k] := j;
end;
end;
End;
Procedure inkq(j: byte);
Begin
if Truoc[j] <> 0 then
inkq(truoc[j]);
write(j:4);
End;
Procedure Duyet;
Var i:byte;
Begin
BFS(i0);
if Dau[j0] then
57
inkq(j0)
else
writeln( Khong co duong di);
End;
BEGIN {main}
Khoitao;
Duyet;
Readln;
END.
V d 2. Tm s thnh phn lin thng ca mt th .
D liu c lu vo file Text c cu trc nh sau:
- Dng u tin cha s n (s nh ca th)
- n dng tip theo ln lt cha gi tr n dng ca ma trn A.
- Tn file c nhp t bn phm khi thc hin chng trnh.
Program lienthong;
Var
A: array[1..50,1..50] of byte;
Dau: array [1..50] of boolean;
n, So:byte;
Procedure khoitao;
Var
i, j : byte;
f:text;
tenfile:string;
Begin
write(ten file);
readln(tenfile);
assign(f, tenfile);
58
reset(f);
readln(f,n);
for i:=1 to n do
begin
for j:=1 to n do
read(f, A[i,j]);
readln(f);
end;
close(f);
Fillchar (Dau,n,true);
So:=0;
End;
Procedure BFS(i:byte);
Var
Q: array [1..50] of byte;
d,c,j,k: byte;
Begin
d:=1;
c:=1;
Q[c]:=i;
Dau[i]:=false;
While d<=c do
begin
j:=Q[d];
inc(d);
for k:=1 to n do
if (a[j,k]=1) and Dau[k] then
begin
inc(c) ;
59
Q[c]:=k;
Dau[k]:=false;
end;
end;
End;
Procedure Duyet;
Var
i:byte;
Begin
For i:=1 to n do
If Dau[i] then
begin
inc(So);
BFS (i);
end;
writeln(So thnh phn lin thng:, So);
End;
BEGIN {main}
Khoitao;
Duyet;
Readln;
END.
60
10.2. Tm kim su.
Vi gi thit nh duyt rng, do MO hot ng nh stack nn dng th
tc quy.
Procedure DFS (i:byte); {Depth First Search}
{Xut pht t nh i, nh du cc nh c xt khi tm kim theo chiu su}
Var
j: byte;
Begin
Dau[i]:=false;
For j:=1 to n do
If (a[i,j]=1) and Dau[j] then
DFS (j);
End;
V d 1. Tm ng i t nh i0 n nh j0.
Program Duong_di;
Var
A: array[1..50,1..50] of byte;
Truoc: array [1..50] of byte;
Dau: array [1..50] of boolean;
n, i0, j0: byte;
Procedure Khoitao;
Var
i, j : byte;
f:text;
tenfile:string;
Begin
write(ten file);
readln(tenfile);
61
assign(f, tenfile);
reset(f);
readln(f,n,i0,j0);
for i:=1 to n do
begin
for j:=1 to n do
read(f, a[i,j]);
readln(f);
end;
close(f);
Fillchar (Dau,n,true);
End;
Procedure DFS (i:byte);
Var
j: byte;
Begin
Dau[i]:=false;
For j:=1 to n do
If (a[i,j]=1) and Dau[j] then
DFS (j);
End;
Procedure inkq(j: byte);
Begin
if Truoc[j] <> 0 then
inkq(truoc[j]);
write(j:4);
End;
Procedure duyet;
62
Begin
DFS(i0);
if dau[j0] then
inkq(j0)
else
writeln(Khong co duong di);
End;
BEGIN {main}
Khoitao;
Duyet;
Readln;
END.
V d 2. Tm tt c hon v ca (1,2,...n)
Program hoanvi;
Var
A:array [1..50] of byte;
n:byte;
Dau: array [1..50] of boolean;
Procedure Khoitao;
Begin
write(n = );
readln(n);
Fillchar(Dau,n, true);
End;
63
Procedure DFS (i:byte);
Begin
if i<n then
for j:=1 to n do
if Dau[j] then
begin
A[i]:=j;
Dau[j]:=false;
DFS (j);
Dau[j]:=true;
end
else
begin
j:=1;
While not Dau[j] do
inc (j);
a[n]:=j;
begin
for j:=1 to n do
write (A[j]:4);
witeln;
end;
end;
End;
BEGIN {main}
Khoitao;
DFS (1);
Readln;
END.
64
10.3. Thut ton AT Tm kim cc tiu.
Gi thit d liu lu tr nh tm kim rng.
cp l mng chi ph ca th G.
th G c lu tr bi ma trn chi ph cp, trong cp[i,j] = Vocung c
ngha l khng c cung (i,j).
Procedure ddcuctieu;
Const
Vocung = 70000;
Var
A: array[1..50,1..50] of byte;
Truoc: array [1..50] of byte;
Dau: array [1..50] of boolean;
cp: array[1..50, 1..50] of word;
n, i0, j0: byte;
Procedure Khoitao;
Var
i, j : byte;
f:text;
tenfile:string;
Begin
write(ten file);
readln(tenfile);
assign(f, tenfile);
reset(f);
readln(f,n,i0,j0);
for i:=1 to n do
begin
65
for j:=1 to n do
read(f, cp[i,j]);
readln(f);
end;
close(f);
Fillchar (Dau,n,true);
End;
Procedure inkq(j: byte);
Begin
if Truoc[j] <> 0 then
inkq(truoc[j]);
write(j:4);
End;
Procedure Timkiem;
Begin
g[i0]:=0;
truoc[i0]:=0;
d:=1; c:=1;
Q[c]:=i0;
While d<=c do
begin
k:=d;
for l:=d+1 to c do
if g[q[l]]<g[q[k]] then
k:=l;
tam:=q[d];
q[d]:=q[k];
66
q[k]:=tam;
m:=q[d];
inc(d);
if m=j0 then
inkq(j0)
else
for l:=1 to n do
if (cp[m,l]< vocung) then
if dau[l] then
begin
inc(c);
q[c]:=l;
dau[l]:=false;
g[l]:=g[m]+cp[m,n];
truoc[l]:=m;
end
else
if g[l]>g[m]+cp[m,n] then
begin
g[l]:= g[m]+cp[m,n];
truoc[l]:=m;
end;
end;
End;
Begin
Khoitao;
Timkiem;
End;
67
10.4. Tm kim leo i.
Trong chng trnh ci t ny, chng ta quy c nu nh ang xt l
nh u, th nh k vi u c kh nng n ch nht l nh c khong cch
vi u ln nht.
Khi gii thut leo i c th trnh by li nh sau.
Leodoi(i,j): Thc hin gii thut leo i t nh i n nh j.
- Nu (i, j) eE : d=c[i,j], push(i,j,k), exit
- Nu (i,j) eE: Tm k sao cho c[i,k]=max {c[l,k]/ leT[i] and
dau[i,l]}:
Nu c (d=c[l,k]): dau[i,l]=false, push(i,j,d), Leodoi(k,j)
Ngc li (d=0): pop(k,j,d), leodoi(k,j)
D liu c thit k nh sau:
- Mng A lu danh sch cc cung ca th G
- S l stack lu danh sch cc nh s c xt v Top l nh ca S
- i0, j0 l nh xut pht v nh kt thc
- Ton b thng tin c lu trong file dng Text c cu trc nh sau:
dng u lu m (s cung ca th), i0, j0; m dng tip theo mi dng
cha thng tin ca mtcung th G (nh u, nh cui v di
cung).
Procedure Leodoi;
Type
cung = record
dau, cuoi: byte;
kc: word;
end;
Var
S, A: array[1..50] of cung;
B: array[1..50] of boolean;
68
m,i0,j0, Top: byte;
Procedure Khoitao;
Var
f: text;
l: byte;
d: word;
tenfile: string;
begin
write(Nhap ten file: );
readln(tenfile);
assign(f,tenfile);
reset(f);
readln(f,m,i0,j0);
for l:=1 to m do
with A[l] do
readln(f,dau, cuoi, kc);
fillchar(B, l, false);
Top:= 0;
end;
Procedure Pop( Var i,j: byte; var d: word);
{Ly mt bn ghi (i,j,d) t S}
begin
with S[Top] do
begin
i:= dau;
j:= cuoi;
d:= kc;
end;
69
dec(Top);
end;
Procedure TimKiem(i: byte; Var j: byte; var d: word);
{ Tm cung (i,j) c c[i,j] ln nht, nu c th d = c[i,j] v nh du cung i,j l
true, ngc li d = 0 }
Var
l,p: byte;
begin
d:=0;
for l:= 1 to m do
if (A[l].dau = i) and (A[l].kc > d) and not B[l] then
begin
j:= A[l].cuoi;
p:= l;
d:= A[l].kc;
end;
B[l]:= true;
end;
Function DenDich(i,j: byte; var d:word): boolean;
Var
l: byte;
begin
for l:= 1 to m do
if (A[l].dau = i) and (A[l].cuoi = j) then
begin
d:= A[l].kc;
DenDich:= true;
70
end
else
begin
DenDich:= false;
d:= 0;
end;
end;
Procedure Inkq(j:byte);
Var
d:word;
k: byte;
begin
d:=0;
for k:= 1 to Top do
begin
write(S[k].dau);
d:=d + S[k].kc;
end;
writeln(j);
writeln( Chi phi: ,d);
end;
Procedure Duongdi(i,j: byte);
Var
k,d: byte;
Begin
if Dendich(i,j) then
begin
71
push(i,j,d);
inkq(j);
exit;
end;
Timkiem(i,k,d);
if d > 0 then
begin
push(i,j,d);
duongdi(k,j);
end
else
if Top > 0 then
begin
pop(i,j,d);
duongdi(i,j);
end
else
writeln(Khong co duong di);
end;
Begin {leo doi}
Khoitao;
Duongdi(i0,j0);
end;
72
11. Bi tp.
Bi tp 1. Cho ma trn k A= (a
ij
) biu din mt th v hng G = (V,E)
di y:
trong a
ij
= nu (i,j)eE, ngc li a
ij
l chi ph i t nh i sang nh j.
a. Hy tm ng i t nh 1 sang nh 4 theo cc phng php tm kim rng
v tm kim su.
b. Tm ng i ngn nht t nh 1 sang nh 4
Li gii
- V th G c biu din bi ma trn k A trn
1
2
2
3
6
5
4
5
6
8
3
3 4
7
|
|
|
|
|
|
|
|
.
|

\
|




0 2 6 3
2 0 5 8
5 0 3
6 8 3 0 7
3 7 0 4
4 0
73
- Phng php duyt rng
n t(n)
|open +
close
1
2
3
6
4 edichdng
2
1, 3, 6
2, 4, 5, 6
2, 3, 5
1
2
3, 6
6, 4, 5
4, 5
1
1, 2
1, 2, 3
1, 2, 3, 6
ng i t nh 1 n nh 4 theo phng php duyt rng l: 1 2 3 4
- Phng php duyt su
n t(n)
open |+
close
1
2
6
5
4 edichdng
2
1, 3, 6
2, 3, 5
3, 4, 6
1
2
3, 6
3, 5
3, 4
1
1, 2
1, 2, 6
1, 2, 6, 5
ng i t nh 1 n nh 4 theo phng php duyt su l: 12654
- Phng php tm kim cc tiu
n t(n) open close
1
2
6
5
3
4eDICH
dng
2
1, 3, 6
2, 3, 5
3, 4, 6
2, 4, 5, 6
1
0
2
4
3
11
, 6
7
3
11
, 5
9
3
11
, 4
14
4
14
1
1, 2
1, 2, 6
1, 2, 6, 5
1, 2, 6, 5, 3
Vy ng i ngn nht: 1 2 6 5 4 vi chi ph 14
74
Bi tp 2. Ngi ta s dng hai bnh cha c dung tch ln lt l 3(lt) v 4(lt)
ong 2(lt) nc. gi s lng nc c ly t vi khng hn ch v cng
ly nc t vi cho y mt bnh l 3, cng nc trong mt bnh ra
ngoi l 2 v nc t bnh ny sang bnh khc th tn cng l 5.
Hy ch ra qu trnh tm kim li gii bng phng php tm kim theo chiu
rng v tm kim leo i.
Li gii
- Phng php tm kim theo chiu rng
n t(n)
|open +
close
(0,0)
(0,4)
(3,0)
(3,4)
(3,1)
(0,3)
(0,1)
(3,3)
(1,0)
(2,4)
(0,4), (3,0)
(0,0), (3,4), (3,1)
(0,0), (3,4), (0,3)
(0,4), (3,0)
(0,1), (3,0), (3,4),
(0,4) (0,0), (0,4),
(3,3), (3,0)
(0,0), (3,1), (0,4),
(1,0)
(0,3), (3,0), (2,4)
(0,0), (3,0), (1,4),
(0,1)
(0,0)
(0,4), (3,0)
(3,0), (3,4),
(3,1)
(3,4), (3,1),
(0,3)
(3,1), (0,3)
(0,3), (0,1)
(0,1), (3,3)
(3,3), (1,0)
(1,0), (2,4)
(2,4), (1,4),
(0,0)
(0,0), (0,4)
(0,0),(0,4),(3,0)
(0,0),(0,4),(3,0), (3,4)
(0,0),(0,4),(3,0), (3,4), (3,1)
(0,0),(0,4),(3,0), (3,4), (3,1), (0,3)
(0,0),(0,4),(3,0), (3,4), (3,1), (0,3),
(0,1)
(0,0),(0,4),(3,0), (3,4), (3,1), (0,3),
(0,1), (3,3)
(0,0),(0,4),(3,0), (3,4), (3,1), (0,3),
(0,1), (3,3), (1,0)
Qu trnh ong nc theo phng php duyt rng l:
(0,0)(3,0)(0,3)(3,3)(2,4)
75
- Phng tm kim leo i (gi thit nh k vi nh ang xe v c khong
cch n nh ln nht l nh c trin vng n ch nht)
((0,0), (2,4))eE k= (3,0) c[(0,0), (3,0)]=5
((3,0), (2,4)) eE k= (0,3) c[(3,0), (0,3)]=5
((0,3), (2,4)) ee k= (3,3) c[(0,3), (3,3)]=5
((3,3), (2,4)) eE dng c[(3,3), (2,4)]=5
Qu trnh ong nc theo phng php leo i l:
(0,0)(3,0)(0,3)(3,3)(2,4) vi chi ph 20
Bi tp 3. i dng c xem nh l mt mt phng to trn c n hn
o vi to ln lt l (x
1
, y
1
), (x
2
, y
2
), , (x
n
, y
n
). Mt chic ca n xut pht
t o d
1
mun tun tra n o d
2
. bnh xng ca ca n ch cha xng i
c mt qung ng di khng qu m (km). Trn ng i ca n c th gh
mt s o no tip thm xng, lc ny ca n c tip thm xng y
bnh cha. Hy ch ra mt ng i t o d
1
n o d
2
sao cho s ln gh o
trung gian tip thm xng l t nht.
Hng dn
Ta xem hai o l k nhau nu khong cch gia chng khng vt qu m
(km). Bi ton cn tm ng i t o d
1
n o d
2
thng qua cc o k nhau.
Thut ton tm kim theo chiu rng cho php tm ng tm ra ng i ni hai
o qua t cnh trung gian nht (tc l t o trung gian nht).
D liu vo lu trong file dng text, dng u cha s o n, dng th hai
cha khong cch ln nht cano c th i lin tc, n dnh tip theo mi dng
cha hai gi tr tng ng vi to ca mi o.
76
Bi tp 4. Mt mng li giao thng gia n thnh ph (cc thnh ph c
nh s t 1 n n) c cho bi ma trn a=(a
ij
)
n*n
, trong :
0, nu khng c ng i trc tip t i n j
a
ij
= 1, nu c ng i trc tip t i n j v l ng i an ton
2, nu c ng i trc tip t i n j nhng phi qua mt chng
ng nguy him
Quy c: a
ii
=1, i =1..n
Cho trc hai thnh ph i
0
, i
1
. hy tm mt ng i t i
0
n i
1
sao cho s chng
ng nguy him phi i qua l t nht.
Hng dn: Trc ht phi xc nh th biu din bi ton. y d thy
rng mi thnh ph tng ng vi mt nh ca th, vn ch cn xc nh
tp cung E cn c vo gi thit ca bi ton.
Bi tp 5. Cho bng vung gm m*n . Trn mi ghi s 0 hay 1.
a. T mt no c th chuyn sang cha s 1 c chung cnh vi n. gi s
ang (h,c). Hy tm xem c cch di chuyn t ny ra mt mp bng
hay khng? Tm cch chuyn qua t nht.
b. Mt min ca bng l tp hp cc c chung cnh v c cng gi tr. hy
m xem bng c bao nhiu min. min ln nht c bao nhiu .
c. Cho php thay i gi tr tt c cc trong cng mt min. Hy xc nh min
cn thay i s min gim nhiu nht.
d. Hy xc nh min cn thay i thu c mt min mi ln nht.
Hng dn: Mi tng ng vi mt nh ca th. Hai nh k nhau khi v
ch khi hai tng ng c th chuyn sang nhau. Mi min ca bng tng ng
vi mt min lin thng ca th.
77
Bi tp 6. Lp chng trnh i vi bi ton ong nc, vi cc s m, n, k l
cc s dng bt k c nhp t bn phm khi thc hin chng trnh.
Hng dn: S dng thut ton tm kim rng s cho s ln thao tc l t nht.
Bi tp 7. Mt to lu i c m t bng mt hnh ch nht c m*n . Gia
cc c mt s bc tng ngn cch chia lu i thnh cc phng. Nh vy,
mi phng tng ng vi tp cc thng nhau. Ti (i,j), cho bit thng tin c
tng ngn gia ny vi bn k vi n khng bi gi tr a
ij
l mt s nh
phn 4 ch s tng ng (i,j) c (1) hoc khng c (0) tng pha Ty, Bc,
ng, Nam. V d a
ij
= 1001 c ngha l (i,j) c tng pha Ty v Nam,
nhng khng c tng pha Bc v ng. Hy vit chng trnh thc hin
cc yu cu sau:
a. m s phng ca to lu i.
b. Cho bit phng ln nht c din tch l bao nhiu .
c. Cho bit nn ph bc tng ngn hai phng no c mt phng mi c
din tch ln nht.
Hng dn: Gi tr a
ij
c th nhn tng ng vi s thp phn t 0 n 15. V vy
ta lu d liu trong file dng text c cu trc nh sau: dng u cha hai s m,n.
T dng th hai n dng th m+1, cha cc hng ca ma trn A = (a
ij
). Kt qu
a ra file dng text c cu trc nh sau: dng u cha s phng, dnh hai
cha din tach phng ln nht v dong ba cha hng, ct, hng ca bc tng
cn ph.
Chng hn d liu vo l
4 6
11 6 11 6 3 10 6
7 9 6 13 5 15 5
1 10 12 7 13 7 5
13 11 10 8 10 12 13
78
D liu ra s l:
5
9
4 1 Dong
Bi tp 8. Mt sn chi hnh ch nht gm m*n n v. Trn mi (i,j) c
ng cc tr b tng chiu cao a
ij
. Gi thit nc khng thm qua c cc cnh
gia hai tr b tng k nhau. Sau mt trn ma ln, hy tnh nc ng li
trn sn.
Hng dn
Chia nc thnh tng tng c chiu cao bng 1. Tnh th tch nc ng
trn mi tng theo thut ton loang tm thnh phn lin thng.
Bi tp 9. Tm 2 ch s phn bit a v b sao cho tho mn hai iu kin sau:
a. a2b chia ht cho 3
b. a2b - ab=110
Bi tp 10. Gii bi ton on ch sau
DONALD CROSS
+
GERALD
+
ROADS
ROBERT DANGER
79
Bi tp 11. Cho s c hai ch s. Nu vit thm hai ch s v bn phi s th
c s mi ln hn s ho l 1986 n v. Hy tm s cho v hai ch s
vit thm .
Bi tp 12. Gii bi ton on ch sau:
T
+ TH
THA
THAN
4321
Chng trnh tham kho
Program cano_di_tuan; { Bi tp 3}
uses crt;
type
dao = record
x,y: integer;
end;
var
n,d1,d2,so: byte;
m: word;
a: array[byte] of dao;
b: array[byte] of boolean;
tr: array[byte] of byte;
procedure nhap;
var
f: text;
s: string[20];
80
i: byte;
begin
clrscr;
write('ten file du lieu:');
readln(s);
assign(f,s);
reset(f);
readln(f,n);
readln(f,m);
for i:=1 to n do
with a[i] do readln(f,x,y);
close(f);
end;
procedure indulieu;
var
i: byte;
begin
writeln('so dao:',n);
writeln('gioi han khoang cach:',m);
for i:=1 to n do
with a[i] do writeln('toa do dao ',i,' : (',x,',',y,')');
end;
procedure khoitao;
var
i: byte;
begin
for i:=1 to n do
81
b[i]:= true;
end;
function kc(i,j: byte):real;
begin
kc:= sqrt(sqr(a[i].x-a[j].x)+sqr(a[i].y-a[j].y));
end;
procedure bfs(i: byte);
var
j,k,d,c: byte;
q: array[byte] of byte;
begin
d:=1;
c:=1;
q[1]:=i;
b[i]:= false;
while d<=c do
begin
j:= q[d];
d:=d+1;
for k:=1 to n do
if b[k] and (kc(k,j) <= m) then
begin
c:=c+1;
q[c]:=k;
b[k]:= false;
tr[k]:=j;
end;
82
end;
end;
procedure inketqua;
var
i:byte;
begin
write('duong di ghe dao it nhat nhu sau: ');
write(d1);
i:=d1;
so:=0;
while i<>d2 do
begin
write('-->',tr[i]);
so:=so+1;
i:=tr[i];
end;
writeln;
writeln('duong di tren ghe qua ',so-1,' dao');
end;
procedure timduongdi;
begin
write('dao xuat phat: ');
readln(d1);
write('dao ket thuc: ');
readln(d2);
bfs(d2);
if b[d2] then write('khong co duong di tu ',d1,' den ',d2)
83
else inketqua;
readln;
end;
BEGIN
nhap;
khoitao;
indulieu;
timduongdi;
END.
Program laudai; { Bi tp 7}
uses crt;
type
size = 0..100;
var
m,n,so,p,hang,cot: size;
A:array[size,size] of 0..15;
ph: array[size,size] of word;
S: array[size] of word;
dt: word;
huong: string[4];
procedure nhap;
var
f: text;
i,j: size;
begin
clrscr;
84
assign(f,'input.pas');
reset(f);
read(f,m,n);
for i:=1 to m do
for j:=1 to n do read(f,A[i,j]);
close(f);
end;
procedure khoitao;
var
i,j: size;
begin
for i:=1 to m do
for j:=1 to n do
ph[i,j]:=0;
so:=0;
end;
procedure bfs(i,j: size);
var
qh,qc: array[size] of size;
d,c,k,l: size;
begin
ph[i,j]:= so;
d:=1;
c:=1;
qh[1]:=i;
qc[1]:=j;
85
while d<=c do
begin
k:= qh[d];
l:= qc[d];
d:=d+1;
if A[k,l]>=8 then
S[k,l]:=A[k,l]-8
else
if (k<m) and (ph[k+1,l]=0) then
begin
c:=c+1;
qh[c]:=k+1;
qc[c]:=1;
ph[k+1,l]:=so;
end;
if A[k,l]>=4 then
A[k,l]:=A[k,l]-4
else
if (l<n) and (ph[k,l+1] = 0) then
begin
c:=c+1;
qh[c]:=k;
qc[c]:=l+1;
ph[k,l+1]:=so;
end;
if A[k,l]>=2 then
A[k,l]:= A[k,l]-2
else
if (k>1) and (ph[k-1,l] = 0) then
86
begin
c:=c+1;
qh[c]:=k-1;
qc[c]:=l;
ph[k-1,l]:=so;
end;
if A[k,l] >=1 then
A[k,l]:= A[k,l]-1
else
if (l>1) and (ph[k,l-1]=0) then
begin
c:=c+1;
qh[c]:=k;
qc[c]:=l-1;
ph[k,l-1]:=so;
end;
end;
end;
procedure demphong;
var
i,j: size;
begin
for i:=1 to m do
for j:=1 to n do
if ph[i,j] = 0 then
begin
so:= so+1;
bfs(i,j);
87
end;
end;
procedure smax;
var
i: word;
j,k: size;
begin
dt:=0;
for i:=1 to so do
begin
S[i]:=0;
for j:=1 to m do
for k:=1 to n do
if ph[j,k]=i then S[i]:= S[i]+1;
if S[i] > dt then dt:= S[i];
end;
end;
procedure phatuong;
{ Ch cn ph pha ng hoc pha Nam, pha Ty ca (i,j) tng ng l pha
ng ca (i,j-1), tnh t, pha Bc ca (i,j) tng ng pha Nam ca (i-
1,j)}
var
i,j: size;
max,tg: word;
begin
max:=0;
for i:=1 to m do
88
for j:=1 to n do
begin
if i< m then
if ph[i,j] <> ph[i+1,j] then
begin
tg:= S[ph[i,j]] + S[ph[i+1,j]];
if tg >= max then
begin
hang :=i;
cot:=j;
huong:= 'nam';
max:= tg;
end;
end;
if j<n then
if ph[i,j]<> ph[i,j+1] then
begin
tg:= S[ph[i,j]] + S[ph[i,j+1]];
if tg >= max then
begin
hang:=i;
cot:=j;
huong:= 'dong';
max:= tg;
end;
end;
end;
end;
89
procedure inkq;
var
i,j: size;
f: text;
begin
assign(f,'out.pas');
rewrite(f);
writeln(f,so);
writeln(f,dt);
writeln(f,hang,' ',cot,' ',huong);
close(f);
end;
BEGIN
nhap;
khoitao;
demphong;
smax;
phatuong;
inkq;
END.
90
Chng 3
PHN R BI TON - TM KIM LI GII
TRN TH V/ HOC
1. t vn .
Trong chng 2, chng ta nghin cu vic biu din bi ton thng qua
cc trng thi v cc ton t. Khi vic tm li gii ca bi ton c quy v
vic tm ng i trong khng gian trng thi. Trong chng ny chng ta s
nghin cu mt phng php lun khc gii quyt vn , da trn vic quy
vn v cc vn con.
tng ch yu l xut pht t bi ton ban u, tch ra cc bi ton con,
qu trnh ny tip tc i vi cc bi ton con cho n khi gp cc bi ton s
cp (bi ton c li gii ngay).
V d 1. Xt bi ton tnh tch phn dx x x x ) (ln
2
}
+ .
Thng thng tnh tch phn bt nh, chng ta thng s dng cc
quy tc tnh tch phn: tch phn ca tng, quy tc tch phn tng phn hay cc
php bin i v.v a tch phn cn tnh v tch phn ca cc hm s s
cp m chng ta bit cch tnh. i vi tch phn trn, p dng quy tc tch
phn ca tng ta a v hai tch phn }xlnxdx v tch phn }x
3
dx. p dng quy
tc tch phn tng phn ta a tch phn }xlnx v tch phn }xdx. Qu trnh trn
c th biu din bi th trong Hnh 1.
Hnh 1.
}x(lnx+x
2
)dx
}xlnxdx
}x
3
dx
}xdx
91
Trong bi ton tch phn, cc tch phn c bn l cc trng thi kt thc.
V d 2. Bi ton tm ng i trn bn giao thng.
Bi ton ny c pht biu nh bi ton tm ng i trong khng
gian trng thi, trong mi trng thi ng vi mt thnh ph, mi ton t ng
vi mt con ng, ni thnh ph ny vi thnh ph khc. By gi ta a ra
mt cch bu din khc da trn vic quy vn v cc vn con.. Xt bn
giao thng gia cc thnh ph trong Hnh 2.
A
C D H
F E G
I B K
Hnh 2.
Gi s ta cn tm ng i t thnh ph A n thnh ph B. C mt con
sng chy qua hai thnh ph E v G v c cu qua sng mi thnh ph .
Nh vy mi ng i t A n B u phi i qua E hoc G. Khi bi ton
tm ng i t A n B c quy v mt trong hai bi ton:
1) Bi ton tmng i t A n B qua E
2) Bi ton tmng i t A n B qua G
Mi mt bi ton trn li c th phn nh nh sau:
1) Bi ton tmng i t A n B qua E c quy v:
1.1. Tm ng i t A n E v
1.2. Tm ng i t E n B
92
2) Bi ton tmng i t A n B qua G c quy v:
2.1. Tm ng i t A n G v
2.2. Tm ng i t G n B
Tng qut, t bi ton P ta a v mt trong cc trng hp:
- a P v cc bi ton tng ng: P1, P2,..., Pk
- a P v cc bi ton con: P1, P2,..., Pk
Phng php phn chia bi ton ban u nh trn gp trong lp trnh truyn
thng vi cch gi chia tr , Modul ho.
2. th V/HOC:
Khng gian trng thi m t vic quy vn v cc vn con c th biu
din di dng th nh hng c bit gi l th v/hoc. th ny c
xy dng nh sau:
Mi bi ton ng vi mt nh ca th. Nu c mt ton t quy bi
ton v cc bi ton tng ng th s c cc cung i t bi ton xut pht n
cc bi ton tng ng . Nu mt ton t quy bi ton v cc bi ton con
th cng c cc cung ni t bi ton xut pht n cc bi ton con, ngoi ra gia
cc cung ny cng c ng ni vi nhau.. Chng hn, gi s bi ton A c
a v hai bi ton tng ng A1 v A2. Bi ton A1 li c quy v hai bi
ton con B1 v B2, ta c biu din nh hnh 3.
A
A1 A2
B1 B2
Hnh 3
93
Mt cch hnh thc ta c th nh ngha th v/hoc nh sau:
th G = (V, E) c gi l th V/HOC nu V n e , T(n) hoc
cc bi ton con ca n (n gi l cc nh V) hoc l tp cc bi ton tng
ng vi n (n gi l nh HOC).
Cch biu din nh sau:
n
n
1
n
2
...... n
k
n c gi l nh HOC (nn
1
...n
k
)
n
n
1
n
2
...... n
k
n c gi l nh V (nn
1
...n
k
)
Khi gii bi ton n ta phi tm th con ca G l mt cy c gc l
nh xut pht n sao cho mi nh trn th con ny a v c cc bi ton
s cp (nh kt thc).
Nhn xt: Gi VA: tp cc nh V
VO: tp cc nh HOC
- Nu VA= C tm li gii trn th biu din bng khng gian trng
thi
Khi :
- Bi ton n c gi l gii c nu:
+ hoc n l nh kt thc
+ hoc T(n)={n
1
, n
2
,..., n
k
} v nu n l nh HOC ) ... 1 ( k i e - sao cho n
i
gii c, ngc li n
i
gii c k i ... 1 = .
94
- Bi ton n c gi l khng gii c nu:
+ hoc n l nh l v n khng phi l nh kt thc.
+ hoc T(n)={n
1
, n
2
,..., n
k
}v nu n l nh HOC ) ... 1 ( k i e - sao cho n
j
khng gii c, ngc li n
i
khng gii c k i ... 1 = .
- tm li gii ca bi ton khi c phn r v th V/HOC khng
phi tm ng i m phi i tm th con gi l th con li gii (hay cy
li gii)
Cy li gii l th con G ca G tho:
- nh gc (xut pht) '
0
V n e
- ' V n e , n gii c.
- Ta c s tng quan:
Phn r bi ton th V/HOC
Bi ton nh
Chuyn bi ton thnh cc bi ton con Cung
Bi ton s cp nh cui
Cc bi ton con ph nh V
Cc bi ton con c lp nh HOC
Gii bi ton Tm th con li gii bi ton
3. Cc phng php tm kim li gii trn th v/hoc.
Sau khi la chn m t bi ton v cc ton t quy bi ton v bi ton
con, ta c th xy dng th V/hoc gii quyt bi ton ban u hoc
chng t tnh khng gii c ca n. Cng nh th trong khng gian trng
thi, th v/hoc c th cho di dng tng minh hoc khng tng minh
trn c s ton t xy dng.
95
Cc phng php tm kim trn th v/hoc khc nhau ch yu
phng php la chn v sp xp nh trc khi tho chng. Tng t nh
trong khng gian trng thi, ta cung c cc phng php sau:
- Tm kim theo chiu rng.
- Tm kim theo chiu su.
- Tm kim cy li gii c gi nh nht.
Cc qu trnh ny khc hn vi cc qu trnh la chn trong khng gian
trng thi. S khc bit ch yu l do vic kim tra tnh kt thc ca qu trnh
tm kim v cc phng php sp xp v la chn nh xt phc tp hn
nhiu.. Thay cho vic tm kim nh tho mn iu kn ch, chng ta phi tin
hnh tm kim th li gii. Do , nhng thi im nht nh, ta phi kim
tra xem nh u c gii c hay khng, nu nh u gii c th kt thc
cng vic, trong trng hp ngc li th tip tc xt cc nt. Nu nh ang xt
khng phi l nh kt thc v n l nh l, tc l nh khng gii c. Lc
ny phi kim tra nh u c phi khng gii c hay khng, nu ng th
dng, ngc li, tip tc tm kim.
Trc khi tm kim li gii trong th V/HOC, chng ta xy dng
cc hm kim tra mt nh n no ti thi im ang xt c gii c hay
khng gii c khng?
Function giaiduoc(n):boolean;
Begin
If <n so cap> then
giaiduoc:=true
else
if T(n)<>null then
if T(n)cV
A
then
) (
)) ( (
n T m
m giaiduoc and giaiduoc
e
=
96
else
) (
)) ( (
n T m
m giaiduoc or giaiduoc
e
=
else
giaiduoc:=false;
End;
Function khonggd(n):boolean;
Begin
If T(n)<>null then
if T(n)cV
A
then
) (
)) ( (
n T m
m khonggd or khonggd
e
=
else
) (
)) ( (
n T m
m khonggd and khonggd
e
=
else
if <T(n) khong so cap> then
khonggd:=true
else
khonggd:=false;
End;
3.1. Phng php tm kim chiu rng:
Procedure TKR;
Begin
Push(n
0
, MO);
While MO<>null do
begin
n:=pop(MO);
97
push(DONG, n);
if T(n)<>null then
for ) (n T me do
begin
push(m, MO);
if T(m)=null then
if giaiduoc(m) then
if giaiduoc(n
0
) then
exit
else
for keMO do
if giaiduoc(k) then
MO:=MO-[k]
Else
If khonggd(m) then
If khonggd(n
0
) then
Exit
Else
For keMO do
if khonggd(k) then
MO:=MO-[k]
end;
end;
write(Khong ket luan);
End;
- Nhn xt:
Nu tn ti cy li gii th th tc tm kim rng s dng v cho kt qu l
cy li gii c cao nh nht.
98
V d. Xt th Hnh 3.
A
B C D
E
*
F G H
*
I
J K L
*
M
*
N
O
*
Hnh 3
Cc nh kt thc l cc nh nh du *. Qu trnh tm kim li gii ca th
trn bng phng php tm kim rng c th trnh by bng sau
n T(n) MO DONG
A
A B, C, D B C D A
B E
*
, F C D F A B
C G D F G A B C
D H
*
, I F G I A B C D
F J G I J A B C D F
G K
0
I J A B C D F G
I L
*
Dng
Cy li gii Hnh 4.
A
D
H
*
I
L
*
Hnh 4
3.2. Tm kim theo chiu su:
99
Hon ton tng t tm kim theo chiu rng, ch khc th t ly cc
nh trong danh sch MO ra xt. y MO c truy xut theo nguyn tc
LIFO.
V d. Xt th Hnh 5.
A
B C
D E F
*
G
H
*
I
*
J
*
K
*
L
*
M
*
Hnh 5.
Qu trnh tm theo chiu su tin hnh nh sau:
n T(n) MO DONG
A
A B, C B C
C F
*
, G BG
G L*, M* : gii c A gii c
Cy li gii Hnh 6.
A
C
F
*
G
L
*
M
*
Hnh 6.
100
3.3. Tm kim cy li gii cc tiu:
Cy G=(V, E) biu din s phn r ca bi ton gc n
0
.
ng vi mi php chuyn bi ton n sang bi ton v tn chi ph c(u,v).
c: E R
+
(u,v) c(u,v)
Vn t ra tm cy li gii c tng chi ph b nht.
i vi khng gian trng thi, ta s dng hm nh gi sp th t cc nt
trong MO trc khi x l v hm h(n) l gi ca ng i ti u t nh
nDICH. Trong cy V/HOC chnh l khi nim gi ti u ca cy li
gii vi gc l nh n cho.
i vi nh neV, gi ca n c tnh ph thuc vo quy c chn gi chung
ca th. C 2 loi gi: gi cc i (max) v gi tng cng ().
nh ngha gi ti u ca cy li gii c gc n nh sau:
- Nu n l nh kt thc th h(n) = 0
- Nu n khng phi l nh kt thc v n l nh hoc c tp T(n) = {n
1
,.
. .,n
k
} khc rng th h(n) = min(c(n,n
i
)+h(n
i
)).
- Nu n khng phi l nh kt thc v n l nh v c tp T(n) = {n
1
,. .
.,n
k
} khc rng th :
+ i vi gi tng cng

=
+ =
k
i
i i
n h n n c n h
1
)) ( ) , ( ( ) (
+ i vi gi cc i )) ( ) , ( ( ) (
i i
n h n n c n h + MAX =
- h(n) khng xc nh i vi nhng nh khng gii c.
101
Tng t nh trong khng gian trng thi ta xc inh c lng ca h l h
0
ti
cc nh khng phi l nh khng gii c.. Cy li gii c xy dng dn
dn trong qu trnh m rng cy la chn, ti mi thi im cc nt l ca n
thuc mt trong ba dng sau:
- Cc nh kt thc.
- Cc nh l khng phi l nh kt thc.
- Cc nh cha c x l.
Trong cy tm kim, mi bc c th cha mt tp cc cy con c gc n
0
sao
cho chng c th tr thnh phn trn ca cy li gii y (cng ging nh cc
ng i t nh n
0
n cc nh trong danh sch MO trong gii thut tm kim
trn th biu din bi ton trong khng gian trng thi ).
Ta gi cc cy ny l cy li gii tim tng gc n
0
. Nh vy bi ton tm kim
cy li gii cc tiu c th a v hai bi ton con:
Bi ton 1. Xc nh c lng h
0
(n)
1) n l nh l
- Nu n l nh kt tc th h
0
(n) = 0
- Nu n khng phi l nh kt thc th h
0
(n) khng xc inh (c th gn
gi tr )
- Nu n cha c x l th h
0
(n) nhn mt gi tr c lng da trn
thng tin v bi ton (thng tham kho kin chuyn gia)
2) n khng phi l nh l, T(n) = {n
1
,,n
k
}
- Nu n l nh Hoc th h
0
(n) = min(c(n,n
i
)+h(n
i
))
- Nu n l nh V th
- i vi gi tng cng

=
+ =
k
i
i i
n h n n c n h
1
0 0
)) ( ) , ( ( ) (
102
- i vi gi cc i h
0
(n) = Max(c(n,n
i
)+h
0
(n
i
))
Bi ton 2. Xy dng cy li gii tim tng G m t qu trnh chuyn bi ton
n
0
v bi ton n. Gi G = (V, E) l th con ca G vi tp nh V xc nh
nh sau:
- n
0
eV
- Vi mi n eV c cc nh con n
1
,, n
k
. Nu n l nh hoc th
chn nh con n
i
vo V sao cho c(n,n
i
) + h
0
(n
i
) nh nht v
khonggd(n
i
) = false. Nu n l nh v th chn tt c cc nh n
i
vo V nu khonggd(n
i
) = false vi mi i.
Thut ton.
Input:
Cy v hoc G = (V,E) vi gc n
0.
Gi tr c lng ban u h
0.
Tp nh kt thc.
c: E R
+
v lai chi ph (tng cng hoc cc i)
Output:
Cy li gii ti u.
Method:
push(MO,n
0
);
while MO <> null do
begin
Xy dng cy tim tng G;
n:= pop(MO L(G);
Push(DONG,n);
103
if n l nh kt thc then
begin
if giaiduoc(n
0
) then
exit; { Cy li gii l G}
for k eMO do
if giaiduoc(k) then
MO := MO - {k};
end
else
if T(n) <> null then
for meT(n) do
begin
push(MO,m);
Tnh li h
0
(m)
end
else
if khonggd(n) then
begin
if khonggd(n
0
) then
exit;
for k e MO do
if khonggd(k) then
MO:= MO - {k};
104
for meDONG do
Tnh li h
0
(m)
end;
writeln(khong co loi giai);
end;
4. Cy tm kim v cc u th.
Trong nhiu tr chi trn my tnh c th sinh ra cc cy ng vi cc
nc i ca u th. c th ca loi tr chi ny l chng th hin s lun
phin gia hai u th. Vic chn cc nc i cho mi u th tng ng vi
vic tm kim cy. quyt nh mt trong nhng la chn c th c, ngi
ta phi nh nhiu tnh hung ca bi ton. Tuy nhin khng th lu tr qu
nhiu thng tin v cng khng x l tt c trng thi ca bi ton c. Do vy
ngi ta c th dng mt chin thut ph hp, ch quyt nh trn tp tnh hung
hn ch.
4.1. Th tc minimax.
Xt tr chi vi hai u th Max v Min, Max tm cch lm cc i gi tr
hm c lng thng qua vic xc nh g tr hm c lng mi nc i c
th v chn nc i tng ng vi gi tr ln nht, tip theo i th Min tm
cch lm cc tiu gi tr c lng ny.
Din t theo ngn ng th V/Hoc, Mi nh tng ng vi nc i
ca Max, gi tr ca nh ny s ly gi tr cc i ca cc gi tr ca cc nh
con v nh ny quy c gi l nh Hoc. Mt nh tng ng vi nc i ca
Min s ly gi tr cc tiu trong s cc gi tr i vi cc nh con ca n v
nh ny quy c gi l nh loi V.
V d. Tr chi caro trn bng vung. u th Max t cc du X, u th
Min t du O. Ta xt c lng c(p) i vi mi th c p nh sau:
105
c(p) = (s dng, s ct, s ng cho cn m i vi Max)
(s dng, s ct, s ng cho cn m i vi min)
Gi s ta hn ch kch thc 3x3 v mi nc i, cc u th tnh trc
hai nc. Nu u th Max i trc c gi c th kim tra, nc i u tin ca
Max s l:
X
4.2. Th tc Alpha Beta
Cc gi tr c lng pht sinh tng ng vi cc nh V, Hoc c gi l cc
o-gi tr v |-gi tr tng ng. Th tc alpha-beta bt u t nt gc vi gi tr
alpha l - v beta l + . Th tc alpha-beta gi quy vi dy s gia alpha
v beta. thc hin tmkim minimax bng th tc alpha beta, c cc bc sau:
1) Nu mc ca cy l gc, ly gi tr alpha l - v gia tr beta l +.
2) Nu n bc kt thc tm kim, tnh gi tr hm c lng ca v tr hin
ti cho u th tng ng. Cho ra kt qu.
3) Nu mc ng vi u th min:
i) Cho n khi cc nt con c kim tra bng th tc alpha beta hoc
cho n khi alpha >= beta, thc hin cc bc sau:
+ Dng th tc alpha beta vi cc gi tr alpha beta hin c trn cc
nt con. Ghi li gi tr do th tc a ra.
+ So snh gi tr thu c vi beta, nu gi tr thu c nh hn beta
th cho beta nhn gi tr ny.
ii) Cho ra gi tr beta.
4) Ngc li, mc ny ng vi u th beta, thc hin:
106
i) Cho n khi cc nt con c kim tra bng th tc alpha beta hoc
cho n khi alpha >= beta, thc hin cc bc sau:
+ Dng th tc alpha beta vi cc gi tr alpha beta hin c trn cc
nt con. Ghi li gi tr do th tc a ra.
+ So snh gi tr thu c vi alpha, nu gi tr thu c ln hn alpha
th cho alpha nhn gi tr ny.
ii) Cho ra gi tr alpha.
107
Ch ng 4
BIU DIN BI TON BNG LOGIC V CC
PHNG PHP CHNG MINH
Nh ta bit, khng th c ph ng php gii quyt vn tng qut
cho mi bi ton. C th ph ng php ny ph hp cho bi ton ny, nh ng
li khng ph hp cho lp bi ton khc. iu ny c ngha l khi ni ti mt
bi ton, ta phi ch n ph ng php biu din n cng vi cc
ph ng php tm kim trong khng gian bi ton nhn c.
1. Biu din bi ton nh khng gian trng thi (c cc chin l c tm kim
trn th biu din vn )
2. Quy v cc bi ton con
3. Biu din vn nh logic hnh thc (c cc ph ng php suy din
logic)
....
v trong phn ny s trnh by phng php biu din vn nh logic hnh
thc v cc phng php gii quyt vn trn cch biu din ny.
Logic hnh thc thng dng thu gn qu trnh tm kim li gii.
Trc khi gii quyt vn , nh phn tch logic, c th chng t rng mt bi
ton no c th gii c hay khng?.
108
Ngoi ra, cc kt lun logic rt cn ngay c trong cch tip cn da trn
khng gian trng thi v quy bi ton v bi ton con. Chng hn, trong cc
ph ng php da trn khng gian trng thi, cc kt lun logic dng kim
tra mt trng thi no c phi l trng thi ch hay khng?,....
Ngoi ra, logic hnh thc c th c s dng gii quyt nhng bi
ton chng minh logic, chng hn nh chng minh mt khng nh no l
ng khi bit nhng tin ban u v cc lut suy din. y l mt dng
quen thuc nht v c cc chuyn gia TTNT quan tm ngay t u.
V d
Ta c th dng cc biu thc logic m t mi quan h ca cc thnh phn
trong 1 tam gic nh sau:
1) a . b . c p
2) b . p . c a
3) a . p . c b
4) a . b . p c
5) S . c hc
6) a . b . C c
7) a . b . C S
8) a . b . c . p S
9) S . hc c
(Trong : a, b, c l k hiu cc cnh, A, B, C l k hiu cc gc tng ng, p
l k hiu na chu vi, v hc l ng cao xut pht t nh C ca tam gic)
Gi s ta bit cc cnh a, b v mt gc C. Ta c th c kt lun v ng cao hc
khng?
109
1. BI U DI N VN NH LOGIC HNH THC
1.1. Logic mnh
y l kiu biu din tri thc n gin nht v gn gi nht i vi chng ta.
a) 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 "Tri ma"
(Gi tr ca mnh khng ch ph thuc vo bn thn mnh . C nhng
mnh m gi tr ca n lun ng hoc sai bt chp thi gian nhng cng c
nhng mnh m gi tr ca n li ph thuc vo thi gian, khng gian v
nhiu yu t khc quan khc. Chng hn nh mnh : "Con ngi khng th
nhy cao hn 5m vi chn trn" l ng khi tri t , cn nhng hnh tinh c
lc hp dn yu th c th sai.)
b) Biu thc logic
- Ta k hiu mnh bng nhng ch ci la tinh nh a, b, c, ... v cc k hiu
ny c gi l bin mnh
- Biu thc logic c nh ngha quy nh sau:
- Cc hng logic (True, False) v cc bin mnh l cc biu thc logic
- Cc biu thc logic kt hp vi cc ton t logic (php tuyn (v), php
hi (. ), ph nh ( , ~, ), php ko theo (, ), php tng ng
(, )) l cc biu thc logic.
Tc l nu E v F l cc biu thc logic th E . F, E v F, E F, E F cng
l cc biu thc logic
Th t u tin ca cc php ton logic: , ., v, ,
110
V d Mt s biu thc logic:
1)True
2) p
3)p . (p v r)
.....
- Biu thc logic dng chun: l biu thc c xy dng t cc bin mnh
v cc php ton , ., v.
V d p . (p v r)
(Chng ta 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 ! )
c) Bng chn tr (bng chn l) Dng dnh gi gi tr ca biu thc logic.
p q
p p v q p . q p v
q
p q p q
T T F T T T T T
T F F T F F F F
F T T T F T T F
F F T F F T T T
Nhn xt
- Mi biu thc logic u c th chuyn v cc biu thc logic dng chun
nh vo:
p q p v q
- Nu c n bin mnh trong biu thc logic th bng chn tr s c 2
n
trng hp khc nhau i vi cc bin mnh .
d) ng nht ng
111
Mt ng nht ng l mt biu thc logic lun lun c gi tr True vi bt
k gi tr no ca cc bin mnh trong biu thc logic .
V d (C th kim tra bng cch dng bng chn tr)
1) p v p
2) 0 p
3) (p v q) . (p v r) q v r
Ta thy rng biu thc c dng VTVP lun c gi tr True (T) vi mi gi
tr ca a, b; ch c mt trng hp a b c gi tr False (F) l a: True v b:
False. Nh vy, chng minh biu thc 3) l mt ng nht ng, ta ch cn
chng minh nu b: F th a: F, khng c trng hp a: T v b: F.
Tht vy, gi s VP: F ngha l q: F v r: F. Xt 2 trng hp ca p:
- Nu p: T th VT: F
- Nu p: F th VT: F
Do biu thc 3) l mt ng nht ng
Bi tp. Biu thc no trong s cc biu thc sau y l ng nht ng?
1)p . q . r p v q
2)(p q) p
3)(( p q . (q r)) (p r)
1.2. Mt s lut i s
Sau y l mt s ng nht ng thng gp
a) Lut phn x (cho php t ng ng): p p
b) Lut giao hon
- php tng ng: p p
- php hi: p . q q . p
- php tuyn: p v q q v p
112
c) Lut bc cu:
- php ko theo: (p q) . (q r) (p r)
- php tng ng: (p q) . (q r) (p r)
d) Lut kt hp:
- php hi: p . (q . r) (p . q) . r
- php tuyn: p v (q v r) (p v q) v r
e) Lut phn phi:
- php . trn php v: p . (q v r) (p . q) v (p . r)
- php v trn php .: p v (q . r) (p v q) . (p v r)
f) Phn t trung ho:
- 0 (False) l phn t trung ho cho php v: p v 0 p
- 1 (true) l phn t trung ho cho php .: p . 1 p
g) Trit t
- 0 (False) l trit t cho php .: p . 0 0
- 1 (true) l trit t cho php v: p v 1 1
113
h) Tnh lu ng
- ca php .: p . p p
- ca php v: p v p p
i) Lut Demorgan
(p v q) p . q
(p . q) p v q
j) Mt s lut khc cho php ko theo
- (p q) . (q p) (p q)
- (p q) (p q)
- p q p v q
k) (p) p
1.3. 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>)
V d
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)
...
114
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.
V d
1) Chng hn tri thc : "A l b ca B nu B l anh hoc em ca mt ngi con
ca A" c th c biu din di dng v t nh sau :
B (A, B) = Tn ti Z sao cho : B (A, Z) v (Anh(Z, B) hoc Anh(B,Z))
Trong trng hp ny, mnh B(A,B) l mt mnh tng qut
Nh vy nu ta c cc mnh c s l :
a) B ("An", "Bnh") c gi tr ng (Anh l b ca Bnh)
b) Anh("T", "Bnh") c gi tr ng (T l anh ca Bnh)
th mnh c) B ("An", "T") s c gi tr l ng. (An l b ca T).
R rng l nu ch s dng logic mnh thng thng th ta s khng th tm
c mt mi lin h no gia c v a,b bng cc php ni mnh ., v, . T
, ta cng khng 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.
2) 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)
115
3) 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)
S dng v t lm ton hng nguyn t thay v cc bin mnh a ra
mt ngn ng mnh m hn so vi cc biu thc ch cha mnh . Thc s,
logic v t kh nng din t to c s cho mt s ngn ng lp trnh rt c
ch nh Prolog (Programing Logic) v ngn ng SQL. Logic v t cng c s
dng trong cc h thng suy lun hoc cc h chuyn gia chng hn cc chng
trnh chn on t ng y khoa, cc chng trnh chng minh nh l t ng
1.3.1. C php v ng ngha ca logic v t
a. C php
- Cc k hiu
- Hng: c biu din bng chui k t bt u bng ch ci thng hoc cc
ch s hoc chui k t t trong bao nhy. V d: a,b, c, An, Ba,...
- Bin: tn bin lun bt u bng ch ci vit hoa. V d: X, Y, Z, U, V,...
- V t: c biu din bng chui k t bt u bng ch ci thng. V d: p,
q, r, s, like,...
Mi v t l v t ca n bin (n>0). Cc k hiu v t khng c bin l cc
k hiu mnh
V d: like(X,Y) l v t ca hai bin
u(X) l v t mt bin
r l v t khng bin
- Hm: f, g, cos, sin, mother,...
Mi hm l hm ca n bin (n>1). V d: cos, sin l hm mt bin
- Lng t: (vi mi), - (tn ti).
116
V d: X, p(X) ngha l vi mi gi tr ca bin X u lm cho biu thc
p ng.
-X, p(X) ngha l c t nht mt gi tr ca bin X lm cho biu thc
p ng.
- Cc k hiu kt ni logic: . (hi), v (tuyn), (ph nh), (ko theo),
(ko theo nhau).
- Cc k hiu ngn cch: du phy, du m ngoc v du ng ngoc.
- Cc hng thc
Cc hng thc (term) l cc biu thc m t cc i tng. Cc hng thc
c xc nh quy nh sau:
- Cc k hiu hng v cc k hiu bin l hng thc
- Nu t
1
, t
2
, t
3
,...,t
n
l n hng thc v f l mt k hiu hm n bin th f(t
1
, t
2
,
t
3
,...,t
n
) l hng thc. Mt hng thc khng cha bin c gi l mt hng thc
c th (ground term).
V d: An l mt k hiu hng, mother l k hiu hm mt bin th
mother(An) l mt hng thc c th
- Cc cng thc phn t
Chng ta s biu din cc tnh cht ca i tng, hoc cc quan h gia
cc i tng bi cc cng thc phn t (cu n)
Cc cng thc phn t c xc nh quy nh sau
- Cc k hiu v t khng bin (cc k hiu mnh ) l cng thc phn t
- Nu t
1
, t
2
, t
3
,...,t
n
l n hng thc v p l v t ca n bin th p(t
1
, t
2
, t
3
,...,t
n
) l
cng thc phn t.
V d: Hoa l mt k hiu hng, love l mt v t hai bin, husband l hm ca
mt bin th th love(Hoa, husband(Hoa)) l mt cng thc phn t.
117
- Cc cng thc
T cng thc phn t, s dng cc kt ni logic v cc lng t, ta xy
dng nn cc cng thc (cc cu)
Cc cng thc c xc nh quy nh sau:
- Cc cng thc phn t l cng thc
- Nu G v H l cc cng thc th cc biu thc (G.H), (GvH), (G),
(GH), (GH) l cng thc
- Nu G l mt cng thc v X l bin th cc biu thc x (G), -x (G) l
cng thc
Cc cng thc khng phi l cng thc phn t s c gi l cc cu phc
hp. Cc cng thc khng cha bin s c gi l cng thc c th. Khi vit
cc cng thc ta s b i cc du ngoc khng cn thit, chng hn cc du
ngoc ngoi cng.
Lng t ph dng (universal quantfier) cho php m t tnh cht ca c
mt lp cc i tng ch khng phi ca mt i tng m khng cn phi lit
k ra tt c cc i tng trong lp. Chng hn s dng v t elephant(X) (i
tng X l con voi) v v t color(X, Gray) (i tng X c mu xm) th cu
tt c cc con voi u c mu xm c th biu din bi cng thc: X
(elephant(X) color(X, Gray))
Lng t tn ti (existantial quantifier) cho php ta to ra cc cu ni n
mt i tng no trong mt lp i tng m n c mt tnh cht hoc tha
mn mt quan h no . Chng hn bng cch s dng cc cu n student(X)
(X l sinh vin) v inside(X, P301) (X trong phng 301), ta c th biu din
cu C mt sinh vin phng 301 bi biu thc: -x (student(X) . inside(X,
P301))
Mt cng thc l cng thc phn t hoc ph nh cng thc phn t c
gi l literal. Chng hn, play(X, Football), like(Lan, Rose) l cc
118
literal. Mt cng thc l tuyn ca cc literal s c gi l cu tuyn. Chng
hn, male(X)v like(X,Football) l cu tuyn.
Trong cng thc X (G), hoc -X (G) trong G l mt cng thc no
th mi xut hin ca bin X trong cng thc G c gi l xut hin buc. Mt
cng thc m tt c cc bin u l xut hin buc th c gi l cng thc
ng.
V d: Cng thc X, p(X, f(a,X)) . -Y, q(Y) l cng thc ng, cn
cng thc X, p(X, f(Y,X)) khng phi l cng thc ng v s xut hin ca
bin Y trong cng thc ny khng chu rng buc bi mt lng t no c (s
xut hin ca Y gi l s xut hin t do)
b. Ng ngha
Cng nh trong logic mnh , ni n ng ngha l chng ta ni n
ngha ca cc cng thc trong mt th gii hin thc no m chng ta s gi
l mt minh ha. xc nh mt minh ha, trc ht ta cn xc nh mt min
i tng (n bao gm tt c cc i tng trong th gii thc m ta quan tm).
Trong mt minh ha, cc k hiu hng s c gn vi cc i tng c
th trong min i tng, cc k hiu hm s c gn vi mt hm c th no
. Khi mi hng thc c th s ch nh mt i tng c th trong min i
tng. Chng hn nu An l mt k hiu hng, father l mt k hiu hm, nu
trong minh ha An ng vi mt ngi c th no , cn father(X) gn vi hm
ng vi mi X l cha ca n, th hng thc father(An) s ch ngi cha ca
An.
- Ng ngha ca cc cu n
Trong mt minh ha, cc k hiu v t s c gn vi mt thuc tnh hoc
mt quan h c th no . Khi , mi cng thc phn t (khng cha bin) s
ch nh mt s kin c th. ng nhin s kin ny c th l ng (true) hoc
sai (false). Chng hn, nu minh ha, k hiu hng Lan ng vi mt c gi c
119
th no cn student(X) ng vi thuc tnh X l sinh vin th cu student
(Lan) c gi tr chn l l true hoc false ty thuc trong thc t Lan c phi
sinh vin hay khng.
- Ng ngha ca cc cu phc hp
Khi xc nh c ng ngha ca cc cu n, ta c th xc nh c
ng ngha ca cc cu phc hp (c to thnh t cc cu n bng cc lin
kt cc cu n bi cc kt ni logic) nh trong logic mnh
V d: Cu student(Lan) . student(An) nhn gi tr true nu c hai cu
student(Lan) v student(An) u c gi tr true, tc l c Lan v An u l sinh
vin.
- Ng ngha ca cc cu cha cc lng t
Ng ngha ca cc cu X(G), trong G l mt cng thc no c
xc nh l ng ngha ca cng thc l hi ca tt c cc cng thc nhn c t
cng thc G bng cch thay X bi mt i tng trong min i tng. Chng
hn, nu min i tng gm ba ngi {Lan, An, Hoa} th ng ngha ca cu
X, student(X) c xc nh l ng ngha ca cu student(Lan) .
student(An) . student(Hoa). Cu ny ng khi v ch khi c ba cu thnh
phn u ng, tc l c Lan, Hoa, An u l sinh vin. Nh vy, cng thc X
(G) l ng nu v ch nu mi cng thc nhn c t G bng cch thay X bi
mt i tng bt k trong min i tng u ng, tc l G ng cho tt c
i tng X trong min i tng
Ng ngha ca cng thc -X (G) c xc nh nh l ng ngha ca cng
thc l tuyn ca tt c cc cng thc nhn c t cng thc G bng cch thay
X bi mt i tng trong min i tng. Chng hn, nu ng ngha ca cu
younger(X, 20) l X tr hn 20 tui v min i tng gm ba ngi { Lan,
Hoa, An} th ng ngha ca cu -X younger(X, 20) l ng ngha ca cu
younger(Lan, 20) v younger(Hoa, 20) v younger(An, 20). Cu ny nhn
120
gi tr True nu v ch nu t nht mt trong ba ngi Lan, Hoa, An tr hn 20
tui. Nh vy, cng thc -X(G) l ng nu v ch nu mt trong cc cng thc
nhn c t G bng cch thay X bi mt i tng trong min i tng l
ng.
Cc cng thc tng ng
Cng nh trong logic mnh , ta ni hai cng thc G v H tng ng
(GH) nu chng cng ng hoc cng sai trong mi minh ho. Ngoi cc
tng ng bit trong logic mnh , trong logic v t cn c cc tng
ng khc lin quan ti cc lng t. Gi s G l mt cng thc, cch vit
G(X) ni rng cng thc G c cha cc xut hin ca bin X. Khi cng thc
G(Y) l cng thc nhn c t G(X) bng cch thay tt c cc xut hin ca X
bi Y. Ta ni G(Y) l cng thc nhn c t G(X) bng cch t tn li (bin
X i tn li l Y).
Chng ta c cc tng ng sau y:
1. X (G(X)) Y (G(Y))
-X (G(X)) -Y (G(Y))
t tn li bin i sau lng t ph dng (tn ti), ta nhn c cng thc
tng ng.
2. (X (G(X))) -X (G(X))
-X (G(X)) X (G(X))
3. X (G(X) . H(X)) X (G(X)) . X (H(X))
-x (G(X) v H(X)) -X (G(X))v -X (H(X))
Bi tp
1) Gi s ta thit lp v t c 3 i s csg(C,S,G) biu din cu: Sinh vin S
nhn im G trong hc phn C. Vy vi cc gi tr c th ca v t chng hn
nh csg(Anhvan, An, 8) th c th c din gii nh th no?
121
2) Gi s ta c v t loves(X,Y) c din gii l: X yu Y, nh vy cc cu
sau (biu din trong logic v t) c hiu nh th no?
X (-Y (loves(X,Y))
-Y (X (loves(X,Y))
3) Gi s ta c cc v t:
dog(X) (X l ch), cat(Y) (Y l mo), animal(Z) (Z l ng vt). Hy biu
din cu sau trong logic v t: ch, mo u l ng vt.
1.3.2. Chun ho cc cng thc
T cc cu phn t, bng cch s dng cc kt ni logic v cc lng t, ta
c th to ra cc cu phc hp c cu trc rt phc tp. d dng cho vic lu
tr cc cu trong b nh v thun li cho vic xy dng cc th tc suy din,
chng ta cn chun ho cc cu bng cch a chng v dng chun tc hi (hi
ca cc cu tuyn).
Trong mc ny, chng ta s trnh by th tc chuyn mt cu phc hp thnh
mt cu dng chun tc hi tng ng.
Th tc chun ho cc cng thc bao gm cc bc sau:
a. Loi b cc ko theo
loi b cc ko theo, ta ch cn thay cng thc P Q bi cng thc
tng ng P v Q, thay P Q bi (P v Q ) . (P v Q )
b. Chuyn cc ph nh ti cc phn t
iu ny c thc hin bng cch thay cng thc v tri bi cng thc
v phi trong cc tng ng sau y:
(P) P
(P . Q) P v Q
(P v Q) P . Q
(X (P)) -X ( P)
(-X (P)) X ( P)
122
c. Loi b cc lng t tn ti
Gi s p(X,Y) l cc v t c ngha rng Y ln hn X trong min cc s.
Khi cng thc x (-y (P(x,y))) c ngha l vi mi s X, tn ti Y sao cho
s Y ln hn X. Ta c th xem Y trong cng thc l hm ca i s X,
chng hn f(X) v loi b lng t -Y, cng thc ang xt tr thnh X
(P(X,f(X))). V d: f(X)=X+1, khi X (P(X,f(X))) X (P(X, X+1)) ngha
l vi mi gi tr ca X th X+1 ln hn X.
Mt cch tng qut, gi s -Y(G) l mt cng thc con ca cng thc ang
xt v nm trong min tc dng ca cc lng t X
1
,...,X
n
. Khi ta c th
xem Y l hm ca n bin X
1
,...,X
n
, chng hn f(X
1
,...,X
n).
Sau ta thay cc xut
hin ca Y trong cng thc G bi hng thc f(X
1
,...,X
n
) v loi b cc lng t
tn ti. Cc hm f c a vo loi b cc lng t tn ti c gi l hm
Scholem.
V d: Xt cng thc sau
X (-Y (P(X,Y)) v U (-V (Q(a,V) . -Y (R(X,Y)))) (1)
Cng thc con -Y (P(X,Y) nm trong min tc dng ca lng t X, ta xem Y
l hm ca X: f(X). Cc cng thc con -V (Q(a,V)) v -Y ( R(X,Y)) nm
trong min tc dng ca cc lng t X, U ta xem V l hm g(X,U) v Y l
hm h(X,U) ca hai bin X, U. Thay cc xut hin ca Y v V bi cc hm
tng ng, sau loi b cc lng t tn ti, t cng thc (1) ta nhn c
cng thc:
X (P(X,f(X)) v U (Q(a,g(X,U)) . R(X,h(X,U)))) (2)
d. Loi b cc lng t ph dng
Sau bc 3 trong cng thc ch cn li cc lng t ph dng v mi xut
hin ca bin u nm trong min tc dng ca cc lng t ph dng. Ta c th
loi b tt c lng t ph dng, cng thc (2) tr thnh cng thc:
P(X,f(X)) v Q(a,g(X,U)) . R(X,h(X,U))) (3)
123
Cn ch rng, sau khi c thc hin bc ny tt c cc bin trong cng thc
c xem l chu tc dng ca cc lng t ph dng.
e. Chuyn cc tuyn ti cc literal
Bc ny c thc hin bng cch thay cc cng thc dng: Pv(Q.R) bi
(PvQ).(PvR) v thay (P.Q)vR bi (PvQ).(PvR). Sau bc ny cng thc tr
thnh hi ca cc cu tuyn ngha l ta nhn c cc cng thc dng chun
tc hi. Chng hn, cng thc (3) c chuyn thnh cng thc sau:
(P(X,f(X)) v Q(a,g(X,U))) . (P(X,f(X)) v R(X,h(X,U))) (4)
f. Loi b cc hi
Mt cu hi l ng nu v ch nu tt c cc thnh phn ca n u l
ng. Do cng thc dng chun tc hi tng ng vi tp cc thnh
phn. Chng hn, cng thc (4) tng ng vi tp hai cu tuyn sau:
P(f(X)) v Q(a,g(X,U))
P(f(X)) v R(X,h(X,U)) (5)
g. t tn li cc bin
t tn li cc bin sao cho cc bin trong cc cu khc nhau c tn khc
nhau, chng hn hai cu (5) c hai bin cng tn l X, ta cn i tn bin X
trong cu hai thnh Z, khi cc cu (5) tng ng vi cc cu sau:
P(f(X)) v Q(a,g(X,U))
P(f(Z)) v R(Z,h(Z,U)) (5)
Nh vy, khi tri thc l mt tp hp no cc cng thc trong logic v t,
bng cch p dng th tc trn ta nhn c c s tri thc ch gm cc cu
tuyn (tc l ta lun lun c th xem mi cu trong c s tri thc l tuyn ca
cc literal). Hon ton tng t nh trong logic mnh , mi cu tuyn c th
biu din di dng mt ko theo, v tri ca ko theo l hi ca cc cu phn
124
t, cn v phi l tuyn ca cc cu phn t. Dng cu ny c gi l cu
Kowlski, mt trng hp quan trng ca cu Kowlski l cu Horn (lut if- then)
Bi tp
1) Gi v t nt(X) c ngha l X l s nguyn t v v t sl(X) c ngha
l X l s l.
Hy din gii ngha ca cng thc: -X (nt(X) and sl(X)).
Vit li cng thc trn sau khi ly ph nh v din gii ngha ca cng
thc .
2)Bin i cng thc sau v dng chun tc hi
-X-Y ((b(X) . c(X)) v (d(Y) . b(Y))
3) Gi p(X,Y,Z) c ngha l: Z=X*Y, l mt v t 3 bin trn tp s thc.
Khi tnh cht giao hon ca php nhn X*Y=Y*X c din t nh sau:
X,Y (p(X,Y,Z))p(Y,X,Z)
Hy chun ha cng thc trn (a v dng chun tc hi)
1.3.3. Cc lut suy din
Tt c cc lut suy din c a ra trong logic mnh u ng trong
logic v t cp mt. By gi ta a ra mt lut suy din quan trng trong logic v
t lin quan ti lng t ph dng
a. Lut thay th ph dng
Gi s G l mt cu, cu X(G) l ng trong mt minh ho no nu v
ch nu G ng vi tt c cc i tng nm trong min i tng ca minh ho
. Mi hng thc t ng vi mt i tng, v th nu cu X (G) ng th khi
thay tt c cc xut hin ca bin X bi hng thc t ta nhn c cu ng.
Cng thc nhn c t cng thc G bng cch thay tt ar cc xut hin ca x
bi t c k hiu l G[X/t]. Lut thay th ph dng (universal instatiation) pht
biu rng, t cng thc X (G) suy ra cng thc G[X/t].
125
X (G)
G[X/t]
Chng hn, t cu X, like(X, Football) (mi ngi u thch bng ), bng
cch thay X bi An ta suy ra cu like(An, Football) (An thch bng ).
b. Hp nht
Trong lut thay th ph dng, ta cn s dng php th cc bin bi cc
hng thc nhn c cc cng thc mi t cng thc cha cc lng t ph
dng. Ta c th s dng php th hp nht cc cu phn t (tc l cc cu
tr li thnh ng nht). Chng hn xt hai cu phn t like(An,Y) v x,
like(X, Football) m cho n gin ta b i cc lng t ph dng. S dng
php th [X/An. Y/Football] hai cu trn tr thnh ng nht like(An,
Football). Trong cc suy din, ta cn s dng php hp nht cc cu bi cc
php th. Chng hn, cho trc hai cu
friend(X,Ba)good(X) (mi bn ca Ba u l tt)
friend(Lan,Y) ( Lan l bn ca ca tt c mi ngi)
Ta c th hp nht hai cu friend(X,Ba) good(X) v friend(Lan,Y) bi
php thay th [X/Lan, Y/Ba]
friend(Lan,Ba) good(Lan)
friend(Lan,Ba)
T hai cu ny, theo lut Modus Ponens, ta suy ra cu good(Lan) (Lan l
ngi tt)
Mt cch tng qut, mt php th u l mt dy cc cp X
i
/t
i
, u = [X
1
/t
1
X
2
/t
2
....
X
n
/t
n
] trong cc X
i
l cc bin khc nhau, cc t
i
l cc hng thc v cc X
i
khng c mt trong t
i
(i=1,....,n). p dng php th u vo cng thc G, ta nhn
c cng thc G
0
, l cng thc nhn c t cng thc G bng cch thay
mi s xut hin ca cc X
i
bi t
i
. Chng hn, nu G=p(X,Y,f(a,X)) v u=[X/b,
Y/g(Z)] th G
0
=P(b,g(Z),f(a,b)).
126
Vi hai cu phn t G v H m tn ti php th u sao cho G
0
v H
0
tr thnh
ng nht (G
0
=H
0
) th G v H c gi l hp nht c, php th u c gi l
hp nht t ca G v H. Chng hn, hai cu Like(An,y) v Like(x, Football) l
hp nht c bi hp nht t [X/An, Y/Football]. Vn t ra l vi hai cu
phn t bt k G v H, chng c hp nht c khng v nu c th lm th no
tm c hp nht t?.
c. Lut Modus Ponens tng qut
Gi s P
i
, P
i
(i=1,...,n) v Q l cc cng thc phn t sao cho tt c cc cp
cu P
i
, P
i
hp nht c bi php th u, tc l P
i0
=P
i0
(i=1,...,n). Khi ta c
lut:
(P
i
. ... . P
n
Q), P
i
,...,P
n

Q
Trong Q=Q
u
V d: Gi s ta c cc cu student(X) . male(X) like(X,Football) v
student(Anh), male(Anh). Vi php th u = [X/Anh], cc cp cu
student(X), student(Anh) v male(X), male(Anh) hp nht c. Do ta
suy ra cu like(Anh, Football).
d. Lut phn gii tng qut
- Lut phn gii trn cc cu tuyn
Gi s ta c hai cu tuyn A
1
v ... v A
m
v C v B
1
v ... v B
n
v D, trong A
i
(i=1,..., m) v B
j
(j=1,..., n) l cc literal, cn C v D l cc cu phn t c th
hp nht c bi php th u, C
u
u=D
u
. Khi ta c lut:
A
1
v ... v A
m
v C, B
1
v ... v B
n
v D
A
1
v ... v A
m
v B
1
v ... v B
n

Trong A
i
=A
i
u (i=1,..., m) v B
j
=B
j
u (j=1,..., n)
127
Trong lut phn gii ny, hai cu t s (gi thit) ca lut c gi l hai
cu phn gii c, cn hai cu mu s (kt lun) ca lut c gi l phn
gii thc ca hai cu t s. Ta s k hiu ca hai cu A v B l Res(A,B).
V d: Gi s ta c hai cu A=hear(X, Music) v play(x, Tennis) v
B=play(An,Y) v study(An). Hai cu play(X,Tennis) v play(An, Y)
hp nht c bi php th u=[X/An, Y/Tennis]. Do t hai cu cho, ta suy
ra cu hear(An, Music) v study(An). Trong v d ny, hai cu A= hear(X,
Music) v play(X, Tennis) v B= play(An, Y) v study(An) l phn gii
c v phn gii thc ca chng l hear(An, Music) v study(An).
- Lut phn gii trn cc cu Horn
Cu Horn (lut If- then) l cu c dng:
P
1
. ... . P
m
Q
Trong P
i
(i=1,..., m; m> 0) v Q l cc cu phn t.
Gi s, ta c hai cu Horn P
1
. ... . P
m
. S Q v R
1
. ... . R
n
T, trong
hai cu S v T hp nht c bi php th u, S
u
=T
u
. khi ta c lut:
P
1
. ... . P
m
. S Q,
R
1
. ... . R
n
T
P
1
. ... . P
m
. R
1
. ... . R
n
Q
Trong , P
i
=P
i
u (i=1,..., m), R
j
=R
j
u (j=1,..., n), Q=Qu
Trong thc t, chng ta thng s dng trng hp ring sau y. Gi s S
v T l hai cu phn t, hp nht c bi php th u. Khi ta c lut:
P
1
. ... . P
m
. S Q,
T
P
1
. ... . P
m
Q
Trong P
i
=P
i
u (i=1,..., m) v Q=Qu
128
V d: Xt hai cu student(X) . male(X) play(X, Football) v male(Ba).
Hai cu male(Ba) v male(X) hp nht c vi php th [X/Ba], do t hai
cu trn ta suy ra student(Ba) play(Ba, Football).
1.3.4. Thut ton hp nht
V mt c php, hng thc v cng thc phn t c cu trc ging nhau, do
ta gi cc hng thc v cc cng thc phn t l cc biu thc n .
Trong mc ny, chng ta s trnh by thut ton xc nh hai biu thc n
cho trc c hp nht c hay khng v nu c thut ton s cho ra hp
nht t tng qut nht.
Nh ta bit, mt php th u l mt danh sch [X
1
/t
1
X
2
/t
2
.... X
n
/t
n
], trong
cc X
i
l cc bin khc nhau, t
i
l cc hng thc khng cha X
i
(i=1,...,n). Kt
qu p dng php th u vo biu thc E l biu thc Eu nhn c t E bng
cch thay mi xut hin ca bin X
i
bi t
i
. Hai biu thc c xem l hp nht
c nu tn ti php th u chng tr thnh ng nht v khi u c gi
l hp nht t ca chng. Chng hn, xt hai biu thc sau:
know(An, X)
know(Y, husband(Z))
Vi php th u = [Y/An, X/ husband(Z)], c biu thc trn tr thnh
know(An, husband(Z))
Tuy nhin, nu hai biu thc hp nht c th ni chng s c v s hp
nht t. Chng hn, ngoi hp nht t nu, hai cu know(An, X) v
know(Y, husband(Z)) cn c cc hp nht t sau:
[Y/An, X/ husband(Hoa), Z/ Hoa]
[Y/An, X/ husband(Lan), Z/ Lan]
...
Chng ta s gi hp thnh ca hai php th u v q l php th uq sao cho
vi mi biu thc E ta c E(uq)=E(u)q. Ni c th hn, hp thnh ca php th
129
u = [X
1
/t
1
X
2
/t
2
.... X
n
/t
m
] v q= [Y
1
/s
1
Y
2
/s
2
.... Y
n
/s
n
] l php th uq= [X
1
/t
1
q
X
2
/t
2
q.... X
n
/t
m
q, Y
1
/s
1
Y
2
/s
2
.... Y
n
/s
n
] trong ta cn loi b cc cp Y
i
/s
i
m Y
i
trng vi mt X
k
no .
V d Xt hai php th:
u = [X/a, V/g(Y,Z)]
q = [X/b, Y/c, Z/f(X), V/h(a)]
khi hp thnh ca chng l php th: uq = [X/a, V/g(c,f(X)), Y/c, Z/f(X)]
Quan st v d trn ta thy rng php th uq p t nhiu hn ch cho cc
bin hn l u. Do ta s ni rng php th u tng qut hn php th uq.
Chng hn, php th a ra trn [Y/An, X/ husband(Z)] tng qut hn
php th [Y/An, X/ husband(Hoa), Z/ Hoa].
Gi s E v F l hai biu thc n hp nht c. Ta gi hp nht t tng
qut nht ca E v F l hp nht t u sao cho u tng qut hn bt k hp nht t
o no ca E v F. Ni mt cch khc, u l hp nht t tng qut nht ca E v F
nu vi mi hp nht t o ca E v F u tn ti php th q sao cho o=uq.
Chng hn vi E v F l cc cu know(An, X) v know(Y, husband(Z)) th
hp nht t tng qut nht l: u = [Y/An, X/ husband(Z)]
Sau y chng ta s trnh by thut ton hp nht, l thut ton c ba
tham bin: hai biu thc n E, F v hp nht t tng qut nht l u. Thut ton
s dng v cho ra hp nht t tng qut nht u nu E v F hp nht c. Nu E
v F khng hp nht c, thut ton cng s dng v cho thng bo v iu .
Ta s gi s rng E v F cha cc bin c tn khc nhau, nu khng ta ch
cn t tn li cc bin.
Trong thut ton ta cn tm s khc bit gia hai biu thc. S khc bit oc
xc nh nh sau: c hai biu thc ng thi t tri sang phi cho ti khi gp
hai k hiu khc nhau trong biu thc. Trch ra hai biu thc con bt u t cc
k hiu khc nhau . Cp biu thc con to thnh s khc bit gia hai biu
130
thc cho. V d: S khc bit gia hai cu like(X,f(a,g(Z)) v like(X,Y) l
cp (f(a,g(Z),Y), cn s bit gia hai cu know(X,f(a,U)) v know(X,f(a,g(b)))
l cp (U,g(b)).
Thut ton hp nht c m t bi th tc quy sau:
Procedure Unify(E, F, u);
Begin
1. Xc nh s khc bit gia E v F;
2. If khng c s khc bit then {thng bo thnh cng;
stop}
3. If s khc bit l cp (X, t), trong X l bin, t l
hng thc khng cha X then
begin
3.1. E E[X/t]; F F[X/t];
{tc l p dng php th [X/t] vo cc biu thc E v F}
3.2. u u[X/t];
{hp thnh ca php th ? v php th [X/t] }
3.3. Unify(E, F, u);
end
else
{thng bo tht bi; stop}
End;
Thut ton hp nht trn lun lun dng sau mt s bc hu hn bc v
c mi ln bc 3 c thc hin th s bin cn li trong hai biu thc s bt i
mt m s bin trong hai biu thc l hu hn. bit hai biu thc P v Q c
hp nht c hay khng ta ch cn gi th tc Unify(P,Q, u), trong u l
php th rng.
P(a, X, f(a,g(X,Y)))
131
P(U, h(a), f(U,V)) (1)
S khc bit gia hai biu thc ny l (a,U). Th U bi a ta nhn c hai biu
thc sau:
P(a, X, f(a,g(X,Y)))
P(a, h(a), f(a,V)) (2)
V php th u =[U/a]
S khc bit gia hai biu thc (2) l (X,h(a)). Th x bi h(a), ta c hai biu
thc sau:
P(a, h(a), f(a,g(h(a),Y)))
P(a, h(a), f(a,V)) (3)
V php th u =[U/a, X/h(a)]
S khc bit gia hai biu thc (3) l (g(h(a),Y), V). Th V bi g(h(a),Y), hai
biu thc (3) tr thnh ng nht:
P(a, h(a), f(a,g(h(a),Y))) (4)
Nh vy hai cu (1) hp nht c vi hp nht t tng qut nht l:
u =[U/a, X/h(a), V/g(h(a),Y)]
2. Mt s thut gii chng minh.
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,
132
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 (
mc 2.1 v 2.2) vi phc tp ch c O(n ).
Bi ton Cho tp cc gi thit di dng cc biu thc logic mnh
GT={GT
1
, GT
2
, ...GT
n
}. Hy chng minh tp kt lun KL={KL
1
, KL
2
,..., KL
m
}.
2.1. Thut gii Vng Ho
C s l lun Cho cc gi thit GT
1
, GT
2
, ...,GT
n
. chng minh tp kt lun
KL
1
, KL
2
,...,KL
m
, ta chng minh GT
1
, GT
2
,...,GT
n
KL
1
, KL
2
,...,KL
m
: True
Thut gii bao gm cc bc sau:
B1: Pht biu li gi thit v kt lun ca vn theo dng chun sau
:
GT
1
, GT
2
, ..., GTn KL
1
, KL
2
, ..., KLm
Trong cc GTi v KLi l cc biu thclogic dng
chun (ch cha 3 php ton c bn : . , v , )
B2: 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 th tch thnh 2 dng:
p . p q
v p . q q
Hoc nu cp . q q v r th tch thnh 2 dng:
P . q q
v p . q r
B3: Mt dng c chng minh nu:
133
1) Tn ti chung mt mnh c hai pha.
V d :
p . q q v r: True
2) Tn ti 2 mnh ph nh ln nhau (p v p)
V d: p . p q: True
B4 :
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.
b) Mt vn c chng minh nu tt c dng dn xut
t dng chun ban u u c chng minh.
V d
1) Cn chng minh rng t a . b c v b . c d v a v b, suy ra d
(a v b v c) . (b v c v d) . a . b d
a . (b v c v d) . a . b d: T (b v c) . (b v c v d) . a . b
d
b . (b v c v d) . a . b d: T
c . (b v c v d) . a . b d
c . b . a . b d: T
c . (c v d) . a . b d
c . c . a . b d: T
c . d . a . b d: T
Cy suy din trong gii thut Vng Ho
134
2) Xt cc cu ng sau:
Nu tri ma th Lan mang theo d
Nu Lan mang theo d th Lan khng b t
Nu tri khng ma th Lan khng b t
a) Xy dng cc cu trn bng cc biu thc logic mnh
b) Hy chng minh rng Lan khng b t bng phng php Vng Ho
Li gii
a) r: Tri ma
u: Lan mang theo d
w: Lan b t
Lc , ta c cc biu thc logic ng sau:
r u
u w
r w
Ta phi chng minh (r u) . (u w) . (r w) w: True
2.2. Thut gii Robinson
Thut gii ny do Robinson xut v hot ng da trn phng php chng
minh phn chng.
Phng php chng minh phn chng:
Bi ton 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.
135
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 l cc biu thc logic dng chun
(ch cha cc php ton : . , v , )
B2 : Gi s KL
1
, KL
2
,...KL
m
l ng, lc ta c cc biu thc
logic ng sau:
{ GT
1
, GT
2
, ..., GTn , KL
1
, KL
2
, ..., KLm }
B3 : Sau a v dng chun hi (tch cc tng)
V d:
pq . t p v (q . t) (p v q) . (pv t)
B4 : Xy dng mt mnh mi bng cch p dng ng nht ng:
(p v q) . (p v r) q v r
Ngha l: nu (pv q) . (pv r): True th c thm biu thc r v t:
True v a vo tp gi thit.
Lp li qu trnh trn cho n khi sinh ra 2 mnh c chn tr i
nhau (c s mu thun) v bi ton lc kt lun l c chng
minh, hoc khng to thm mnh mi no gy mu thun v lc
ny kt lun khng chng minh c.
V d
1) Xt bi ton:
Sau khi a v dng chun hi, n gin, ta vit cc biu thc (ch cha php
v) trn tng dng. Ta c:
1. a v b v c
2. b v c v d
136
3. a
4. b
Gi s d ng, ta c thm cc biu thc ng sau:
5. d
6. b v c (Res 1A, 3)
7. a v c (Res 1B, 4)
8. c v d (Res 2A, 4)
9. b v c (Res 2C, 5)
10.c (Res 3, 7A)
11.c (Res 4, 9A)
Mu thun gia 10 v 11. Chng minh xong.
2.3. Chng minh bng lut phn gii trn logic v t
Trong phn logic mnh , ta a ra cc lut suy din quan trng nh:
lut Modus Ponens, lut Modus Tolens, lut bc cu,..., lut phn gii. Chng ta
ch ra rng lut phn gii l lut y cho bc b. iu c ngha l bng
phng php chng minh bc b, ch s dng lut phn gii ta c th chng
minh c mt cng thc c l h qu logic ca mt tp cc cng thc cho
trc hay khng. Kt qu quan trng ny s c m rng sang logic v t.
Gi s ta c mt c s tri thc (CSTT) gm cc cu trong logic v t.
Chng ta lun lun xem CSTT u ng. Chng hn minh ho l th gii
thc ca vn m chng ta ang quan tm v CSTT gm cc cu m t s hiu
bit ca chng ta v th gii hin thc .
Khng mt tnh tng qut, ta c th xem cc cu trong CSTT l cc cu
tuyn. Chng ta c th s dng lut phn gii suy ra cc cu mi l h qu
logic ca CSTT.
137
V d: Gi s CSTT gm cc cu tuyn sau:
P(W) v Q(W) (1)
P(X) v R(X) (2)
Q(Y) v S(Y)` (3)
R(z) v S(z) (4)
Sau y chng ta s a ra mt chng minh ca cu S(a) t CSTT trn
bng lut phn gii. p dng lut phn gii cho cu (2) v (4) vi php th [X/a,
Z/a], ta suy ra cu sau:
P(a) v S(a) (5)
p dng lut phn gii cho cu (1) v (3) vi php th [w/a, y/a] ta nhn c
cu:
P(a) v S(a) (6)
p dng lut phn gii cho cu (5) v (6), ta suy ra cu S(a) v S(a). Cu ny
tng ng vi cu S(a).
Chng minh bng cch p dng cc lut suy din dn ti iu cn phi
chng minh (nh chng minh trn) c gi l chng minh din dch (deduction
proof). Nhng cn bit rng lut phn gii khng phi l lut y d cho din
dch, tc l t mt tp tin , ch s dng lut phn gii chng ta khng th
sinh ra tt c cc cu l h qu logic ca tin cho.
Tuy nhin nh l phn gii (trong mc logic mnh ) vn cn ng trong
logic v t cp mt l tho c hay khng tho c. Nu mt tp cu l khng
thax c th qua mt s bc p dng lut phn gii s sinh ra mt cu rng
(tc l dn ti mu thun).
chng minh cu H l h qu logic ca tp cc cu {G
1
, G
2
,..., G
n
} (cc
tin ), ta c th p dng phng php chng minh bc b, tc l chng minh
tp cu {G
1
, G
2
,..., G
n
, H} khng tho c. Mt khc, trn ta ch ra rng
138
lut phn gii cho php ta xc nh c mt tp cu l tho c hay khng
tho c. V vy lut phn gii c xem l lut y cho bc b.
V d
T CSTT gm cc cu (1) n (4) trong v d trn, ta c th chng minh
c cu S(a) bng phng php bc b nh sau. Thm vo CSTT cu:
S(a) (7)
(ly ph nh ca cu cn chng minh), p dng lut phn gii cho cu (3) v (7)
vi php th [y/a], ta suy ra cu:
Q(a) (8)
T cu (1) v (8) vi php th [w/a], ta nhn c cu:
P(a) (9)
T cu (4) v (7) vi php th [z/a], ta suy ra cu:
R(a) (10)
T cu (2) v (10) vi php th [x/a], ta nhn c cu:
P(a) (11)
p dng lut phn gii cho cu (9) v (11) ta nhn c cu rng (mu thun:
P(a) v P(a)).
Th tc tng qut s dng lut phn gii chng minh mt cng thc H c
l h qu logic ca mt tp cng thc G=[G
1
, G
2
,...,G
n
]
Procedure Proof_by_Resolution;
Input: tp G=[G
1
, G
2
,...,G
n
] cc cng thc {cc tin }, cng thc cn
chng minh H
Begin
1. Bin i cc cng thc G
i
(i=1,....,n) v H v dng chun hi;
2. T cc dng chun hi nhn c bc 1, thnh lp tp cc cu tuyn
C;
3. Repeat
139
3.1. Chn ra hai cu A v B trong C;
3.2. If A v B phn gii c then
Tnh phn gii thc Res(A,B);
3.3. If Res(A,B) l cu mi then
Thm Res(A,B) vo tp C;
Until nhn c cu rng hoc khng c cu mi no c sinh ra;
4. If cu rng c sinh ra then
Thng bo H ng
Else
Thng bo H sai;
End;
3. V d v bi tp.
trnh by gn, chng ta quy c
- Php v (hi hay tch)
V d a v b c k hiu a . b hoc ab
- Php hoc (tuyn hay tng)
V d a hoc b c k hiu a v b hoc a+b
- Php ph nh
V d ph nh ca a c k hiu a
- Php ko theo (suy ra)
V d a ko theo b c k hiu a b
V d 1 Cho cc khng nh ng vi cc ngha nh sau:
a mt ngi c nhm mu A
b mt ngi c nhm mu B
c mt ngi c nhm mu AB
o mt ngi c nhm mu O
t mu mu ca mt ngi c xt nghim T dng tnh
140
s mu mu ca mt ngi c xt nghim S dng tnh
Hy vit cc biu thc logic din t nhng tng sau:
a. Nu xt nghim T dng tnh th ngi c nhm mu A hoc AB
b. Nu xt nghim S dng tnh th ngi c nhm mu B hoc AB
c. Nu mt ngi c nhm mu B th xt nghim S s dng tnh
d. Mt ngi c nhm mu A, B, AB hoc O
Li gii
a. t a+c
b. s b+c
c. bs
d. a + b+ c + o
V d 2. Hy biu din cc tri thc sau bng logic mnh
a. Nu n l s nguyn chn v n l s nguyn t th n=2
b. S n l chnh phng th n tn cng bng 1, 4, 5, 6 hoc 9
Li gii
a. Gi a : l mt s nguyn chn,
b : l mt s nguyn t,
c : s nguyn 2.
Lc , tri thc s c biu din nh sau: abc
b. Gi a : l mt s chnh phng,
b : s c ch s tn cng bng 1
c : s c ch s tn cng bng 4
d : s c ch s tn cng bng 5
e : s c ch s tn cng bng 5
f : s c ch s tn cng bng 9.
Lc , tri thc s c biu din nh sau: ab+c+d+e+f
141
V d 3 Cho cc biu thc logic mnh ng sau
1. a f
2. a (f p)
3. p+q d
4. a
5. ad g
Hy dng phng php Robinson v Vng Ho chng minh hoc bc b
g1
Li gii
- Chuyn v dng chun
a f a + f
a (f p) a +(fp) a + (f + p) a + f + p
p+q d (p+q)+d (pq)+d (p + d)(q + d)
ad g (ad)+g a+d+g
- Dng phng php phn gii Robinson
Gi s g1, ta c cc biu thc ng sau
1. a + f
2. a + f + p
3. p + d
4. q + d
5. a
6. a+d+g
7. g
8. a+d res(6
3
,7)
9. d res(5, 8
1
)
142
10. a +f +d res(2
3
,3
1
)
11. a + d res(1
2
,10
2
)
12. d res(5,11
1
)
Ta thy 9) kt hp 12) s cho ra cu rng (tc l c s mu thun). V vy
g1.
- Dng phng php Vng Ho
Ta cn chng minh:
(a)(a + f )(a + f + p)(p + d)(q + d)(a+d+g)g: true(I)
(1) (2) (3) (4) (5)
chng minh (I) tch (1), biu thc (I) tr thnh:
I.1) (a)(a)(a + f + p)(p + d)(q + d)(a+d+g) g : true
I.2) af (a + f + p)(p + d)(q + d)(a+d+g)g
Chng minh I.2) tch 2), I.2) tr thnh
I.2.1) af (a)(p + d)(q + d)(a+d+g) g: true
I.2.2) af (f)(p + d)(q + d)(a+d+g) g: true
I.2.3) afp(p + d)(q + d)(a+d+g) g
Chng minh I.2.3) tch 3), I.2.3) tr thnh
I.2.3.1)afp(p)(q + d)(a+d+g) g: true
I.2.3.2) afpd(q + d)(a+d+g) g
Chng minh I.2.3.2) tch 5), I.2.3.2) tr thnh
I.2.3.2.1) afpd(q + d)(a) g : true
I.2.3.2.2) afpd(q + d)(d) g : true
I.2.3.2.3) afpd(q + d)g g : true
(I) c chng minh, v vy g1
143
Bi tp1. Biu din cc tri thc sau di dng logic mnh
a. Trong tam gic vung, tng bnh phng chiu di hai cnh gc vung
bng bnh phng chiu di cnh huyn
b. Mt s nguyn dng c ch s hng n v bng 5 th s chia ht cho
5
c. Nu x l s l v bnh phng ca x tn cng bng 1 th x tn cng bng 1
hoc bng 9
d. Trong tam gic vung, chiu di ca n trung tuyn xut pht t gc
vung bng na chiu di ca cnh huyn
Bi tp 2. Cho cc biu thc logic mnh ng sau
1. n+c+d p
2. qp c
3. qc f +h
4. n+p+h
5. nq
Hy dng phng php Robinson v Vng Ho chng minh hoc bc b f
1
Bi tp 3. Cho cc biu thc logic mnh ng sau
1. abc c
2. abc p
3. as h
4. abcp s
5. abd
Hy dng phng php Robinson v Vng Ho chng minh hoc bc b sh 1
Bi tp 4. Ta c c s tri thc ca h chuyn gia v bnh cm cm nh sau:
144
1) Nu bnh nhn rt hng v vim nhim th vim hng v i cha
hng
2) Nu thn nhit >37
0
th st
3) Nu m trn 7 ngy v st th vim nhim
4) Nu st v ho v km theo kh th hoc km theo tng ran th vim
phi
a) Hy biu din cc tri thc trn di dng logic mnh .
b) C mt bnh nhn khai : Thn nhit > 37
0
v m trn 7 ngy. Dng
phng php chng minh Robinson v Vng Ho kt lun bnh nhn
ny b "vim nhim".
Bi tp 5. Ta c c s tri thc m t mi quan h ca cc thnh phn trong mt
tam gic nh sau:
- Nu bit 3 cnh ca 1 tam gic ta c th bit na chu vi ca tam gic
- Nu bit 2 cnh v na chu vi ca mt tam gic th ta c th bit c cnh
cn li ca tam gic
- Nu bit c din tch v mt cnh ca mt tam gic th ta c th bit c
chiu cao tng ng vi cnh
- Nu bit 2 cnh v mt gc kp gia 2 cnh ca mt tam gic th ta c th
bit c cnh cn li ca tam gic .
- Nu bit 2 cnh v mt gc kp gia 2 cnh ca mt tam gic th ta c th
bit c din tch ca tam gic
- Nu bit ba cnh v na chu vi ca mt tam gic th ta bit c din tch
ca tam gic
- Nu bit din tch v ng cao ca mt tam gic th ta bit c cnh tng
ng vi ng cao ca tam gic
Gi s bit c 2 cnh v v gc kp gi hai cnh . Bng phng php
Robinson, hy chng minh rng ta c th suy ra c ng cao tng ng vi
cnh cn li
145
Hng dn
K hiu a: cnh a ca tam gic k: ng cao tng ng vi cnh a
b: cnh b ca tam gic l: ng cao tng ng vi cnh b
c: cnh c ca tam gic m: ng cao tng ng vi cnh c
A: gc tng ng vi cnh a S: din tch ca tam gic
B: gc tng ng vi cnh b p: na chu vi ca tam gic
C: gc tng ng vi cnh c
- Cc tri thc c biu din di dng logic mnh nh sau:
10) abc p
11) bpc a
12) apc b
13) abp c
14) Sa k
15) Sb l
16) Sc m
17) abC c
18) acB b
19) bcA a
20) abC S
21) acB S
22) bcA S
23) abcp S
24) Sk a
25) Sl b
26) Sm c
Sau dng phng php Robinson (GT={a, b}, KL={m})
Bi tp 6. Biu din cc tri thc sau di dng logic v t
a. Bt k ngi no cng c cha m
b. Mi s nguyn t ln hn 2 u l s l
c. Chun chun bay thp th ma
Li gii
a. K hiu NGUOI(X): ngha l X l ngi
CHAME(X, Y): X l cha m ca Y
146
X ( NGUOI(X) -Y: CHAME (Y, X))
b. K hiu P(X): X l s nguyn t ln hn 2
Q(X): X l s l
X ( P(X) Q(X))
c. K hiu BAY(X,Y): con vt X bay vi cao Y
TROIMUA: tri ma
BAY(chun chun, thp) TROIMUA
Bi tp 7.
Gi s chng ta bit cc thng tin sau y:
1) ng Ba nui mt con ch
2) Hoc ng Ba hoc ng Am git con mo Bibi
3) Mi ngi nui ch u yu qu ng vt
4) Ai yu qu ng vt cng khng git ng vt
5) Ch mo u l ng vt
Ai git Bibi?
Li gii
- Biu cc thng tin trn di dng logic v t cp mt nh sau
biu din cc tri thc trn trong logic v t cp mt, chng ta cn s dng cc
hng D, Ba, An, Bibi, cc v t Dog(x) (x l ch), Cat(y) (y l mo), Rear(u,v)
(u nui v), AnimalLover(u) (u l ngi yu qu ng vt), Kill(u,v) (u git v),
Animal(x) (x l ng vt).
S dng cc hng v cc v t trn, chng ta c th chuyn cc trn thnh cc
cu trong logic v t cp mt nh sau:
1) Dog(D) Rear(Ba, D)
2) Cat(Bibi) (Kill(Ba, Bibi) + Kill(Am, Bibi))
3) X (Y(Dog(Y) Rear(X,Y)) AnimalLover(X)))
4) U (AnimalLover(U) (V AnimalLover(V) Kill(U,V)))
147
5) Z (Dog(Z) Animal(Z)) W (Cat(W) Animal(W))
- Chuyn v dng chun v dng phng php phn gii Robinson
1) Dog(D)
2) Rear(Ba, D)
3) Cat(Bibi)
4) Kill(Ba, Bibi) + Kill(Am, Bibi)
5) Dog(Y) + Rear(X,Y) + AnimalLover(X)
6) AnimalLover(U) + Animal(V) + Kill(U,V)
7) Dog(Z) + Animal(Z)
8) Cat(W) + Animal(W)
Gi s Kill(T, Bibi) ng
9) Kill(T, Bibi)
T cu (4) v cu (9) vi php th [t/Am], ta nhn c cu:
10) Kill(Ba, Bibi)
T cu (6) v cu (10) vi php th [u/Ba, v/Bibi], ta nhn c cu:
11) AnimalLover(Ba) + Animal(Bibi)
T cu (3) v cu (8) vi php th [w/Bibi], ta nhn c cu:
12) Animal(Bibi)
T cu (11) v cu (12), ta nhn c cu:
13) AnimalLover(Ba)
T cu (1) v cu (5), vi php th [y/D] ta nhn c cu:
14) Rear(X, D) + AnimalLover(X)
T cu (2) v cu (14), vi php th [x/Ba] ta nhn c cu:
15) AnimalLover(Ba)
T cu (13) v cu (15) ta suy ra cu rng (c s mu thun). Nh vy ng
Am git con mo Bibi.
Bi tp 8. Gi s chng ta bit cc thng tin sau y:
148
a. Mi ngi u cht
b. Mi ph n u cht
c. Thn thnh khng cht
d. Tt c c nhng ngi bnh phi c iu tr
e. Beatrice l ph n
f. Christel l ph n
g. Marta l ph n
h. Socrate l ngi
i. Zeus l thn thnh
k. Socrate b bnh
Dng phng php phn gii Robinson c th suy ra c Socrate c c
iu tr hay khng?
148
Chng 5
TRI THC V CC PHNG PHP SUY DIN
Nh ta bit con ngi sng trong mi trng c th nhn c th gii
nh cc gic quan v s dng tri thc tch lu c v nh kh nng lp lun,
suy din, con ngi c th a ra cc hnh ng hp l cho cng vic m con
ngi ang lm. Trong khi mc tiu ca tr tu nhn to ng dng l thit k
cc tc nhn thng minh (intelligent agent) cng c kh nng nh con
ngi. (Tc nhn thng minh l bt c ci g c th nhn thc c mi trng
thng qua cc b cm nhn (sensors) v a ra hnh ng hp l p ng li
mi trng thng qua b phn hnh ng (effectors). V d: robots, softrobot
(software robot), cc h chuyn gia,...l cc tc nhn thng minh).
1. Tri thc v d liu
- Tri thc l s hiu bit v mt min ch (lnh vc) no .
V d - Hiu bit v y hc, vn hc,.... l tri thc
- Thu thp thng tin ta c d liu v cn c vo tri thc ta c c
nhng quyt dnh phn on.
i vi qu cam ta xt cc d liu nh v, cung, mu sc,...ca n nh th
no? v da vo hiu bit ca ta m xc nh xem qu cam l ngon hay
khng ngon, ngon va,...
Nh vy, tri thc l dng d liu bc cao. Kh phn bit gia tri thc v d
liu (khng c ranh gii r rng gia chng). Tuy nhin ta c th phn bit theo
bng sau:
D liu Tri thc
- nh lng
- C cu trc n gin
- dng n gin
- nh tnh
- Khng c cu trc hoc c
cu trc phc hp
- dng phc hp
149
2. Cc dng m t tri thc (cc phng php biu din tri thc)
( my tnh c th s dng c tri thc, c th x l c tri thc, chng ta
cn phi biu din tri thc di dng thun tin cho my tnh. l mc tiu
ca biu din tri thc). Sau nhiu c gng, cc nh TTNT pht trin mt s
cch biu din (th hin) tri thc c hiu qu trong my.
2.1. Biu din tri thc bng logic
Nh ta nghin cu phn trc, ta c th biu din bi ton bng cc biu
thc logic (logic mnh , logic v t)
2.2. Biu din tri thc bng mng ng ngha
Phng php biu din tri thc bng cch dng mt th G = (V, E) gm tp
nh V v tp cung E. Trong cc nh ng vi cc i tng, khi nim hay
s kin c th, cc cung th hin quan h gia cc i tng. C mt cung ni
gia hai i tng a v i tng b, k hiu a b nu c mt quan h no
gia hai i tng a, b.
C 2 loi quan h c bit
- "a l b" ngha l i tng a thuc vo tp i tng c biu din bi
khi nim b hoc tp cc i tng biu din bi khi nim a l tp con
ca tp i tng biu din khi nim b. (quan h is-a)
V d Yn chim
- Ngc li vi quan h "l" l quan h "bao gm". Khi c " a l b" (hoc
"b bao gm a"), cc thng tin c bn v cc i tng c cho bi b s
truyn li cho a (ngha l a c tha hng nhng g b c).
150
V d
u im:
- Cho php biu din mt cch trc quan cc s kin v cc mi lin h
gia chng.
- Tnh m un cao theo ngha cc tri thc mi c thm vo hon ton
c lp vi cc tri thc c.
- C th p dng mt s c ch suy din trn mng: c ch truyn v tha
hng thng tin gia cc i tng, c ch "chy" trn mng
Nhc im:
- Khng c mt phng php suy din chung no cho mi loi mng ng
ngha
- Kh kim sot qu trnh cp nht tri thc dn n mu thun trong c
s tri thc.
2.3. Biu din tri thc bng khung (Frame)
Khung thc cht l s tng qut ho ca cu trc bn ghi trong Pascal v
tng t nh cu trc i tng trong C
++
Mt khung c m t bi cu trc:
- Tn khung: nh danh i tng m t
- Cc khe (slot): trn mi khe lu tr cc thng tin, n\min gi tr, thuc
tnh v chiu mi tn ch n cc khung khc
cnh
Chim
bay
Con vt Yn Chp chp
Cnh ct
i
Khng kh
is-
a
is-
a
is-
a
is-
a
hot ng
hot ng
th c
151
V d Xt khung (frame) m t tp hc sinh HOCSINH
Frame HOCSINH
IS-A:
PART-OF: NGUOI-DI-HOC
A KIND OF: (HOCSINHCOSO, HOCSINHTRUNGHOC)
Cn nng: 10-60kg
Chiu cao: 80-170cm
Cu trc frame ny cho ta mt "khung d liu" khoanh vng cc i tng
l hc sinh. Trng hp gp mt ngi cao 175cm, nng 45kg th ta c th
khng nh rng khng phi l hc sinh v khng tho mn cc rng buc
c.
Ngoi ra, mt trong nhng c trng quan trng ca frame l kh nng tha k
cc thng tin ca cc khe c cng tn i tng bc trn.
V d Trong frame HOCSINHCOSO, HOCSINHTRUNGHOC c khe chiu
cao vi gi tr m t min, th sau khi tha k thng tin mc trn Frame
HOCSINH, khe ny cn phi ly cc gi tr trong khong 80-170cm.
2.4. Biu din tri thc bng cc lut sn xut
Phng php biu din tri thc nh logic (logic mnh v logic v t) kh
trc quan song ch ph hp khi khng c qu nhiu lut suy din.
Mt tri thc c th hin bng mt cu Horn dng chun:
p
1
. p
2
...... p
n
q
(Cc cu Horn dng ny cn c gi l lut if- then v c biu din nh sau:
if P
1
and....and P
m
then Q)
Mt cu Horn dng tng qut:
p
1
. p
2
...... p
n
q
1
v q
2
v....v q
m
152
Lu :
Nu c lut dng: p
1
. p
2
...... p
n
q
1
v q
2
v....v q
m
th tng ng vi m
lut sau:
p
1
. p
2
...... p
n
. q
2
...... q
m
q
1
p
1
. p
2
...... p
n
. q
1
. q
3
.... q
m
q
2
p
1
. p
2
...... p
n
. q
1
..... q
m-1
q
m
Tuy nhin ta ch xt cu Horn dng chun (m=1)
- Nu n=0, m=1: cu Horn c dng q: gi l s kin (fact) q.
- Nu n>0, m=1: cu Horn c dng: p
1
. p
2
...... p
n
q: gi l lut (rule).
Trong cc h chuyn gia, c s tri thc gm 2 phn: tp cc s kin (facts) v
tp lut (rules).
V d
1) Ta c cc lut v kinh nghim d bo thi tit:
"Chun chun bay thp th ma, bay cao th nng, bay va th rm"
a: chun chun bay thp, b: chun chun bay cao, c: chun chun bay va
d: tri ma, e: tri nng, f: tri rm
lc ta c cc lut sau:
a d
b e
c f
2) Nhiu nh l trong ton hc c th biu din bi cc lut, v d:
Nu tam gic c mt gc bng 60
0
v tam gic c hai cnh bng nhau th tam
gic l tam gic u.
3. Suy din trn lut sn xut
3.1. Khi nim
Suy din l qu trnh suy lun da vo cc quy lut cho, thit lp cc thng
tin mi t cc thng tin bit. Suy din s s dng tp s kin lm tin .
153
Cc phng php suy din dn dn chuyn t cc gi thit v cc kt lun
bng cch thm vo gi thit nhng s kin c khng nh ng, da trn 2
phng thc:
- Modus ponens: A, AB
B
ngha l nu A ng v AB ng th B cng ng
- Modus tollens B, AB
A
ngha l nu B sai v bit rng AB ng th A cng sai.
Trong qu trnh suy din, ta cn quan tm n cc vn sau:
- Xy dng tp lut, cu hi no c chn ngi s dng tr li
- Chn qu trnh tm kim nh th no
- Thng tin nhn c c nh hng n qu trnh tm kim khng
3.2. Bi ton
Cho tp s kin F= {f
1
, f
2
,...,f
n
} v tp lut R= {r
1
, r
2
,...,r
m
}. Chng minh tp
kt lun G ng.
3.3. Cc phng php suy din
Qu trnh suy din trong h lut sn xut bao gm 2 phng php c bn: suy
din tin v suy din li.
a) Suy din tin (lp lun tin - forward chaining hoc forward reasoning)
(T tng c bn ca suy din tin l p dng lut suy din Modus Ponens tng qut)
L qu trnh suy din bt u t tp s kin bit, rt ra nhng s kin mi
v c nh vy cho n khi c c s kin cn chng minh hoc khng c lut
no sinh ra cc s kin mi (tp s kin ng l cc i).
- Phng php
Gi T l tp cc s kin ti thi im ang xt (khi to tp T=F: tp s kin
ng ban u ).
154
Xt cc lut r
i
c dng: p
1
. p
2
. ..... p
n
q v p
j
eT n
j
, 1 = ngha l
left (r
i
) eT
th T= T+ right (r
i
)
qu trnh lp li cho n khi Gc T hoc khng c lut no sinh ra thm s kin
mi.
- Gii thut
Procedure suydientien;
Begin
T:= F;
S:= loc(R, T); { S: l tp lut c dng p
1
. p
2
. ..... p
n
q sao cho p
j
eT
n
j
, 1 = }
While G .T and S<>| do
Begin
r := get(S);
T:= T + right(r);
R:=R\ {r};
S:= loc(R,T);
End;
If G cT then write (thnh cng)
Else write (khng thnh cng);
End;
V d
1) Cho trc tp s kin F={a,b}. S dng cc lut:
r
1
: a c
r
2
: b d
r
3
: c e
r
4
: a . d e
155
r
5
: b . c f
r
6
: e . f g
cn suy ra g
r T S R
r
1
r
2
r
3
r
4
r
5
r
6
a, b
a, b, c
a, b, c, d
a, b, c, d, e
a, b, c, d, e
a, b, c, d, e, f
a. b, c, d, e, f, g
r
1
, r
2
, r
3
r
2
, r
3
, r
5
r
3
, r
4
, r
5
r
4
, r
5
r
5
r
6
r
1
, r
2
, r
3
, r
4
, r
5
, r
6
r
2,...
r
6
r
3
,..., r
6
r
4
, r
5
, r
6
r
5
, r
6
r
6
geT nn bi ton c chng minh (g: true)
Ch
- Qu trnh suy din tin l qu trnh xem xt cc lut, vi mi lut ta xt
phn iu kin ( v tri) ti phn kt lun ( v phi) v khi m tt c
cc iu kin ca lut u tho mn th ta suy ra s kin trong phn kt
lun. Chnh v l m c tn l suy din tin.
- Trong mi bc ca th tc, ngi ta xt mt lut trong tp lut. So snh
mi iu kin ( v tri) ca tp lut vi cc s kin trong c s s kin,
nu tt c cc iu kin ca lut c tho mn th s kin trong phn kt
lun c xem l s kin c suy ra. nu s kin ny l s kin mi
(khng c trong b nh lm vic) th n c a vo b nh lm vic.
Qu trnh trn c lp li cho n khi no khng c lut no sinh ra s kin
mi.
156
- Qu trnh suy din tin khng nh hng ti gii quyt mt vn no
c, khng hng ti tm ra cu tr li cho mt cu hi no c. Suy din
tin ch l qu trnh suy ra cc s kin mi t cc s kin c trong b nh
lm vic.
b) Suy din li (lp lun li - backward chaining hoc backward reason)
L qu trnh xut pht t s kin cn chng minh v thay vo l nhng s
kin v tri ca 1 lut c v phi l s kin cn chng minh. Qu trnh ny
c thc hin cho n khi a v cc s kin l tp s kin con ca tp s kin
gi thit.
(Ngha l: a ra kt lun b, ta th tm tt c cc lut c dng: a
1
. ..... a
n

b, c b, phi a ra cc kt lun a
1
,...,a
n
. Qu trnh xc nh a
i
cng tng t
nh i vi b, nu n mt lc no pht hin c rng c mt a
i
no
khng dn xut c t cc gi thit th quay lui sang cc lut sn xut khc
sinh ra b c dng b
1
......b
m
b. Ngc li, nu mi a
i
u dn xut c gi
thit th qu trnh dn xut ra b l ng)
- Gii thut
Gi T l tp cc s kin cn chng minh ti thi im ang xt (khi to T=
G, G l tp kt lun).
S(p) ={r
i
eR / right(r
i
) = p} ( l tp cc lut trong R sao cho v phi cha p)
Procedure suydienlui (g);
Begin
T:= {g};
If TcF then write (g c chng minh )
Else
Begin
p:=get(T);
If S(p) = {} then write (g khng chng minh c )
157
Else
For r
i
eS(p) do
Begin
T:= T \ right(r
i
);
T:= T + left(r
i
);
For leT \ F do suydienlui(l);
End;
End;
V d
1) Cho tp s kin F={p, r}, v tp lut R:
r
1
) p q
r
2
) q . r s
Chng minh s
p r T S(p)
s
q
r
2
r
1
s
q, r
r, p
r
2
r
Nhn xt
- Suy din tin:
u im:
i) Lm vic tt khi bi ton c bn cht l i thu thp thng tin ri thy iu cn
suy din
ii) Cho ra khi lng ln cc thng tin t mt s thng tin ban u. N sinh ra
nhiu thng tin mi.
iii) Suy din tin l tip cn l tng i vi cc loi bi ton cn gii quyt
cc nhim v nh lp k hoch, iu hnh, iu khin v din dch.
158
Nhc im:
i) Khng cm nhn c rng ch cn mt vi thng tin quan trng. H thng
hi cc cu hi c th hi m khng bit rng ch mt t cu i n kt lun
c.
ii) H thng c th hi c cu hi khng lin quan. C th cc cu tr li cng
quan trng nhng lm ngi dng lng tng khi phi tr li cc cu chng
dnh n ch .
- Suy din li:
u im:
i) Ph hp vi bi ton a ra gi thuyt v liu gi thuyt c ng hay
khng?
ii) Tp trung vo ch cho. N to ra mt lot cu hi ch lin quan n vn
ang xt, thun tin i vi ngi dng.
iii) Khi suy din mt iu g t thng tin bit , n ch tm trn mt phn ca
c s tri thc thch ng i vi bi ton ang xt.
iv) Suy din li c nh gi cao trong cc bi ton nh l chn on, d
on v tm li.
Nhc im:
Nhc im c bn ca loi suy din ny l n thng tip theo dng suy
din thay v ng ra phi dng m sang nhnh khc.
- Nh vy, da vo cc u v nhc im ca tng loi suy din m ta nn
chn k thut suy din no p dng vo bi ton. Trc tin, ta xem
xt cc chuyn gia gii n nh th no?. Nu cn thu thp d liu ri mi
quyt nh suy din ci g th ta chn suy din tin. cn nu c gi
thuyt v cn chng minh ci ch ny th ta dng suy din li.
V d Mt bc s c th hiu hng trm vn c th xy ra vi mt c
nhn, nhng vn phi tm hiu hin trng ca bnh nhn, lc cn suy din
159
tin. Nguc li bc s hu nh thy c bnh ( v d nh vim hng) th ng ta
dng suy din li.
Bi tp 1. Cho cc biu thc logic mnh ng sau:
1) ac
2) abf
3) (d +b)f i
4) h + a + f
5) fgh i
6) (a + d + c )
7) ad gh
Chng minh hoc bc b mnh i bng phng php suy din tin v suy din li
Li gii
- Biu din cc biu thc ng cho bng lut sn xut (xc nh tp lut, tp
s kin ban u, tp s kin cn chng minh)
Qu trnh bin i
3) (d+b)f i ((d+b)f )+i (d+b)+f+i (db)+f+i
(d+f+i)(b+f+i) (df i )(bfi)
4) h + a + f (ha)+f ha f
1) (a + d + c ) (ac)+d ac d
2) ad gh ) (ad)+(gh) ) ((ad)+g) ((ad)+h) (ad g)(ad h)
Tp s kin F={a, c}, tp s kin cn chng minh G={i}
Tp lut R:
r
1
) abf r
5
) fgh i
r
2
) (dfi ) r
6
) ac d
r
3
) (bfi ) r
7
) ad g
r
4
) ha f r
8
) ad h
160
- Suy din tin (tin hnh lp bng sau)
r T S R
r
6
r
7
r
8
r
4
r
2
a, c
a, c, d
a, c, d, g
a, c, d, g, h
a, c, d, g, h, f
a, c, d, g, h, f, i
r
6
r
7
, r
8
r
8
r
4
r
2
, r
5
r
1
, r
2
, r
3
, r
4
, r
5
, r
6
, r
7
,
r
8
r
1,...
r
5,
r
7
, r
8
r
1,...
r
5,
r
8
r
1,...
r
5
r
1,
r
2
, r
3
,r
5
(trong : r: l lut ang xt, T: tp s kin ng ti thi im ang xt, S: tp
cc lut c dng cc mnh v tri thuc T. R l tp lut ti thi im ang
xt)
V ieT (l tp s kin ng). Vy i c chng minh
- Suy din li (tin hnh lp bng sau)
p r T S(p)
i
f
b
quay lui
f
h
d
r
2
r
1
r
2
r
8
r
6
i
d, f
d, b
d
d, h
d
C
r
2,
r
3
, r
5
r
1
, r
2
C
r
2
r
8
r
6
Vy i c chng minh
161
Bi tp 2. Cho c s tri thc c biu din bng cc biu thc logic ng sau
1) pt a 5) p t
2) qt s 6) apq c
3) pq b 7)bc t
4) b st 8) pq
Biu din tri thc cho di dng lut sn xut v dng phng php suy din
tin v suy din li chng minh hoc bc b s kin s1.
Bi tp 3. Cho c s tri thc c biu din bng cc biu thc logic ng sau
1) (a+c)b f
2) e +f + a
3) gfh i
4) (e+ f)b gi
5) (a+ e +c)abc
Dng phng php suy din tin v suy din li chng minh hoc bc b s
kin i1.
Bi tp 4.. Cho c s tri thc c biu din bng cc biu thc logic ng sau
1) efh
2) a + g + d
3) h + c + d
4) af bg
5) ke d
6) (ef a )(c+ e +f )
- Biu din tri thc cho di dng lut sn xut
- Dng phng php suy din tin chng minh s kin d1 ng. Cho bit
cc lut d tha trong vt suy din
162
Bi tp 5.. Trong mt lp hc, c mt nhm hc sinh gm 10 bn c tn ln
lt l: A, B, C, D, E, F, G, H, I v J. Gia cc bn hc sinh c mi quan h
gi l quan h nh hng. V d: nu ta vit AB>C th c ngha l hai bn ng
thi cng thuyt phc bn C tham gia mt hot ng no . Gi s ban u c
bn bn E, F, H, I tham gia d thi sn phm phn mm do nh trng t chc v
ta cng bit c rng:
1) ACH>B
2) BH>ACD
3) ABCI>BDI
4) ADEI>BCG
5) CGI>AJE
6) H>BC
Hy dng phng php suy din tin chng minh rng c 10 bn trong nhm
trn u tham gia d thi sn phm phn mm.

You might also like