작업 흐름 간소화: miniwebtool 검색.
추가
홈페이지 > 수학 관련 도구 > 고급 수학 연산 도구 > 네트워크 플로우 계산기 (최대 유량)
 

네트워크 플로우 계산기 (최대 유량)

Ford-Fulkerson 방법(Edmonds-Karp)을 사용하여 용량이 제한된 유향 네트워크에서 소스에서 싱크까지의 최대 유량을 계산합니다. 모든 증가 경로를 애니메이션으로 보여주고, 잔여 용량, 포화 간선, 최적성을 증명하는 최소 컷 분할을 표시합니다.

네트워크 플로우 계산기 (최대 유량)
간선 형식: A -> B : 10 (화살표와 용량) 또는 A, B, 10.
행렬 형식: 한 줄에 한 행씩, C[i][j]는 간선 i → j의 용량입니다 (간선이 없으면 0 사용). 대각선은 0이어야 합니다.
쉼표나 공백으로 구분된 레이블을 행렬 행당 하나씩 입력하세요. 기본값은 S, A, B, …, T입니다.

Embed 네트워크 플로우 계산기 (최대 유량) Widget

네트워크 플로우 계산기 (최대 유량) 정보

네트워크 플로우 계산기는 용량이 설정된 모든 유향 네트워크에서 선택한 소스 s부터 싱크 t까지의 최대 유량을 계산합니다. 내부적으로는 너비 우선 증가 경로(Edmonds-Karp 알고리즘)를 사용하는 Ford-Fulkerson 방법을 실행하며, 발견된 모든 경로를 기록하여 전체 결정 과정을 하나씩 다시 재생해 볼 수 있습니다. 또한 결과 페이지에는 유량값이 최적임을 증명하는 병목 분할인 최소 컷(Min-cut)이 표시됩니다.

최대 유량 문제란 무엇인가요?

유량 네트워크는 유향 그래프 G = (V, E)와 용량 함수 c: E → ℝ≥0로 구성됩니다. 두 개의 특수한 정점이 정의되는데, 유량이 시작되는 소스 s와 유량이 소비되는 싱크 t입니다. 유량 f는 다음 규칙을 준수하며 간선에 할당된 값 f(u, v) ≥ 0입니다.

용량 제한: 0 ≤ f(u, v) ≤ c(u, v) 모든 간선 (u, v)에 대해 유량 보존: Σ f(w, v) = Σ f(v, w) s, t를 제외한 모든 v ∈ V에 대해 유량값: |f| = Σ f(s, w) − Σ f(w, s) (s에서 나가는 순 유량)

최대 유량 문제|f|를 최대화하는 유량 f를 찾는 것입니다. 직관적으로 설명하자면, 간선이 주어진 용량의 수도관일 때 s에서 t로 초당 보낼 수 있는 최대 리터 수는 얼마인지를 구하는 것입니다.

알고리즘 작동 원리 — BFS 기반 Ford-Fulkerson

이 알고리즘은 현재 유량과 함께 잔여 그래프를 유지합니다. 용량이 c이고 현재 유량이 f인 모든 간선 (u, v)에 대해 잔여 그래프는 다음을 포함합니다.

각 반복에서 잔여 그래프 상의 s에서 t까지 너비 우선 탐색(BFS)을 수행합니다. 경로가 발견되면 해당 경로의 최소 간선 용량(병목)을 모든 순방향 간선 유량에 더하고, 모든 역방향 간선 유량에서 뺍니다. 이를 증가 경로라고 합니다. BFS가 더 이상 t에 도달할 수 없으면 현재 유량이 최적입니다.

while 잔여 그래프에 s에서 t로 가는 증가 경로 P가 존재하는 동안: b ← 경로 P에 있는 간선 (u, v)들의 최소 c_residual(u, v) 경로 P를 따라 b만큼 유량을 보냄 // 잔여량 및 유량 업데이트 return 총 유량 |f|

임의의 경로 찾기 대신 BFS를 사용하면 Ford-Fulkerson은 Edmonds-Karp 알고리즘이 되며, O(V · E²)의 실행 시간이 보장됩니다. 또한 일반 Ford-Fulkerson과 달리 무리수 용량에서도 종료가 보장됩니다.

최대 유량 최소 컷 정리

은 정점들을 s ∈ S이고 t ∈ T인 두 집합 (S, T)로 나누는 것입니다. 컷의 용량S에서 T로 가는 간선들의 용량 합입니다.

cap(S, T) = Σ c(u, v) u ∈ S, v ∈ T 인 경우

최대 유량 최소 컷 정리(Ford & Fulkerson, 1956)에 따르면 다음과 같습니다.

최대 유량값 = 최소 컷 용량

이 도구는 최소 컷을 자동으로 찾습니다. Edmonds-Karp가 종료된 후 잔여 그래프에서 s로부터 다시 한번 BFS를 실행합니다. 도달 가능한 정점들이 S를 형성하고 나머지가 T를 형성하며, 원래 그래프에서 S → T를 가로지르는 모든 간선은 포화 상태가 됩니다. 이들의 용량 합은 최대 유량값과 정확히 일치하며, 결과 상단의 "최소 컷 용량 ✓ 최적성 확인"에서 이를 확인할 수 있습니다.

학습을 위해 설계된 기능

입력 형식

1. 용량 포함 간선 리스트

한 줄에 간선 하나씩 입력합니다. 화살표 형식이 가장 읽기 좋지만 다음과 같은 대체 형식도 지원합니다.

S -> A : 10 S -> B : 13 A -> B : 10 B -> A : 4 B -> T : 14

또한 A, B, 10 · A B 10 · A -> B , 10 등도 허용됩니다. 동일한 쌍 사이의 여러 간선은 합산됩니다.

2. 용량 행렬

한 줄에 한 행씩, 공백이나 쉼표로 값을 구분하여 입력합니다. C[i][j] 값은 정점 i에서 정점 j로 가는 간선의 용량입니다. 간선이 없으면 0을 입력하세요. 행렬은 반드시 정사각형이어야 하며 대각선은 0이어야 합니다(셀프 루프 불가).

S A B C D T S [ 0 10 0 10 0 0 ] A [ 0 0 4 2 8 0 ] B [ 0 0 0 0 0 10 ] C [ 0 0 0 0 9 0 ] D [ 0 0 6 0 0 10 ] T [ 0 0 0 0 0 0 ]

행렬 레이블 필드에 일치하는 정점 이름을 입력하세요(쉼표나 공백 구분). 생략 시 레이블은 기본적으로 S, A, B, …, T가 됩니다.

최대 유량의 응용 분야

분야최대 유량 활용 방식
운송 및 물류철도/도로/파이프라인 네트워크가 출발지에서 목적지까지 하루에 얼마나 많은 화물을 옮길 수 있는가?
이분 매칭작업자를 업무에, 학생을 프로젝트에 할당. 단위 용량 최대 유량을 통해 최대 매칭을 구함.
이미지 분할컴퓨터 비전의 Boykov–Kolmogorov 최소 컷을 통해 전경과 배경 픽셀을 분리.
네트워크 신뢰성최소 컷을 통해 끊어졌을 때 네트워크를 분단시키는 가장 취약한 연결 고리를 식별.
프로젝트 일정 계획폐쇄 문제 및 선택 문제를 최소 컷 문제로 변환하여 해결.
야구 탈락 결정특정 팀이 산술적으로 리그 우승에서 탈락했는지 여부를 결정.

실행 예시

"교과서" 빠른 예제는 소스 S와 싱크 T가 있는 6노드 네트워크를 나타냅니다. Edmonds-Karp를 실행하면 네 개의 증가 경로가 도출됩니다.

  1. S → A → B → T, 병목 4 (간선 A-B가 제한 요소). 누적 유량: 4.
  2. S → A → D → T, 병목 6. 누적 유량: 10.
  3. S → C → D → T, 병목 4 (간선 D-T가 이제 제한 요소이며 4만 남음). 누적 유량: 14.
  4. S → C → D → B → T, 병목 5. 누적 유량: 19.

더 이상 증가 경로가 없으므로 알고리즘이 중단됩니다. 최소 컷은 (S = {S, C}, T = {A, B, D, T})이며, 교차 간선은 S → A (용량 10)C → D (용량 9)로 그 합은 19입니다. 이는 최대 유량값과 정확히 일치합니다.

계산기 사용 방법

  1. 탭을 사용하여 입력 형식을 선택하세요 (간선 리스트 권장 또는 용량 행렬).
  2. 네트워크를 입력하세요. 빠른 예제에서 시작하여 수정할 수 있습니다. 행렬 입력의 경우 S, A, B, …, T 이외의 이름을 원하면 레이블도 함께 입력하세요.
  3. 소스와 싱크를 지정하세요 (비워두면 ST를 자동으로 감지합니다).
  4. 최대 유량 계산을 클릭하세요. 결과 페이지에 최대 유량값, 최소 컷 분할, 레이어드 그래프 시각화, 모든 증가 경로, 간선 활용도 테이블 및 세 개의 행렬(용량, 유량, 잔여량)이 표시됩니다.
  5. 그래프 아래의 애니메이션을 재생하여 알고리즘의 결정을 확인하세요. 특정 증가 경로 단계를 클릭하여 해당 지점으로 바로 이동할 수도 있습니다.

제한 사항

자주 묻는 질문

최대 유량 문제란 무엇인가요?

각 간선이 비음수 용량을 갖는 유향 네트워크에서, 각 간선의 유량이 용량을 초과할 수 없고 소스와 싱크가 아닌 모든 정점으로 들어오는 유량이 나가는 유량과 같아야 한다는 규칙하에, 지정된 소스 정점 s에서 지정된 싱크 정점 t로 보낼 수 있는 유량의 최대치를 구하는 문제입니다. 이 답을 최대 유량값이라고 합니다.

Ford-Fulkerson 방법이란 무엇인가요?

Ford-Fulkerson은 최대 유량을 계산하기 위한 일반적인 기법입니다. 잔여 그래프에서 소스부터 싱크까지의 증가 경로를 반복적으로 찾고, 해당 경로를 따라 가능한 많은 유량(병목 용량)을 보낸 뒤 잔여 그래프를 업데이트합니다. 증가 경로가 더 이상 존재하지 않을 때 절차가 종료됩니다. 경로 선택을 위해 너비 우선 탐색(BFS)을 사용하면 Edmonds-Karp 알고리즘이라고 불리며, O(V · E²) 시간에 실행됩니다.

네트워크 플로우의 최소 컷이란 무엇인가요?

컷은 정점들을 소스가 포함된 집합 S와 싱크가 포함된 집합 T로 분할하는 것입니다. 컷의 용량은 S에서 T로 가는 간선들의 용량 합입니다. 최소 컷은 최소 용량을 갖는 컷을 말합니다. 유명한 최대 유량 최소 컷 정리는 최대 유량값이 항상 최소 컷 용량과 같음을 증명하므로, 하나를 찾으면 다른 하나도 자동으로 알 수 있습니다.

잔여 그래프란 무엇인가요?

잔여 그래프는 각 간선에 추가로 보낼 수 있는 유량이 얼마나 남았는지 추적합니다. 용량이 c이고 현재 유량이 f인 모든 원래 간선 (u, v)에 대해, 잔여 그래프는 용량이 c-f인 순방향 간선 (u, v)(남은 용량)와 용량이 f인 역방향 간선 (v, u)(취소 가능한 유량)를 포함합니다. 증가 경로는 잔여 그래프의 간선을 사용하여 알고리즘이 이전 결정을 취소할 수 있도록 합니다.

왜 이 도구는 증가 경로를 위해 BFS를 사용하나요?

너비 우선 탐색(Edmonds-Karp)으로 증가 경로를 선택하면 간선 용량에 관계없이 다항 시간 내에 종료가 보장됩니다. 임의의 경로 찾기 전략을 사용하는 기본 Ford-Fulkerson은 특정 입력에서 기하급수적인 횟수만큼 반복될 수 있으며, 무리수 용량의 경우 종료되지 않을 수도 있습니다. 또한 BFS는 읽고 이해하기 쉬운 최단 증가 경로를 생성합니다.

포화 간선은 무엇을 의미하나요?

간선의 유량이 용량과 같아서 더 이상 유량을 보낼 수 없을 때 해당 간선은 포화되었다고 합니다. 포화 간선은 네트워크의 병목 지점이며, 모든 최소 컷은 컷의 S쪽에서 T쪽으로 가는 포화 간선들로만 구성됩니다. 도구는 포화 간선을 빨간색으로 강조하여 병목 구조를 한눈에 볼 수 있게 합니다.

추가 정보

이 콘텐츠, 페이지 또는 도구를 다음과 같이 인용하세요:

"네트워크 플로우 계산기 (최대 유량)" - https://MiniWebtool.com/ko/네트워크-플로우-계산기-최대-유량/에서 MiniWebtool 인용, https://MiniWebtool.com/

miniwebtool 팀 제작. 업데이트: 2026년 4월 22일

또한 저희의 AI 수학 해결사 GPT를 사용하여 자연어 질문과 답변으로 수학 문제를 해결할 수 있습니다.

기타 관련 도구:

고급 수학 연산 도구:

주요 도구:

인스타그램 사용자 ID 조회방어율 계산기분수 계산기애너그램 생성기상대 표준 편차 계산기근무 시간 계산기평균 계산기소인수분해 계산기WAR 계산기월경주기 계산기16진수 변환기👙 브라 사이즈 계산기이미지 분할기공백 제거몫과 나머지 계산기⏱️ 시간 계산기🎮 게임 감도 변환기CAGR 계산기야구 배팅 계산기토크 변환기 (Nm, ft-lb, kgf-cm)🌬️ 체감 온도 계산기피트 인치 센티미터 변환기랜덤 이름 생성기파운드→킬로그램 변환기kg에서 파운드로 변환기러닝 페이스 계산기OPS 계산기수면 계산기10진수를 16진수로 변환줄 바꿈 제거백분율 오류 계산기cm에서 피트와 인치로 변환기16진수에서 10진수로 변환기내 행운의 숫자는?사랑 궁합 계산기무작위 초능력 생성기분수 백분율 변환기복리 계산기시저 암호 도구로마-숫자-변환기최대 공약수 계산기FIP 계산기무작위 토너먼트 대진표 생성기ppm에서 퍼센트 변환기변화율 계산기난수 선택기소수 검사기키 백분위수 계산기자동차 감가상각 계산기주식 평균 계산기랜덤 그룹 생성기기울기 및 경사 계산기계단 계산기Hex-계산기분수에서 소수로 계산기백분율 증가 계산기무작위 문자열 생성기무작위 플레이 카드 생성기두 날짜 사이 일수 계산기잘고 텍스트 생성기최소공배수 계산기암호화폐 레버리지 계산기비율 및 백분율 계산기벤치 프레스 계산기금리 계산기출산 예정일 계산기가위바위보 생성기모스 부호 생성기임신 체중 증가 계산기연비 계산기임신 날짜 계산기YouTube 채널 통계이닝당 적중률(WHIP) 계산기비디오 이미지 추출기랜덤 영어 단어 생성기초과 근무 수당 계산기📅 날짜 계산기면적 계산기기대 수명 계산기자동차 대출 계산기출루율 계산기FPS 변환기MAC-주소-조회주식 손익 계산기진법 변환기즉시 연금 계산기십진수에서 이진수로 변환기배당 수익률 계산기💧 이슬점 계산기원형 면적 계산기볼링 점수 계산기단백질 섭취량 계산기산점도 작성기걸음 수 거리 계산기아크코사인 (Arccos) 계산기HEX에서 CMYK로 변환기야구 장타율 계산기시간 지속 계산기적분 계산기속도 변환기주사위 굴리기순이익 계산기연중 일수 계산기 - 오늘은 올해의 몇 번째 날인가요이진수를 십진수로 변환피타고라스 정리 계산기혈당 변환기반올림 계산기줄 바꿈 추가랜덤 식사 생성기나이 계산기반감기 계산기크레아티닌 청소율 계산기반지 사이즈 변환기곡률 계산기빈 줄 제거조합 계산기MAC 주소 생성기호 길이 계산기🌡️ 열지수 계산기GFR 계산기URL 디코더📅 날짜 차이 계산기퍼센트에서 PPM으로 변환기바코드 생성기스케일 모델 변환 계산기표준 오차 계산기타원 둘레 계산기마라톤 페이스 계산기랜덤 생일 생성기센티미터에서 인치로 변환기BSA 계산기랜덤 국가 생성기시그마 표기법 계산기 (합산)작은 텍스트 생성기 ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾타이어 크기 계산기원형 계산기빗변 계산기두 점 사이의 거리 계산기임신 주수 계산기IP 서브넷 계산기예쁜 글씨 생성기단어 찾기 퍼즐 생성기백분율 할인 계산기속도 계산기요일 계산기🎰 가챠 천장 계산기미로 생성기압력 변환기아기 성장 백분위수 계산기퍼센트 감소 계산기다항식 인수분해 계산기콜라츠 추측 계산기Z 점수 계산기이진 계산기병렬 저항 계산기최대 심박수 계산기볼트 토크 계산기인치에서 센티미터으로 변환기신발 사이즈 변환기자동차 리스 계산기초승달과 보름달 달력공학용 계산기논리 게이트 시뮬레이터마력 계산기급여 변환 계산기중앙값 계산기화성 별자리 계산기BMR 계산기분수 계산기온라인 문장 부호 제거 도구직각삼각형 계산기생리 주기 길이 계산기⬛ 화면 비율 계산기확률 계산기ANC-계산기다항식 전개 계산기로그 계산기무작위 이름 선택기부채 비율 계산기복소수 계산기파일 크기 변환기숫자 분수 변환기약물 용량 계산기16진수에서 이진법 변환기아크탄젠트 계산기거꾸로-텍스트-생성기부피 변환기태양, 달 & 상승궁 계산기 🌞🌙✨목표 심박수 계산기한 달에 일헌혈 시간 계산기중복 줄 제거매출총이익 계산기부동산 수수료 계산기난수 문자 생성기백분율 성장 계산기정기 예금 계산기영업 이익률 계산기팩토리얼 계산기표준 잔 계산기와인 페어링 추천기클라이밍 등급 변환기자전거 기어비 계산기낚시 매듭 강도 계산기요가 포즈 홀드 타이머수영 SWOLF 계산기레이스 기록 예측 계산기복싱 펀치 파워 계산기럭비 점수 계산기크리켓 런레이트 계산기Soccer xG 기대 득점 계산기테니스 점수 기록기Wells 점수 계산기 (DVT/PE)글래스고 혼수 척도 계산기아프가 점수 계산기FFMI 계산기쿠퍼 12분 달리기 계산기1마일 걷기 테스트 (록포트) 계산기제지방량 근력 계산기탄수화물 인슐린 비율 계산기인슐린 감수성 계수 계산기히브리력 변환기히즈리력 변환기음력 양력 변환기문화별 나이 계산기얼마나 전 계산기얼마나 남았나요 계산기날짜 패턴 생성기중간 날짜 계산기날짜에 영업일 추가영업일 계산기단어 빈도 분석기문장 길이 분산 분석기헤밍웨이 스타일 가독성 편집기발음 IPA 변환기비즈네르 암호 도구아트바시 암호 도구ROT13 인코더 디코더EXIF 데이터 뷰어 및 제거 도구피그 라틴 번역기백크로님 생성기두문자어 생성기팬그램 검사기리포그램 체커이미지 SVG 트레이서이미지 ASCII 아트 변환기JSON 스키마 생성기TypeScript 플레이그라운드Less to CSS 컴파일러SCSS CSS 컴파일러SVG React JSX 변환기쿼리 문자열 빌더URL 파서UUID 검증기 및 디코더HTTP 상태 코드 참조cURL 명령어 빌더시에르핀스키 삼각형 생성기3D 곡면 플로터극방정식 플로터줄리아 집합 생성기만델브로 집합 탐색기L-System 프랙탈 생성기들로네 삼각분할 생성기보로노이 다이어그램 생성기스피로그래프 생성기테셀레이션 생성기식스 시그마 공정 능력 계산기파레토 차트 생성기NPS (순고객추천지수) 계산기리텐션 레이트 코호트 계산기이탈률 계산기고객 획득 비용 (CAC) 계산기고객 생애 가치 CLV 계산기전환율 계산기A/B 테스트 표본 크기 계산기A/B 테스트 유의성 계산기렌즈 방정식 계산기도선의 자기장 계산기전기장 계산기쿨롱의 법칙 계산기스넬의 법칙 계산기관성 모멘트 계산기각속도 계산기구심력 계산기진자 주기 계산기용수철 상수 계산기도플러 효과 계산기소르티노 비율 계산기트레이너 비율 계산기주식 베타 계산기미국 물가연동 국채 (TIPS) 계산기모기지 리캐스트 계산기선도금리 계산기채권 듀레이션 계산기 (매콜리 및 수정)채권 볼록성 계산기고정 인덱스 연금 계산기변액 연금 계산기역모기지 계산기연금 지급 계산기주판 시뮬레이터 소로반러시아 농민 곱셈베다 수학 트릭 계산기고대 이집트식 곱셈 계산기로마 숫자 수학 풀이기암산 트레이너구구단 퀴즈받아올림과 받아내림 시각화 도구수의 가르기 모으기 생성기동전 문장제 풀이거리 속력 시간 삼각형 계산기작업 속도 문제 해결기혼합 문제 해결기나이 문제 해결기기차 만남 문제 해결기수분 보충 계산기페이스 칼로리 계산기알코올 칼로리 계산기바디 리컴포지션 계산기랜덤 토론 주제 생성기랜덤 고양이 강아지 이름 생성기랜덤 성경 구절 생성기랜덤 수학 문제 생성기랜덤 단락 생성기랜덤 영어 문장 생성기자갈, 모래, 표토 계산기강철 무게 계산기배관 유량 계산기보 하중 계산기달러 금 변환기Options Probability Calculator주식 분할 계산기ESPP 계산기청구서 연체료 계산기프리랜서 시급 계산기리스 vs 구매 계산기고급 팁 분할 계산기짐 싸기 목록 생성기시차 적응 계산기여행 예산 계산기비행 거리 계산기열 손실 계산기전력 발전 비용 계산기물 사용량 계산기가전제품 전기요금 계산기가정 에너지 감사 계산기태양광 ROI 계산기태양광 패널 계산기퇴비 C:N 비율 계산기잔디 비료 계산기서리 날짜 계산기높은 텃밭 흙 계산기NPK 비료 계산기종자 발아율 계산기Video Bitrate Calculator음악 조성 변환기음악 BPM 탭 측정기사진 파일 용량 계산기메가픽셀 인쇄 크기 계산기크롭 팩터 계산기노출 삼각형 계산기차량 견인 용량 계산기0–60 및 쿼터마일 계산기전기차 충전 시간 계산기EV 주행거리 계산기3D 거리 계산기토러스 계산기원뿔대 계산기불규칙 다각형 면적 계산기정다각형 계산기원뿔 곡선 식별기쌍곡선 계산기긴 나눗셈 계산기Twitter/X 글자수 카운터YouTube 댓글 추첨기YouTube 태그 추출기YouTube 썸네일 다운로더유튜브 수익 추정기무작위 RPG 캐릭터 생성기