0% found this document useful (0 votes)
105 views5 pages

AIM 30 Edwards Hart Alpha Beta Heuristic

This document discusses the alpha-beta pruning heuristic, a method for pruning unneeded branches from the move tree of a game. It works by using information gained about part of the tree to reject branches that will not affect the principal variation. The reasoning and definitions of the heuristic are provided. It is noted that ordering moves from most to least gainful is important for the heuristic to achieve the maximum benefit of cutting the exponential growth rate of the tree in half.

Uploaded by

Aaron Nelson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views5 pages

AIM 30 Edwards Hart Alpha Beta Heuristic

This document discusses the alpha-beta pruning heuristic, a method for pruning unneeded branches from the move tree of a game. It works by using information gained about part of the tree to reject branches that will not affect the principal variation. The reasoning and definitions of the heuristic are provided. It is noted that ordering moves from most to least gainful is important for the heuristic to achieve the maximum benefit of cutting the exponential growth rate of the tree in half.

Uploaded by

Aaron Nelson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

/

'. l\rtificial IntellIgence Project-H,RIE B.nd 1:11T Computation. Center

r1e!.l1o 30 (Revi sed) ....

by D. J& Edwards and T. p~ Hart

October 28, 1963

(T.11:[.s memo i.s a ~"ev:tsed version o:E ~'he TreeLruIl.~_mJ l\.~~:tthn\, AI Uemo 30
Dec<ambcr l!- 1 1961.)


Th~ Ct~iL.!i~ur!st~.

by D. .J.. Edwards and T. P. Hart

Th? a-p heul.':U;tic is a method for prunl.ng um.leeded branches fz:om.


the move tree of a gamco The algo2~:U:hm makes UEH: of info:l."mation gained

about part of the tree to reject those b1.\9.nclles ~.yhich will not affect

the principle variation...

'l'he reasoning behind the a"'~ heuristic is a.s follow'S:

a) if the maximizing-player finds a move \~hose value j.s greater

than or equal to the value of an alte~~late minimizing-player move found

higher. in the tree, he should not look furtber because the rHin-player

would certainly take that alternate moveo

b) if the min-player finds a mO'TJC whose value i c


_0 less than

or equal to the value of au alte'!'l1ute ma;}{ ... player move fouud higher in

the tz'ee, he should not look further because the max-player would certainly

take that 301 terna:te. move.

max

a
I/'> min

/ v 0)

Case" '(tiJ may be illustrated hy the above piec.e of tree.. The max'"

player has investigated the branch with value a and has looked at an alter ...

nate mo'v'e from the 110:i.1ll: at '(;,michthis brancb 'twas found 4 At the time the

-2;"

value v is established the maximi.:f.ing player (t'Jn.ose pO.illt of vie~\f ;;-]8 are

taking) sees that if he 'Cakes the right br.'iilCh from the top node he 1s

giving the other player the opportunity to take the v branch. But th:ts

vlil1 i:esul t i11 his getting v or less !I and since he can get O! by t.2kll1g

the left branch, he instantly decides that he won't mru<e the move to the

1,:'ight under any ci.rcumstance ..

The following definitio11S e:r:press the 0:-[3 heuristic:

'VTr:,ax[pos;a;~] :::: [if final[pos;a;!3] thel1. evaluate[pos]


else vlmaX[succ[posl;a;~]]

v~m,sx[lis ;a;t3] 0: [if null [lis] f:hen a


else if vmin[car[lis] ;a:;f3} ..;> J3 then tl
else vlmax{cdr[lis];

max[vmi11.[ca.r[1:i.s] ;a;p] ;cd;


f3] ]

vmin[pos;a;ll] : :.: [if final[pos;a;fl] then evalu31;e[pos]


else vlmin[succ[pos];a;~]]

vlminlis ;0;;13] = [.~


1.J: 111.1 ldl~1']
L J.l.S th A
' .. (,~n !"

else if vmax[ca:r[lin] ;a;f3] ~ a the!l at


else vlmin[cdr[lis];
a; ,
min[vmax[car[lis] ;a;ll] ;13]]]

2! stands for some r.epresentation of the current pos1tion&

Jis is a li.st of position repzoese1L1tations.

~[pos] is a function vJi1ich produces a. list of positions '(mich can be

reached in one move from pq~o

f:t~!!l[pOS ;cqf,l] ill a predicate "tmi.ch may decide that the sea.rch is not
,

-3-

from the poin.t of vievl of maximizing player).

a and ~ are initially set at ... co and "I.. CO respectj.vely"

This heu:o:-istic may readily be compared wIth a minimax search by

obsel"'Ving that i:f. the second clauses in the. c.onditional expression. fo:c

vlm~ and ~ are elimina.ted the resulting fUl1ction is just min:f.ma:-!: ..

It is important to note that the ordering of the list of moves gener'"

ated by JluCC is very important. The most gain is achie"led from the heur-

istic when the right move is at the beginning of the list.

It turns out that at best, that is, in the case of perfect orde1:-il1g

the a-l) heuristic can cut a tl:ee I s e:~q)onential gro'\3'i:h rate in h.alf, thus

allowing almoct t"t..r.tce the search depth for the same effoL't.. 110re pre-

cisely: He have the following theorem

Theo!-~~:n (Levin): Let n be the number of plies in a. tree, and let b be

the number of branches at eve!:y br.a~'1ch po:tnt. '!llC11. the number: of terminal

points on the tree is


ll
T = b

However, if the best possible advantage is taken of the a-~ heuristic

then the number of terminal points that need be exanuned is

!l1:l !!:l
T= b -~2 .!... b 2 ... 1. fot" odd n
n
T :;: 2b
'2 .,. 1 for even n

I'
-4

i:Hrminal nodes need be examil1l'!d. ACGording to f;he fo:ouula for n f:;'J;?,;:

llhere b :t.i: 3 and n ~ .4 only 17 out of the 81 possible nodes need ~:;, '!,~ .'~:1

and this i~ sho\m to he true in this case.. lQote that: the unlahe., .(;).]

m(?~y have any possible value and the l:esult will still be unch.-2uged ..

You might also like