You are on page 1of 9

TR CHI I KHNG V CC PHNG PHP TM KIM

I. Dng tr ch!
Trong phn ny, ta s xem cch mt chng trnh my tnh c th chi c cc tr
chi !" tr nh cc tr chi c# $"a, c# T%ng, c# &'y, c# caro (go)mo*"+, go, chec*er,,, nh
th- no, .c tr ny cn g/i 0 cc tr chi 1i *hng, 2i3n ra gi4a hai !" th5, 6i ch"ng,
cc tr chi 7" c th ch"yn &7 mt 28ng 9i ton tm *i-m :c 9i;t< tm #ng i -n
cc im cao nh!t gi4a hai !" th5, =:c im c5a cc tr chi tr>n nh sa"<
? . hai !" th5, m@i ng#i chA i mt n%c *hi t%i 0t,
? .c !" th5 7" 9i-t m/i thBng tin &7 tnh tr8ng trCn !",
? TrCn !" *hBng *Do 2i &B tCn, phEi 2i3n ra ha, ho:c mt 9>n thFng & 9>n *ia
th"a,
ThBng th#ng ta hay g/i cc tr chi ny 0 cc 0o8i c#, =Bi *hi ta g/i 'y 0 cc tr
chi Ginimax (2Ha tr>n t>n c5a th"Ct ton tm *i-m c 9En p 2Ing cho chJng+, Knh L,L 0
& 2I &7 mt s1 tr chi ni tr>n, .c tr chi nh chi 9i, 2 mn, xJc sFc,,, *hBng th"c
0%p tr chi ny,
II. C"# tr ch!
.c tr8ng thi 9n c# *hc nha" (hay cn g/i 0 mt th- c#, tnh h"1ng c#+ trong M"
trnh chi c th 9i" 2i3n thnh mt c'y tm *i-m (c g/i 0 c'y tr chi ) hnh L,N+ & ta
s ti-n hnh tm *i-m tr>n c'y tm c n%c i t1t nh!t, .'y tr chi c cc nJt c5a c'y
0 cc tnh h"1ng *hc nha" c5a 9n c#, cc nhnh n1i gi4a cc nJt s cho 9i-t tO mt tnh
h"1ng 9n c# ch"yn sang tnh h"1ng *hc thBng M"a chA mt n%c i n no , PQ nhi>n,
cc n%c i ny 2i3n ra theo c:p 2o hai !" th5 0n 0t ti-n hnh, = s'" c5a c'y tr chi
p0y 0 s1 tng c5a c'y (chnh 0 s'" 2 c5a c'y+, Th"Ct ng4 Rn%c iS trong sch c th1ng
nh!t chA 9ao gTm mt 0n i c5a mt !" th5 ho:c mt 0n i phEn Ung 08i c5a 1i th5 9>n
*ia, .hJ V n *hc &%i thi M"en 2Wng trong thHc t- mt n%c i 9ao gTm 0n i c5a ta & mt
0n i c5a 1i th5, 6i cch *hc, n%c i X 'y thHc ch!t chA 0 YnZa n%cY theo cch hi"
c5a 0ng c#,
III. V$t cn
PWng mt th"Ct ton &Dt c8n tm *i-m tr>n c'y tr chi 2#ng nh 0 mt V tXng
n giEn, Ta chA cn ch/n nhnh c'y s 2[n t%i n%c thFng i M"'n 0 Em 9Eo thFng 0i,
6-" Jng &Cy, cc 0o8i c# s trX thnh cc tr chi 9"Tn t\, s ch]ng cn '" nh4ng 9 M"y-t
h"y7n Eo thn * & 9n c# s ch]ng *hc g 9n,,, tnh, ^!t ti-c (ho:c r!t may+ r_ng, cch
0m ny 08i *hBng th thHc hi;n n`i 2o ci g/i 0 9Wng n` t` hp, $ 2I, n-" tO mt th- c#,
tr"ng 9nh c *hE nang i c Lb n%c i *hc nha" (ta g/i 0 h; s1 nhnh con t8i m@i
nJt 0 9 c Lb+, 6h &Cy, sa" mt tng ta s c Lb nJt con, m@i nJt ny 08i c th c Lb con
n4a, T`ng s1 nJt con X s'" thU hai 0 LbxLb c 9N, .U nh &Cy X s'" 2 s c 92 nJt,
6-" giE sZ s'" c5a c'y 0 Ldd (h; s1 nhnh Lb & s'" Ldd 7" 0 nh4ng con s1 cn nhe
hn con s1 th#ng g:p trong tr chi c#+, th s1 nhnh phEi 2"y;t 0>n -n LbLdd hay x!p xA
LdLNd ) mt con s1 0%n *h5ng *hi-p, = hnh 2"ng s1 0%n th- no, ta giE sZ t!t cE cc
ng"y>n tZ trong &f trI 7" trX thnh my tnh tnh n%c i &%i t1c mt gi'y tnh c
cg LdLd (Ld th+ n%c i, & n-" chJng ho8t ng cCt 0Hc tO th#i &I n` 0%n -n nay (theo mt
s1 0V th"y-t, th th- gi%i ny hnh thnh sa" mt &I n` g/i 0 &I n` 0%n 9ig9ang, tr%c 'y cg
Li th nam+ th -n 9'y gi# m%i c th i c n%c i " ti>n,
$ s1 cc *hE nang tang M" nhanh, chA c mt s1 t nh4ng &!n 7 n giEn 0 thch
hp &%i *i" tm *i-m &Dt h-t m/i *hE nang ny (*i" tm *i-m &Dt c8n i hei phEi *im tra
t!t cE cc Anh+, Po , cc phng php tm *i-m *hc j ra #i & pht trin, 6gc 08i,
n-" c mt phng php 0"Bn 0"Bn chnh xc nh_m nh gi mt th- c# ny 0 t1t hay *Dm so
&%i th- *ia, th tr chi trX thnh n giEn 9_ng cch ch/n n%c i 2[n t%i th- c# t1t nh!t, Po
s *hBng cn phEi tm *i-m g n4a, ^!t ti-c, cc th5 tIc nh &Cy *hBng h7 c, Ta cn c
chi-n 0c tm *i-m trong tr chi,
IV. Ch!%n &'(c t)* +!%* tr,ng tr ch!
Gt chi-n 0c th#ng c cE ng#i 0[n my 2Wng 0 ph'n tch th- c# chA sa" mt
s1 n%c i no c5a cE hai 9>n, ka" *hi Ynhn xaY xem 9n c# c nh4ng *hE nang 9i-n `i
nh th- no sa" mt s1 n%c, ta s nh gi x!" t1t c5a cc th- c# nhCn c, Ti-p theo, ta
s ch/n n%c i s 2[n t%i mt th- c# t1t nh!t trong s1 c c'n nhFc -n cch i c5a cE hai
9>n, $%i my, th- c# ny c nh gi 0 t1t hn th- c# *ia nh# so snh im c5a th- 2o
9 0ng gi trE 08i, .hJng ta chA c *hE nang xDt tr%c mt s1 h4" h8n cc n%c (& 2I 8i
*i;n t%ng chi c# &"a c th xDt tr%c l)Ld n%c i, ng#i th#ng chA N)m n%c i+, ^n rng
0 n-" xDt cng s'" th chi cng giei, 6hng *hBng th thHc hi;n i7" ny &%i s'" M"
0%n c 2o s1 nJt X s'" c th trX n>n 0%n *h5ng *hi-p & *hBng 5 th#i gian ph'n
tch, 6-" 2Ong X mt s'" hp 0V th 9 ph'n tch c th hon thnh &i;c tnh ton trong
mt th#i gian h8n onh,
V. Th- t.c M!n!*/0123
piE sZ chJng ta c mt 9 ph'n tch th- c# c th p 2Ing t!t cE cc 0"Ct, cc
phng php nh c# *hc nha" &o tOng th- c# & ch"yn `i chJng thnh mt con s1 8i
2i;n (cho im th- c#+, G:t *hc, ta giE sZ con s1 0 2ng *hi p 2Ing cho th- c# c5a
mt !" th5 (c g/i 0 ng#i chi cHc 8i ) maximiqer+, & 0 'm *hi p 2Ing cho !" th5
9>n *ia (c g/i 0 ng#i chi cHc ti" ) minimiqer+, r" trnh tnh ton cho im th- c#
c g/i 0 0ng gi tQnh (static e&a0"ation+, Km thHc hi;n &i;c tnh ton c g/i 0 mt
9 0ng gi tQnh, & gi tro nhCn c g/i 0 im 0ng gi tQnh, .E hai !" th5 7" c1 gFng
i nh th- no 8t c im t"y;t 1i 0%n nh!t, 6g#i chi cHc 8i s tm nh4ng n%c
i 2[n -n im c5a mnh trX n>n 0%n hn (hay cao nh!t c th c+ hay im c5a 1i th5
9%t 'm hn (nhe hn &7 gi tro t"y;t 1i+, .n !" th5 c5a anh ta, ng#i chi cHc ti", 08i ra
sUc phEn *hng 08i, 2[n t%i im 'm c5a anh ta 'm hn hay im 2ng c5a 1i th5 nhe i
(hnh L,m+,
6g#i chi cHc 8i hi &/ng ch/n n%c i 9>n phEi 8t c im l, Th- nhng
n-" i nh &Cy th *hi -n 0t i c5a ng#i chi cHc ti", anh ta s c1 gFng *hBng cho ng#i
chi cHc 8i 8t c im ny 9_ng cch ch/n n%c i nhnh 9>n tri & nh &Cy, ng#i
chi cHc 8i chA c c L im thay & l, 6gc 08i, n-" ng#i chi cHc 8i ch/n n%c i
9>n tri, th trong tnh h"1ng x!" nh!t anh ta &[n cn c N im, 0%n hn 0 ch/n n%c i
9>n phEi, 6i ch"ng, ng#i chi cHc 8i s phEi tm cch nhCn ra cc n%c i c5a 1i phng
ti-p theo 0m cho im giEm x"1ng, $ tng tH nh &Cy, ng#i chi cHc ti" phEi nhCn 9i-t
c n%c i c5a ng#i chi cHc 8i c1 gFng 0m tang im 0>n, Th5 tIc tm n%c i t1t nh!t
tr>n c'y tr chi nh tr>n c g/i 0 th5 tIc Ginimax 2o im X m@i nJt c th 0 im cHc
8i ho:c c th 0 im cHc ti" & c th"Ct ton nh sa"<
Th45t t,6n M!n!*/0
? 6-" nh 8t -n gi%i h8n tm *i-m (-n tng 2%i cWng c5a c'y tm *i-m+, tnh gi
tro tQnh c5a th- c# hi;n t8i Ung &%i ng#i chi X , phi nh% *-t M"E
? 6-" nh mUc ang xDt 0 c5a ng#i chi cHc ti", p 2Ing th5 tIc Ginimax ny
cho cc con c5a n, phi nh% *-t M"E nhe nh!t
? 6-" nh mUc ang xDt 0 c5a ng#i chi cHc 8i, p 2Ing th5 tIc Ginimax ny
cho cc con c5a n, phi nh% *-t M"E 0%n nh!t,
V!%t ch'ng tr)nh ch, th45t t,6n M!n!*/0
s'y gi#, ta thZ 2Ha &o pht 9i" tr>n &i-t chng trnh cho th"Ct ton ny 9_ng
ngBn ng4 tHa tasca0, ='y 0 mt hm c t>n 0 Ginimax & s 0 0o8i ; M"i, Tr%c h-t,
hm ny 9i-t j 8t -n gi%i h8n tm *i-m cha, ta cn c"ng c!p cho n mt tham s1 &7
s'" tm *i-m 2epth ( 9i-t phEi tm -n '"+, Tng th#i ta cfng phEi cho 9i-t th- c# hi;n t8i
pos n tO n 9i-t cch tnh ti-p, pi tro trE &7 c5a hm chnh 0 im c5a th- c# (9n c#+
pos, $Cy hm s c *hai 9o 28ng<
u"nction Ginimax (pos, 2epth+< integerv
G@i *hi Ginimax c g/i, n s cng gn -n gi%i h8n tm *i-m, 2o ta s g/i
hm ny &%i s'" 9_ng s'" cf trO i mt, =8t -n s'" gi%i h8n chnh 0 *hi 2epth c d,
whi 8t s'" ny ta s g/i hm 0ng gi x&a0 nh gi ch!t 0ng c5a th- c# pos hi;n
t8i (thHc hi;n i7" mt c5a th"Ct ton+, 6h &Cy 9%c " hm ny c 28ng sa"<
u"nction Ginimax (pos, 2epth+< integerv
9egin
iu 2epth c d then y =j 8t -n gi%i h8n z
Ginimax <c x&a0 (pos+ y Tnh gi tro th- c# pos z
e0se 9egin
,,,
Ginimax (pos, 2epth ) L+v y p/i ; M"i &%i s'" giEn 2nz
,,,
en2v
en2v
{ tr>n, Ginimax c g/i &%i s'" giEm i mt, = 0 s'" c5a cc th- c# 0
con, .c th- c# con pos|| 0 cc th- c# c t8o ra tO pos 9_ng cch i mt n%c i hp 0;
m no , Po ta phEi c cc 0;nh thHc hi;n i M"'n -n cc th- c# m%i, = 9i-t tO th-
c# pos c th i c nh4ng n%c no, ta 2Wng mt th5 tIc pen c tham s1 0 th- c# cha pos,
Th5 tIc ny s c!t cc th- c# con pos|| &o 9 nh% (28ng 2anh sch+, $i;c ti-p theo 0 ta
0!y tOng th- c# ra & p 2Ing ti-p th5 tIc Ginimax cho n tnh im &a0"e c5a n,
$Cy hm Ginimax 9'y gi# c 28ng<
u"nction Ginimax (pos, 2epth+< integerv
9egin
iu 2epth c d then
Ginimax <c x&a0 (pos+ y Tnh gi tro th- c# pos z
e0se 9egin
pen (pos+v y kinh ra m/i n%c i tO th- c# pos z
}hi0e cn 0!y c mt n%c i m 2o
9egin
pos <c Tnh th- c# m%i nh# i mv
&a0"e <c Ginimax (pos, 2epth)L+v y Tnh im c5a pos z
,,,
en2v
,,,
en2v
en2v
Theo pht 9i" c5a th"Ct ton, ta th!y cc i7" N & ~ chA *hc nha" X cch ch/n *-t
M"E t1t nh!t 9est phI th"c &o ng#i chi ang 0 ng#i chi cHc 8i hay cHc ti", ."1i
cWng th"Ct ton s trE &7 im t1t nh!t 8t c, $Cy hm ny c pht trin ti-p thnh<
u"nction Ginimax (pos, 2epth+< integerv
9egin
iu 2epth c d then
Ginimax <c x&a0 (pos+ y Tnh gi tro th- c# pos z
e0se 9egin
pen (pos+v y kinh ra m/i n%c i tO th- c# pos z
}hi0e cn 0!y c mt n%c i m 2o
9egin
pos <c Tnh th- c# m%i nh# i mv
&a0"e <c Ginimax (pos, 2epth)L+v y Tnh im c5a pos z
y .h/n im t1t nh!t t" th"c theo ng#i chi z
iu ng#i chi 0 ng#i cHc 8i then
9egin
iu 9est &a0"e then 9est <c &a0"ev
en2
e0se 9egin
iu 9est &a0"e then 9est <c &a0"ev
en2
en2v
Ginimax <c 9estv y TrE &7 gi tro t1t nh!t z
en2v
en2v
ThBng th#ng cho ti;n (& cfng r!t gn sH thHc+ ta coi cE hai ng#i chi (hai
9>n+ c cWng cch nh gi &7 mt th- c#, . i7" th- c# ny 0 t1t &%i mt ng#i th phEi
c nh gi 0 tTi &%i ng#i *ia & ngc 08i, Trong my tnh cch th hi;n t1t nh!t 0 ta
cho im mt th- c# c th>m 2!" 'm 2ng< 2!" 'm 2nh cho ng#i chi cHc 8i & 2!" 'm
cho ng#i chi cHc ti", $%i ng#i chi cHc 8i s mong m"1n im ny cng 2ng cng
t1t, cn ng#i chi cHc ti" 08i mong m"1n im ny cng 'm cng t1t, Po 23 xZ 0 ta
s t" theo mUc ng#i chi m `i 2!" gi tro nh gi th- c# pos, .hJ V r_ng, thay `i
s'" 0 ch"yn sang 1i phng n>n phEi `i 2!", .hng trnh thHc hi;n `i 2!" nh sa"<
&a0"e <c )Ginimax (pos, 2epth)L+v y Tnh im c5a pos z
.fng 2o 2Wng cWng hm 0ng gi n>n *hi -n 0t ng#i chi cHc 8i & cHc ti"
c cWng ci nhn nh nha" &7 mt th- c#, =i7" ny 2[n -n c th 2Wng cWng cch ch/n n%c
i t1t nh!t cho h/ (gp c i7" N & ~ 08i &%i nha" c+, pi tro 9est cn c *hXi " r!t
nhe Em 9Eo *hBng &t m/i gi tro &a0"e, t1t nh!t 0 gi tro )&B cWng<
u"nction Ginimax (pos, 2epth+< integerv
9egin
iu 2epth c d then
Ginimax <c x&a0 (pos+ y Tnh gi tro th- c# pos z
e0se 9egin
9est <c )66Tv
pen (pos+v y kinh ra m/i n%c i tO th- c# pos z
}hi0e cn 0!y c mt n%c i m 2o
9egin
pos <c Tnh th- c# m%i nh# i mv
&a0"e <c )Ginimax (pos, 2epth ) L+v
iu &a0"e 9est then 9est <c &a0"ev
en2v
Ginimax <c 9estv
en2v
en2v
ThBng th#ng, 9n c# c 9i" 2i3n 9_ng cc 9i-n ton cIc, Po thay cho tr"y7n
tham s1 0 mt 9n c# m%i pos &o th5 thIc Ginimax th ng#i ta 9i-n `i 0"Bn 9i-n ton cIc
ny nh# thHc hi;n n%c i YthZY (n%c i 2[n -n 9n c# m%i pos+, ka" *hi Ginimax thHc
hi;n &i;c tnh ton 2Ha &o 9n c# 0" X 9i-n ton cIc th th"Ct ton s 2Wng mt s1 th5 tIc
0o8i 9e n%c i ny, 6h &Cy Ginimax 9e cc tham s1 pos nh sa"<
u"nction Ginimax (2epth+< integerv
9egin
iu 2epth c d then Ginimax <c x&a0 y Tnh th- c# pos trong 9i-n ton cIc z
e0se 9egin
9est <c )66Tv
penv y kinh ra m/i n%c i tO th- c# pos z
}hi0e cn 0!y c mt n%c i m 2o
9egin
thHc hi;n n%c i mv
&a0"e <c )Ginimax (2epth ) L+v
9e thHc hi;n n%c i mv
iu &a0"e 9est then 9est <c &a0"ev
en2v
Ginimax <c 9estv
en2v
en2v
Th"Ct ton Ginimax &%i &i;c Eo 2!" m@i *hi thay `i s'" nh tr>n Bi *hi c
g/i 0 th"Ct ton 6egamax,
6nh g!6 th45t t,6n M!n!*/0
6-" h; s1 nhnh tr"ng 9nh c5a c'y 0 9 & ta thHc hi;n tm *i-m -n s'" 2 th s1
nJt phEi 0ng gi X y c'y nh ta j 9i-t 0 92, ='y chnh 0 s1 o phUc t8p c5a th"Ct
ton, 6-" 9 c md, 2 c m (cc con s1 th#ng g:p trong tr chi c#+ th s1 nJt phEi 0ng gi 0
mdm c Nibdddd (tr>n N tri;" rgi nJt+, .n &%i 9 c md, 2 c i th s1 nJt phEi 0ng gi s tang
md 0n n4a thnh mdi c LdNmddddd (tr>n LdN tri;" nJt+,
" V< ton 9 V tXng c5a th"Ct ton ny 0 2Ha tr>n &i;c ch"yn `i m@i th- c#
thnh mt con s1 nh gi, ^!t ti-c 0 cc con s1 ny th#ng *hBng t1t & *hBng 5
nh gi h-t m/i i7", G:t *hc, th"Ct ton ny c th r!t t1n *Dm (ch8y chCm+ 2o &i;c sinh
cc n%c i & 0ng gi r!t t1n th#i gian tnh ton, 2o &Cy s'" c5a c'y tr chi cfng 9o
h8n ch- nhi7", Ta cn c th>m nh4ng cEi ti-n cEi thi;n tnh hnh,
/&7h/89:t/ th45t t,6n c;t nh6nh <= >!%t ch'ng trnh chi c?
Th"Ct giEi 0pha)seta
Dt mt tr chi trong hai ng#i thay phi>n nha" i n%c c5a mnh nh c# &"a,
c# t%ng, carB,,,, Tr chi c mt tr8ng thi 9Ft " & m@i n%c i s 9i-n `i tr8ng thi hi;n
hnh thnh mt tr8ng thi m%i, Tr chi s *-t thJc theo mt M"y onh no , theo th
c"c chi s 2[n -n mt tr8ng thi phEn nh c mt ng#i thFng c"c ho:c mt tr8ng thi
m cE hai !" th5 *hBng th pht trin c n%c i c5a mnh, ta g/i n 0 tr8ng thi ha c#,
Ta tm cch ph'n tch xem tO mt tr8ng thi no s 2[n -n !" th5 no s thFng &%i i7"
*i;n cE hai !" th5 7" c trnh nh nha",
Gt tr chi nh &Cy c th c 9i" 2i3n 9Xi mt c'y, g/i 0 c'y tr chi, G@i mt
nJt c5a c'y 9i" 2i3n cho mt tr8ng thi, 6Jt g1c 9i" 2i3n cho tr8ng thi 9Ft " c5a c"c
chi, G@i nJt 0 9i" 2i3n cho mt tr8ng thi *-t thJc c5a tr chi (tr8ng thi thFng th"a ho:c
ha+, 6-" tr8ng thi x c 9i" 2i3n 9Xi nJt n th cc con c5a n 9i" 2i3n cho t!t cE cc
tr8ng thi *-t M"E c5a cc n%c i c th x"!t pht tO tr8ng thi x,
$ 2I ~)i< Dt tr chi carB c B, Kai ng#i thay phi>n nha" i ho:c , 6g#i
no i c ~ B th]ng hng (ngang, 2/c, xi>n+ th thFng c"c, 6-" j h-t B i m cha ph'n
thFng 98i th hai !" th5 ha nha", Gt phn c5a tr chi ny c 9i" 2i3n 9Xi c'y sa"<
Trong c'y tr chi tr>n, cc nJt 0 c tB n7n & &i7n *h"ng Bi 23 ph'n 9i;t &%i
cc nJt *hc, Ta c th gn cho m@i nJt 0 mt gi tro phEn nh tr8ng thi thFng th"a hay
ha c5a cc !" th5, .h]ng h8n ta gn cho nJt 0 cc gi tro nh sa"<
L n-" t8i ng#i i j thFng,
)L n-" t8i ng#i i j th"a &
d n-" hai !" th5 j ha nha",
6h &Cy tO mt tr8ng thi 9!t *, -n 0t mnh, ng#i i s ch/n cho mnh mt
n%c i sao cho 2[n -n tr8ng thi c gi tro 0%n nh!t (trong tr#ng hp ny 0 L+, Ta ni
ch/n n%c i G, nJt m tO ch/n n%c i c5a mnh c g/i 0 nJt G, 6g#i i
-n 0t mnh s ch/n mt n%c i sao cho 2[n -n tr8ng thi c gi tro nhe nh!t (trong
tr#ng hp ny 0 )L, *hi s th"a & 2o s thFng+, Ta ni ch/n n%c i G6, nJt
m tO ch/n n%c i c5a mnh c g/i 0 nJt G6, Po hai !" th5 0"'n phi>n nha" i
n%c c5a mnh n>n cc mUc tr>n c'y tr chi cfng 0"'nphi>n nha" 0 G & G6, .'y tr
chi & th- cn c t>n 0 c'y G6)G, Ta c th a ra mt M"y tFc onh tro cho cc nJt
tr>n c'y phEn nh tnh tr8ng thFng th"a hay ha & *hE nang thFng c"c c5a hai !" th5,
6-" mt nJt 0 nJt 0 th tro c5a n 0 gi tro j c gn cho nJt , 6gc 08i, n-"
nJt 0 nJt G th tro c5a n 9_ng gi tro 0%n nh!t c5a t!t cE cc tro c5a cc con c5a n, 6-"
nJt 0 nJt G6 th tro c5a n 0 gi tro nhe nh!t c5a t!t cE cc tro c5a cc con c5a n,
r"y tFc onh tro ny cfng gn gi1ng &%i M"y tFc onh tro cho c'y 9i" thUc s1 h/c,
im *hc 9i;t X 'y 0 cc ton tZ 0 cc hm 0!y max ho:c min & m@i nJt c th c nhi7"
con, Po &Cy ta c th 2Wng * th"Ct M"ay 0"i onh tro cho cc nJt c5a c'y tr chi,
= ci :t ta c mt s1 giE thi-t sa"<
Ta c mt hm tayouu nhCn &o mt nJt 0 & cho ta gi tro c5a nJt 0 ,
.c h_ng & ) tng Ung 0 cc tro tayouu 0%n nh!t & nhe nh!t,
whai 9o *i" Go2eType c (G6, G+ xc onh onh tro cho nJt 0 G6 hay G,
Gt *i" 6o2eType c *hai 9o mt cch thch hp 9i" 2i3n cho mt nJt tr>n c'y
phEn nh mt tr8ng thi c5a c"c chi,
Ta c mt hm is0eau xc onh xem mt nJt c phEi 0 nJt 0 hay *hBng
Km max & min tng Ung 0!y gi tro 0%n nh!t & gi tro nhe nh!t c5a hai gi tro,
piEi th"Ct &Dt c8n onh tro c'y tr chi
Km kearch nhCn &o mt nJt n & *i" mo2e c5a nJt (G6 hay G+ trE &7 gi
tro c5a nJt,
6-" nJt n 0 nJt 0 th trE &7 gi tro j c gn cho nJt 0, 6gc 08i ta cho n mt
gi tro t8m &a0"e 0 ) ho:c tWy th"c n 0 nJt G hay G6 & xDt con c5a n, ka" *hi
mt con c5a n c gi tro $ th :t 08i &a0"e c max(&a0"e,$+ n-" n 0 nJt G & &a0"e c
min(&a0"e,$+ n-" n 0 nJt G6, whi t!t cE cc con c5a n j c xDt th gi tro t8m &a0"e c5a
n trX thnh gi tro c5a n,
function Search(n : NodeType; mode: ModeType): real;
var C : NodeType ; { C l mt nt con ca nt n!
"alue : real;
{#c $%u ta cho value mt &i' tr( t)m* +au ,hi $- ./t h0t t1t c2 c'c con
ca nt n th3 value l &i' tr( ca nt n !
4e&in
if i+5leaf(n) then return ( 6ayoff(n) )
el+e 4e&in
{7h8i t)o &i' tr( t)m cho n !
if mode 9 M:; then value :9 <= el+e value :9 =;
{;/t t1t c2 c'c con ca n* m>i l%n .'c $(nh $?@c &i' tr( ca mt
nt con*ta ph2i $At l)i &i' tr( t)m valueB 7hi $- ./t h0t t1t c2 c'c con
th3 value l &i' tr( ca n!
for vCi m>i con C ca n do
if mode 9 M:; then
"alue :9 ma.("alue* Search(C* MDN) )
el+e "alue :9 min("alue* Search(C* M:;) );
return (value);
end;
end;
w th"Ct cFt tAa 0pha)seta (0pha)seta tr"ning+
Trong giEi th"Ct &Dt c8n X tr>n, ta th!y onh tro cho mt nJt no , ta phEi onh tro
cho t!t cE cc nJt con ch" c5a n, & m"1n onh tro cho nJt g1c ta phEi onh tro cho t!t cE cc
nJt tr>n c'y, k1 0ng cc nJt tr>n c'y tr chi t"y h4" h8n nhng *hBng phEi 0 t, .h]ng
h8n trong c'y tr chi ca rB ni tr>n, n-" ta c 9n c# 9ao gTm n B th c th c t%i n nJt tr>n
c'y (trong tr#ng hp tr>n 0 +, =1i &%i cc 0o8i c# *hc nh c# &"a ch]ng h8n, th s1 0ng
cc nJt cn 0%n hn nhi7", Ta g/i 0 mt sH 9Wng n` t` hp cc nJt,
.hJng ta c1 gFng tm mt cch sao cho *hi onh tro mt nJt th *hBng nh!t thi-t phEi
onh tro cho t!t cE cc nJt con ch" c5a n, Tr%c h-t ta c nhCn xDt nh sa"<
6-" t 0 mt nJt G & ta ang xDt mt nJt con r c5a n (2Q nhi>n r 0 nJt
G6+, piE sZ $p 0 mt gi tro t8m c5a t, $M 0 mt gi tro t8m c5a r & n-" ta c $p $M
th ta *hBng cn xDt cc con cha xDt c5a r n4a, $ n-" c xDt th gi tro c5a r cfng s nhe
hn ho:c 9_ng $M & 2o *hBng Enh hXng g -n $p, Tng tH n-" t 0 nJt G6 (t!t
nhi>n r 0 nJt G+ & $p $M th ta cfng *hBng cn xDt -n cc con cha xDt c5a r n4a,
$i;c *hBng xDt ti-p cc con cha c xDt c5a nJt r g/i 0 &i;c cFt tAa 0pha)seta cc con
c5a nJt r,
Tr>n c sX nhCn xDt , ta n>" ra M"y tFc onh tro cho mt nJt *hBng phEi 0 nJt 0
tr>n c'y nh sa"<
L, whXi " nJt G c gi tro t8m 0 ) & nJt G6 c gi tro t8m 0 ,
N, 6-" t!t cE cc nJt con c5a mt nJt j c xDt ho:c 9o cFt tAa th gi tro t8m c5a
nJt trX thnh gi tro c5a n,
~, 6-" mt nJt G n c gi tro t8m 0 $L & mt nJt con c5a n c gi tro 0 $N th
:t gi tro t8m m%i c5a n 0 max ($L,$N+, 6-" n 0 nJt G6 th :t gi tro t8m m%i c5a n 0
min ($L,$N+,
m, $Cn 2Ing M"y tFc cFt tAa 0pha)seta ni tr>n h8n ch- s1 0ng nJt phEi xDt,
function cat5tia(E: NodeType; mode: ModeType; "p: real): real;
var C : NodeType ; { C l mt nt con ca nt E!
"F : real;
{"F l &i' tr( t)m ca E* +au ,hi t1t c2 c'c con ca nt E $- ./t hoAc 4(
cGt tHa th3 "F l &i' tr( ca nt E!
4e&in
if i+5leaf(E) then return ( 6ayoff(E) )
el+e 4e&in
{ 7h8i t)o &i' tr( t)m cho E !
if mode 9 M:; then "F :9 <= el+e "F :9 =;
{;/t c'c con ca E* m>i l%n .'c $(nh $?@c &i' tr( ca mt nt con
ca E* ta ph2i $At l)i &i' tr( t)m "F v +o +'nh vCi "p $I cJ thI cGt tHa
hay ,hKn&!
;/t C l con tr'i nh1t ca E;
Lhile C l con ca E MN
if mode 9 M:; then 4e&in
"F:9 ma.("F* Cat5tia(C* MDN* "F));
if "p O "F then return("F);
end
el+e 4e&in "F :9 min("F* Cat5tia(C* M:;* "F));
if "p P "F then return("F);
end;
return ("F);
end;
end;
$ 2I ~)b< $Cn 2Ing M"y tFc tr>n onh tro cho nJt trong c'y tr chi trong & 2I
~)i,
0 nJt G, 0Jc " n c gi tro t8m 0 ), xDt s 0 con c5a , s 0 nJt 0 n>n gi
tro c5a n 0 gi tro j c gn L, gi tro t8m c5a 9'y gi# 0 max (),L+ c L, Dt con . c5a
, . 0 nJt G6, gi tro t8m 0Jc " c5a . 0 , Dt con x c5a ., x 0 nJt G, gi tro t8m
c5a x 0 ), Dt con c5a x, 0 nJt 0 n>n gi tro c5a n 0 d, r"ay 0"i 08i x, gi tro t8m c5a
x 9'y gi# 0 max (),d+ c d, $ x chA c mt con 0 j xDt n>n gi tro t8m d trX thnh gi tro
c5a x, r"ay 0"i 08i ., gi tro t8m m%i c5a . 0 min (,d+ c d, 0 nJt G c gi tro t8m 0
L, . 0 con c5a , c gi tro t8m 0 d, Ld n>n ta *hBng cn xDt con c5a . n4a, 6Jt . c hai
con 0 x & , trong x j c xDt, j 9o cFt, &Cy gi tro t8m d c5a . trX thnh gi tro c5a
n, ka" *hi c gi tro c5a ., ta phEi :t 08i gi tro t8m c5a , nhng gi tro t8m ny *hBng thay
`i & max (L,d+ c L, Ti-p tIc xDt nJt P, P 0 nJt G6 n>n gi tro t8m 0 , xDt nJt con p c5a
P, p 0 nJt G n>n gi tro t8m c5a n 0 ), xDt nJt con c5a p, $ 0 nJt 0 n>n c gi tro
d, r"ay 0"i 08i p, gi tro t8m c5a p 9'y gi# 0 max (),d+ c d & gi tro t8m ny trX thnh gi
tro c5a p & p chA c mt con j xDt, r"ay 0"i &7 P, gi tro t8m c5a P 9'y gi# 0 min (,d+ c
d, pi tro t8m ny c5a P nhe hn gi tro t8m c5a nJt G 0 cha c5a n n>n ta cFt tAa con
K cha c xDt c5a P & 0Jc ny P c gi tro 0 d, r"ay 0"i &7 , gi tro t8m c5a n &[n
*hBng thay `i, nhng 0Jc ny cE ~ con c5a 7" j c xDt n>n gi tro t8m L trX thnh gi
tro c5a , w-t M"E c minh h/a trong hnh sa"<

You might also like