# Alpha beta pruning example. Minimax search and alpha 2022-10-12

Alpha beta pruning example Rating: 4,7/10 833 reviews

Alpha beta pruning is a technique used in game tree search algorithms to improve their efficiency. It is a way of trimming the search tree by pruning branches that cannot possibly affect the final outcome of the search. This is done by maintaining two values, alpha and beta, which represent the minimum and maximum scores that the current player is assured of, based on the current state of the game.

For example, consider a game of tic-tac-toe where one player is "X" and the other is "O". The game tree for tic-tac-toe is relatively small, as there are only a few possible moves at each turn. However, the game tree for a more complex game such as chess or Go is much larger and more difficult to search through.

In the alpha beta pruning algorithm, the search tree is traversed in a depth-first manner, and at each node, the algorithm compares the alpha and beta values to determine whether the current branch can be pruned. If the alpha value is greater than or equal to the beta value, then the current branch can be safely pruned because the player whose turn it is cannot possibly achieve a score better than the alpha value.

Let's consider an example of alpha beta pruning in a tic-tac-toe game. Suppose that it is X's turn, and X has the following possible moves:

• X can place an "X" in the top left corner of the board, resulting in a score of 1 for X.
• X can place an "X" in the top middle of the board, resulting in a score of 1 for X.
• X can place an "X" in the top right corner of the board, resulting in a score of 1 for X.

At this point, the alpha value is 1, because X has already achieved a score of 1 by placing an "X" in the top left corner. The beta value is -1, because O has not yet had a chance to play and therefore has not achieved a score.

Suppose that O now has the following possible moves:

• O can place an "O" in the middle left of the board, resulting in a score of -1 for O.
• O can place an "O" in the middle middle of the board, resulting in a score of -1 for O.
• O can place an "O" in the middle right of the board, resulting in a score of -1 for O.

At this point, the alpha value is still 1, and the beta value is -1. However, because the alpha value is greater than or equal to the beta value, the algorithm can prune the branches corresponding to O's moves, as they cannot possibly result in a score better than -1 for O. This saves significant time and resources, as the algorithm does not have to search through these branches.

In conclusion, alpha beta pruning is a powerful technique for improving the efficiency of game tree search algorithms. By pruning branches that cannot possibly affect the final outcome of the search, the algorithm can save significant time and resources, making it more practical to use in complex games such as chess or Go.

## Minimax algorithm and alpha

Now as we can see that alpha is greater than beta which is satisfying the pruning condition so we can prune the right successor of node E and algorithm will not be traversed and the value at node E will be 5. We will never go down that subtree, either way. Now, I need to go up one level and examine the games in the second row. As for upper and lower bounds, all you know is that it's a number less than infinity and greater than negative infinity. For example, imagine it's 4. As you've noticed, winning against this kind of AI is impossible. What is the purpose of alpha-beta pruning in MIN MAX algorithm explain with example? If the AI plays against a human, it is very likely that human will immediately be able to prevent this.

Next

## Alpha Beta Pruning in AI

We also saved a lot of computation by skipping a whole sub-tree. These nodes have children corresponding to the possible second moves of the current player, and so on. Using Alpha-Beta pruning is always beneficial, as it offers various benefits like better time complexity, over the minimax algorithm. What we need to do is realise that the code under the if statement has the exact same structure as the code under the else, it's just that we start with a different value and use a different function to update the running value. In order to determine a good not necessarily the best move for a certain player, we have to somehow evaluate nodes positions to be able to compare one to another by quality.

Next

## Artificial Intelligence

So, I play out these three moves inside my head, and I see that none of the moves gives me a win. But, at this point, we wanted our algorithm to be able to stop. As you probably already know, the most famous strategy of player X is to start in any of the corners, which gives the player O the most opportunities to make a mistake. How do you implement alpha-beta pruning? Now, C will return the node value to A and the best value of A will be MAX 1, 3 will be 3. What does that depend on? Explanation: Alpha-beta search updates the value of alpha and beta as it gets along and prunes the remaining branches at node.

Next

## Minimax search and alpha

I'll help you out. The algorithm primarily evaluates only nodes at the given depth, and the rest of the procedure is While searching the game tree, we're examining only nodes on a fixed given depth, not the ones before, nor after. ? So, without further ado, let's start! This alpha-beta pruning algorithm was discovered independently by researchers in the 1900s. Let's assume that every time during deciding the next move we search through a whole tree, all the way down to leaves. In general this node has several children, representing all of the possible moves that we could make.

Next

## aplha beta pruning webapi.bu.edu

So, the next successor of node C i. What is the need of pruning a game tree? Even after 10 moves, the number of possible games is tremendously huge: Download the eBook Number of moves Number of possible games 1 20 2 40 3 8,902 4 197,281 5 4,865,609 6 119,060,324 7 3,195,901,860 8 84,998,978,956 9 2,439,530,234,167 10 69,352,859,712,417 Let's take this example to a tic-tac-toe game. In that case, the result should be 5: Diagram showing the final score if the first player tries to maximise. Hypothetical scenario in which I play the middle move. In this case, the best move occurs on the right side of the tree.

Next

## What is alpha

. Following the DFS order, the player will choose one path and will reach to its depth, i. The algorithm would be able to stop if 5 were already too large when compared to? Now its turn for MIN. So, in order to evaluate all these alternatives, I have to start at the bottom. If, on the other hand, we take a look at chess, we'll quickly realize the impracticality of solving chess by brute forcing through a whole game tree.

Next

## Minimax Algorithm in Game Theory

These unusual nodes make the algorithm slow. If we look at the third and fifth games of the bottom row, we see that you could win the game: Your winning positions are highlighted. Here is an example. But as we know, the performance measure is the first consideration for any optimal algorithm. For example, in Gomoku the game state is the arrangement of the board, plus information about whose move it is. Since the AI always plays optimally, if we slip up, we'll lose.

Next

## Alpha

Some of the legal positions are starting positions and some are ending positions. Alpha and beta are two different parts of an equation used to explain the performance of stocks and investment funds. The tree Tree T -2 , T 5 was also never visited, as expected. If not, re-read it carefully, grab a pen and a piece of paper, and make the drawings, the arrows, etc. Suppose that you and me are playing Tic Tac Toe, I'm the crosses X , it's my turn to play, and the game looks like this: A game of Tic Tac Toe I have to pick a move and, for that, I analyse all of my possibilities: My three possible moves.

Next

## Minimax with Alpha

This is the essence of alpha-beta pruning! What happens next is that we need to make the information flow upwards, so that I can make a move. Let me take the sketch above and refactor it: I replaced all the specific drawings by circles. So, here is solution of your doubt also: In the second node we choose the minimum value as c which is less than or equal to 2 i. We will start at the bottom left, where there is a node that is maximising, and gets to choose between a 3 and a 4. Refactoring the alpha-beta pruning implementation The algorithm is working just fine, but it doesn't look as good as it could! Even searching to a certain depth sometimes takes an unacceptable amount of time.

Next

## Alpha Beta Pruning in Minimax Algorithm

Now it's time to evaluate the node to the right of that one, which I highlighted here: The next node to be evaluated is highlighted. If we apply alpha-beta pruning to the standard minimax algorithm it gives the same decision as that of standard algorithm but it prunes or cuts down the nodes that are unusual in decision tree i. Therefore, it won't execute actions that take more than one move to complete, and is unable to perform certain well known "tricks" because of that. Since 8 is bigger than 7, we are allowed to cut off all the further children of the node we're at in this case there aren't any , since if we play that move, the opponent will play a move with value 8, which is worse for us than any possible move the opponent could have made if we had made another move. The best way to describe these terms is using a tree graph whose nodes are legal positions and whose edges are legal moves. Challenges The intuitive explanation of alpha-beta pruning is, well, fairly intuitive. Look at Move Ordering in Pruning The effectiveness of alpha â€” beta pruning is based on the order in which node is examined.

Next