Professional Documents
Culture Documents
chiến lược minimax
chiến lược minimax
chiến lược minimax
nh l thua v ngc li . Th thao l nhng v d in hnh nht ca tr chi c tng bng khng. Nh v ch ch c th t c vinh quang khi ton b cc i th khc u thua cuc. Trong mt gii bng tng s trn thng lun bng tng s trn thua cng l bi ci tnh cht tng bng khng y . Vic u t kinh doanh chng khon cng chnh l mt tr chi c tng bng khng, bi v , s tin thua l ca nh u t ny s l tin li ca nh u t khc. Nh u t c th mt trng hoc thng ln. I.2. CY TR CHI. Cc trng thi bn c khc nhau (hay cn gi l mt th c, tnh hung c) trong qu trnh chi c th biu din thnh mt cy tm kim (c gi l cy tr chi - hnh 1.3) v ta s tin hnh tm kim trn cy tm c nc i tt nht. Cy tr chi c cc nt l cc tnh hung khc nhau ca bn c, cc nhnh ni gia cc nt s cho bit t mt tnh hung bn c chuyn sang tnh hung khc thng qua ch mt nc i n no . Tuy nhin, cc nc i ny din ra theo cp do hai u th ln lt tin hnh. su ca cy tr chi l s tng ca cy. Thut ng nc i c thng nht l mt ln i ca mt u th hoc mt ln i phn ng li ca i th bn kia. Ch iu ny khc vi thi quen dng trong thc t mt nc i bao gm ln i ca ta v mt ln i ca i th. Ni cch khc, nc i y thc cht ch l "na nc" theo cch hiu ca lng c.
Trng thi bn c gc (ply=0) Lt ta i Trng thi bn c mi (ply=1) Lt i phng i Trng thi bn c mi (ply=2)
Tm li: Cy tr chi dng cc nt th hin trng thi ca tr chi. Cy ny l mt dng ca cy ng ngha, c cc nhnh ng vi vic chuyn cu hnh sau mt nc i. C th xem hai nhnh xut pht t mt nt l hai quyt nh ca hai i th. Gi p l s mc ca cy th su ca cy l d= p-1. Mi la chn hay bc chuyn l mt nc i. II. Gii thut Minimax Xt mt tr chi i khng trong hai ngi thay phin nhau i nc ca mnh nh c vua, c tng, c car,... Tr chi c mt trng thi bt u v mi nc i s bin i trng thi hin hnh thnh mt trng thi mi. Tr chi s kt thc theo mt quy nh no , theo th cuc chi s dn n mt trng thi phn nh c mt ngi thng cuc hoc mt trng thi m c hai u th khng th pht trin c nc i ca mnh, ta gi n l trng thi ha c. Ta tm cch phn tch xem t mt trng thi no s dn n u th no s thng vi iu kin c hai u th u c trnh nh nhau. Vn chi c c th xem nh vn tm kim, trong khng gian trng thi. Mi trng thi l mt tnh th. Trng thi ban u l s sp xp cc qun c ca hai bn lc bt u cuc chi. Cc ton t l cc nc i hp l. Cc trng thi kt thc l cc tnh th m cuc chi dng, thng c xc nh bi mt s iu kin dng. Mt hm kt cc ng vi mi trng thi kt thc vi mt gi tr no . Ta c th xc nh hm kt cuc l hm nhn gi tr 1 ti cc trng thi kt thc l thng, -1 ti cc trng thi kt thc l thua v 0 ti trng thi kt thc l ha.
II.1 tng Hai i th trong mt tr chi c gi l MIN v MAX. MAX i din cho i th quyt ginh thng li hay c gng ti a ha u th ca mnh. Ngc li MIN l i th c gng ti thiu ha im s ca MAX. Ta gi thit MIN cng dng cng nhng thng tin nh MAX. Mt tr chi nh vy c th c biu din bi mt cy tr chi. Mi mt nt ca cy biu din cho mt trng thi. Nt gc biu din cho trng thi bt u ca cuc chi. Mi nt l biu din cho mt trng thi kt thc ca tr chi (trng thi thng, thua hoc ha). Nu trng thi x c biu din bi nt n th cc con ca n biu din cho tt c cc trng thi kt qu ca cc nc i c th xut pht t trng thi x. Do hai u th lun phin nhau i nc ca mnh nn cc mc (lp) trn cy tr chi cng lun phin nhau l MAX v MIN. Cy tr chi v th cn c tn l cy MIN-MAX. Trn cy tr chi cc nt ng vi trng thi m t ngi chi MAX chn nc i s thuc lp MAX, cc nt ng vi trng thi m t ngi chi MIN chn nc i s thuc lp MIN. Chin lc minimax th hin qua quy tc nh tr cho cc nt trn cy tr chi nh sau: - Nu nt l nt l gn cho nt mt gi tr phn nh trng thi thng thua hay ha ca cc u th. - S dng gi tr ca cc nt l xc nh gi tr ca cc nt cc mc trn trong cy tr chi theo quy tc: + Nt thuc lp MAX th gn cho n gi tr ln nht ca cc nt con ca nt . + Nt thuc lp MIN th gn cho n gi tr nh nht ca cc nt con ca nt . Gi tr c gn cho tng trng thi theo quy tc trn ch r gi tr ca trng thi tt nht m mi i th c th hy vng t c. Ngi chi s s
dng cc gi tr ny la chn cc nc i cho mnh. i vi ngi chi MAX khi n lt i, ngi chi ny s chn nc i ng vi trng thi c gi tr cao nht trong cc trng thi con, cn vi ngi chi MIN khi n lt s chn nc i ng vi trng thi c gi tr nh nht trong cc trng thi con. V d 1: Xt tr chi car c 9 (Tic tac toe). Hai ngi MAX v MIN thay phin nhau i X hoc O (MAX i X, MIN i O). Ngi no i c 3 thng hng (ngang, dc, xin) th thng cuc. Nu ht i m cha phn thng bi th hai u th ha nhau. Mt phn ca tr chi ny c biu din bi cy sau:
MAX i X
1
MAX i X
X X O X O O
1
MIN i O
X O X X X O O X X O X
-1
X O O O X
0
X X X O O
0
MAX i X
X X O O X X O O O X X X O O X X O X O
-1
X O O X O X X O O X X O X X
0
X O O X O O X O O X O O X X X X X
1
X O O
MIN i O
X X O
1
X O O
Hnh 2.1. Mt phn cy tr chi trong tr chi tic-tac-toe. Trong cy tr chi trn, cc nt l c t nn v vin khung i d phn bit vi cc nt khc. Ta c th gn cho mi nt l mt gi tr phn
Nh vy t mt trng thi bt k, n lt mnh, ngi i X s chn cho mnh mt nc i sao cho dn n trng thi c gi tr ln nht (trong trng hp ny l 1). Ta ni X chn nc i MAX, nt m t X chn nc i ca mnh c gi l nt MAX. Ngi i O n lt mnh s chn mt nc i sao cho dn n trng thi c gi tr nh nht (trong trng hp ny l -1, khi X s thua v do O s thng). Ta ni O chn nc i MIN, nt m t O chn nc i ca mnh c gi l nt MIN. p dng chin lc Minimax cho mt nhnh trong cy tr chi ca tr chi Tic-tac-toe ta c gi tr (pha trn mi nt) ca cc nt c th hin trong hnh 2.1. V d 2: Xt tr chi Nim. chi Nim, mt s token (vt biu hin nh ng xu, l bi, mnh g) c t trn bn gia hai i th. mi nc i, ngi chi phi chia ng token thnh hai ng nh c s lng khc nhau. Ngi chi no n lt m khng chia c l thua cuc. ng vi mt token va phi, khng gian trng thi ny c th trin khai n cng. Hnh sau biu din khng gian trng thi ca tr chi c 7 token:
MIN
6-1 1 7 1
5-2
4-3
MAX
5-1-1
4-2-1
3-2-2
3-3-1
MIN
1
MAX
4-1-1-1
3-2-1-1
2-2-2-1
MIN MAX
3-1-1-1-1
2-2-1-1-1
2-1-1-1-1-1
Hnh 2.2: Khng gian trng thi ca tr chi Nim. Khi chi cc tr chi kh c th trin khai ht khng gian trng thi, kh khn ch yu l phi tnh ton phn ng ca i th. Mt cch x l n gin nht l gi s i th ca chng ta cng s dng kin thc v khng gian trng thi ging nh chng ta v p dng kin thc kin nh thng cuc. Mc d gi thit ny c nhng hn ch ca n nhng n cng cho chng ta mt c s hp l d on hnh vi ca i th. Gii thut Minimax s tm kim khng gian ca tr chi ny theo gi thit . p dng chin lc Minimax, chng ta nh du lun phin tng mc trong khng gian tm kim ph hp vi i th c nc i mc . Trong v d trn, MIN c quyn i trc, tng nt l c gn gi tr 1 hay 0 ty theo kt qu l thng cuc i vi MAX hay MIN. Kt qu ca vic p dng Minimax vo th khng gian trng thi i vi tr chi Nim c th hin nh hnh trn. V tt c cc nc i u tin c th xy ra cho MIN s dn n cc nt c gi tr 1 nn i th MAX lun c th bt tr chi ginh thng li cho mnh bt k nc i u tin ca MIN l nh th no (ng i thng li ca MAX c cho theo mi tn m). II.2 p dng gii thut Minimax n su lp c nh Khi p dng Minimax cho cc tr chi phc tp, him khi c kh nng m rng th khng gian trng thi n cc nt l. Thay vo khng gian trng thi ny ch c th c trin khai n mt s mc xc nh ph thuc tim nng v thi gian v b nh chng hn. Chin lc ny c gi l tnh trc n nc i (n move lookahead). V gi tr cc nt trong th con ny khng phi l trng thi kt thc ca tr chi nn chng khng phn nh gi tr thng cuc hay thua cuc. Chng ch c th c gn mt gi tr ph hp vi mt hm nh gi heuristic no . Gi tr c truyn ngc v nt gc
khng cung cp thng tin thng cuc hay thua cuc m ch l gi tr heuristic ca trng thi tt nht c th tip cn sau n nc i k t nt xut pht. Vic tnh trc ny s lm tng hiu qu ca heuristic v n c p dng vo mt phm vi ln hn trong khng gian trng thi. Minimax s hp nht tt c cc gi tr ca cc nt con chu ca mt trng thi thnh mt gi tr duy nht cho trng thi .
Trong cc cy tr chi c tm kim bng mc hay lp (ply), MAX v MIN lun phin nhau chn cc nc i. Mi nc i ca mt i th s xc nh mt lp mi trn cy. Cc chng trnh tr chi ni chung u d tnh trc mt su lp c nh (thng c xc nh bng cc gii hn v khng gian hoc thi gian ca my tnh). Cc trng thi trn mc c nh gi theo cc heuristic v cc gi tr ny s c truyn ngc ln bng th tc Minimax, sau thut ton tm kim s dng cc gi tr va nhn c chn la mt nc trong s cc nc i k tip. Bng cch ti a ha cho cc cha m MAX v ti thiu ha cho cc cha m MIN, nhng gi tr ny i li theo th n con ca trng thi hin hnh. Sau trng thi hin hnh dng chng tin hnh la chn trong cc con ca n .
3 MAX
0 0 2
Nt MAX 2 4
Nc i ca MAX 5 1 6
1 X
XO
XO
XO
XO
XO 4-5= -1
OX
OX 6 - 4= 2
5 - 4= 1
OX 6-6= 0
OX
XO
XO 4-6= -2
5-6= 10 -1 6-6= 0
Hnh 2.4: Minimax hai lp c p dng vo nc i m u tr chi Tictac-toe. y s dng mt heuristic phc tp hn, n c o mc tranh chp trong tr chi. Heuristic chn mt trng thi cn o, tnh tt c cc ng thng m ra cho MAX, ri tr i tng s cc ng thng m ra cho MIN. Gii thut tm kim s c gng ti a ha s chnh lch (hiu s) . Nu c mt trng thi bt buc thng cuc cho MAX, n s c nh gi l + , cn vi trng thi bt buc thng cuc cho MIN th c nh gi l - . II.3 Th tc Minimax Gi s chng ta c mt b phn tch th c c th p dng tt c cc lut, cc phng php nh c khc nhau vo tng th c v chuyn i chng thnh mt con s i din (cho im th c). Mt khc, ta gi s con s l dng khi p dng cho th c ca mt u th (c gi l ngi chi cc i ngi chi MAX), v l m khi p dng cho u th bn kia (c gi l ngi chi cc tiu ngi chi MIN). Qu trnh tnh ton cho im th c c gi l lng gi tnh (static evaluation). Hm thc hin vic tnh ton c gi l mt b lng gi tnh v gi tr nhn c gi l im lng gi tnh. C hai u th u c gng i nh th no t c im tuyt i ln nht. Ngi chi cc i (MAX) s tm nhng nc i dn n im ca mnh tr nn ln hn (hay cao nht c th c) hay im ca i th bt
11
m hn (nh hn v gi tr tuyt i). Cn u th ca anh ta, ngi chi cc tiu (MIN), li ra sc phn khng li, dn ti im m ca anh ta m hn hay im dng ca i th nh i . T tng ta c th suy ra cc bc ca thut ton Minimax nh sau: - Nu nh t n gii hn tm kim (n tng di cng ca cy tm kim tc nt l), tnh gi tr tnh ca th c hin ti ng vi ngi chi . Ghinhktqu. - Nu nh mc ang xt l ca ngi chi cc tiu (nt MIN), p dng th tc Minimax ny cho cc con ca n. Ghi nh kt qu nh nht. - Nu nh mc ang xt l ca ngi chi cc i (nt MAX), p dng th tc Minimax ny cho cc con ca n. Ghi nh kt qu ln nht. T tng phn tch trn ta c th xy dng th tc Minimax nh sau: Hm Minimax nhn vo mt th c pos v tr v gi tr ca th c . Nu th c pos tng ng vi nt l trong cy tr chi th tr v gi tr c gn cho nt l. Ngc li ta cho pos mt gi tr tm value l - hoc ty thuc pos l nt MAX hay MIN v xt cc th c con ca pos. Sau khi mt con ca pos c gi tr V th t li value= max(value, V) nu n l nt MAX v value= min(value,V) nu n l nt MIN. Khi tt c cc con ca n c xt th gi tr tm value ca pos tr thnh gi tr ca n. (INFINITY th hin cho gi tr v cng) . Ta c gi m cho gii thut Minimax nh sau: function Minimax(pos): integer; value, best : integer; begin if pos l nt l then return eval(pos) else begin {Khi to gi tr tm cho best } if pos l nt MAX then best:= -INFINITY
12
else best := INFINITY; {hm genPos sinh ra mi nc i t th c pos} genPos(pos); {Xt tt c cc con ca pos, mi ln xc nh c gi tr ca mt nt con, ta phi t li gi tr tm value. Khi xt ht tt c cc con th value l gi tr ca n} while (cn ly c mt nc i m) do begin pos := Tnh th c mi nh i m; value = Minimax(pos); if pos l nt MAX then if (value > best) then best := value; if pos l nt MIN then if (value < best) then best := value; end; Minimax := best; end; end; Xem xt on chng trnh trn ta thy: - C hai hm mi l hm eval(pos) v hm genPos(pos). Hm eval(pos) thc hin vic tnh gi tr (lng gi) ca th c pos. Hm genPos(pos) sinh ra tt c cc nc i c th t th c pos hin ti. Vic xy dng hai hm ny s ph thuc vo tng tr chi c th. Hm nh gi Eval ng vi mi trng thi (th c) pos ca tr chi vi mt gi tr s Eval(pos). Gi tr ny l s nh gi li th ca trng thi pos. Trng thi pos cng thun li cho MAX th Eval(pos) l s dng cng ln, pos cng thut li cho MIN th eval(pos) l s m cng nh, Eval(pos) 0 i vi trng thi khng li th cho ai c. Cht lng ca chng trnh chi c ph thuc rt nhiu vo hm nh gi. Nu hm nh gi cho ta s nh gi khng chnh xc v cc trng thi, n c th hng ta i ti trng thi c xem l tt, nhng thc t li rt li cho ta. Thit k mt hm nh tt l mt vic kh. i hi ta phi quan tm n nhiu nhn t. y c s mu thun
13
gia chnh xc ca hm nh gi v thi gian tnh ca n. Hm nh gi chnh xc s i hi rt nhiu thi gian tnh ton, m ngi chi li . III. nh gi
V l thuyt, chin lc Minimax cho php ta tm c nc i ti u. Song n khng thc t, chng ta s khng c thi gian tnh c nc i ti u. Bi v thut ton Minimax i hi ta phi xem xt ton b cc nh ca cy tr chi. Trong cc tr chi hay, cy tr chi l cc k ln. Chng hn, i vi c vua, ch tnh n su 40, th cy tr chi c khong 10 120 nh! Nu cy c cao m, v ti mi nh c b nc i phc tp v thi gian ca thut ton Minimax l O(bm). Bn cht ca thut ton l tm kim theo chiu su nn phc tp khng gian l O(bm). C th tit kim c nhiu thi gian bng vic dng cc thut ton thng minh hn nh thut ton Alpha-beta, thut ton ny khng thm tt c cc nt l m vn cho kt qu ng vi thut ton Minimax.
14