알고리즘의 개념은 엣지, v) 의 수축 개념을 비방향 G= , ) 에 기초하고 있다 비공식적으로 edge의 수축은 노드 displaysty u}과 v v을 하나로 병합하여 총수를 줄인다.그래프의 1개 노드. v 을(를) 연결하는 다른 모든 가장자리는 병합된 노드에 "재연결"되어 사실상 다중 그래프를 생성한다.Karger의 기본 알고리즘은 무작위로 선택한 가장자리를 두 개의 노드만 남을 때까지 반복적으로 수축한다. 이 노드는 원래 그래프의 컷을 나타낸다.이 기본 알고리즘을 충분한 횟수로 반복함으로써 높은 확률로 최소 절단을 찾을 수 있다.
A cut in an undirected graph is a partition of the vertices into two non-empty, disjoint sets . The cutset of a cut consists of the edges uv S, 두 부분 사이에 있는\in u.가중치가 없는 그래프에서 절단된 부분의 크기(또는 무게)는 절단 세트의 카디널리티, 즉 두 부분 사이의 가장자리 수입니다.
{\에 속하든 T 에 속하든 각 꼭지점에 대해 2 2V 선택 방법이 있지만 중 두 가지 선택은 S S 또는이 비어 있으며 컷을 발생시키지 않는다.나머지 선택 사항 중 과 T 의 역할을 스와핑해도 컷이 변경되지 않으므로 각 컷은 두 계수되므로V- - 1 {\^{ V 구별되는 컷이 .최소 절단 문제는 이 절단 중에서 가장 작은 크기의 절단면을 찾는 것이다.
의 에지 가중치가 w: E→ + 인 가중 그래프의 경우 절단 가중치는 각 파트의 꼭지점 사이의 에지 가중치 합이다.
= 에 대한 가중치가 없는 정의에 동의함
컷은 특정 꼭지점 쌍에 "s s- t 컷과 하기 위해 "global cut"이라고 부르기도 하는데, 이 컷은 및 }에 대한 추가 요건이 있다 모든 컷은 cut for some . Thus, the minimum cut problem can be solved in polynomial time by iterating over all choices of and solving the resulting minimum - cut problem using the max-flow min-cut theorem and a po푸시-릴라벨 알고리즘과 같은 최대 흐름을 위한 리노멀 시간 알고리즘은 이 접근방식이 최적이지는 않지만.글로벌 최소 절단 문제에 대한 더 나은 결정론적 알고리즘에는 + n )의 실행 시간이 있는 Stoer-Wagner 알고리즘이 포함된다. n[2].
수축 알고리즘
카거 알고리즘의 근본적인 작동은 가장자리 수축의 한 형태다.The result of contracting the edge is new node . Every edge or for to the endpoints of the contracted edge is replaced by an edge 노드에{ , v} {\uv\}}.마지막으로 모든 인시던트 가장자리가 있는 계약 노드 u 및이(가) 제거된다.특히 결과 그래프에는 자체 루프가 포함되지 않는다.가장자리 의 수축 는 G /로 표시된다
수축 알고리즘은 그래프에서 무작위 가장자리를 반복적으로 수축하는데, 이때 단 하나의 절단이 있을 뿐이다.
알고리즘의 핵심 아이디어는 최소 절삭 에지가 보통 최소 절삭되지 않은 에지에 의해 훨씬 수적으로 우세하기 때문에 최소 절삭 에지가 무작위로 선택되어 수축으로 손실될 가능성이 훨씬 더 높다는 것이다.이후, 최소 절삭 에지는 모든 가장자리 수축에서 살아남을 수 있으며, 알고리즘은 최소 절삭 에지를 정확하게 식별할 수 있다.
10-Vertex 그래프에서 Karger 알고리즘의 성공적인 실행.최소 컷은 3 사이즈 입니다.
절차 계약(=( , E) G> 2 이(가 임의 G / e 에서 균일하게∈ 을()로 반환함
그래프를 인접 리스트나 인접 매트릭스를 사용하여 표시할 때, 구조에 대한 선형적인 수의 업데이트로 단일 에지 수축 연산을 실행할 수 있으며, 총 실행 시간은 O(V ) 또는 이 절차는 Kruskal의 알고리의 실행으로 볼 수 있다thm 순열 에 따라 가장자리가 ( )= ( ) 을(를 갖는 그래프에서 최소 스패닝 트리를 구성하는 경우 이 트리의 가장 무거운 가장자리를 제거하면 절단을 설명하는 두 구성 요소가 된다.이런 식으로 수축 절차는 O( O EE에 있는 크러스칼의 알고리즘처럼 구현될 수 있다
카거 알고리즘의 무작위 에지 선택은 오직 두 성분만이 남을 때까지 무작위 에지 순위가 있는 그래프에 크러스칼의 알고리즘을 실행하는 것과 일치한다.
가장 잘 알려진 구현에서는 O( ) 시간 및 공간 또는 ( E ) E 시간 및 O 공간을 사용한다[1]
수축 알고리즘의 성공 확률
그래프에서 G=n과(V, E){G=(V,E)\displaystyle})V{\displaystylen= V}vertices, 그 수축 알고리즘 polynomially 작은 확률(n2)과 1{\displaystyle{\binom{n}{2}}^{)}−}. 모든 그래프 2n− 1− 1{\displaystyle 2^{n-1}-1}amo cuts,[3]고 있는 최소 상처를 반환합니다.쇼핑최대() 최소 절단일 수 있다.따라서 이 알고리즘의 성공 확률은 절단을 무작위로 선택할 확률보다 훨씬 우수하며, 이는 최대()/(- - )이다
예를 들어, 꼭지점에대한 사이클 그래프는 정확히(2 ){\{\}}개의 최소 절단을 가지며, 2개의 가장자리를 선택하는 모든 선택에서 주어진다.수축 절차는 이것들 각각을 동일한 확률로 찾는다.
확률에서 하한을 추가로 설정하려면 C C이(가) k 의 특정 최소 절단 가장자리를 나타내도록 하십시오수축 알고리즘은 의 가장자리가 C 의 절단 세트에 속하지 않을 C을(를) 반환한다 특히 첫 번째 가장자리 수축은 1 - /{\E과를)에서 한다)의 최소도이(가) k {\이므로(그렇지 않으면 두 파티션 중 하나가 최소도 정점만을 포함하는 경우 더 작은 절단을 유도할 수 있음) / 2 E 따라서 수축 알고리즘이 에서 에지를 선택할 확률은 c}이다.
The probability that the contraction algorithm on an -vertex graph avoids satisfies the recurrence , with 가능
수축 알고리즘 반복
수축 절차를 10회 반복한다.다섯 번째 반복은 사이즈 3의 최소 컷을 찾는다.
수축 알고리즘 =( ) n 을(를) 독립 랜덤 선택으로 반복하고 가장 작은 컷을 반환하면 최소 컷을 찾지 못할 확률은 다음과 같다.
^Patrignani, 마우리치오;Pizzonia, 마우리치오(2001년),"그matching-cut 문제의 복잡성", Brandstädt, 안드레아스, 르, 반 빅뱅(eds.), Graph-Theoretic 개념 컴퓨터 과학으로:27일 국제 워크숍 WG 2001년, Boltenhagen, 독일, 6월 14일부터 16일까지의, 2001년, 회보, 강의 노트 컴퓨터 과학으로, 2204 vol., 베를린:스프링거,를 대신하여 서명함. 284–.295, doi:10.1007/3-540-45477-2_26, MR1905640.