Можно ли использовать альфа-бета-обрезку для игр с ненулевой суммой с участием более двух игроков?

#artificial-intelligence #minimax #alpha-beta-pruning

#искусственный интеллект #минимакс #альфа-бета-обрезка

Вопрос:

Я где-то читал, что минимаксный алгоритм может быть обобщен для более чем двух игроков. Представьте, что у нас есть 3 игрока, каждый из которых хочет максимизировать свой собственный ответ. Возможно ли использовать альфа-бета-обрезку в этом случае? или это бесполезно? почему?

Примечание: Игры с ненулевой суммой.

введите описание изображения здесь

Комментарии:

1. Это не вопрос, связанный с программированием, в смысле stackoverflow. Тем не менее, это хороший вопрос. Возможно, вы захотите задать этот вопрос на stats.stackexchange.com

Ответ №1:

Да, но вы должны четко понимать игровую механику. В вашем данном дереве сначала отображаются синие ходы, затем зеленые, а у красного есть окончательный выбор.

Здесь есть два подхода, в зависимости от игровой механики. Если единственной целью каждого игрока является максимизация собственного результата, то вам нужно решать каждый уровень за активного игрока, учитывая только соответствующую награду.

В данном примере, предполагая, что награды перечислены в порядке (синий, зеленый, красный), тогда у красного четыре варианта выбора среди пар (2-4),(9-4),(0-6),(0-2) будет R, L,R,R; представление green со значениями (8-5),(9-3). Из них green выберет L, L; blue получит выбор (6-8) и сделает выбор R, остановившись на (8, 9, 6) для игрового значения.


Однако, если у игроков есть какие-либо другие мотивы, такие как максимизация общего выигрыша (чего мы случайно достигли выше) или придание значения чистой разнице, тогда вам нужно будет использовать несколько более сложный алгоритм принятия решений; применяется та же логика.

При достаточно сложной игре, в которой игроки настроены враждебно, а ходы делаются тайно и одновременно, вам, возможно, придется переключиться на модель «один против всех», в которой каждый игрок предполагает, что другие сделают выбор, который минимизирует вознаграждение игрока, делающего выбор. Это планирование наихудшего варианта возвращает вас к простому минимаксному процессу, в котором два противника объединяются в одного игрока, делая вид, что игра на самом деле представляет собой задачу с нулевой суммой.

Комментарии:

1. Это невозможно по следующей причине. Как упоминалось в вопросе, игра имеет ненулевую сумму. Таким образом, между игроками нет конкуренции, и каждый из них хочет максимизировать свою ценность. Поэтому альфа-бета-обрезка здесь бесполезна!

2. Я начал с описания процесса для игры, которую вы описали, с подробным описанием выбора, сделанного на каждом уровне дерева. Если это все, что вам действительно нужно, тогда прекратите чтение на горизонтальной линии; вы закончили.