# Alexander Brudno

Alexander L'vovich Brudno (Russian: Александр Львович Брудно) (10 January 1918 – 1 December 2009) was a Russian computer scientist, best known for fully describing the alpha-beta pruning algorithm. From 1991 until his death he lived in Israel.

## Biography

Brudno developed the "mathematics/machine interface" for the M-2 computer constructed in 1952 at the Krzhizhanovskii laboratory of the Institute of Energy of the Russian Academy of Sciences in the Soviet Union. He was a great friend of Alexander Kronrod.
Brudno's work on alpha-beta pruning was published in 1963 in Russian and English.
The algorithm was used in computer chess program written by Vladimir Arlazarov and others at the Institute for Theoretical and Experimental Physics (ITEF or ITEP). According to Monty Newborn and the Computer History Museum, the algorithm was used later in Kaissa the world computer chess champion in 1974.
In 1980, Brudno became a founder and scientific director of the first Russian school for young programmers УПЦ ВТ. He was the scientific director of the first Russian programming Olympiads for the students, and published a book of problems from these competitions.

## Brudno – Kronrod seminar

In 1959 Brudno and Alexander Kronrod organized seminar devoted to the presentation of different works in areas of system programming, programming of games (including chess), and artificial intelligence. Many well known results were presented and discussed at this seminar, including: Gauss–Kronrod quadrature formula, AVL trees, computer chess, Pattern recognition (M. Bongard ru:Бонгард, Михаил Моисеевич, P. Kunin and others), Method of Four Russians and others.
In 1963 Brudno published his work on alpha-beta pruning. The key intuition was that a player could avoid evaluating certain moves that were clearly inferior to one already considered.
In the following game tree vertices represent positions and edges represent moves. The position's valuations are in the brackets .
Assume that "whites" should make a move in position A and then "blacks" could make their own move. ‘Whites" should find better strategy to maximize their win (Minimax strategy).
After evaluating AB and CD, it is easy to see that the best move for "whites’ is AB and it is not necessary to check move CE as the overall value of vertex C will be no better than 1. This is unchanged if B, D, E are trees and not leaves. Such considerations, taken on all levels of the game tree, are known as alpha-better pruning. It has been used in different game programming applications even before Brudno's work; Brudno's contribution was the formalization of the algorithm and analysis of its speedup.
In 1959 Brudno's work on alpha-beta pruning was motivated by an analysis of the card game where two players are dealt n cards each, with values 1...2n, and one player is chosen to go first. Each player puts down one card, with the larger card taking the trick, and the taker going first in the next move. The goal is to determine an optimal strategy given the players initial hand and move order. The analysis of this card game was used in the seminar to refine the understanding of recursion and structured programming, and development of updatable dictionaries.

## Early alpha-beta pruning

Allen Newell and Herbert A. Simon who used what John McCarthy calls an "approximation" in 1958 wrote that alpha-beta "appears to have been reinvented a number of times". Arthur Samuel had an early version and Richards, Hart, Levine and/or Edwards found alpha-beta independently in the United States. McCarthy proposed similar ideas during the Dartmouth Conference in 1956 and suggested it to a group of his students including Alan Kotok at MIT in 1961. Donald Knuth and Ronald W. Moore refined the algorithm in 1975 and it continued to be advanced.