Наивный DFS может зацикливаться на некоторых открытых лабиринтах, тогда как на закрытом лабиринте он всегда будет заканчиваться.Я не думаю, что BFS или A * могут попасть в эту ловушку.(Под «наивной DFS» я подразумеваю тот, который не помечает узлы как «посещенные», поскольку они их пересекают.) Редактировать: комментарий Даниэля заставил меня переосмыслить этот ответ в свете дня, а не сонных моментов, прежде чем я пошел впостель.Я признаю, что A * помечает узлы как посещенные как часть его основного функционирования.Тем не менее, я все еще думаю, что BFS может решать даже открытые лабиринты без маркировки узлов.Это не будет эффективным, но если есть решение для лабиринта, BFS найдет его.По определению, он пробует все возможные пути на определенной глубине, прежде чем перейти на следующую глубину.Таким образом, если решение существует с длиной 10, BFS найдет его, прежде чем пробовать какие-либо решения с глубиной 11.