Alpha–beta pruning

Alpha–beta pruning
ClassSearch algorithm
Worst-case performance
Best-case performance

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 combinatorial games (Tic-tac-toe, Chess, Connect 4, 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]

History

John McCarthy during the Dartmouth Workshop met Alex Bernstein of IBM, who was writing a chess program. McCarthy invented alpha–beta search and recommended it to him, but Bernstein was "unconvinced".[2]

Allen Newell and Herbert A. Simon who used what John McCarthy calls an "approximation"[3] in 1958 wrote that alpha–beta "appears to have been reinvented a number of times".[4] 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.[5] 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.[6] Alexander Brudno independently conceived the alpha–beta algorithm, publishing his results in 1963.[7] Donald Knuth and Ronald W. Moore refined the algorithm in 1975.[8][9] Judea Pearl proved its optimality in terms of the expected running time for trees with randomly assigned leaf values in two papers.[10][11] The optimality of the randomized version of alpha–beta was shown by Michael Saks and Avi Wigderson in 1986.[12]

Core idea

A game tree can represent many two-player zero-sum games, such as chess, checkers, and reversi. Each node in the tree represents a possible situation in the game. Each terminal node (outcome) of a branch is assigned a numeric score that determines the value of the outcome to the player with the next move.[13]

The algorithm maintains two values, alpha and beta, which respectively represent the minimum score that the maximizing player is assured of and the maximum score that the minimizing player is assured of. 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.

Improvements over naive minimax

An illustration of alpha–beta pruning. The grayed-out subtrees don't need to be explored (when moves are evaluated from left to right), since it is known that the group of subtrees as a whole yields the value of an equivalent subtree or worse, and as such cannot influence the final result. The max and min levels represent the turn of the player and the adversary, respectively.

The benefit of alpha–beta pruning lies in the fact that branches of the search tree can be eliminated.[13] 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(bd) – 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.[14] 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 .[12] 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.[10] 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,[11] which is again optimal for this kind of random tree. Note that the actual work for "small" values of is better approximated using .[11][10]

A chess program that searches four plies with an average of 36 branches per node evaluates more than one million terminal nodes. An optimal alpha-beta prune would eliminate all but about 2,000 terminal nodes, a reduction of 99.8%.[13]

An animated pedagogical example that attempts to be human-friendly by substituting initial infinite (or arbitrarily large) values for emptiness and by avoiding using the negamax coding simplifications.

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.

Pseudocode

The pseudo-code for depth limited minimax with alpha–beta pruning is as follows:[15]

Implementations of alpha–beta pruning can often be delineated by whether they are "fail-soft," or "fail-hard". 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 β. The main difference between fail-soft and fail-hard implementations is whether α and β are updated before or after the cutoff check. If they are updated before the check, then they can exceed initial bounds and the algorithm is fail-soft.

The following pseudo-code illustrates the fail-hard variation.[15]

function alphabeta(node, depth, α, β, maximizingPlayer) is
    if depth == 0 or node is terminal then
        return the heuristic value of node
    if maximizingPlayer then
        value := −∞
        for each child of node do
            value := max(value, alphabeta(child, depth − 1, α, β, FALSE))
            if value > β then
                break (* β cutoff *)
            α := max(α, value)
        return value
    else
        value := +∞
        for each child of node do
            value := min(value, alphabeta(child, depth − 1, α, β, TRUE))
            if value < α then
                break (* α cutoff *)
            β := min(β, value)
        return value
(* Initial call *)
alphabeta(origin, depth, −, +, TRUE)

The following pseudocode illustrates fail-soft alpha-beta.

function alphabeta(node, depth, α, β, maximizingPlayer) is
    if depth == 0 or node is terminal then
        return the heuristic value of node
    if maximizingPlayer then
        value := −∞
        for each child of node do
            value := max(value, alphabeta(child, depth − 1, α, β, FALSE))
            α := max(α, value)
            if value ≥ β then
                break (* β cutoff *)
        return value
    else
        value := +∞
        for each child of node do
            value := min(value, alphabeta(child, depth − 1, α, β, TRUE))
            β := min(β, value)
            if value ≤ α then
                break (* α cutoff *)
        return value
(* Initial call *)
alphabeta(origin, depth, −, +, TRUE)

Heuristic improvements

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 an aspiration window. 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").

Other algorithms

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.[16]

See also

References

  1. ^ Russell & Norvig 2021, p. 152-161.
  2. ^ McCarthy, John (2006-10-30). "The Dartmouth Workshop--as planned and as it happened". www-formal.stanford.edu. Retrieved 2023-10-29.
  3. ^ McCarthy, John (27 November 2006). "Human Level AI Is Harder Than It Seemed in 1955". Stanford University. Retrieved 2006-12-20.
  4. ^ 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.
  5. ^ Edwards, D.J.; Hart, T.P. (4 December 1961). The Alpha–beta Heuristic (Technical report). Massachusetts Institute of Technology. hdl:1721.1/6098. AIM-030.
  6. ^ Kotok, Alan (2004) [1962]. "A Chess Playing Program". Artificial Intelligence Project. RLE and MIT Computation Center. Memo 41. Retrieved 2006-07-01.
  7. ^ Marsland, T.A. (May 1987). "Computer Chess Methods" (PDF). In Shapiro, S. (ed.). Encyclopedia of Artificial Intelligence. Wiley. pp. 159–171. ISBN 978-0-471-62974-0. Archived from the original (PDF) on 2008-10-30.
  8. ^ 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.
  9. ^ Abramson, Bruce (1 June 1989). "Control strategies for two-player games". ACM Computing Surveys. 21 (2): 137–161. doi:10.1145/66443.66444. S2CID 11526154.
  10. ^ a b c 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.
  11. ^ a b c 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. S2CID 8296219.
  12. ^ a b 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. S2CID 6130392.
  13. ^ a b c Levy, David (January 1986). "Alpha-Beta Soup". MacUser. pp. 98–102. Retrieved 2021-10-19.
  14. ^ Russell & Norvig 2021, p. 155.
  15. ^ a b Russell & Norvig 2021, p. 154.
  16. ^ 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.

Bibliography

Read other articles:

Halaman ini berisi artikel tentang Pertempuran Kosovo 1389. Untuk pertempuran lainnya, lihat Pertempuran Kosovo (disambiguasi). Untuk film tahun 1989 yang menggambarkan pertempuran ini, lihat Battle of Kosovo (film). Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Pertempuran Kosovo –...

 

 

Katedral CamdenKatedral Dikandung Tanpa NodaCathedral of the Immaculate ConceptionKatedral CamdenLokasi642 Market Street, Camden, New Jersey, U.S.NegaraAmerika SerikatDenominasiGereja Katolik RomaArsitekturStatusKatedralStatus fungsionalAktifSelesai1966AdministrasiKeuskupanKeuskupan Camden Katedral Camden yang bernama resmi Katedral Santa Perawan Maria Dikandung Tanpa Noda adalah sebuah gereja katedralKatolik yang berlokasi di Camden di Camden County, New Jersey, Amerika Serikat. Ini adalah p...

 

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要补充更多来源。 (2018年3月17日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:羅生門 (電影) — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 �...

جو وانغ ميلر معلومات شخصية الميلاد 3 فبراير 1989 (العمر 35 سنة)تيانجين  مركز اللعب مهاجم الجنسية الولايات المتحدة  معلومات النادي النادي الحالي Latte FC [الإنجليزية]‏ الرقم 7 مسيرة الشباب سنوات فريق تيانجين تيدا المسيرة الاحترافية1 سنوات فريق م. (هـ.) 2008–2009 IFC Wild Bills [ال...

 

 

Nick at NiteDiluncurkan1 Juli 1985PemilikParamount Media Networks(Paramount Global)SloganIt's Not Just Nite, It's Nick at NiteNegaraAmerika SerikatBahasaInggris HungarianKantor pusatNew York City, New YorkTimeshiftNickMusic/MTV EspañolSitus webnickatnite.com Nick at Nite (bergaya dengan nick@nite) adalah saluran televisi kabel yang disiarkan pada malam hari. Siaran Nick at Nite menggunakan frekuensi saluran Nickelodeon. Program Artikel utama: Daftar acara yang disiarkan di Nick at Nite Produ...

 

 

Voce principale: Calcio Como. Como CalcioStagione 1978-1979I lariani con la seconda maglia bianca Sport calcio Squadra Como Allenatore Giuseppe Marchioro Presidente Alfredo Tragni Serie C11º posto (in Serie B) Coppa Italia SemiproOttavi di finale Maggiori presenzeCampionato: Melgrati (34) Miglior marcatoreCampionato: Cavagnetto (10) StadioStadio Giuseppe Sinigaglia 1977-1978 1979-1980 Si invita a seguire il modello di voce Questa voce raccoglie le informazioni riguardanti il Como Calci...

Military airbase near Fort Worth, TX, US FWH redirects here. Not to be confused with fW h. Naval Air Station Joint Reserve Base Fort WorthCarswell FieldFort Worth, Texas in the United StatesAerial view of Naval Air Station Joint Reserve Base Fort WorthFort WorthShow map of TexasFort WorthShow map of the United StatesCoordinates32°46′09″N 097°26′30″W / 32.76917°N 97.44167°W / 32.76917; -97.44167 (Naval Air Station Joint Reserve Base Fort Worth)T...

 

 

This article is about the city. For the province, see Nakhon Ratchasima province. Khorat redirects here. For other uses, see Khorat (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Nakhon Ratchasima – news · newspapers · books · scholar · JSTOR (April 2016) (Learn how and when to remove this...

 

 

MLN-TupamarosBandiera del Movimento di Liberazione Nazionale TupamarosAttiva1966 - 1972 Nazione Uruguay ContestoOperazione Condor IdeologiaMarxismo-leninismo Affinità politicheMontoneros, MIR ComponentiFondatoriRaúl Sendic Antonaccio Componenti principaliJorge ZabalzaJosé MujicaEleuterio Fernández HuidobroJulio MarenalesMauricio RosencofAdolfo WasemHenry EnglerJorge Manera SimboliSimbolo AttivitàAzioni principaliRapimento di Geoffrey Jackson Rapimento di Dan Mitrione Primi collabora...

Labelling real experiences as delusional Not to be confused with The Martha Mitchell Effect, a 2022 documentary on this subject. Martha Mitchell, for whom the effect is named The Martha Mitchell effect occurs when a medical professional labels a patient's accurate perception of real events as delusional, resulting in misdiagnosis.[1][2] Description According to Bell et al., Sometimes, improbable reports are erroneously assumed to be symptoms of mental illness (Maher, 1998), du...

 

 

Pour les articles homonymes, voir Saint-Paul. Saint-Paul-la-Coste Le Galeizon. Blason Administration Pays France Région Occitanie Département Gard Arrondissement Alès Intercommunalité Alès Agglomération Maire Mandat Adrien Chapon 2020-2026 Code postal 30480 Code commune 30291 Démographie Gentilé Saint-Paulains Populationmunicipale 315 hab. (2021 ) Densité 17 hab./km2 Géographie Coordonnées 44° 09′ 02″ nord, 3° 58′ 13″ est Altitude ...

 

 

Kirmizi Bubuk kokboyaCommon connotationsMerah cerah     Koordinat warnaTriplet hex#A91101sRGBB    (r, g, b)(169, 17, 1)CMYKH   (c, m, y, k)(0, 90, 99, 34)SumberHisourB: Dinormalkan ke [0–255] (bita)H: Dinormalkan ke [0–100] (ratusan) Kirmizi adalah suatu corak warna merah tua yang didapat dari tumbuhan genus Rubia.[1] Rujukan ^ John Wilson, An Essay on Light and Colours, Manchester, 1786. Pg. 21-22. Artikel bertopik warna ini adalah sebuah rintisa...

Canadian swimmer Munroe BournePersonal informationFull nameFrederick Munroe BourneNational team CanadaBorn(1910-06-26)June 26, 1910Victoria, British ColumbiaDiedJuly 11, 1992(1992-07-11) (aged 82)Rothesay, New BrunswickSportSportSwimmingStrokesBackstroke, freestyleClubMontreal AAACollege teamMcGill University Medal record Men's swimming Representing Canada Olympic Games 1928 Amsterdam 4×200 m freestyle British Empire Games 1930 Hamilton 100 yd freestyle 1930 Hamilton 4×2...

 

 

Pour les articles homonymes, voir François II. François II Rákóczi Portrait réalisé par Ádám Mányoki en 1712 à Gdańsk. Fonctions Prince de Transylvanie 8 juillet 1704 – février 1711 Prédécesseur gubernium autrichien Successeur Charles Ier de Habsbourg Biographie Nom de naissance felsővadászi II. Rákóczi Ferenc Date de naissance 27 mars 1676 Lieu de naissance Borsi Date de décès 8 avril 1735 (à 59 ans) Lieu de décès Tekirdağ, Empire ottoman Sépulture Cathédral...

 

 

Almeria redirects here. For other uses, see Almeria (disambiguation). Municipality in Andalusia, SpainAlmeríaMunicipalityAlcazabaCable InglésPanoramic viewCity HallCathedral FlagCoat of armsMotto(s): Muy noble, muy leal y decidida por la libertad: ciudad de Almería(Very noble, very loyal and determined towards freedom: city of Almería)Location of AlmeríaCoordinates: 36°50′25″N 2°28′05″W / 36.84028°N 2.46806°W / 36.84028; -2.46806Country Spain...

Cet article est une ébauche concernant un acteur canadien. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les conventions filmographiques. Charles Hill Mailes Vers 1913 Données clés Naissance 25 mai 1870Halifax, Nouvelle-ÉcosseCanada Nationalité Canadienne Décès 17 février 1937 (à 66 ans)Los Angeles, CalifornieÉtats-Unis Profession Acteur modifier Charles Hill Mailes (né le 25 mai 1870 à Halifax au Canada et mort le 17 février 1937 à Los A...

 

 

Strage di viale LazioIl cadavere del boss Michele Cavataio negli uffici di viale Lazio TipoSparatoria Data10 dicembre 196919:30 Luogouffici del costruttore Moncada in viale Lazio n. 108, Palermo Stato Italia Obiettivoil boss Michele Cavataio Responsabili Luciano Liggio, Stefano Bontate, Gaetano Badalamenti e Giuseppe Di Cristina (mandanti) Salvatore Riina, Calogero Bagarella, Bernardo Provenzano, Emanuele D'Agostino, Gaetano Grado e Damiano Caruso (esecutori materiali). Motivazionepunire...

 

 

Municipality in the Mexican state of Coahuila Municipality in Coahuila, MexicoSabinasMunicipality SealMunicipality of Sabinas in CoahuilaSabinasLocation in MexicoCoordinates: 27°51′10″N 101°7′11″W / 27.85278°N 101.11972°W / 27.85278; -101.11972Country MexicoStateCoahuilaMunicipal seatSabinasArea • Total2,345.2 km2 (905.5 sq mi)Population (2005) • Total53,042 Sabinas is one of the 38 municipalities of Coahuila...

Costanza Monti Costanza Monti (Roma, 7 giugno 1792 – Ferrara, 7 settembre 1840) è stata una poetessa italiana. Indice 1 Biografia 2 Note 3 Bibliografia 4 Altri progetti 5 Collegamenti esterni Biografia Figlia di Vincenzo Monti e di Teresa Pichler,[1] ebbe modo di studiare l'inglese, il latino e il greco.[2] Trascorse alcuni anni nel Monastero di Sant'Antonio di Ferrara, dove studiò musica e pittura.[3] Il 6 giugno 1812 sposò, a Fusignano, il conte Giulio Perticari...

 

 

Yugoslav communist politician For the footballer, see Aleksandar Ranković (footballer). Aleksandar RankovićАлександар Ранковић1st Vice President of YugoslaviaIn office30 June 1963 – 1 July 1966PresidentJosip Broz TitoPreceded byPosition establishedSucceeded byKoča PopovićDeputy Prime Minister of YugoslaviaIn office1 April 1949 – 18 April 1963Prime MinisterJosip Broz TitoPreceded byJaša ProdanovićSucceeded bySvetislav StefanovićMinister of the...