chiến lược minimax

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 14

1

GII THUT TM KIM MINIMAX


I. Gii thiu Thut ton Minimax l thut ton tm kim chuyn dng tr v chui nc i ti u cho mt ngi chi trong tr chi c tng bng khng . Minimax (cn gi l minmax) l mt phng php trong l thuyt quyt nh c mc ch l ti thiu ha (minimize) tn tht vn c d tnh c th l ti a (maximize). Mt tr chi p dng chin lc nh tic-tac-toe, khi m mi ngi chi c th thng, thua, hoc ha. Nu ngi chi A c th thng trong mt nc i, th "nc i tt nht" chnh l nc i dn n kt qu thng . Nu ngi B bit rng c mt nc i m dn n tnh hung ngi A c th thng ngay nc i tip theo, trong khi nc i khc th s dn n tnh hung m ngi chi A ch c th tt nht l ha th nc i tt nht ca ngi B chnh l nc i sau. Ta s nm r, th no l mt nc i "tt nht". Gii thut Minimax gip tm ra nc i tt nht, bng cch i ngc t cui tr chi tr v u. Ti mi bc, n s c nh rng ngi A ang c gng ti a ha c hi thng ca A khi n phin anh ta, cn nc i k tip th ngi chi B c gng ti thiu ha c hi thng ca I.1 Tr chi c tng bng khng (Zero-sum-game) Tr chi c tng bng khng l tr chi c tng gi tr kt qu (m ngi thng c hng) l c nh. Bt c bn no thng (+1) cng lm cho bn kia thua cuc (-1), tng ng vi tnh hung ganh ua thun tu, cui cng dn ti tng (+1- 1) = 0. C vua l mt tr chi c tng bng khng bi khng th c trng hp c hai bn u thng hoc u thua. Nu mt bn thng th bn kia nht

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)

Hnh 1.3: Cy tr chi

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 trng thi thng thua hay ha ca cc u th. Chng hn ta gn cho nt l cc gi tr nh sau:


1 nu ti ngi i X thng -1 nu ti ngi i X thua 0 nu hai u th ha nhau

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

3 MIN 3 MAX MIN 2 3


-1 1

0 0 2

Nt MAX 2 4

Nc i ca MAX 5 1 6
1 X

Hnh 2.3: Minimax i vi khng gian trng thi gi X


-2

XO

XO

XO

XO

XO 4-5= -1

OX

OX 6 - 4= 2

6-5=1 5-5=0 6-5= 1 5-5=0 OX 5-6= -1

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

You might also like