Results 1  10
of
16
The Power of Two Random Choices: A Survey of Techniques and Results
 in Handbook of Randomized Computing
, 2000
"... ITo motivate this survey, we begin with a simple problem that demonstrates a powerful fundamental idea. Suppose that n balls are thrown into n bins, with each ball choosing a bin independently and uniformly at random. Then the maximum load, or the largest number of balls in any bin, is approximately ..."
Abstract

Cited by 137 (6 self)
 Add to MetaCart
ITo motivate this survey, we begin with a simple problem that demonstrates a powerful fundamental idea. Suppose that n balls are thrown into n bins, with each ball choosing a bin independently and uniformly at random. Then the maximum load, or the largest number of balls in any bin, is approximately log n= log log n with high probability. Now suppose instead that the balls are placed sequentially, and each ball is placed in the least loaded of d 2 bins chosen independently and uniformly at random. Azar, Broder, Karlin, and Upfal showed that in this case, the maximum load is log log n= log d + (1) with high probability [ABKU99]. The important implication of this result is that even a small amount of choice can lead to drastically different results in load balancing. Indeed, having just two random choices (i.e.,...
SpaceEfficient Scheduling of Multithreaded Computations
 SIAM Journal on Computing
, 1993
"... . This paper considers the problem of scheduling dynamic parallel computations to achieve linear speedup without using significantly more space per processor than that required for a singleprocessor execution. Utilizing a new graphtheoretic model of multithreaded computation, execution efficiency ..."
Abstract

Cited by 109 (15 self)
 Add to MetaCart
. This paper considers the problem of scheduling dynamic parallel computations to achieve linear speedup without using significantly more space per processor than that required for a singleprocessor execution. Utilizing a new graphtheoretic model of multithreaded computation, execution efficiency is quantified by three important measures: T 1 is the time required for executing the computation on 1 processor, T1 is the time required by an infinite number of processors, and S 1 is the space required to execute the computation on 1 processor. A computation executed on P processors is timeefficient if the time is O(T 1 =P + T1 ), that is, it achieves linear speedup when P = O(T 1 =T1 ), and it is spaceefficient if it uses O(S 1 P ) total space, that is, the space per processor is within a constant factor of that required for a 1processor execution. The first result derived from this model shows that there exist multithreaded computations such that no execution schedule can simultan...
Game Tree Search on Massively Parallel Systems
, 1993
"... Contents 1 Introduction 5 1.1 Computer Chess and Artificial Intelligence : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.2 History of Computer Chess : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.3 Results : : : : : : : : : : : : : : : : : : : : : : : : : : : : ..."
Abstract

Cited by 49 (5 self)
 Add to MetaCart
Contents 1 Introduction 5 1.1 Computer Chess and Artificial Intelligence : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.2 History of Computer Chess : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1.3 Results : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 1.4 Overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 1.5 Basic Definitions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2 The Sequential Game Tree Search Algorithm 13 2.1 The ScoutAlgorithm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 2.2 fffiEnhancements : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21 2.2.1 Transposition Table<F7.77
BestFirst FixedDepth Minimax Algorithms
, 1995
"... This article has three main contributions to our understanding of minimax search: First, a new formulation for Stockman’s SSS* algorithm, based on AlphaBeta, is presented. It solves all the perceived drawbacks of SSS*, finally transforming it into a practical algorithm. In effect, we show that SSS* ..."
Abstract

Cited by 37 (6 self)
 Add to MetaCart
This article has three main contributions to our understanding of minimax search: First, a new formulation for Stockman’s SSS* algorithm, based on AlphaBeta, is presented. It solves all the perceived drawbacks of SSS*, finally transforming it into a practical algorithm. In effect, we show that SSS* = AlphaBeta + transposition tables. The crucial step is the realization that transposition tables contain socalled solution trees, structures that are used in bestfirst search algorithms like SSS*. Having created a practical version, we present performance measurements with tournament gameplaying programs for three different minimax games, yielding results that contradict a number of publications. Second, based on the insights gained in our attempts at understanding SSS*, we present a framework that facilitates the construction of several bestfirst fixeddepth gametree search algorithms, known and new. The framework is based on depthfirst nullwindow AlphaBeta search, enhanced with storage to allow for the refining of previous search results. It focuses attention on the essential differences between algorithms. Third, a new instance of this framework is presented. It performs better than algorithms that are currently used in most stateoftheart gameplaying programs. We provide experimental evidence to explain why this new algorithm, MTD(ƒ), performs better than other fixeddepth minimax algorithms.
Massively Parallel Chess
 In Proceedings of the Third DIMACS Parallel Implementation Challenge, Rutgers
, 1994
"... Computer chess provides a good testbed for understanding dynamic MIMDstyle computations. To investigate the programming issues, we engineered a parallel chess program called *Socrates, which running on the NCSA's 512 processor CM5, tied for third in the 1994 ACM International Computer Chess C ..."
Abstract

Cited by 25 (4 self)
 Add to MetaCart
(Show Context)
Computer chess provides a good testbed for understanding dynamic MIMDstyle computations. To investigate the programming issues, we engineered a parallel chess program called *Socrates, which running on the NCSA's 512 processor CM5, tied for third in the 1994 ACM International Computer Chess Championship. *Socrates uses the Jamboree algorithm to search game trees in parallel and uses the Cilk 1.0 language and runtime system to express and to schedule the computation. In order to obtain good performance for chess, we use several mechanisms not directly provided by Cilk, such as aborting computations and directly accessing the active message layer to implement a global transposition table distributed across the processors. We found that we can use the critical path C and the total work W to predict the performance of our chess programs. Empirically *Socrates runs in time T ß 0:95C+1:09W=P on P processors. For bestordered uniform trees of height h and degree d the average available pa...
Parallel Search of Narrow Game Trees
 UNIVERSITY OF ALBERTA
, 1993
"... One of the key determinants of a game playing program’s strength is the depth of the game tree search. Therefore, researchers have turned to parallelism to search deeper trees in the same amount of real time. Tree decomposition algorithms extract parallelism by creating split nodes, where the subtre ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
One of the key determinants of a game playing program’s strength is the depth of the game tree search. Therefore, researchers have turned to parallelism to search deeper trees in the same amount of real time. Tree decomposition algorithms extract parallelism by creating split nodes, where the subtrees rooted at the node are searched concurrently. If the game trees are narrow, then the degree of parallelism offered by the low branching factor may be insufficient to keep all the parallel processors busy, resulting in starvation and poor speedups. Chinook is a checkers (8 x 8 draughts) playing program developed at the University of Alberta. For the August 1992, Man Versus Machine World Draughts Championship match between Chinook ¢¡¤£¦¥¨§�©�� � ¢§�����¡�����¡���������� � �� � �§ � ������� � Chinook, or ParaChinook, was developed. This thesis describes the parallelization of Chinook’s AlphaBeta search. The initial implementation of ParaChinook was based on the Principal Variation Splitting (PVSplit) algorithm, developed by computer chess researchers. However, chess game trees have an average branching factor of 35 to 40, whereas checkers game trees have an average branching factor of 2.84, which is over an order of magnitude smaller. PVSplit exhibits high
Parallel Controlled Conspiracy Number Search
, 1995
"... This paper deals with a parallelization of our Controlled Conspiracy Number Search (CCNS) algorithm. CCNS is marked by the fact that there are two kinds of pieces of information: Values are updated bottom up with minimax rules, and security demands, so called targets, control the selective search to ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
(Show Context)
This paper deals with a parallelization of our Controlled Conspiracy Number Search (CCNS) algorithm. CCNS is marked by the fact that there are two kinds of pieces of information: Values are updated bottom up with minimax rules, and security demands, so called targets, control the selective search top down. As CCNS is a best first search procedure, all nodes are kept in memory. We present a method that maps these nodes onto several processors. The resulting load and space sharing problem is solved half dynamically and half statically. Our solution leads to good speedup results. 1 Introduction The purpose of our CCNS algorithm is to examine game trees which cannot be explored completely. Such game trees arise in games like chess for example. For several reasons chess forms an excellent field of application. Firstly chess defines a strictly limited 'world' of some easy rules. Secondly it is complex enough so that it will never be completely examined. Last but not least, it thirdly is ass...
A Minimax Algorithm Better than AlphaBeta? No and Yes
, 1995
"... This paper has three main contributions to our understanding of fixeddepth minimax search: (A) A new formulation for Stockman’s SSS * algorithm, based on AlphaBeta, is presented. It solves all the perceived drawbacks of SSS*, finally transforming it into a practical algorithm. In effect, we show t ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
This paper has three main contributions to our understanding of fixeddepth minimax search: (A) A new formulation for Stockman’s SSS * algorithm, based on AlphaBeta, is presented. It solves all the perceived drawbacks of SSS*, finally transforming it into a practical algorithm. In effect, we show that SSS * = � � + transposition tables. The crucial step is the realization that transposition tables contain socalled solution trees, structures that are used in bestfirst search algorithms like SSS*. Having created a practical version, we present performance measurements with tournament gameplaying programs for three different minimax games, yielding results that contradict a number of publications. (B) Based on the insights gained in our attempts at understanding SSS*, we present a framework that facilitates the construction of several bestfirst fixeddepth gametree search algorithms, known and new. The framework is based on depthfirst nullwindow AlphaBeta search, enhanced with storage to allow
A Comparison of Parallel Search Algorithms based on Tree Splitting
 TR CS Lab, Dept. of Mathematics, Univ. of
, 1994
"... s are available from the same host in the directory /pub/TR/UBLCS/ABSTRACTS in plain text format. All local authors can be reached via email at the address lastname@cs.unibo.it. UBLCS Technical Report Series 931 Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanism, ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
s are available from the same host in the directory /pub/TR/UBLCS/ABSTRACTS in plain text format. All local authors can be reached via email at the address lastname@cs.unibo.it. UBLCS Technical Report Series 931 Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanism, by Ö. Babaog;lu and K. Marzullo, January 1993. 932 Understanding NonBlocking Atomic Commitment, by Ö. Babaog;lu and S. Toueg, January 1993. 933 Anchors and Paths in a Hypertext Publishing System, by C. Maioli and F. Vitali, February 1993. 934 A Formalization of Priority Inversion, by Ö. Babaog;lu, K. Marzullo and F. Schneider, March 1993. 935 Some Modifications to the Dexter Model for the Formal Description of Hypertexts, by S. Lamberti, C. Maioli and F. Vitali, April 1993. 936 Versioning Issues in a Collaborative Distributed Hypertext System, by C. Maioli, S. Sola and F. Vitali, April 1993. 937 Distributed Programming with Logic Tuple Spaces, by P. Ciancarini, April 1993. 938 Coordi...