2013-10-03 3 views
1

Можно ли представить минимаксный алгоритм в структуре данных очереди или это возможно только внутри дерева?Возможна очередь минимального алгоритма?

+0

Вы хотите спросить, можете ли вы использовать очередь в алгоритме minmax? Или вы спрашиваете, можно ли представить различные состояния игры с помощью очереди? –

+0

Игра состоит из дерева, с детьми и родителями. Использование дека для прохождения дерева - это один удобный способ, будь то глубина или ширина. Таким образом, вы можете реализовать его с помощью deque, но вам все равно нужно знать, какое состояние является дочерним по отношению к родительскому. – Mark

ответ

2

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

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

Смежные вопросы