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(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 O(b^{d/2}) = O(sqrt{b^d}). 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.[10] 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 best second player's 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 ordered at random, the average number of nodes evaluated is roughly O(b^{3d/4}).[2]
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.
The algorithm maintains two values, alpha and beta, which represent the maximum score that the maximizing player is assured of and the minimum 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 lowest possible score. It can happen that when choosing a certain branch of a certain node the minimum score that the minimizing player is assured of becomes less than the maximum score that the maximizing player is assured of (beta
ประโยชน์ของอัลฟ่าและเบต้าตัดแต่งกิ่งอยู่ในความเป็นจริงที่กิ่งก้านของต้นไม้ การค้นหาจะถูกคัดออก วิธีนี้ เวลาค้นหาสามารถถูก จำกัด ให้ ' สัญญา ' มากกว่ามาก และค้นหาลึกลงไปที่สามารถดำเนินการได้ในเวลาเดียวกัน เหมือนบรรพบุรุษของมัน , มันเป็นของสาขาและจำกัดระดับของอัลกอริธึม การเพิ่มประสิทธิภาพการลดความลึกประสิทธิผลเล็กน้อยกว่าครึ่งหนึ่งของที่ง่ายบริการถ้าโหนดที่เหมาะสมเพื่อประเมินในหรือใกล้ที่สุด ( เลือกที่ดีที่สุดสำหรับข้างเร็วสั่งก่อนในแต่ละโหนด )ด้วย ( เฉลี่ยหรือคงที่ ) แยกองค์ประกอบของ B และความลึกของการค้นหาของ D plies , จำนวนสูงสุดของตำแหน่งโหนดใบประเมิน ( เมื่อย้ายการสั่งซื้อ pessimal ) คือ O ( B * B * . . . * B ) = O ( bd ) –เช่นเดียวกับที่เรียบง่าย บริการค้นหา ถ้าย้ายการสั่งซื้อสำหรับการค้นหาที่เหมาะสม ( หมายถึงย้ายที่ดีที่สุดมักจะค้นแรก ) , ตำแหน่งโหนดใบประเมิน คือ O ( B * 1 * 2 * 1 * . . . * B ) ความลึกแปลกและ O ( b * 1 * 2 * 1 * . . . * * * * 1 ) ความลึกด้วยซ้ำ หรือ O ( b ^ d / { 2 } ) = O ( SQRT { b ^ d } ) ในกรณีหลังที่ชั้นของการค้นหาได้ มีประสิทธิภาพการลดปัจจัยของกรณฑ์ , หรือ , ก้อง , ค้นหาสามารถไปสองครั้งเป็นลึกกับจำนวนเดียวกันของการคำนวณ [ 10 ] คำอธิบาย B * 1 * 2 * 1 * . . . . . . . คือการย้ายทั้งหมด แรกของผู้เล่นจะต้องศึกษาเพื่อหาหนึ่งที่ดีที่สุด แต่สำหรับแต่ละ เฉพาะดีที่สุดผู้เล่นที่สองย้ายจำเป็นต้องปฏิเสธทั้งหมดแต่แรก ( และดีที่สุด ) ผู้เล่นคนแรกย้ายอัลฟาเบต้ายืนยันไม่ย้ายและผู้เล่นที่สองอื่น ๆต้องได้รับการพิจารณา เมื่อโหนดถูกสั่งสุ่ม จำนวนโหนดประเมินประมาณ O ( b ^ { 3 / 4 } ) [ 2 ]ภาพยนตร์ตัวอย่างการสอนที่พยายามที่จะเป็นมนุษย์ที่เป็นมิตร โดยการเริ่มต้นที่ไม่มีที่สิ้นสุด ( หรือพลใหญ่ ) ค่าของความว่างเปล่าและโดยการหลีกเลี่ยงการใช้ negamax เขียน Simplifications .ตามปกติในช่วงอัลฟาและเบต้า , subtrees ชั่วคราวจะถูกครอบงำโดยทั้งประโยชน์ผู้เล่นคนแรก ( เมื่อย้ายผู้เล่นแรกส่วนมากจะดี และในแต่ละความลึกของการค้นหาแรกไปตรวจสอบโดยผู้เล่นคนแรกจะเพียงพอ แต่การตอบสนองผู้เล่นที่สองทุกคนจะต้องพยายามหาคำโต้แย้ง ) หรือในทางกลับกัน ประโยชน์นี้สามารถสลับข้างหลายครั้งในระหว่างการค้นหา ถ้าย้ายให้ถูกต้อง ในแต่ละครั้งนำไปสู่ความ . เป็นหมายเลขของตำแหน่งค้นหาลดลงชี้แจงการย้ายแต่ละที่ใกล้ตำแหน่งปัจจุบัน มีมูลค่าการใช้ความพยายามมากในการคัดแยกก่อนย้าย การจัดเรียงทุกระดับความลึกจะชี้แจงลดจำนวนตำแหน่งหา แต่การเรียงลำดับทุกตำแหน่งที่ความลึกใกล้ปมรากจะค่อนข้างถูก เนื่องจากมีเพียงไม่กี่ของพวกเขา ในทางปฏิบัติแล้ว ไปสั่งมักพิจารณาจากผลลัพธ์ของการค้นหาก่อนหน้านี้ ที่มีขนาดเล็ก เช่น ผ่านซ้ำลึก .ขั้นตอนวิธีการรักษาสองค่าอัลฟาและเบต้า ซึ่งเป็นคะแนนสูงสุดที่ผู้เล่นได้สูงสุดและต่ำสุดที่ลดคะแนนผู้เล่นมั่นใจตามลำดับ เริ่มแรกอัลฟ่าและเบต้า คือบวกลบอนันต์ อนันต์ คือ ทั้งผู้เล่นที่เริ่มต้นด้วยคะแนนที่เป็นไปได้ของพวกเขาที่ถูกที่สุด มันสามารถเกิดขึ้นได้เมื่อเลือกสาขาหนึ่งของบางโหนดน้อยที่สุดลดคะแนนที่ผู้เล่นจะได้กลายเป็นน้อยกว่าคะแนนสูงสุดที่ผู้เล่นได้สูงสุด ( Beta = อัลฟา ) ถ้าเป็นกรณีนี้ พ่อแม่ไม่ควรเลือกโหนดโหนดนี้ เพราะจะให้คะแนนสำหรับปมพ่อแม่ แย่ลง ดังนั้น สาขาอื่น ๆของปมไม่ต้องสำรวจนอกจากนี้ วิธีนี้สามารถแก้ไขให้กลับ 0 รูปแบบหลักทั้งหมดที่นอกเหนือไปจากคะแนน บางส่วนก้าวร้าวมากขึ้นเช่น MTD ขั้นตอนวิธี ( F ) ไม่สามารถอนุญาตให้ช่างดัดแปลง
การแปล กรุณารอสักครู่..