Александр Львович Брудно | |
---|---|
Рожденный | ( 1918-01-10 )10 января 1918 г. |
Умер | 1 декабря 2009 г. (2009-12-01)(91 год) |
Национальность | советский |
Альма-матер | Московский государственный университет |
Известный | Альфа-бета обрезка |
Научная карьера | |
Поля | Информатика |
научный руководитель | Дмитрий Меньшов |
Александр Львович Брудно ( 10 января 1918 — 1 декабря 2009) [1] — российский учёный-компьютерщик , наиболее известный тем, что полностью описал алгоритм альфа -бета-отсечения . [2] С 1991 года и до своей смерти он жил в Израиле.
Брудно разработал «интерфейс математика/машина» для ЭВМ М-2 , созданной в 1952 году в лаборатории Кржижановского Института энергетики Российской академии наук в Советском Союзе . [3] [4] Он был большим другом Александра Кронрода .
Работа Брудно по альфа-бета-отсечению была опубликована в 1963 году на русском и английском языках.
Алгоритм был использован в компьютерной шахматной программе, написанной Владимиром Арлазаровым и другими в Институте теоретической и экспериментальной физики (ИТЭФ или ИТЭФ). По словам Монти Ньюборна и Музея компьютерной истории , алгоритм был позже использован в Kaissa, чемпионе мира по компьютерным шахматам в 1974 году.
В 1980 году Брудно стал основателем и научным руководителем первой в России школы юных программистов УПЦ ВТ. Он был научным руководителем первых в России олимпиад школьников по программированию, издал сборник задач этих олимпиад.
В 1959 году Брудно и Александр Кронрод организовали семинар, посвященный представлению различных работ в области системного программирования, программирования игр (в том числе шахматных) и искусственного интеллекта. На этом семинаре были представлены и обсуждены многие известные результаты, в том числе: квадратурная формула Гаусса–Кронрода , деревья AVL , компьютерные шахматы , распознавание образов (М. Бонгард ru:Бонгард, Михаил Моисеевич, П. Кунин и др.), метод четырех русских и др.
В 1963 году Брудно опубликовал свою работу по альфа-бета-обрезке . Ключевая идея заключалась в том, что игрок мог избежать оценки определенных ходов, которые были явно хуже уже рассмотренного.
В следующем игровом дереве вершины представляют позиции, а ребра представляют ходы. Оценки позиций указаны в скобках.
А / \а
? / \ Д(1) Э(?)
Предположим, что «белые» должны сделать ход в позиции A, а затем «черные» могут сделать свой ход. «Белые» должны найти лучшую стратегию, чтобы максимизировать свой выигрыш ( стратегия «Минимакс» ).
После оценки AB и CD легко увидеть, что лучшим ходом для «белых» является AB, и нет необходимости проверять ход CE, так как общее значение вершины C будет не лучше 1. Это не изменится, если B, D, E — деревья, а не листья. Такие соображения, принимаемые на всех уровнях игрового дерева, известны как альфа-лучшая обрезка. Она использовалась в различных приложениях для программирования игр еще до работы Брудно; вклад Брудно заключался в формализации алгоритма и анализе его ускорения.
В 1959 году работа Брудно по альфа-бета-обрезке была мотивирована анализом карточной игры, в которой двум игрокам раздают по n карт со значениями 1...2n, и один игрок выбирается, чтобы ходить первым. Каждый игрок кладет одну карту, при этом обладатель большей карты берет взятку, а берущий ходит первым в следующем ходе. Цель состоит в том, чтобы определить оптимальную стратегию с учетом начальной руки игрока и порядка ходов. Анализ этой карточной игры использовался на семинаре для уточнения понимания рекурсии и структурного программирования, а также для разработки обновляемых словарей.
Аллен Ньюэлл и Герберт А. Саймон , которые использовали то, что Джон Маккарти называет «приближением» [5] в 1958 году, написали, что альфа-бета «по-видимому, была изобретена заново несколько раз». [6] У Артура Сэмюэля была ранняя версия, а Ричардс, Харт, Левин и/или Эдвардс независимо нашли альфа-бета в Соединенных Штатах . [7] Маккарти предложил похожие идеи во время Дартмутской конференции в 1956 году и предложил их группе своих студентов, включая Алана Котока в Массачусетском технологическом институте в 1961 году. [8] Дональд Кнут и Рональд В. Мур усовершенствовали алгоритм в 1975 году [9] [10] , и он продолжал совершенствоваться.