Дерево может быть бесконечным, не имея бесконечного фактора ветвления.В качестве примера рассмотрим дерево состояний для кубика Рубика.Учитывая конфигурацию куба, существует конечное число ходов (я полагаю, 18, поскольку ход состоит из выбора одной из 9 «плоскостей» и вращения ее в одном из двух возможных направлений).Тем не менее, дерево бесконечно глубоко, поскольку вполне возможно, например, вращать одну и ту же плоскость поочередно назад и вперед (никогда не делая никакого прогресса).Чтобы предотвратить это, DFS обычно кэширует все посещенные состояния (эффективно сокращая дерево состояний) - как вы, вероятно, знаете.Однако, если пространство состояний слишком велико (или на самом деле бесконечно), это не поможет.
Я не изучал ИИ подробно, но я предполагаю, что обоснование для того, чтобы сказать, что BFS завершена, а DFS не является(полнота, в конце концов, просто термин, который где-то определен) заключается в том, что бесконечно глубокие деревья встречаются чаще, чем деревья с бесконечными факторами ветвления (поскольку наличие бесконечного фактора ветвления означает, что у вас есть бесконечное число вариантов выбора, которые, я считаю,не часто - игры и симуляции обычно бывают дискретными).Даже для конечных деревьев BFS, как правило, будет работать лучше, потому что DFS с большой вероятностью может начать с неправильного пути, исследуя большую часть дерева, прежде чем достичь цели.Тем не менее, как вы указали, в конечном дереве DFS в конечном итоге найдет решение, если оно существует.