В чем разница между FIFO Branch and Bound, LIFO Branch and Bound и LC Branch and Bound?

В чем разница между FIFO, LIFO и LC Branch and Bound?


person Satender    schedule 05.04.2017    source источник


Ответы (2)


Branch & Bound обнаруживает ответвления в полном пространстве поиска, используя оценочные границы для ограничения числа возможных решений. Различные типы (FIFO, LIFO, LC) определяют разные «стратегии» для исследования пространства поиска и создания ветвей.

FIFO (первым пришел, первым вышел): для расширения ветви всегда используется самый старый узел в очереди. Это приводит к поиску в ширину, при котором сначала просматриваются все узлы на глубине d, прежде чем будут посещены какие-либо узлы на глубине d+1.

LIFO (последний вошел, первый вышел): всегда самый молодой узел в очереди используется для расширения ветви. Это приводит к поиску в глубину, где ветвь расширяется через каждого 1-го дочернего элемента, обнаруженного на определенной глубине, пока не будет достигнут конечный узел.

LC (наименьшая стоимость): ветвь расширяется узлом, который добавляет наименьшие дополнительные затраты в соответствии с заданной функцией стоимости. Таким образом, стратегия обхода пространства поиска определяется функцией стоимости.

person rival    schedule 27.10.2017
comment
Кроме того, вы часто хотите использовать эвристику, какой узел выбрать первым при выполнении LIFO / в глубину, который может быть узлом с LC - person lhaferkamp; 27.10.2017

Единственное отличие заключается в реализации живых узлов. В ветвях и границах LC первый узел, который мы начинаем исследовать, — это тот, который обещает нам лучшее решение в данный момент. Например, в задаче о рюкзаке 0/1, используя LC Branch and Bound, первым дочерним узлом, который мы начнем исследовать, будет тот, который предлагает максимальную стоимость из всех.

В ветвлении и привязке FIFO, как видно из названия, дочерние узлы исследуются в порядке «первым пришел — первым обслужен». Мы начинаем исследовать узлы, начиная с первого дочернего узла. В ветвях LIFO мы исследуем узлы с последнего. Последний дочерний узел должен быть изучен первым.

person Tanisha    schedule 17.05.2017