126 Pages

medium

Course: CS 3192, Fall 2009
School: East Los Angeles College
Rating:
 
 
 
 
 

Word Count: 6092

Document Preview

Section CS3191 3 Medium Games Andrea Schalk Department of Computer Science, University of Manchester Andrea Schalk: CS3191 Section 3 p. 1/24 Medium games The topic of Section 3 are medium games. Andrea Schalk: CS3191 Section 3 p. 2/24 Medium games The topic of Section 3 are medium games. For a game to be medium-sized it has to be larger than smallin other words, it should be so large that it is not feasible...

Register Now

Unformatted Document Excerpt

Coursehero >> California >> East Los Angeles College >> CS 3192

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Section CS3191 3 Medium Games Andrea Schalk Department of Computer Science, University of Manchester Andrea Schalk: CS3191 Section 3 p. 1/24 Medium games The topic of Section 3 are medium games. Andrea Schalk: CS3191 Section 3 p. 2/24 Medium games The topic of Section 3 are medium games. For a game to be medium-sized it has to be larger than smallin other words, it should be so large that it is not feasible to describe it via the Players strategies. Andrea Schalk: CS3191 Section 3 p. 2/24 Medium games The topic of Section 3 are medium games. For a game to be medium-sized it has to be larger than smallin other words, it should be so large that it is not feasible to describe it via the Players strategies. It will become clear in the course of this section when a game is, in fact large. Andrea Schalk: CS3191 Section 3 p. 2/24 Medium games The topic of Section 3 are medium games. For a game to be medium-sized it has to be larger than smallin other words, it should be so large that it is not feasible to describe it via the Players strategies. It will become clear in the course of this section when a game is, in fact large. The idea for this section is to employ computer power to help us nd good strategies for a game. To some extent we will be building on our theory of games developed in Sections 1 and 2, since the notion of game tree will still be present. Andrea Schalk: CS3191 Section 3 p. 2/24 Algorithmic point of view Andrea Schalk: CS3191 Section 3 p. 3/24 Algorithms In order to solve a small game, the following tasks have to be performed: Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; calculate the pay-offs when playing the various strategies against each other; Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; calculate the pay-offs when playing the various strategies against each other; nd equilibrium points. Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; calculate the pay-offs when playing the various strategies against each other; nd equilibrium points. Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; calculate the pay-offs when playing the various strategies against each other; nd equilibrium points. Andrea Schalk: CS3191 Section 3 p. 4/24 Algorithms In order to solve a small game, the following tasks have to be performed: generate all the strategies for all the players; calculate the pay-offs when playing the various strategies against each other; nd equilibrium points. X Andrea Schalk: CS3191 Section 3 p. 4/24 Beyond small games Andrea Schalk: CS3191 Section 3 p. 5/24 How do games grow? Question. How does the number of positions grow with the size of the game tree? Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? Question. How does the number of positions grow with the size of the game tree? How does the number of strategies (added up over all players) grow with the size of the game tree? Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? Question. How does the number of positions grow with the size of the game tree? How does the number of strategies (added up over all players) grow with the size of the game tree? If the tree branches at least into two at most decision points then for a tree of height m there are about Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? Question. How does the number of positions grow with the size of the game tree? How does the number of strategies (added up over all players) grow with the size of the game tree? If the tree branches at least into two at most decision points then for a tree of height m there are about 2m+1 1 decision points, that is their number grows exponentially. Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. We look at an example: Let us assume we have a complete binary tree where two players move alternatingly. Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. We look at an example: Let us assume we have a complete binary tree where two players move alternatingly. height 0 no pos. 1 strats for P1 1 strats for P2 1 all strats 2 Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. We look at an example: Let us assume we have a complete binary tree where two players move alternatingly. height 0 1 no pos. 1 3 strats for P1 1 2 strats for P2 1 1 all strats 2 3 Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. We look at an example: Let us assume we have a complete binary tree where two players move alternatingly. height 0 1 2 no pos. 1 3 7 strats for P1 1 2 2 strats for P2 1 1 4 all strats 2 3 6 Andrea Schalk: CS3191 Section 3 p. 6/24 How do games grow? To count the number of strategies, we need to know how many decision points each player has (nodes when it is his turn), and how they relate. We look at an example: Let us assume we have a complete binary tree where two players move alternatingly. height 0 1 2 3 4 5 6 7 8 no pos. 1 3 7 15 31 63 127 255 511 strats for P1 1 2 2 8 8 128 128 32768 32768 strats for P2 1 1 4 4 64 64 16384 16384 1073741824 all strats 2 3 6 12 72 192 16512 49152 1073774592 Andrea Schalk: CS3191 Section 3 p. 6/24 What to do? The fact that the number of strategies in a game typically grows exponentially makes it quite clear that we soon move out of the realms of games that can be solved with the methods from Section 2. Andrea Schalk: CS3191 Section 3 p. 7/24 What to do? The fact that the number of strategies in a game typically grows exponentially makes it quite clear that we soon move out of the realms of games that can be solved with the methods from Section 2. The aim for this section is to nd good strategies without creating all strategies rst. Andrea Schalk: CS3191 Section 3 p. 7/24 What to do? The fact that the number of strategies in a game typically grows exponentially makes it quite clear that we soon move out of the realms of games that can be solved with the methods from Section 2. The aim for this section is to nd good strategies without creating all strategies rst. For that we assume that the game tree is given in a computer. Andrea Schalk: CS3191 Section 3 p. 7/24 What to do? The fact that the number of strategies in a game typically grows exponentially makes it quite clear that we soon move out of the realms of games that can be solved with the methods from Section 2. The aim for this section is to nd good strategies without creating all strategies rst. For that we assume that the game tree is given in a computer. However, our algorithms will not require that the game is present in memory at all timesit is sufcient if it can be created on demand. Andrea Schalk: CS3191 Section 3 p. 7/24 The minimax algorithm Andrea Schalk: CS3191 Section 3 p. 8/24 Values For a game of perfect information we dene the value of a position p for Player X to be the pay-off he can guarantee for himself at the very least. Andrea Schalk: CS3191 Section 3 p. 9/24 Values For a game of perfect information we dene the value of a position p for Player X to be the pay-off he can guarantee for himself at the very least. (This harkens back to Scotties and Amelias original analysis, which we will take to its natural conclusion in this section.) Andrea Schalk: CS3191 Section 3 p. 9/24 Values For a game of perfect information we dene the value of a position p for Player X to be the pay-off he can guarantee for himself at the very least. Note that the player has to assume that the others will do their worst in order for the guarantee to work. Andrea Schalk: CS3191 Section 3 p. 9/24 Values For a game of perfect information we dene the value of a position p for Player X to be the pay-off he can guarantee for himself at the very least. Question. Why do we insist on having a game of perfect information here? Andrea Schalk: CS3191 Section 3 p. 9/24 Values For a game of perfect information we dene the value of a position p for Player X to be the pay-off he can guarantee for himself at the very least. Question. Why do we insist on having a game of perfect information here? We can deal with elements of chance if we stick to the expected pay-off as before. Andrea Schalk: CS3191 Section 3 p. 9/24 Calculating the value The following proposition shows us how to calculate the value of a position for a given player. Andrea Schalk: CS3191 Section 3 p. 10/24 Calculating the value The following proposition shows us how to calculate the value of a position for a given player. p p1 p2 pn Andrea Schalk: CS3191 Section 3 p. 10/24 Calculating the value The following proposition shows us how to calculate the value of a position for a given player. p p1 p2 pn Proposition 3.1 Let p be a position with p1 , p2 , . . . , pm the positions which can be reached from p with one move (see the gure). Then the value for player X of p, vX (p), is p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi Andrea Schalk: CS3191 Section 3 p. 10/24 Proof p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi Andrea Schalk: CS3191 Section 3 p. 11/24 Proof p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi This is really obvious from the denition: Andrea Schalk: CS3191 Section 3 p. 11/24 Proof p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi If it is Player X s turn at p then he can choose the position with the maximum value and from there use a strategy to achieve that value. Andrea Schalk: CS3191 Section 3 p. 11/24 Proof p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi If it is Player X s turn at p then he can choose the position with the maximum value and from there use a strategy to achieve that value. If it is some other players turn he cannot do better than guarantee the value that he might get in the worst case, which is the minimum of the values that can be reached from p with one move. Andrea Schalk: CS3191 Section 3 p. 11/24 Proof p is nal pX (p) max X to move at p 1im vX (pi ) vX (p) = Y = X to move at p min1im vX (pi ) q v (p ) + q v (p ) + + q v (p ) chance move at p; 1 X 1 2 X 2 n X n qi : probability for pi If it is Player X s turn at p then he can choose the position with the maximum value and from there use a strategy to achieve that value. If it is some other players turn he cannot do better than guarantee the value that he might get in the worst case, which is the minimum of the values that can be reached from p with one move. If it is a chance move then the minimal expected pay-off from p is q1 vX (p1 ) + q2 vX (p2 ) + + qm vX (pm ). Andrea Schalk: CS3191 Section 3 p. 11/24 The values of a game Note that unless we have a 2-person zero-sum game there will not be a unique value which we can take as relevant for all the players. Andrea Schalk: CS3191 Section 3 p. 12/24 The values of a game Note that unless we have a 2-person zero-sum game there will not be a unique value which we can take as relevant for all the players. The various values for the root for each player give the pay-off they can guarantee for themselves in the worst case. Of course, they might do better when the game is played! Andrea Schalk: CS3191 Section 3 p. 12/24 The values of a game Note that unless we have a 2-person zero-sum game there will not be a unique value which we can take as relevant for all the players. The various values for the root for each player give the pay-off they can guarantee for themselves in the worst case. Of course, they might do better when the game is played! We have given a recursive algorithmin order to nd the value (for a player) of some node we rst have to know the value (for that player) of all its children. Andrea Schalk: CS3191 Section 3 p. 12/24 How to nd the valuebottom-up max P1 min ? P2 -1 max 4 ? ? 2 -2 P1 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 13/24 How to nd the valuebottom-up max P1 min ? -1 -2 P2 max 4 2 2 2 -2 P1 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 13/24 How to nd the valuebottom-up max ? P1 min 2 -1 -2 P2 max 4 2 2 2 -2 P1 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 13/24 How to nd the valuebottom-up max 2 P1 min 2 -2 P2 -1 max 4 2 2 2 -2 P1 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 13/24 Alternatives? Question. How does a program implementing this algorithm traverse the tree? Andrea Schalk: CS3191 Section 3 p. 14/24 Alternatives? Question. How does a program implementing this algorithm traverse the tree? This would have to be implemented using breadth-rst traversal. This is usually not a very efcient way of traversing a tree, in particular one that is being created as it is being searched! Andrea Schalk: CS3191 Section 3 p. 14/24 Alternatives? Question. How does a program implementing this algorithm traverse the tree? This would have to be implemented using breadth-rst traversal. This is usually not a very efcient way of traversing a tree, in particular one that is being created as it is being searched! Question. If you had to write a program for nding the value of a game, would you do it in this way? Andrea Schalk: CS3191 Section 3 p. 14/24 Alternatives? Question. How does a program implementing this algorithm traverse the tree? This would have to be implemented using breadth-rst traversal. This is usually not a very efcient way of traversing a tree, in particular one that is being created as it is being searched! Question. If you had to write a program for nding the value of a game, would you do it in this way? Can you think of alternatives? Andrea Schalk: CS3191 Section 3 p. 14/24 Alternatives? Question. How does a program implementing this algorithm traverse the tree? This would have to be implemented using breadth-rst traversal. This is usually not a very efcient way of traversing a tree, in particular one that is being created as it is being searched! Question. If you had to write a program for nding the value of a game, would you do it in this way? Can you think of alternatives? It is much better to traverse the tree depth-rst. We will study this idea next. Andrea Schalk: CS3191 Section 3 p. 14/24 Depth-rst algorithm P1 ? P2 -1 P1 4 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 ? 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 ? 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 2 ? 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 ? -1 P1 4 2 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 2 -1 P1 4 2 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 2 -1 ? P1 4 2 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 ? P2 2 -1 -2 P1 4 2 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 2 P2 2 -1 -2 P1 4 2 2 2 -2 1 2 -1 2 1 Andrea Schalk: CS3191 Section 3 p. 15/24 Depth-rst algorithm P1 2 P2 2 -1 -2 P1 4 2 2 2 -2 1 2 -1 2 1 This is known as the minimax-algorithm. Andrea Schalk: CS3191 Section 3 p. 15/24 Minimax on 2-person zero-sum games If we apply the minimax algorithm to a 2-person zero-sum game of perfect information, then Andrea Schalk: CS3191 Section 3 p. 16/24 Minimax on 2-person zero-sum games If we apply the minimax algorithm to a 2-person zero-sum game of perfect information, then the value calculated for Player 1 is the value of the game in the sense of Section 2; Andrea Schalk: CS3191 Section 3 p. 16/24 Minimax on 2-person zero-sum we games If apply the minimax algorithm to a 2-person zero-sum game of perfect information, then the value calculated for Player 1 is the value of the game in the sense of Section 2; the value calculated for Player 2 is the negative of that calculated for Player 1. Andrea Schalk: CS3191 Section 3 p. 16/24 Minimaxwhat does it do? Clearly, the minimax algorithm cannot help at all in dectecting mixed-strategy equilibrium points. Andrea Schalk: CS3191 Section 3 p. 17/24 Minimaxwhat does it do? Clearly, the minimax algorithm cannot help at all in dectecting mixed-strategy equilibrium points. It will only calculate the actual value of a 2-person zero-sum game if a pure strategy equilibrium point exists; Andrea Schalk: CS3191 Section 3 p. 17/24 Minimaxwhat does it do? Clearly, the minimax algorithm cannot help at all in dectecting mixed-strategy equilibrium points. It will only calculate the actual value of a 2-person zero-sum game if a pure strategy equilibrium point exists; we can tell that this is the case when the values for the two players are the negative of each other. Andrea Schalk: CS3191 Section 3 p. 17/24 Minimaxwhat does it do? Clearly, the minimax algorithm cannot help at all in dectecting mixed-strategy equilibrium points. It will only calculate the actual value of a 2-person zero-sum game if a pure strategy equilibrium point exists; we can tell that this is the case when the values for the two players are the negative of each other. If the algorithm remembers how to achieve the calculated value it calculates a strategy for guaranteeing it. Andrea Schalk: CS3191 Section 3 p. 17/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? Andrea Schalk: CS3191 Section 3 p. 18/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? It is a minimal pay-off that each player can guarantee for himself. Andrea Schalk: CS3191 Section 3 p. 18/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? It is a minimal pay-off that each player can guarantee for himself. This makes the assumption that the other players do their worst from our players point of viewclearly that is not realistic. Andrea Schalk: CS3191 Section 3 p. 18/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? It is a minimal pay-off that each player can guarantee for himself. This makes the assumption that the other players do their worst from our players point of viewclearly that is not realistic. Note that the minimax algorithm cannot work on games of imperfect information. Andrea Schalk: CS3191 Section 3 p. 18/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? It is a minimal pay-off that each player can guarantee for himself. This makes the assumption that the other players do their worst from our players point of viewclearly that is not realistic. Note that the minimax algorithm cannot work on games of imperfect information. Once again, we get a less than desirable solution to our problem, but it is still the best we can do. Andrea Schalk: CS3191 Section 3 p. 18/24 Minimax on non zero-sum games What does the value for a player mean when the game is not zero-sum? It is a minimal pay-off that each player can guarantee for himself. This makes the assumption that the other players do their worst from our players point of viewclearly that is not realistic. Note that the minimax algorithm cannot work on games of imperfect information. Once again, we get a less than desirable solution to our problem, but it is still the best we can do. The problem with the idea of trying to take into account what other players might really do is that when this is done by all the players then this results in a process which usually goes around in circles. Andrea Schalk: CS3191 Section 3 p. 18/24 More improvements? The minimax algorithm visits each leaf once. It visits other nodes slightly more often (depending on how many leaves they have). Andrea Schalk: CS3191 Section 3 p. 19/24 More improvements? The minimax algorithm visits each leaf once. It visits other nodes slightly more often (depending on how many leaves they have). One could write a minimax algorithm that visits every node at most twice if the tree data structure used knows about siblings. However, the improvement in efency usually isnt worth worrying about. Andrea Schalk: CS3191 Section 3 p. 19/24 More improvements? The minimax algorithm visits each leaf once. It visits other nodes slightly more often (depending on how many leaves they have). One could write a minimax algorithm that visits every node at most twice if the tree data structure used knows about siblings. However, the improvement in efency usually isnt worth worrying about. Note that once the program has found the value of a node, it is ne if it forgets everything below that node. Andrea Schalk: CS3191 Section 3 p. 19/24 More improvements? The minimax algorithm visits each leaf once. It visits other nodes slightly more often (depending on how many leaves they have). One could write a minimax algorithm that visits every node at most twice if the tree data structure used knows about siblings. However, the improvement in efency usually isnt worth worrying about. Note that once the program has found the value of a node, it is ne if it forgets everything below that node. It seems that visiting every node just once (or maybe twice) is the best we can possibly do to determine the value of a node in this way. Andrea Schalk: CS3191 Section 3 p. 19/24 More improvements? The minimax algorithm visits each leaf once. It visits other nodes slightly more often (depending on how many leaves they have). One could write a minimax algorithm that visits every node at most twice if the tree data structure used knows about siblings. However, the improvement in efency usually isnt worth worrying about. Note that once the program has found the value of a node, it is ne if it forgets everything below that node. It seems that visiting every node just once (or maybe twice) is the best we can possibly do to determine the value of a node in this way. This turns out to be wrong. Andrea Schalk: CS3191 Section 3 p. 19/24 Alpha-beta pruning Andrea Schalk: CS3191 Section 3 p. 20/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min max 4 -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, ) max 4 -2 4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, ) max 4 -2 4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 (, 4] -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 [2, 4] -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 [2, 4] [2, 4] -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 [2, 4] [2, 4] -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 4] max 4 2 -2 irr. -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 2] max 4 2 -2 irr. -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 2] max 4 -2 (, 2] irr. 1 -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min (, 2] max 4 -2 (, 2] irr. 1 -2 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max (, ) min -2 max 4 -2 irr. -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max [2, ) min -2 1 max 4 -2 irr. -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max [2, ) min -2 1 max 4 -2 irr. -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max [1, ) min -2 1 max 4 -2 irr. -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max [1, ) min -2 1 [1, ) max 4 -2 irr. -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max [1, ) min -2 1 [1, ) max 4 -2 irr. -1 -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max 1 min -2 1 irr. max 4 -2 irr. -1 -2 irr. 1 -4 Andrea Schalk: CS3191 Section 3 p. 21/24 Alpha-beta pruning The following algorithm works by passing along information about what is known so far. max 1 min -2 1 irr. max 4 -2 irr. -1 -2 irr. 1 -4 There are parts of the tree we have not searched at all! Andrea Schalk: CS3191 Section 3 p. 21/24 How does this work? On each recursive call of the procedure that determines the value, two parameters Andrea Schalk: CS3191 Section 3 p. 22/24 How does this work? On each recursive call of the procedure that determine...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

East Los Angeles College - CT - 312
Image and Video CodingCompressing data to a smaller volume without losing (too much) informationWhy Code Data?To reduce storage volume To reduce transmission timeOne colour image Video data 760 by 580 pixels 3 channels, each 8 bit
BYU - BIO - 465
FromproteinstructuretofunctionTheparticularcatalyticactivity,bindingproperties orconformationalchangesofaprotein. Thecomplex,ormetabolicorsignaltransduction pathwayinwhichaproteinparticipatesGeneduplicationwithtwocopiesofagene,one canretainitsfun
BYU - BIO - 465
Assignment #1: Sequencing 1. Is your assignments page up with .htaccess protection? yes 2. What is the difference between "genotype" and "phenotype"? A genotype represents variance at the nucleotide level (ACGT), while phenotype
CSU Fullerton - ELE - 364
LAMBTON COLLEGE OF APPLIED ARTS AND TECHNOLOGY SARNIA, ONTARIO ELECTRIC CIRCUITS II ELE 205-5EXP. 5: OBJECTIVES:Norton TheoremsTo investigate the Norton Theorem as it applies to a two mesh DC resistor network. To compare Norton equivalent circ
CSU Fullerton - C - 364
LAMBTON COLLEGE OF APPLIED ARTS AND TECHNOLOGY SARNIA, ONTARIO ELECTRIC CIRCUITS II ELE 205-5EXP. 5: OBJECTIVES:Norton TheoremsTo investigate the Norton Theorem as it applies to a two mesh DC resistor network. To compare Norton equivalent circ
Allan Hancock College - PHAIFB - 2002484
2002 The Parliament of the Commonwealth of Australia HOUSE OF REPRESENTATIVES Presented and read a first time Plant Health Australia (Plant Industries) Funding Bill 2002 No. , 2002 (Agriculture, Fisheries and Forestry) A Bi
CSU Fullerton - ELE - 364
LAMBTON COLLEGE OF APPLIED ARTS AND TECHNOLOGY SARNIA, ONTARIO ELECTRIC CIRCUITS II ELE 205-5 EXP. 2: Voltmeter LoadingOBJECTIVE: To investigate the effect of voltmeter impedance on voltage measurements in high-impedance circuits. To determine the
CSU Fullerton - C - 364
LAMBTON COLLEGE OF APPLIED ARTS AND TECHNOLOGY SARNIA, ONTARIO ELECTRIC CIRCUITS II ELE 205-5 EXP. 2: Voltmeter LoadingOBJECTIVE: To investigate the effect of voltmeter impedance on voltage measurements in high-impedance circuits. To determine the
East Los Angeles College - PHYS - 20602
FoundationsofQuantum MechanicsPHYS20602Aimofcourse TointroducetheideaofHilbertspaceandtouseitasaframeworktosolveproblemsin quantummechanics. Wikipediadefinition: AHilbertspaceisarealorcomplex innerproductspacethatiscompleteunderthe normd
Allan Hancock College - FLSPFAR - 20091
EXPLANATORY STATEMENT Select Legislative Instrument 2009 No. 2Issued by the authority of the Acting Minister for Agriculture, Fisheriesand ForestryFisheries Levy Act 1984Fisheries Levy (Torres Strait Prawn Fisher
Allan Hancock College - SSAVALATAW - 1997915
_ SOCIAL SECURITY AND VETERANS' AFFAIRS LEGISLATION AMENDMENT (MALE TOTAL AVERAGE WEEKLY EARNINGS BENCHMARK) BILL 1997 1996-1997 THE PARLIAMENT OF THE COMMONWEALTH OF AUSTRALIA
Allan Hancock College - PFAAAFSB - 1999574
New South WalesPublic Finance and Audit Amendment(Consolidated Financial Statements)Act 1999 No 37Contents Page 1 Name of Ac
East Los Angeles College - SSFC - 0041
Journal of Common Market Studies March 1999Vol. 37, No. 1 pp. 5985Explaining the Treaty of Amsterdam: Interests, Influence, Institutions*ANDREW MORAVCSIK and KALYPSO NICOLADISHarvard UniversityAbstractThis article offers a basic explanation
East Los Angeles College - ZOOL - 0376
Ecological Entomology (1997) 22, 283293Three ways of assessing metapopulation structure in the buttery Plebejus argusO W E N T. L E W I S , C H R I S D . T H O M A S , J A N E K . H I L L , M A R T I N I . B R O O K E S , 1 T . P. R O B I N C R A
East Los Angeles College - LINA - 0174
Indiscernibles, General Covariance, and Other Symmetries: The Case for Non-Reductive RelationalismSimon Saunders 11 October 2002To appear in Revisiting the Foundations of Relativistic Physics, J. Renn, ed., Kluwer, 2002.IntroductionWhat is the
East Los Angeles College - LAWF - 0068
InterpretivismNICOS STAVROPOULOSI.INTERPRETIVISM ABOUT LAWIntroductionLawyers tell us what legal duties we have. Legal philosophers tell us in virtue of what we have the duties that we do. What does the difference amount to? And how should p
East Los Angeles College - BRAS - 0541
Journal of Business Finance & Accounting, 31(7) & (8), September/October 2004, 0306-686XCompetition and Information Production in Market Maker ModelsALAN D. MORRISON*Abstract: The microstructure literature models the mechanisms through which fun
East Los Angeles College - OXMA - 0006
J. Appl. Prob. 39, 391394 (2002) Printed in Israel Applied Probability Trust 2002ON THE EQUIVALENCE OF FLOATINGAND FIXED-STRIKE ASIAN OPTIONSVICKY HENDERSON, University of Oxford RAFA WOJAKOWSKI, Lancaster University Abstract There are two types
East Los Angeles College - LINA - 0174
Clockwatcherby Simon SaundersReview of The End of Time, by Julian Barbour: New York Times Book Review, March 26, 2000. Like Stephen Hawking, Julian Barbour is a physicist who spends his time on time. Like Brief History of Time this A , book is abo
East Los Angeles College - ZOOL - 0376
Ann. Zool. Fennici 42: In press Helsinki 2005ISSN 0003-455X Finnish Zoological and Botanical Publishing Board 2005Apparent competition and insect community structure: towards a spatial perspectiveRebecca J. Morris1, Owen T. Lewis1 & H. Charles
East Los Angeles College - LINA - 1028
C. E. J. Dancer1, A. Bevan2, P. Mikheenko2, J.S. Abell2, R. I. Todd1 and C. R. M. Grovenor1of Materials, University of Oxford, Parks Road, Oxford OX1 3PH, UK 2Department of Metallurgy and Materials, School of Engineering, University of Birmingham, E
East Los Angeles College - LINA - 0174
Mind (2001)Book Reviews1The Quantum Mechanics of Minds and Worlds, by Jeffrey A. Barrett. Oxford: Oxford University Press, 1999. Pp. xv + 267. H/b ?.There is an important question in physics and philosophy which can be traced all the way back to
East Los Angeles College - LINA - 0174
Published in Synthese, 136, 79-105 (2003)Critical Notice: Tian Yu Cao s The Conceptual Development of 20th Century Field TheoriesSimon Saunders1Tian Yu Cao has written a serious and scholarly book covering a great deal of physics. He ranges from
East Los Angeles College - NUFF - 0230
DEPARTMENT OFSOCIOLOGYFive Decades of Class Inequality in British Higher EducationVikki BoliverSociology Department Lunchtime Seminar 20th October 2008Slides available at: http:/users.ox.ac.uk/~nuff0230/sociologyseminars.htmThe transformat
East Los Angeles College - JESU - 0073
ANOVADavid Barron Jesus CollegeDavid BarronANOVA1Introduction ANOVAissimilartomethodforcomparing twomeans,butcomparesseveralmeans simultaneously Theheartofthemethodisasignificance test,usingtheFdistribution OnewayANOVAsometimescalled comp
Sveriges lantbruksuniversitet - PHYS - 430
The A D Easily Allows Many Unusual ApplicationsThe A D Easily Allows Many Unusual ApplicationsNational Semiconductor Application Note 233 September 1974Accommodation of Arbitrary Analog Inputs Two design features of the ADC0801 series of A D co
Sveriges lantbruksuniversitet - PHYS - 233
PHYS 233Experiment #44Experiment #44The Current BalanceReferences1. Any rst year Physics text book or second year Electricity and Magnetism text book, section on forces between current-carrying wires. 2. Manual for the Welch Current Balance,
CSU Fullerton - CPT - 411
CPT 411-5 ADVANCED INTERACTIVE PROGRAMMING CLASS SCHEDULE Wee k Course Introduction 1 Topic Chapter(s)Appendix B Review Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Lab: Pop-up Windows Exercises 1.2A - 1.2B Exercises 2.2A - 2.2B Exerc
East Los Angeles College - SANT - 1114
Anthropology: The Field and Fieldwork The Field and Fieldwork: Asad, Talal. 1986. "The Concept of Cultural Translation in British Social Anthropology." In James Clifford and George Marcus eds., Writing Culture: The Poetics and Politics of Ethnogoraph
East Los Angeles College - SCAT - 1663
The Flourishing Anticorruption Industry Anti-corruption represents industry with at least a billion dollars worth of worldwide turnover - and for which Romania is a genuine goldmine. Most Romanians still see fighting corruption as a moral fight. But
East Los Angeles College - BODL - 0153
Report on the Digital Humanities 2008 conferenceGeneral InformationThe Digital Humanities 2008 conference (the annual joint conference of the Association for Computers and the Humanities [ACH], the Association for Literary and Linguistic Computing
East Los Angeles College - ZOOL - 0376
Are newly colonised parasitoids responsible for the decline of the Small Tortoiseshell?Butterfly Conservation has become concerned that a parasitoid fly that has arrived recently in the UK may be causing widespread mortality to Small Tortoiseshell c
East Los Angeles College - BODL - 0153
Report on the Digital Resources for the Humanities and Arts 2006 conference (DRHA 2006)DRHA 2006, the eleventh DRH conference and the first under its new title DRHA, took place at Dartington College of Arts from 3 to 6 September. The focus of the 20
East Los Angeles College - SANT - 1114
Area Studies and Orientalism Middle East Studies Appraises Itself: Binder, Leonard. 1976. "Area Studies: A Critical Reassassment." In Leonard Binder ed., The Study of the Middle East: Research and Scholarship in the Humanities and the Social Sciences
East Los Angeles College - SCAT - 3104
Quotes from The Social ContractThe problem "Man was born free, and he is everywhere in chains." "the savage lives within himself, while social man lives constantly outside himself" On the state of nature: "I make the assumption that there is a point
East Los Angeles College - LINA - 0174
The Philosophy of PhysicsSimon Saunders`Physics, and physics alone, has complete coverage', according to Quine. Philosophers of physics will mostly agree. But there is less consensus among physicists, many of whom have a sneaking regard for philoso
East Los Angeles College - SCAT - 3104
InductionThe method of inductive reasoning Hume 2 types of reasoning 1. Reasoning about `relations of ideas' This reasoning is about deductive subjects such as logical truths and mathematics which can be justified a priori Deductive logic licenses
East Los Angeles College - SCAT - 3104
TheUSPresidentiswellsituatedtorespondtonationalcrisis,butpoorlyplacedto influencepolicyinthelongrun.Discusswithreferencetothecivilrightsmovement.Thesis: 1.Rejectsecondstatement,wewillshowthatPresidentscanhaveasignificantinfluenceonlongrun policywith
East Los Angeles College - MAGD - 0968
LAS 2007Lyric Poetry: Some Introductory PointsFor each class, two students will give presentations, and the rest will hand in commentaries on specific poems. The poems well be covering are shown on each topic sheet: you need to write either on the
East Los Angeles College - BODL - 0153
Report on the Digital Resources for the Humanities 2005 conference (DRH 2005)DRH 2005, the tenth DRH conference, took place at the Department of Linguistics and English Language at Lancaster University from 4 to 7 September. The focus of the 2005 co
Allan Hancock College - HEFAB - 1998311
_ HIGHER EDUCATION FUNDING AMENDMENT BILL 1998 1998 THE PARLIAMENT OF THE COMMONWEALTH OF AUSTRALIA SENATE HIGHER EDUCATION FUNDING AMENDME
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
East Los Angeles College - UZDM - 0006
This ZIP archive holds three files readme.txt encode.c decode.cdecode.c is source program that reads a VCRPLUS codenumber value you find in the newspaper and calculates date_of_the_tv_program starting_time_of_the_tv_prog
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
East Los Angeles College - GREE - 1434
SDQIISelf Description Questionnaire II PACKAGE & CONDITIONS OF USEThe following package presents the Self Description Questionnaire II Instrument. Document 1. The SDQII Instrument. This instrument is to be used as presented with the instructions
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
Sveriges lantbruksuniversitet - PHYS - 053
BYU - ECE - 320
Basic Language Constructs of VHDLRTL Hardware Design by P. ChuChapter 31Outline1. 2. 3. 4. Basic VHDL program Lexical elements and program format Objects Data type and operatorsRTL Hardware Design by P. ChuChapter 321. Basic VHDL pro
Sveriges lantbruksuniversitet - PHYS - 053
Allan Hancock College - HEFAB - 1999311
_ HIGHER EDUCATION FUNDING AMENDMENT BILL 1999 1998-99 THE PARLIAMENT OF THE COMMONWEALTH OF AUSTRALIA HOUSE OF REPRESENTATIVES HIGHER EDUCATION FUND