나는 동적 프로그래밍 연습을하고 있었고 Floyd-Warshall 알고리즘을 발견했습니다. 음의 가중치 모서리를 가질 수 있지만 음의 사이클은없는 그래프의 모든 쌍의 최단 경로를 찾습니다.
음의 가중치 모서리가 실제로 무엇을 의미하는지 궁금합니다. 평범한 영어 설명이 도움이 될 것입니다.
나는 동적 프로그래밍 연습을하고 있었고 Floyd-Warshall 알고리즘을 발견했습니다. 음의 가중치 모서리를 가질 수 있지만 음의 사이클은없는 그래프의 모든 쌍의 최단 경로를 찾습니다.
음의 가중치 모서리가 실제로 무엇을 의미하는지 궁금합니다. 평범한 영어 설명이 도움이 될 것입니다.
답변:
음의 가장자리는 단순히 음의 무게를 갖는 가장자리입니다. 그래프와 관련하여 어떤 맥락에서나 참조 할 수있는 모서리가 무엇 일 수 있습니다. 예를 들어, 위 그래프의 가장자리 CD는 음의 가장자리입니다. Floyd-Warshall은 가능한 경우 모든 그래프 쌍 사이의 가중치를 최소화하여 작동합니다. 따라서 음수 가중치의 경우 양의 가중치 모서리에 대해 수행 한 것처럼 간단히 계산을 수행 할 수 있습니다.
마이너스 사이클이있을 때 문제가 발생합니다. 위의 그래프를 살펴보십시오. 그리고 스스로에게 질문하십시오-A와 E 사이의 최단 경로는 무엇입니까? 처음에는 ABCE 비용이 6 (2 + 1 + 3) 인 것처럼 느낄 수 있습니다. 그러나 실제로 더 자세히 살펴보면 BCD 인 음의주기를 볼 수 있습니다. BCD의 무게는 1 + (-4) +2 = (-1)입니다. A에서 E로 순회하는 동안 BCD 내부를 순환하여 매번 비용을 1 씩 줄일 수있었습니다. 마찬가지로 경로 A (BCD) BCE는 5 (2 + (-1) + 1 + 3)입니다. 이제주기를 무한정 반복하면 매번 비용이 1 씩 줄어 듭니다. A와 E 사이에서 음의 무한 최단 경로를 달성 할 수 있습니다.
그래프의 음수 사이클에 대해서는 문제가 분명합니다. 따라서, 음의 사이클이 존재할 때마다 최소 중량이 정의되지 않거나 음의 무한대이므로 Floyd-Warshall은 그러한 경우에 작동 할 수 없습니다.
또한 그래프에 음의주기가 있는지 여부를 감지하고 두 노드 사이의 최단 경로를 반환하는 Bellman-Ford 알고리즘 을 살펴볼 수 있습니다 .
예를 들어, 에지 ij의 가중치 w (i, j)가 정점 i에서 정점 j로 이동하는 비용 인 물류 네트워크를 상상해보십시오. 제품을 운송하기 위해 다른 회사와 사업 계약을 체결 한 경우 w (i, j)는 비용 대신 이익이되므로이 무게를 음의 비용으로 해석 할 수 있습니다.
지도에서 교통 혼잡 :
가중치를 엣지에 연결하는 또 다른 실제 예는 가중치가 맵에서 교통 상황을 나타내는 것일 수 있습니다 (보다 음수, 바람직하지 않음).이 표현을 사용하여 최적의 거리를 계산할 수 있습니다.
우리는 실제로 "가중"은유를 사용하여 그래프에서 두 지점 사이의 양수 / 음수 값을 나타낼 수 있습니다