1 tayangan

Diunggah oleh Boaz Tanui

Analysis of the Alpha-beta Pruning Algorithm

- Data Structures
- Entering Content FrameBackground Documentation Header Data for Outgoing Files Locate the Document in Its SAP Library Structure
- RPP BWM20502
- ADSA-Qbank
- daa.docx
- XML diff survey
- Be III Sem Cse Sch.syllabi
- Report Abalone
- 10.5 Assignment 3 Algorithm
- 1.Scholorship Test (02!09!18) (Chennai)
- Question
- diagram pena.pdf
- back-matter
- 51658218 Non Linear Data Structures
- aaoa chap 1
- Edu Catfall07 Exam c
- ProblemSheet06MT3073 CRV
- Lecture 8
- Random Variables
- Swings

Anda di halaman 1dari 56

Computer Science Department School of Computer Science

1973

Samuel H. Fuller

Carnegie Mellon University

John G. Gaschnig

Gillogly

This Technical Report is brought to you for free and open access by the School of Computer Science at Research Showcase @ CMU. It has been

accepted for inclusion in Computer Science Department by an authorized administrator of Research Showcase @ CMU. For more information, please

contact research-showcase@andrew.cmu.edu.

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS:

The copyright law of the United States (title 17, U.S. Code) governs the making

of photocopies or other reproductions of copyrighted material. Any copying of this

document without permission of its author may be prohibited by law.

ANALYSIS OF THE ALPHA-BETA PRUNING ALGORITHM

Carnegie-Mellon University

Pittsburgh, Pennsylvania 15213

July, 1973

of the Office of the Secretary of Defense (F44620-73-C-0074) and

is monitored by the Air Force Office of Scientific Research.

ABSTRACT

Many game-playing programs must search very large game trees. Use

derived, subject to the assumptions that the branching factor N and the

depth D of the tree are arbitrary but fixed, and the bottom positions

based on a Monte Carlo simulation for large values of N and D. The behavior

chess playing program and the effects of correlation and non-unique bottom

TABLE OF CONTENTS

Section Page

1. Introduction 1

Observations

7. Empirical Observations 42

8. Conclusion 47

Appendix: Notation 49

References 51

ii

1. INTRODUCTION

range of programs. The efficiency with which these trees can be searched

result based upon an empirical analysis is suggested. Since our model in-

In this paper, the operation of the minimax search procedure and the

ing programs. We give the name Max to the player whose turn it is to move

and the name Min to his opponent. Max attempts to maximize the ultimate

value of the game while Min attempts to minimize the value. A number of

strategies exist to aid a player in determining his next move, but the

minimax procedure has received the most attention in programs which play

-2-

with the aid of the simple game tree of Figure 1.1. The nodes of the tree

are interpreted as positions, and the arcs from each node are the legal

moves from that position. The square nodes indicate it is Max's turn to

move while the circles indicate it is Min's turn. The static values

associated with each of the nine bottom positions are given independently

11

as a measure of the "goodness of a board position, i.e., the amount of ad-

Max position is the maximum of the values of its immediate successors and

values of its immediate successors, i.e., at each node the player to move

will choose the move which is most favorable to himself. The minimax pro-

cedure recursively applies these two rules until the static values at the

leaf nodes have been used to generate a backed-up value for the root node.

For example, in Figure 1.1 the backed-up values of p(1), p(2), and p(3)

are 3, -2 and -10, respectively and the backed-up value of p, the root node,

tion to chess. Consider the game tree for chess where the position p is

defined by the location and identity of each piece on the board, the identity

tend the chess game tree until every leaf node is a win, loss, or draw.

-3-

and depth 2.

-4-

Then the minimax procedure could be applied to this tree to find the

11

"look-ahead tree makes this impossible in practice. (It is estimated

40

that there are about 10 possible checkers games [Samuel, 1959] and about

down to some non-terminal (and possibly fixed) depth at which the position

factor, N, and the depth, D, are both fixed, then N° bottom positions are

trees, the look-ahead trees for most game playing programs are still very

large. In chess, for example, a typical value for the number of legal

D

number of bottom positions, N , which must be evaluated using simply mini-

play: they are allowed two hours of computation time to make 40 moves. For

a tree of size <N,D>=<30,4>, this would mean that on the average about 220

the minimax algorithm were used, including the tree-searching overhead in-

volved in reaching that position. The need to effectively reduce the size

trees, i.e., game trees that maximize at the top level. We can do this

without any loss in generality because of the obvious mappings that exist to

-5-

cp(x) « -x. Then by the definition of the min and max operators we see:

1 2 n 2

1 2 n

and

min(x ,x ,...,x ) - -max(-x-,-x ,...,-x )

1 2 n 2 r

= cp(max(cptx),co(x) ,...,co(x ))

1 2 n

menting all the values in the Min-tree, replacing all min's by max's, and

replacing all max's by min's. The only difference between a Min-tree and

its associated Max-tree is that all backed-up (and static) values in the

that they both find the same best move from position p and both will assign

the same value of expected advantage to it. Alpha-beta is faster than mini-

max because it does not explore some branches of the tree that will not

affect the backed-up value. The algorithm can be illustrated with the tree

depth-first fashion from left to right and that the root node is a Max

node, the successors of Min node p(l) are first examined and the maximum

(beta value) for the backed-up value of node p(l). At this point the final

value p(1) is unknown, but since p(1) is a Min node we do know that its

pO);v(1)-3

3 2 5 -8 1 -1

-7-

p(l,2,2) is evaluated the lower limit (alpha value) for the backed-up

value of the Max node p(l,2) becomes 5. Since the alpha value of p(1,2)

is greater than the beta value of p(1) (=3), p(1,2) cannot be the lowest

valued successor of p(l), and thus there is no need to evaluate the re-

maining successors of p(1,2) 0 That is, Min will not select p(1,2) because

Max can choose a branch leading to a higher value than Min knows can be

After the beta prunes at p(l,2,2) and p(l,3,l) occur, the value 3 is

backed-up to p(l) and becomes the lower limit (alpha value) for the backed-

this is less than the alpha value (-3) of p, an alpha prune occurs at p(2,1).

Because of alpha cutoffs, nodes p(2,2), p(2,3), and p(3,4), and their suc-

cessors, are not evaluated. Note that only 15 bottom positions are evaluated

by the alpha-beta procedure, whereas the minimax procedure would examine all

28.

In this example the alpha value used to obtain the alpha cutoffs was

associated with the root node and the cutoffs occurred near the bottom level

of the tree. Note that if the tree in the example were one of greater

depth, the cutoffs at p(2,l) and p(3,3) would prune the potentially vast

f Furthermore, an alpha or

beta value may generate cutoffs at any node an even number of levels below

it. These are called deep cutoffs and a deep alpha cutoff is illustrated in

Figure 2.2.

-8-

Backed-up values: 3

x x

Static

values:

-9-

Beta cutoffs are analogous to alpha cutoffs, with the roles of mini-

mizing and maximizing reversed. The beta value specifies an upper limit

for the backed-up value of a Min node and is used to generate cutoffs

among the successors of Max nodes at any level deeper in the tree. Assum-

ing that the root node (D^O) is a Max node, alpha cutoffs occur at even

length d whose components i.j ,i ,... ji^ identify the branch selected from

2

the nodes at successive depths in the tree along the path from the root

v i s

node to p(T^). (i^) the backed-up (for an intermediate node) or static

the notation

, IK if K is even

LKL = 2L|J =< (2.1)

1 k-1 if k is odd

, >. JK if K is odd

S I

LKJ = 2L F ] + 1 =/ (2.2)

° ] k-1 if k is even

Consider the path from the root node to p(i^). At level j, for j and d even

-10-

depth

5 3 i = (2,3,1,4,3)

5

Of(l ) = -1

5

0(i ) = 1 0

5

Figure 2.3. A game tree illustrating our notation for the alpha-beta algorithm.

-11-

1 ,2),...,

1 j j+1 > 1 (2.3)

for i J + 1 =1

d 1 +1

for i J + 1 =1

«(i )

d = max{a (i ),a (i )

0 d 2 d a <? ) } (2.5)

e

P(T)

d = min{b (i ),b (i ),...,b

1 d 3 d Ldj <i )}

d (2.6)

o

-*

If k is the level at which the maximum (minimum) of the a . ( i , ) s is f

J d

attained, then the greatest alpha (least beta) value is a lower (upper)

the alpha value (cannot be less than the beta value) i s pointless.

-* ->

v ( i a, ) ^ oKi,)

a and d even

an alpha cutoff occurs, and whenever

-12-

a a

a beta cutoff occurs. A cutoff at node p0- ) means that the remainder of

d

!

the subtree rooted at p(i^,...>i )> i.e., p(i > s parent node, is not

d-1 d

The above discussion of j-level alpha and beta values proves the follow-

—>

Alpha-Beta Lemma. Let v^(ig) be the backed-up value of a game tree using

consider the case where a top level move is found to lead to a win. Using

the alpha-beta algorithm the next branch would have to be explored to some

extent before being pruned; but it is clear that all other branches at the

at any point in the tree where a win for the player to move is found.

Second Annual Computer Chess Championship (Chicago, 1971) a chess program

using this algorithm discovered a mate in two moves and terminated its search.

After the opponent moved, the program began the search again, discovering

first a mate in three. It immediately pruned and made the first move of this

sequence, missing the possible mate on the move. It continued finding mates

in more than one move until due to another bug it finally lost the game.

-13-

results [Slagle and Dixon, 1969] have established the lower limit for the

11

the static values of the bottom positions are in "perfect order , i.e.,

ordered such that every possible alpha and beta cutoff occurs. It can be

shown that if perfect order is achieved at every level, so that every pos-

sible alpha or beta cutoff occurs, then the number of positions at the bot-

D

2

NBP = 2N - 1 for D even,

po

D+1 D-1

2 2

NBP = N + N -1 for D odd.

po

Thus for <N,D> = <35,4>, NBP - 2449, which differs from 35 - 1 ,500,625

by a factor of 612.

tions for searching large game trees. The performance of the alpha-beta

11

reorder the nodes of the tree into a "more perfect arrangement. Various

of the tree are available [e.g., Slagle, 1963]. The rationale for these

nodes at intermediate levels of the tree and the final backed-up values ob-

tained for these nodes. This means that the nodes may be reordered before

thus obtain a higher rate of pruning. The evaluation of the expected gain

-14-

over the simple alpha-beta algorithm obtained by the use of such heuristics is

complicated by the fact that, while the perfect ordering results provide a great

est lower bound for the number of bottom positions evaluated, the upper bound

than the number of bottom positions evaluated with the unmodified alpha-beta

algorithm.

because the expected value provides a much tighter upper bound for the

bound given by the minimax algorithm. Thus, when evaluating the effective-

one might determine not only how closely the resulting performance approach-

es the limit under perfect ordering, but also how much better (or worse!)

algorithm.

However, our purpose here is to keep the model sufficiently simple so that

alpha-beta procedure.

1. Let us assume our game trees are complete trees of depth D with

-15-

d

N nodes at depth d in the game tree.

D

D

ing the leaf nodes as a random permutation of the ordered list of values;

i.e., each of the N°I assignment of values to the nodes is equally likely.

Note that the actual values of the N° bottom positions is not of interest

when studying the behavLDr of minimax searching, and the alpha-beta procedure

-16-

We can now make the obvious but important observation that the value

of a node at any level in the game tree is independent of the values of the

other nodes at the same level* In addition, since the leaf nodes are iid

random variables, it follows from the structure of our game trees, i.e.,

uniform depth at all bottom positions and constant brancing factors, that

all the nodes at any level in the tree are iid random variables. It is

that the distribution function of the maximum of n iid random variables with

n

distribution function F(x) is [F(x)] and the distribution function of the

n

1-[1-F(x)] . Hence:

V (x) = [V^x)]*,

Q

N

V^x) = 1-[1-V (x)] , 2

N

V,(x) = [V (x)] ; 2

and in general:

fc +1 e (3.1)

V (x) « ^

fc + 1 ( x ) , for k=1,3,...,LD-1j Q (3.2)

level to the next, the distribution function at all the levels in the game

tree of Figure 2.3 are shown in Figure 3.1. The value of the leaf nodes

are assumed to be uniformly distributed over the unit interval in Figure 3.1,

V X c a n

but this is only for illustrative purposes; as stated before, ( ) D he

-17-

game tree with <N,D> • <4,5>.

-18-

Pr{i }.d

To find Pr[i^} we first consider the path from the root node to p(i^).

A. (x) = [V (x)] l j + 1

\ (4.1)

3 9 J

j+1

-*

minimizing operation is in progress, we have an upper bound on v(i^), i.e.,

b.(i,) and the survivor function for the j-level beta value is

J d

1 1

B. . " (x) - [ V - . - C x ) ] ^ \ (4.2)

Note that the j-level alpha and beta values associated with i^ are

independent» but not identically distributed random variables and the dis-

n (x) (4.3)

3

o

-19-

i s

and similarly the survivor function of P d ) d

1 1 3 j l Ld 1J 1

* 2 4 " o» LdJ e

pruning algorithm.

Theorem 1. Node p(i ) is examined, i.e., not pruned, by the cHS pruning

d

of(i ) < P ( i ) .

d d (4.5)

Proof. First, suppose <y(i ), the current alpha value, is less than j3(i ),

d d

—»

d

d By the definition of the alpha-beta

or

ss

v(±*) * i(±*) = e c i j . , ) ; J 1,3,...,LdJ Q (4.7)

—>

d

Figure 2.4

-21-

since bj , (Tj) is the minimum of the i^-1 successors of P(*-j ])• Clearly

by definition of the beta value, Eqn. 2.6. From Equations (4.6), (4.8),

( 4 1 0 )

ati^j* PTFJ-I> -

of(i ) * P(i )

d d (4.11)

case, Eqn. (4.7), also leads to Eqn. (4.11), and hence a contradiction.

i.e., suppose

«(i ) * B(i ).

d d (4.12)

It follows from this inequality that there must exist a j and a k such

that

b ( a ( ( 4 1 3 )

jV * k V - -

+ such that

v ( T = ( 4 1 4 )

k I*>+ V V - -

However, the above two equations guarantee a beta cutoff no later than

+

-22-

again a contradiction, •

tree is examined if and only if the associated upper bound (beta value) is

greater than the associated lower bound (alpha value). Note that in this

paper we have defined alpha and beta values for all nodes in the tree, not

Theorem 2. Let A-+ (x) and (x) be the distribution functions of the alpha

J J - a

and beta values, respectively for a node p(l^) t depth d in a game tree.

-co d d

d

-co ^ J

~*d d

J

(c) Pr{i } = 1 .d

Proof. First, part (a). From Theorem 1 we know that the statement "posi-

11

tion p(i, ) is not pruned is equivalent to the statement ) < B(i ) "

and so:

-23-

d d d

a d a d d a d

— 00

-> —•

-oo d d

-oo d d

The proof of part (b) is analogous to the above proof for part (a). Part

(c) is obvious, since the first leaf node must always be evaluated. •

our model, we take advantage of the linearity of the expected value operator,

i i Hence E[NBP^ ] is equal to the sum over the set of

D

all bottom positions of the probability that the bottom position is evaluated,

i.e.,

w , u

l^t » l£i ^N 2

N,Z

sider the case for i > 1. 0

-24-

1

_oo 2

1

- - f V (z) dV 2 (z) (from Eqns. 4.1-4.4)

.CO

„ i.-l i -1

- - J*

9

1 z

[l-V^z)] dV (z) 2 (from Eqn. 3.2)

-00

We may now perform the substitution u » V (z), eliminating the specific dis- 2

Prii-j = - I 0-u ) d u

z

' 1

1

i.-l

= (I -x) d x

J

o

i -1 i -1 - g 1

J

o

i -1 i -l2

F

where 0(x,y) = ^ ^ ^ , the beta function.

Similarly we can find the value of Pr{i ) for i = 1 and i > 1 from 2 2

Theorem 2a.

Pr{i ) = f &

2 (z) d £ (z)

-oo 2 2

f V

2

1

(z) d V, (z)

.00

85

For i

L 20

1 we have

i.-l

1

Pr{i } = f

2 d V* '(z)

V 1

1 00

.00

-25-

Pr{i } = 1 2 (i > 1, i = 1)

2 2

Thus

N N N i -1 i

E[NBP 2 ] = 1+ 2 1+ S L -|— ^

N , / N 1 N

1^2 i =2

2

. N-l N

N + 1 S

N . »««5>

1=1 j=1

, N-l N i - i

3 M

N + J E i E F u "'(l-u) du

i=l j=l 0

N-l

1 . —-1 / N

N J

N + £ 2 i |''(l-u) ( Su -'] du

N =1

I=l 0 VJ

N _ 1

1 l n "

N

2

n

N + i 2 i f (l-u) (1-u ) du

N J

I=l O

E[NBP ] = N + V

N)2 jij- [*<|, N) - ij

-26-

This form is quite adequate for computing the expected value over the range

9

N,Z

program developed at MIT [Bogen, et al. 1972]. These values are presented

in Table 5.1.

integer k as follows:

r

£ if k = 0

T(f,k)

N

l-[T(f,k-1)] if k > 0

3 3

N N

= l-[1-[T(V (x), 0 ) ] ] 3

N N

Vk< > D

Vk D

D

0,2,4,...,D

p

1,3,5,.. «,D

Proof: We will prove 5.1a by induction on k. The other proofs are the same.

Vi (x)

vZ(x)

(x)

Vi 1-Vj(x)

V ( X )

T(V (x), 1)

D

D-1

-27-

11

E[NBP. J > NBP2C2) « —

3

521

NBP2C 3 ) »

70

547033

NBP2C4) »

45045

1720291169

NBP2<5) »

97349616

14786001017771

NBP2<6> »

617109200400

1483634273431527617

NBP2C7) -

47913489552349980

12526151456380438097067269

NBP2C8) «

324086316914150840874825

60630194249291725126491101924977

NBP2(9> » — . . . .

1290283615976209687378079019200

39015226259277984196817809971606221751809

NBP2C10) *

697203752297124771645338089353123035568

NBP2C11) - -* '

308152176765386350584626382416595858735211648800

26468917348837676265384815256420322119583790673790618350""

N,2

-28-

V (x) - 1 (x) ( f r m E q n 3 , 2 )

D-k*-2 "^>-k*-1 ° *

1 ( 1 V ( x ) ) N

• - - D-k*-l

N

- 1-(1-VJJ_ *(x)) k (from Eqn. 3.2)

N N

« l-[1-T (V (x), k*)] D

N

«= l-T (V (x), k*+l) D

D

m e

be applied directly.

F N B . . ( z ) d( N A ( ))

Z

X

o

K

i.-l i, -1

K

j 1

" n V &

(z) d( n V ( Z

J6=2,4 |D I k-l,3,...,LDj

o

f d( n V

V (z), since i « 1 for

-» k=l,3,...,LDJ o

K

I even *

V ,00 '

II V (z) I b y the Fundamental

00

k=1,3,...,LD] 0 - Theorem of Calculus.

n 9 = 1 and i £ 1 for some odd m. | D ]

J

e

Pr{i } = 1 for i = i. = ... = U = 1. (Thm. 2c)

D ]

For the rest of the development we will assume i > 1 for some even m. m

We are now ready to consider Pr{i } for arbitrary depth D. D From Theorem

2b we have

-29-

-oo D D

- - T n \ ,(z) d( n B , .(z))

k=1,3,... LDJ f j^2,4,...,LDJ *-

o

K_l

e

1

i.-l i.-l

- - T n v k

( ) d(

Z n v * (z»

k=l,3 LJ)J J»»2,4,...,LDJ *

o e

eliminate the underlying distribution. For D odd we can apply lemmas 5.1b

and 5.Id:

-« k=l,3,...,|_Dj *=2,4,...,[DJ

o e

-1 i.-l

T(u,D-ja)]

k

P r f L } - - ! 1 1

n [T(u,D-k)] dd( ( nn [[T l A

) (5.3)

0 k=1,3 [DJ **2,4,...,LDJ

'e

for D odd.

i,-1 i.-l

1

Pr(i } - - J* H (z), D-k)]

[T(V d( n [T(V (z), D-A)] )

-» k=1,3,... j&»2,4,...,[Dj

o e

(5.4)

1 i.-1 i.-l

K

P r C l „ } - + J n [T(u,D-k)] d( [ T ( u , D - l ) ] ' ) , D even.

' 0 k»1,3,...,[Dj ^2,4,... J D J

o e

Combining equations (5.3) and (5.4),

pr{i } = ( - D Y

D n [Ku.D-k)]^ 1

d( n [T(u,D-jt)] Xi

\

J

o ^ e

-30-

Differentiating the second product and observing that the term for

. i -1

Pr{i } -

n (-l)f D

TII (u,D-k))

0 k = 1 3

' LDJ , o .

S [( n T * (u,D-i)) dT m

(u,D-m)] (5.5)

m=2,4,...,LDj J«,4....,|DJ

i { 1 6

Jfc f m .

m

1 if k = 0

Lemma 5.2; -r- T(u,k) = < k-1 .

d U

n T^'(u,n) if k > 0

n=0

T < U 0 )

3J ' " '

du

* k -2

d * k-1 N-1 *

Now assume -r— T(u,k -1) = (-N) II T (u,n) for some fixed k « Then

d U

n=0

d * d N *

N-1 * d

W

*

= -N T '(u,k -1) ^ (u,k -1) T

* k -1

k

= (-N) n ^(u.n)

n=0 •

1

i -1 i--

Pr{J } - (-UYC

n n T (u,D-k)) S [( II k

T * (u,D-A))

1

D

' 0 k=l,3,...,|_Dj m=2,4,... LDJ A=2,4,...,LDJ f e e

° if 1 f m

m

i -2 D-m-1 - D

ir'Oi.n))] du n

m n«0

-31-

1

*•* ^ k / m

20 01

Collecting terms and noticing that (-l) " = 1, we finally have

du (5.6)

^2,4,...,^] 0 k=0

0 if i = 1

m

i . +N-2

D k if k < D-m

where P (m) = 7k

i _ -2

D k if k = D-m

i _ -1

D k if k > D-m

JD if D is even

LD 4

JD-1 if D is odd

1 k j

n

I (j j

k r 2 J> - J

k H T (u,k-n+l).

0 n=l

For example, if i« / 1

i +N-2 i -2 1 i -1

1

Pr{i»} = (i -l) NJ* T 9 (u,0) T (u,l) T (u,2) du

* 0

, i +N-2 i -2 „ i.-l KT

= (i -1) Nf u (1-u ) 1

(l-(l-u ) ) 3

du N 2 N N 1

(i -l) N 1 3 ( ^ - 1 , 1 2 - 2 , 1 ^ - 2 ) ,

2

-32-

Lemma 5.3:

if k = 1

1

V

j +i2

if k - 2

j'1

S (-0 (J +AN,J ,...,J )

2 3 k if k > 1.

Proof: = [ u du

* 0

1 2

I (j,,j ) -

2 2 fV-uV u du

1

1 V

k j 4

du

k 1 K

0 n=1

1

k j,

= I* T ^ (u,k) n T*"(u,k-n+1) du

J

'0 n=2

j k j

1 N l N

k

- (" (1-T (u,k-1)) ' n T (u,k-n+l) du

J

0 n=2

A N

n T (u,k-n+1) du A Jk

-33-

S

i-0

1

("D^f!

^* '

) 1

^ ^ ( u . k - l ) N T (u,k-n+1) du

0 n=2

Jk

i ^(2i) A - i v - ^ V

j&=0

I

As another example of the method, we present the different cases for

D = 4 and arbitrary N.

i i v 1

v 2 i

- ^ + N

- 2

Z

Pr{i,} = a , - D i r r ,

T ' (u,3) T (u,2) T (u,L) du

0

2

- (IJ-DN ^(1^1,12-2,1^-2,0) if i =L and 1 / 1 4 2

4 4 4 r 3 4 if i =L and ±^ J 12

2

Pr{i } = (IJ-DN

4 I (i L,i -2,i +N-2,i +N-2) +

4 R 2 3 4

4 4 R 2 4 1 and i^L.

N N N N

Then E[NBP ,]- 2 2 2 2 Pr{i. },

» i =1 i =1 i =1 i =1

1 2 3 4

and I (J ,J »J »J ) is evaluated with Lemma 5.3.

4 1 2 3 4

P r [ 7 l

> } =

9 L m i

m=2,4,...,|_DJ 2

e

VVV"-'W>

where > 1 for some even m, t = P _ (m)-i fc D k k (Eqn. 5.6), and I D is computed

with a D-2-fold summation. However, the summation on the index i-j may be

-34-

i,-". ^- ,L , L,L

pr

1 2 4> DJe

(v,)iD<ii+t

' W

N

r , I L + T L

B N

A^n

= S ( i m 1 > S M ) I (i +t +

t -1 ? 4 in. " n D-1 2 2 SN,i t 3+ 3 i t )

D + D E ^

i « / \

"^...ILldj. (

- , , S

^ ' )h-,<W"-VH w -

For depth 3 and 4 the MACSYMA system was again used to obtain exact

values of E[NBP^ ^ for small values of N. These results are shown in Table 5.2.

was not possible to evaluate Eqn. (5.6) exactly for large D and N. In addition,

the nested alternating signs of Lemma 5.3 lead to a rapid loss of significance.

Figure 5.1 therefore uses data from a Monte Carlo simulation using the same

the number of bottom positions evaluated, but rather the number of legal move

generations. This is the case for programs which use simple evaluation func-

tions, but for which there is no simple way to generate legal moves. Because

-35-

-36-

719

E[NBP J = NBP3C2) - —

2 , 3

' 105

57879389791

NBP3C3) « — — —

2974571600

NBP3C4) » — — — — —

2638988580586656847123575

21

NBP3 ( 5 ) = 1 -^I?Z51Z2457756H97 § 8 7 6 8 5 1 _ 2 6 9 3 7 8 7 8762387590417

17413602576224093163828296974817345906119971648

r ~\ 77503

E[NBP J = NBP4C2) - - - - - -

' \ 6435

379717674980598570583308726570023

NBP4(3> • — — — — — — .

8400377947369588943699241726400

-37-

the values are drawn, we see that the expected number of move generation for

First, the model assumes a fixed branching factor and fixed depth. Many

game playing programs (though not all) use searches of variable depth and

breadth. Second, the values of the bottom positions have been assumed

have more bottom positions in the range corresponding to the loss (or win)

final assumption is that the probability that two bottom positions in the

tree will have the same value is zero (continuity assumption). In practice,

game programs select the value of the terminal position from a finite (and

sense that any program can perform this well if the moves are no worse than

randomly ordered.

-38-

by comparing the predicted average search effort with the observed searches

we relax it in the model so that the values for the evaluation function

88

are chosen from R equally likely distinct values. If R 1, we have, in

with R is shown in Figure 6.1 for D « 3; these curves were generated using

depth; all chains of captures from these bottom positions are explored. The

terminal positions are evaluated only with respect to material, where a pawn

is considered to be worth 100 points, knight and bishop 330, rook 500, and

top level, and various modifications are made to the basic tree search.

Tech was modified for this analysis to search trees of fixed depth

-39-

-40-

This term is useful for the analysis, since it increases the effective range

chess programs have evaluation functions which are considerably more complex

than Tech's.

Fischer, Reykjavik 1972, game 21), Each of these positions was analyzed by

the modified Tech programs for D = 2, 3, and 4 over the effective range of

branching factors. Figure 6.2 shows the analytic results for these para-

meters with the empirical values obtained using Tech's standard evaluation

distinct bottom position values in the trees varied between 1 and 9, with

median 5. This agrees well with Figure 6.1. To demonstrate the effect of

the independence assumption, these points were re-run with the program modi-

fied so that a value which would result in a prune by equality was randomly

unique values for all the bottom positions. The pertubations changed the

value of the position by at most two points, since there are at most two

alphas or two betas being kept at any given time in a depth 4 tree. Since

two points is small compared to the value of a pawn (100 points), the tie-

breaking procedure does not significantly affect the correlation among posi-

-41-

-42-

In Figure 6.3 we plot the analytic curves with the data from the

range is much higher for this evaluation function, so that the number of

range (R) at <N,D> = <10,3> for this version varied between 12 and 82, with

median 43. Since the tiebroken points are only slightly higher, it is clear

that the range is close to the effective maximum range for that evaluation

increases; (2) as the correlation among values in the same subtree increases,

7. EMPRICAL OBSERVATIONS

tion time is governed by two factors. First, the probability that a bottom

complete tree, a D-fold nested summation for D > 2. Second, the expression

the beta function and binomial coefficients. The number of nested summations

-43-

-44-

for the complete tree is thus 2D-2. The simplification of the analytical

the empirical observations which follow. The set of data points upon which

the empirical observations are based were obtained in part from the analytical

formulation and in part from a Monte Carlo simulation of the alpha-beta al-

gorithm. In the simulation the static values for the leaf nodes of the trees

35

interval (0,2 -1). The sample mean and standard deviation were obtained

from the results of 1000 iterations of the alpha-beta algorithm for each

size of the tree. The sample mean thus lies within the interval x + R«x„ ^

N,D— N,D

at the 95$ confidence level, where x^ D is the true mean and 0.008 < R < .013

for the points collected in the simulation. The ratio of sample standard

deviation to sample mean was computed for 173 points (the points derived from

the analytic formulation were also simulated to obtain their sample standard de-

viations) , and all of these ratios lie in the interval (.120, .215).

fit of a straight line to these data gives an approximation whose root mean

square relative error is about .004 for the values examined. The corres-

L

form E[NBP N D l « ^ # N

> with an RMS relative error of approximately .015.

-45-

Table 7.1:

Depth

1 1.00

2 1.12

3 1.30

4 1.39

5 1.51

6 1.59

7 1.67

8 1.71

9 1.73

It is of interest to note that the growth rate for the alpha-beta algorithm

(.720D) is about midway between that of perfect ordering (0.5D) and minimax

ily apparent. The values of for D=l,2,...,9 are found in Table 7.1. The

D •N # 7 2 0 D + # 2 7 7

. The limited number and

arbitrary selection of the data points used in this analysis prevent us from

attaching high confidence to this approximation for the general case, al-

though for the points from which it is derived the approximation is excellent.

We do note that the approximation agrees with the boundary case D = 1, for

720D + 277 QQ7

which E[NBP N - N„ N * - W , and agrees fairly well with

-46-

of a tree-searching algorithm:

log NBP

DR s ,

X l Q

g

m

*m

s

where N B P ^ *- the expected number of bottom positions examined in a minimax

search and NBP is the expected number of bottom positions examined by al-

x

gorithm x.

be used to search a tree of depth 5 with about the same effort as that re-

l o g

1± L 277 *D

DR Q

a-j3 w w .720 + z D

+ ——-

D logM N

277

For large N, DR .720 + -^-r-.

Q w

Qf-P D

For the search with perfect ordering [Slagle and Dixon, 1969],

1

D R

D R +

, log 2

P0 « 2 D log N *

For large N, D R p Q M j.

vides a much tighter upper bound for the expected performance of a good tree-

searching algorithm than does the number of bottom positions examined by the

-47-

that the performance of the alpha-beta algorithm rather than the minimax

* log NBP x

DR s

x

log NBP

Qf-P

8. CONCLUSIONS

k ^(z)>

—> —»

where (z) and (z) are the distribution functions of cKi^) and PCi^)

respectively. The integral may be evaluated exactly using Eqn. 5.6 and

Lemma 5.3. This formula is used to compute the expected value of the

E t N B P ^ y r 7 2 0 1

* - 2

" ,

shows that the depth ratio as defined by Slagle and Dixon [1969] for a-P

is about

277

for large N

DR

o,-P « - 7 2 0+

^'ir -

-48-

tion and possible equality of bottom position values and demonstrate that

chose.

be to assign a random number to each branch throughout the tree, and let

the final evaluation of the bottom positions be the sum of the values of

tion function that would introduce a measure of correlation into the tree.

-49-

APPENDIX: NOTATION

a (i )

k d kth-level alpha value, where k=0,2,...,LdJ

e

a

A, . (x) distribution function of ,_(ij); d > k

—>

a

a(i ) d «iax{a (i ),a (i ),...,a(i

0 d 2 d )}

e

b (i )

k d kth-level beta value, where k=1,3,...,LdJ

o

B, . (x) distribution function of b, (i,); d > k

k,1 k d

k+l

—•

a

a

P(i ) d min{b (i ),b (i ),...,b(i

1 d 3 d }

L J

e

P(a,b) ^(i+b)^ t h e B 6 t a f u n c t i o n

F(x) the survivor function, i.e., F(x) = 1-F(x)

k j

1

I (j j ,...,j )

k r 2 k J n T (u,k-n+1) n

1110 n=l

Lkj o 2

sa

For example, p(i^) *- leaf node.

-50-

if i = 1

m

+ N-2 if k < D-m

D-k

P (»)

k

Vk - 2

if k = D-m

v. ^ - k if k > D-m

if k - 0

T(f,k)

N if k > 0

1 - [T(f,k-1)]

d

a

d • D, in which case p(i > is a leaf node and we

d

V (x)

d

cumulative distribution function of v(i^)

References

Bogen, R. A. et al. MACSYMA Users Manual, Project MAC, MIT (September 1972)

11

Gillogly, J. J o , "The Technology Chess Program, Artificial Intelligence 3

(1972), 145-163,

Hill (1971).

Parzen, E., Modern Probability Theory and Its Applications, Wiley and Sons,

Inc., N. Y. (1960).

Samuel, A. L., "Some Studies in Machine Learning Using the Game of Checkers

IBM Journal 3, (1959), 211-229.

11

Shannon, C. E , "Programming a Computer for Playing Chess, Phil. Mag. 7th

c

Slagle, J. R., "Game Trees, m and n Minimaxing, and the m and n Alpha-Beta

11

Procedure, Al Group Rep. No. 3, UCRL-4671, Lawrence Radiation Laboratory,

University of California (November, 1963).

Game Trees," J.ACM 16,2 (April, 1969), 189-207.

- Data StructuresDiunggah olehTB
- Entering Content FrameBackground Documentation Header Data for Outgoing Files Locate the Document in Its SAP Library StructureDiunggah olehsunandoghosh
- RPP BWM20502Diunggah olehAzri Arif Zainal Arif
- ADSA-QbankDiunggah olehBen Rick
- daa.docxDiunggah olehVaibhav
- XML diff surveyDiunggah olehmicrodan8710
- Be III Sem Cse Sch.syllabiDiunggah olehdr11111
- Report AbaloneDiunggah olehnino
- 10.5 Assignment 3 AlgorithmDiunggah oleheveswan2008
- 1.Scholorship Test (02!09!18) (Chennai)Diunggah olehbharatreddy9
- QuestionDiunggah olehpranabs_123
- diagram pena.pdfDiunggah olehRita S Rofa'i
- back-matterDiunggah olehsonara28
- 51658218 Non Linear Data StructuresDiunggah olehnaaz_pinu
- aaoa chap 1Diunggah olehFurqan Naseer
- Edu Catfall07 Exam cDiunggah olehEzzat Atalla
- ProblemSheet06MT3073 CRVDiunggah olehusama
- Lecture 8Diunggah olehYi Chen
- Random VariablesDiunggah olehShōyōHinata
- SwingsDiunggah olehJahnavi Jo
- W12SGFEDiunggah olehhanglusu
- RecurrenceDiunggah olehbilo044
- Bi VariateDiunggah olehIera Ahmad
- Rsh Qam11 Ch02Diunggah olehOsama Abd El Atty
- cl04_task_abstractions.pdfDiunggah olehGarfio_LP
- Chapter9 intro to prob.pptDiunggah olehClara Agustin Stephani
- MeV Manual 4.0Diunggah olehPonlapat Yonglitthipagon
- Normal DistDiunggah olehfalcon_545
- e MassdensityDiunggah olehImdadul Haque
- Discrete Probability DistributionDiunggah olehKent G Nacaytuna

- An overview of distributed MST algorithmsDiunggah olehArkanath Pathak
- chap16.pdfDiunggah olehBesha Pergega
- Latin American Regional Contest ACM-ICPC 2017Diunggah olehPancho Uribe
- Petazzoni Device Tree DummiesDiunggah olehNelson Kigen
- Haskell IntroductionDiunggah olehdiana.yanti
- A Comparative Test of Phylogenetic Diversity IndicesDiunggah olehVinicius
- A Neural Network for Factoid Question Answering.pdfDiunggah olehkishore13
- PeopleSoft Tree Manager (Appendix B Configuring Tree Manager on the Web)Diunggah olehNaveen Kumar Naidu
- ME Digital Communication 2nd Sem SyllabusDiunggah olehPrakash Sinha
- P10 - C++Diunggah olehRohit Kshirsagar
- AgentryRuleEditorGuide 4 4 2Diunggah olehAmit Pashine
- Write a C Program to Search for an Element in an Array Using Binary SearchDiunggah olehChetankumar Ganachari
- HuffmanDiunggah olehskphero
- A Guided Tour to Approximate String MatchingDiunggah olehPhat Luong
- aas_devDiunggah olehapi-3843393
- DataStructure GATEDiunggah olehuanuli
- Minesight MappingDiunggah olehElmer M. Maquera H.
- JNTU BTECH 2-1 Data Structures NOTESDiunggah olehvenky9797
- Data StructureDiunggah olehKamal Cheema
- Advanced EGMP Based Multicast For Ad-Hoc MIMODiunggah olehseventhsensegroup
- Java ListsDiunggah olehBhaskar Naidu
- DAA-NEWDiunggah olehIndia Freedom
- AlgorithmDiunggah olehSasi TheLegend
- Java Training AssignmentsDiunggah olehTushar Gupta
- Advance Meshing ToolDiunggah olehranganathan0818
- Prediction Of Study Track Using Decision TreeDiunggah olehAnonymous 7VPPkWS8O
- daaDiunggah olehAnkur Gupta
- Sample Answer Problem 1Diunggah olehTajul Ariffin Abdul Ghani
- Quantitative Business Analysis Sneak PreviewDiunggah olehk_ij9658
- Decision Tree XLRIDiunggah olehchinum1