Каково значение отрицательных весовых граней на графике?

15

Я делал упражнения по динамическому программированию и нашел алгоритм Флойда-Варшалла. По-видимому, он находит кратчайшие пути из всех пар для графа, который может иметь отрицательные весовые ребра, но без отрицательных циклов.

Итак, мне интересно, каково в действительности значение отрицательных краев веса? Простое английское объяснение было бы полезно.

C2H5OH
источник
3
Вес ребер может представлять все в реальном мире, например, сумма денег, которая будет переведена с одного счета на другой, может быть положительной или отрицательной, тогда, например, если вы хотите что-то сделать, значит, вам нужно перейти от a-> b на вашем графике с потерять как можно меньше денег (кратчайший путь), тогда вы можете рассмотреть отрицательные веса .... например, см. эту главу книги, которая содержит несколько примеров: informit.com/articles/article.aspx?p=169575&seqNum=8
так что если a ---- (2) ----> b ---- (- 2) ----> c и a ----- (1) ----> c и перейти от от a до c, я должен выбрать путь abc, так как общая стоимость равна 0? потому что это кратчайший путь. поправь меня если я не прав!
c2h5oh
например, предположим, что если вы выполняете работу переходя из состояния a в b стоит 2 $ (например, работа покупает книгу, стоит 2 $ ), после этого вы можете выполнить какой-то проект (вы зарабатываете 2 $ , значит, функция стоимости - 2), тогда вы достигли своей цели (будучи профессионалом или c), тогда общая стоимость равна 0, и вы находитесь в своем штате. a - (+ 2) -> b - (- 2) -> c: +2 - 2 = 0 (общая стоимость от a: новичок до c: профессионал). e(ab)ab2$$$
так что мое предположение верно, даже если нам нужно пройти еще 1 край, мы выберем abc вместо ac.am Я прав?
c2h5oh
Да, именно ваше предположение верно. Обратите внимание, что вы можете прочитать больше (например, ссылку, которую я предоставил для вас) или в нашем обсуждении вы можете ответить на свой вопрос и пометить его как принятый ответ.

Ответы:

16

Саид Амири уже привел отличный пример в комментарии: вес по краям может представлять что угодно в реальном мире, например, сумму денег, которая будет переведена с одного счета на другой. Суммы могут быть положительными или отрицательными. Например, если вы хотите перейти от к b на своем графике, потеряв при этом как можно меньше денег (кратчайший путь), вы можете рассмотреть отрицательные веса. Для получения дополнительной информации см. Эту главу книги .aб

Помимо этого, есть еще много приложений. Отрицательные веса зависят от того, что вы имитируете. Например, рассмотрим этот график

введите описание изображения здесь

  • еUvvU4s-a2aT5sT

  • sTaб

  • бsaaTTs

Subhayan
источник
Привет, спасибо за ответ. Может кто-нибудь объяснить пример ножницы? Как вы пришли к весам 4, 2, -5 для них?
Саурабх Гоял
3

Я не специалист по химии, но все же я думаю, что этот пример будет полезен, чтобы помочь вам продумать процессор, теорию сетей и тому подобное ..

Рассмотрим график, имитирующий поведение молекулы в химической реакции, т. Е. Какие пути он может пройти во время реакции, а весовые коэффициенты представляют собой энергию, поглощенную или выделенную при переходе, поэтому, если мы хотим получить энергию из реакции, мы представляем выделенную энергию с + ve весами и поглощенными энергия с -ве.

р ^
источник
1

введите описание изображения здесь

Отрицательный край - это просто край с отрицательным весом. Это может быть в любом контексте, относящемся к графу и к чему относятся его ребра. Например, ребро CD на приведенном выше графике является отрицательным ребром. Флойд-Варшалл работает, минимизируя вес между каждой парой графа, если это возможно. Таким образом, для отрицательного веса вы можете просто выполнить вычисление, как если бы это было для ребер с положительным весом.

Проблема возникает, когда есть отрицательный цикл. Посмотрите на график выше. И задайте себе вопрос - каков кратчайший путь между А и Е? Сначала вы можете почувствовать, что его ABCE стоит 6 (2 + 1 + 3). Но на самом деле, если взглянуть глубже, вы увидите отрицательный цикл, который является BCD. Вес BCD составляет 1 + (- 4) +2 = (-1). Переходя от A к E, я мог бы продолжать ездить внутри BCD, чтобы каждый раз снижать свои затраты на 1. Мол, путь A (BCD) BCE стоит 5 (2 + (- 1) + 1 + 3). Теперь повторение цикла бесконечное число раз будет уменьшать стоимость на 1 каждый раз. Я мог бы достичь отрицательного бесконечного кратчайшего пути между А и Е.

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

Кроме того, вы можете взглянуть на алгоритм Беллмана-Форда, который определяет, имеет ли граф отрицательный цикл или нет, и в противном случае возвращает кратчайший путь между двумя узлами.

divanshu
источник
4
Я не думаю, что это отвечает на вопрос. Вопрос не в том, «почему отрицательный цикл является проблемой», а в том, «почему в реальной жизни когда-либо будут ребра с отрицательными весами».
Юхо
0

Например, представьте логистическую сеть, в которой вес w (i, j) ребра ij - это стоимость перехода от вершины i к вершине j. Если вы заключили деловое соглашение с другими компаниями на транспортировку их продуктов, то w (i, j) будет прибылью, а не затратами, поэтому вы можете интерпретировать этот вес как отрицательную стоимость.

Луис Паргас Кармона
источник
-2

Пробки на карте:

Другим реальным примером привязки весов к краю может быть вес, представляющий условия движения на карте (более отрицательный, более неблагоприятный) - тогда мы могли бы использовать это представление для вычисления оптимальных расстояний.

Мы действительно можем использовать метафору «вес» для представления чего-либо положительного / отрицательного значения между любыми двумя точками на графике

Ранга
источник
Добро пожаловать на сайт! Я не думаю, что это очень хороший пример. В случае заторов на дорогах кажется более естественным взвешивание краев на карте к тому времени, которое требуется для движения по дороге, поэтому высокая загруженность может привести к большому весу. В конце концов, цель, как правило, состоит в том, чтобы быстро добраться до места назначения, и обычно предпочитают идти по короткой, но перегруженной дороге, а не по более длинной не перегруженной дороге. Кроме того, мы обычно хотим использовать в качестве метрики наименьшую стоимость: это хорошо сочетается с предложенным мною весом и очень плохо с предложенным вами.
Дэвид Ричерби