康尼島（英語：），又译科尼島，是位於美國紐約市布魯克林區的半島，原本為一座海島，其面向大西洋的海灘是美國知名的休閒娛樂區域。居民大多集中位於半島的西側，約有六萬人左右，範圍西至希捷社區，東至布萊登海灘和曼哈頓海灘，而北至葛瑞福山德社區。 二十世紀前葉在美國極為知名的太空星際樂園即是以康尼島作為主要的腹地，該樂園在二次大戰後開始衰退，並持續荒廢了許久。在最近幾年，康尼島因為凱斯班公園的開幕而重新繁榮起來，凱斯班公園是職棒小聯盟球隊布魯克林旋風的主要球場。旋風隊在當地十分受到歡迎，每季開賽時都會吸引許多球迷到場觀戰。 ..

Anjos da guarda são os anjos que segundo as crenças cristãs, Deus envia no nosso nascimento para nos proteger durante toda a nossa vida. Argumenta-se que a Bíblia sustenta em algumas ocasiões a crença do anjo da guarda: "Vou enviar um anjo adiante de ti para ..

Altay Cumhuriyeti (Rusça: Респу́блика Алта́й / Respublika Altay; Altay Türkçesi: Алтай Республика / Altay Respublika), Rusya'nın en güneyinde yer alan, federasyona bağlı bir özerk cumhuriyet. Orta Asya'da Asya kıtasının coğrafî merkezinin hemen kuzeyinde ve ..

沙羅週期長度為18年11天，本週期包含70次日食，其中公元3000年以前有49次。 註：下表各項數據均為食分最大地點的情況。寬度指該地點食甚時刻月球的本影（全食時）或偽本影（環食時）落在地表的寬度，持續時間指該地點食既到生光的時間，即全食或環食的持續時間，全環食（亦稱混合食）發生時，食分最大處為全食。最後兩項參數不適用於偏食。 本周期最終結束於3378年6月17日。

希西家王 (希伯來語：，英語：）是猶大末年的君主，也是猶大國歷史中極尊重上帝的君王，在位29年。終年54歲。他在位的年份有兩種說法：其一是前715年-前687年；另一種是前716年-前687年。他的德行在其前後的猶大列王中，没有一個能及他。其希伯來名字的意思是“被神加力量”。 希西家的父親亞哈斯是一個背逆上帝的君王。因此在希西家當政之初的猶大國，無論政治，宗教上都极其黑暗。根據《聖經》記載，因为北國以色列被亞述攻滅，亞述王可以趁勢来攻打猶大國；又猶大的先王亞哈斯曾封鎖了聖殿之路，引導舉國崇拜偶像，大大得罪上帝。若非上帝的憐憫，為了堅定向大衛家所說的應許，猶大國的暫得幸存。希西家在二十五歲就登基作王，且正在國家危急之秋，由於行耶和華上帝眼中看為正的事，因而得上帝的憐憫，得以成功脫離亞述大軍的攻擊和一場致死的大病。他樂於聽從當代先知以賽亞的指導，使他為上帝大發熱心。 ..

The OnePlus 2 (also abbreviated as OP2) is a smartphone designed by OnePlus. It is the successor to the OnePlus One. OnePlus revealed the phone on 28 July 2015 via virtual reality, using Google's Cardboard visor and their own app. OnePlus sold out 30,000 units ..

兴隆街镇，是中华人民共和国四川省内江市资中县下辖的一个乡镇级行政单位。 兴隆街镇下辖以下地区： 兴隆街社区、兴松村、玄天观村、三元村、金星村、三皇庙村、双桥村、红庙子村、华光村、高峰村、芦茅湾村、篮家坝村、五马村和解放村。

Национальная и университетская библиотека (словен. Narodna in univerzitetna knjižnica, NUK), основанная в 1774 году, — один из важнейших образовательных и культурных учреждений Словении. Она располагается в центре столицы Любляна, между улицами Турьяшка (Turjaška ..

Mauser M1924 (или M24) — серия винтовок компании Mauser, использовавшихся в армиях Бельгии и Югославии. Внешне напоминают чехословацкие винтовки vz. 24, в которых использовались стандартный открытый прицел, патроны калибра 7,92×57 мм (или 8×57 мм), укороченные ..

第三条道路（英語：），又称新中间路线（Middle Way），是一种走在自由放任资本主义和传统社会主义中间的一种政治经济理念的概称。它由中间派所倡导，是社会民主主义的一个流派，英国工党称其为「现代化的社会民主主义」。它的中心思想是既不主张纯粹的自由市场，也不主张纯粹的社會主義，主张在两者之间取折衷方案。 第三条道路不只单单是走在中间，或只是一种妥协或混合出来的东西，第三条道路的提倡者看到了社会主义和资本主义互有不足之处，所以偏向某一极端也不是一件好事，第三条道路正正是揉合了双方主义的优点，互补不足而成的政治哲学。 ..

Class | Search algorithm |
---|---|

Worst-case performance | |

Best-case performance |

Graph and tree search algorithms |
---|

Listings |

Related topics |

**Alpha–beta pruning** is a search algorithm that seeks to decrease the number of nodes that are evaluated by the minimax algorithm in its search tree. It is an adversarial search algorithm used commonly for machine playing of two-player games (Tic-tac-toe, Chess, Go, etc.). It stops evaluating a move when at least one possibility has been found that proves the move to be worse than a previously examined move. Such moves need not be evaluated further. When applied to a standard minimax tree, it returns the same move as minimax would, but prunes away branches that cannot possibly influence the final decision.^{[1]}

Allen Newell and Herbert A. Simon who used what John McCarthy calls an "approximation"^{[2]} in 1958 wrote that alpha–beta "appears to have been reinvented a number of times".^{[3]} Arthur Samuel had an early version for a checkers simulation. Richards, Timothy Hart, Michael Levin and/or Daniel Edwards also invented alpha–beta independently in the United States.^{[4]} McCarthy proposed similar ideas during the Dartmouth workshop in 1956 and suggested it to a group of his students including Alan Kotok at MIT in 1961.^{[5]} Alexander Brudno independently conceived the alpha–beta algorithm, publishing his results in 1963.^{[6]} Donald Knuth and Ronald W. Moore refined the algorithm in 1975.^{[7]}^{[8]} Judea Pearl proved its optimality for trees with randomly assigned leaf values in terms of the expected running time in two papers.^{[9]}^{[10]} The optimality of the randomized version of alpha-beta was shown by Michael Saks and Avi Wigderson in 1986.^{[11]}

The algorithm maintains two values, alpha and beta, which represent the minimum score that the maximizing player is assured of and the maximum score that the minimizing player is assured of respectively. Initially, alpha is negative infinity and beta is positive infinity, i.e. both players start with their worst possible score. Whenever the maximum score that the minimizing player (i.e. the "beta" player) is assured of becomes less than the minimum score that the maximizing player (i.e., the "alpha" player) is assured of (i.e. beta < alpha), the maximizing player need not consider further descendants of this node, as they will never be reached in the actual play.

To illustrate this with a real-life example, suppose somebody is playing chess and it is their turn. Move "A" will improve the player's position. The player continues to look for moves to make sure a better one hasn't been missed. Move "B" is also a good move, but the player then realizes that it will allow the opponent to force checkmate in two moves. Thus, other outcomes from playing move B no longer need to be considered since the opponent can force a win. The maximum score that the opponent could force after move "B" is negative infinity: a loss for the player. This is less than the minimum position that was previously found: move "A" does not result in a forced loss in two moves.

The benefit of alpha–beta pruning lies in the fact that branches of the search tree can be eliminated. This way, the search time can be limited to the 'more promising' subtree, and a deeper search can be performed in the same time. Like its predecessor, it belongs to the branch and bound class of algorithms. The optimization reduces the effective depth to slightly more than half that of simple minimax if the nodes are evaluated in an optimal or near optimal order (best choice for side on move ordered first at each node).

With an (average or constant) branching factor of *b*, and a search depth of *d* plies, the maximum number of leaf node positions evaluated (when the move ordering is pessimal) is *O*(*b*×*b*×...×*b*) = *O*(*b*^{d}) – the same as a simple minimax search. If the move ordering for the search is optimal (meaning the best moves are always searched first), the number of leaf node positions evaluated is about *O*(*b*×1×*b*×1×...×*b*) for odd depth and *O*(*b*×1×*b*×1×...×1) for even depth, or . In the latter case, where the ply of a search is even, the effective branching factor is reduced to its square root, or, equivalently, the search can go twice as deep with the same amount of computation.^{[12]} The explanation of *b*×1×*b*×1×... is that all the first player's moves must be studied to find the best one, but for each, only the second player's best move is needed to refute all but the first (and best) first player move—alpha–beta ensures no other second player moves need be considered. When nodes are considered in a random order (i.e., the algorithm randomizes), asymptotically,
the expected number of nodes evaluated in uniform trees with binary leaf-values is
.^{[11]}
For the same trees, when the values are assigned to the leaf values independently of each other and say zero and one are both equally probable, the expected number of nodes evaluated is , which is much smaller than the work done by the randomized algorithm, mentioned above, and is again optimal for such random trees.^{[9]} When the leaf values are chosen independently of each other but from the interval uniformly at random, the expected number of nodes evaluated increases to in the limit,^{[10]} which is again optimal for these kind random trees. Note that the actual work for "small" values of is better approximated using .^{[10]}^{[9]}

Normally during alpha–beta, the subtrees are temporarily dominated by either a first player advantage (when many first player moves are good, and at each search depth the first move checked by the first player is adequate, but all second player responses are required to try to find a refutation), or vice versa. This advantage can switch sides many times during the search if the move ordering is incorrect, each time leading to inefficiency. As the number of positions searched decreases exponentially each move nearer the current position, it is worth spending considerable effort on sorting early moves. An improved sort at any depth will exponentially reduce the total number of positions searched, but sorting all positions at depths near the root node is relatively cheap as there are so few of them. In practice, the move ordering is often determined by the results of earlier, smaller searches, such as through iterative deepening.

Additionally, this algorithm can be trivially modified to return an entire principal variation in addition to the score. Some more aggressive algorithms such as MTD(f) do not easily permit such a modification.

The pseudo-code for depth limited minimax with alpha-beta pruning is as follows:^{[12]}

functionalphabeta(node, depth, α, β, maximizingPlayer)isifdepth = 0ornode is a terminal nodethenreturnthe heuristic value of nodeifmaximizingPlayerthenvalue := −∞for eachchild of nodedovalue := max(value, alphabeta(child, depth − 1, α, β, FALSE)) α := max(α, value)ifα ≥ βthenbreak(* β cut-off *)returnvalueelsevalue := +∞for eachchild of nodedovalue := min(value, alphabeta(child, depth − 1, α, β, TRUE)) β := min(β, value)ifβ ≤ αthenbreak(* α cut-off *)returnvalue

(* Initial call *)alphabeta(origin, depth, −∞, +∞, TRUE)

Implementations of alpha-beta pruning can often be delineated by whether they are "fail-soft," or "fail-hard". The pseudo-code illustrates the fail-soft variation. With fail-soft alpha-beta, the alphabeta function may return values (v) that exceed (v < α or v > β) the α and β bounds set by its function call arguments. In comparison, fail-hard alpha-beta limits its function return value into the inclusive range of α and β.

Further improvement can be achieved without sacrificing accuracy by using ordering heuristics to search earlier parts of the tree that are likely to force alpha–beta cutoffs. For example, in chess, moves that capture pieces may be examined before moves that do not, and moves that have scored highly in earlier passes through the game-tree analysis may be evaluated before others. Another common, and very cheap, heuristic is the killer heuristic, where the last move that caused a beta-cutoff at the same tree level in the tree search is always examined first. This idea can also be generalized into a set of refutation tables.

Alpha–beta search can be made even faster by considering only a narrow search window (generally determined by guesswork based on experience). This is known as *aspiration search*. In the extreme case, the search is performed with alpha and beta equal; a technique known as *zero-window search*, *null-window search*, or *scout search*. This is particularly useful for win/loss searches near the end of a game where the extra depth gained from the narrow window and a simple win/loss evaluation function may lead to a conclusive result. If an aspiration search fails, it is straightforward to detect whether it failed *high* (high edge of window was too low) or *low* (lower edge of window was too high). This gives information about what window values might be useful in a re-search of the position.

Over time, other improvements have been suggested, and indeed the Falphabeta (fail-soft alpha-beta) idea of John Fishburn is nearly universal and is already incorporated above in a slightly modified form. Fishburn also suggested a combination of the killer heuristic and zero-window search under the name Lalphabeta ("last move with minimal window alpha-beta search").

This section's factual accuracy is disputed. (May 2020) (Learn how and when to remove this template message) |

The negamax variation evaluates each node from the last player's point of view. To predict if a move is a good one, a tree of depth as large as possible has to be generated, evaluate heuristically the leaves (from the point of view of the player that made this move) and then calculate the score of the root with the assumption that each player chooses the best move. For instance, with a tree of depth= 1, if the opponent has three possible responses evaluated −1, −2 and +∞, the root configuration is evaluated as −∞. The opponent can be assumed to choose the best configuration evaluated +∞. From this example, the general rule can be deduced: the score of a node is given by the opposite of the maximum score of its children.

Alpha beta pruning is an optimisation of the minimax algorithm that avoids computing the whole tree to the leaves for a given depth.

Here is the algorithm in pseudocode where *i* is the limit value under which it is useless going on computing. Initially, *i* = -∞. Moreover, the children of a node are computed only if necessary. That is why an iterator can be used to compute them.

*alphabeta(node, depth, i)* gives the score of node *node* knowing that it is useless to continue if the score is lower than or equal to *i* (in this case, it gives a wrong score that has no impact on the final result).

functionalphabeta(node, depth, i)isifdepth = 0ornode is a terminal nodethenreturnthe heuristic value of nodeelsej := -∞for eachchild of nodedoj := max(j, alphabeta(child, depth − 1, j))if-j ⩽ ithenreturn-j '(* cut-off *)return-j

Since the minimax algorithm and its variants are inherently depth-first, a strategy such as iterative deepening is usually used in conjunction with alpha–beta so that a reasonably good move can be returned even if the algorithm is interrupted before it has finished execution. Another advantage of using iterative deepening is that searches at shallower depths give move-ordering hints, as well as shallow alpha and beta estimates, that both can help produce cutoffs for higher depth searches much earlier than would otherwise be possible.

Algorithms like SSS*, on the other hand, use the best-first strategy. This can potentially make them more time-efficient, but typically at a heavy cost in space-efficiency.^{[13]}

- ↑ Russell, Stuart J.; Norvig, Peter (2010).
*Artificial Intelligence: A Modern Approach*(3rd ed.). Upper Saddle River, New Jersey: Pearson Education, Inc. p. 167. ISBN 978-0-13-604259-4. - ↑ McCarthy, John (27 November 2006). "Human Level AI Is Harder Than It Seemed in 1955". Retrieved 2006-12-20.
- ↑ Newell, Allen; Simon, Herbert A. (1 March 1976). "Computer science as empirical inquiry: symbols and search".
*Communications of the ACM*.**19**(3): 113–126. doi:10.1145/360018.360022. - ↑ Edwards, D.J.; Hart, T.P. (4 December 1961). "The Alpha–beta Heuristic (AIM-030)". Massachusetts Institute of Technology. hdl:1721.1/6098. Cite journal requires
`|journal=`

(help) - ↑ Kotok, Alan (3 December 2004). "MIT Artificial Intelligence Memo 41". Retrieved 2006-07-01.
- ↑ Marsland, T.A. (May 1987). "Computer Chess Methods (PDF) from Encyclopedia of Artificial Intelligence. S. Shapiro (editor)" (PDF). J. Wiley & Sons. pp. 159–171. Archived from the original (PDF) on October 30, 2008. Retrieved 2006-12-21.
- ↑ Knuth, Donald E.; Moore, Ronald W. (1975). "An analysis of alpha-beta pruning".
*Artificial Intelligence*.**6**(4): 293–326. doi:10.1016/0004-3702(75)90019-3. S2CID 7894372. - ↑ Abramson, Bruce (1 June 1989). "Control strategies for two-player games".
*ACM Computing Surveys*.**21**(2): 137–161. doi:10.1145/66443.66444. - 1 2 3 Pearl, Judea (1980). "Asymptotic Properties of Minimax Trees and Game-Searching Procedures".
*Artificial Intelligence*.**14**(2): 113–138. doi:10.1016/0004-3702(80)90037-5. - 1 2 3 Pearl, Judea (1982). "The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm and Its Optimality".
*Communications of the ACM*.**25**(8): 559–64. doi:10.1145/358589.358616. - 1 2 Saks, M.; Wigderson, A. (1986). "Probabilistic Boolean Decision Trees and the Complexity of Evaluating Game Trees".
*27th Annual Symposium on Foundations of Computer Science*. pp. 29–38. doi:10.1109/SFCS.1986.44. ISBN 0-8186-0740-8. - 1 2 Russell, Stuart J.; Norvig, Peter (2003),
*Artificial Intelligence: A Modern Approach*(2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2 - ↑ Pearl, Judea; Korf, Richard (1987), "Search techniques",
*Annual Review of Computer Science*,**2**: 451–467, doi:10.1146/annurev.cs.02.060187.002315,Like its A* counterpart for single-player games, SSS* is optimal in terms of the average number of nodes examined; but its superior pruning power is more than offset by the substantial storage space and bookkeeping required.

- George T. Heineman; Gary Pollice; Stanley Selkow (2008). "Chapter 7: Path Finding in AI".
*Algorithms in a Nutshell*. Oreilly Media. pp. 217–223. ISBN 978-0-596-51624-6. - Judea Pearl,
*Heuristics*, Addison-Wesley, 1984 - John P. Fishburn (1984). "Appendix A: Some Optimizations of α-β Search".
*Analysis of Speedup in Distributed Algorithms (revision of 1981 PhD thesis)*. UMI Research Press. pp. 107–111. ISBN 0-8357-1527-2.

© 2019 raptorfind.com. Imprint, All rights reserved.