Альфа-бета-обрезка для Minimax

Я потратил целый день, пытаясь реализовать минимакс, не понимая его. Теперь, я думаю, я понимаю, как работает минимакс, но не обрезку альфа-бета.

Это мое понимание минимакса:

  1. Сгенерировать список всех возможных ходов, вплоть до предела глубины.

  2. Оцените, насколько благоприятно игровое поле для каждого узла внизу.

  3. Для каждого узла (начиная снизу) балл этого узла является наивысшим баллом его дочерних узлов, если уровень максимален. Если уровень минимальный, оценка этого узла является самой низкой оценкой его дочерних элементов.

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

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

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

Кто-нибудь может указать, в чем я ошибаюсь? Этот ответ ( Minimax объяснил для идиота ) помог мне понять минимакс, но я не понимаю, как поможет обрезка альфа-бета.

Спасибо.

12
задан Community 23 May 2017 в 12:10
поделиться