ИМХО, алгоритм маршрутизации состояния канала основан на восходящем подходе динамического программирования. Вот мои причины:
Почему динамический?
Поскольку он разделяет задачу маршрутизации по сети на множество небольших задач, вычисляя достижимость для всех узлов (а затем заполняя таблицы и т. Д.). Я вижу это как разделение проблемы на более мелкие проблемы: динамический!
Я не буду называть это Greedy, потому что вычисление достижимости от всех узлов ко всем остальным узлам звучит как набор перекрывающихся подзадач .
Почему снизу вверх?
Поскольку (предполагая) новый узел добавляется в сеть, нам придется снова рассчитать достижимость для всех узлов и повторить все это, поскольку новый узел может (возможно) быть непосредственно доступным для любого количества узлов. и все представление изменится. Подходы сверху вниз обычно требуют корректировки в таблице / карте маршрутизации только , соответствующей новому узлу.