약한 컴포넌트

Weak component

그래프 이론에서, 유향 그래프의 약한 구성요소는 그래프의 정점을 도달 가능성으로 완전히 정렬된 부분 집합으로 분할합니다.이러한 방식으로 완전히 정렬된 정점 집합의 가장 미세한 파티션을 형성합니다.

정의.

취약 구성요소는 1972년 Ronald Graham, Donald Knuth 및 (사후)에 의해 정의되었습니다.Todore Motzkin은 유추하여, 그래프 정점의 가장 미세한 분할을 도달 가능성에 따라 부분적으로 정렬된 부분 집합으로 구성합니다.대신, 약한 구성요소는 도달 [1][2]가능성에 따라 완전히 정렬된 부분 집합으로 정점의 가장 미세한 분할이라고 정의했습니다.

Knuth(2022)는 유향 그래프의 정점에 4개의 대칭 관계를 조합하여 약한 컴포넌트를 정의합니다.여기서 \ {\ \ \

  • 그래프의 두 의 경우 각 꼭지점이 서로 도달할 수 있는 경우에만v \ u \ }에는 \ v u from from from {\ \ vu {\ {\ u {\ {\ {\ {\ {\ {\ u \ displaystyle u u u u u u u u u u u u {\ {\ {\ {\ {\ {\ {\ {\ {\plplpl {\ {\ {\ {\ {\ {\ {\ {\ {\ {\u 입니다. \ \ arrow 관계는 동등성 관계이며, 그 동등성 클래스는 그래프에서 강하게 연결된 구성요소를 정의하는 데 사용됩니다.
  • 그래프의 2개의 의 어느 쪽도 다른 쪽 꼭지점에서 도달할 수 없는 경우에만 v\ u \ :u \ vu v\ v between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between between for for for for for for for for for for for for for for for for for for
  • 그래프의 두 u v\ v에 대해 \v u\v가 있는 에만 u v \ u\ vu \ v for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for for단방향 연결이 없을 수도 있습니다.
  • { \ { \ transitional closure로 정의됩니다.즉, u {u }에서 { u \ cdots \ \ 하는 정점이 로 끝납니다. 시퀀스 내의 연속된 각 쌍이 에 의해 관련지어지도록 합니다.

다음으로 { style \ 등가관계입니다.각 정점은 { style 의해 서로 관련지어집니다(길이0의 패스에 의해 양방향으로 도달할 수 있기 때문에 이 관계를 변경하지 않고 두 정점을 서로 교환할 수 있습니다).se is built out of the symmetric relations and ), and is a transitive relation (because it is a transitive closure of another relation).모든 동등성 관계와 마찬가지로 그래프의 정점을 동등성 클래스, 정점의 서브셋으로 분할하여 두 정점이 동일한 동등성 클래스에 속하는 경우에만 \ 관련되도록 할 수 있습니다.이러한 동등성 클래스는 주어진 [2]그래프의 약한 성분입니다.

Graham, Knuth, Motzkin의 원래 정의는 동일하지만 다소 다르게 표현되었다.방향 G({G를 지정하면 먼저 G전이적 폐색 보완 그래프로 그래프Gdisplaystyle G})를 작성합니다. Tarjan(1974년)이 기술한바와 같이 G^(\ {의 가장자리는 n인 패스가 아닌 정점 쌍을 나타냅니다.때 그들은 G{G\displaystyle}또는 G^{\displaystyle{\hat{G}의} 같은 강력하게 연결되어 구성 요소}에 속해 있어 냄새도 맛 G의 작은 길로 연결되어{G\displaystyle}.[3]그리고 나서 2vertices 같은 약한 구성 요소에 .[1][3]에 따라 그레이엄 크누스, Motzkin 입증된다면 이 상태를 등가 relation,용을 정의합니다 소속되어 있다.1] 같은의 명령어는 "\[4]로 정의되어 있습니다

이러한 정의에 대응하여 유향 그래프는 정확히 하나의 약한 구성요소를 가지고 있는 경우 약하게 연결되었다고 불립니다.즉, 첫 번째 서브셋의 모든 정점이 두 번째 서브셋의 모든 정점에 도달할 수 있지만 두 번째 서브셋의 어떤 정점도 첫 번째 서브셋의 어떤 정점에 도달할 수 없도록 정점을 두 개의 서브셋으로 분할할 수 없습니다.이는 Knuth가 대체 용어 비방향 구성요소를 제안하는 [2]기초 비연결 그래프의 연결성 및 구성요소 등 문헌의 약한 연결성에 대한 다른 개념과는 다르다.

특성.

X X Y Y 방향 그래프의 두 가지 약한 X(\X)의 정점이 그래프 경로로Y(\ Y 모든 정점에 도달하거나YY 정점에 도달할 수 있습니다.이들 2개의 컴포넌트 사이에 양방향으로 도달가능성 관계가 존재할 수 없습니다.따라서, 우리는 약한 부품에 의존하고 있는 X를<>에 따라;주문하는 Y{\displaystyle X< 할 수 있다.Y}X{X\displaystyle}의 모든 vertices Y{Y\displaystyle}에서 정의에 의해 모든 vertices에 도달할 수 있으면 X. 이것은 비대칭 관계식(두 요소만 한 dir에 연관될 수 있는 X{\displaystyle X\nless X}≮.도달가능성의 전이성으로부터 전이적 관계라는 특성을 계승합니다.따라서 취약한 구성요소에 대한 전체 순서를 정의합니다.는 도달 [1]가능성과 일치하는 완전히 정렬된 정점 집합으로 가능한 가장 미세한 분할입니다.

이것은 약한 구성 요소일 주문은 vertices은 자기 스스로를 약한 순서로, 속성이 약한 순서에서 진로가<>v{\displaystyle u<, v}가 반드시 너{\displaystyle u}에서 v{\displaystyle v}는 아니지만, v{\displaystyle v}을 한 경로의 존재로 해석될 수 있다. u u 단, 두 u vv는 서로 [2]동일한 취약 컴포넌트에 속하면서 동일한 도달 가능성 순서를 가질 수 있기 때문에 이 취약 순서를 완전히 나타내는 것은 아닙니다.

모든 약한 구성요소는 강하게 연결된 [2]구성요소의 조합입니다.주어진 그래프의 강하게 연결된 성분이 단일 정점으로 축소되어 방향 비순환 그래프(특정 그래프의 응축)를 생성하고, 그 후 이 응축이 위상적으로 정렬되면, 각각의 약한 성분은 반드시 강한 [3]성분의 위상 순서의 연속적인 후속으로 나타난다.

알고리즘

선형 시간에 주어진 방향 그래프의 약한 성분을 계산하기 위한 알고리즘은 Pacault(1974년)에 의해 설명되었고, 이후 Tarjan(1974년)과 Knuth(2022년)[2][3][5]의해 단순화되었다.Tarjan이 관찰한 바와 같이 깊이 우선 검색을 기반으로 한 Tarjan의 강하게 연결된 구성요소 알고리즘은 강하게 연결된 구성요소를 위상적으로 정렬된 순서로 출력합니다.약한 컴포넌트에 대한 알고리즘은 이 순서로 강하게 연결된 컴포넌트를 생성하고 유도된 서브그래프의 약한 컴포넌트로 지금까지 생성된 컴포넌트의 파티션을 유지합니다.모든 컴포넌트가 생성되면 이 파티션은 [2][3]전체 그래프의 취약한 컴포넌트를 설명합니다.

스택 내의 약한 컴포넌트로 현재 파티션을 유지하는 것이 편리합니다.각 약한 컴포넌트는 가장 최근에 생성된 컴포넌트부터 같은 약한 컴포넌트 내의 다른 강한 연결 컴포넌트로부터 들어오는 에지가 없는 강하게 연결된 컴포넌트의 목록을 추가로 유지합니다.새로 생성된 강력접속된 각 컴포넌트는 자체적으로 새로운 취약 컴포넌트를 형성하거나 스택의 상단 부근에서 이전에 구성된 취약 컴포넌트 중 일부와 결합되어 모든 소스에 [2][3]도달할 수 없게 될 수 있습니다.

따라서 알고리즘은 다음 [2][3]단계를 수행합니다.

  • 각각 소스 컴포넌트 목록과 관련된 취약한 컴포넌트의 빈 스택을 초기화합니다.
  • Tarjan의 강하게 연결된 성분 알고리즘을 사용하여 토폴로지 순서의 역순으로 지정된 그래프의 강하게 연결된 성분을 생성합니다.강하게 연결된 각 S S 생성되면 컴포넌트로 다음 절차를 따릅니다.
    • 스택이 비어 있지 S S에는 스택의 최상위 취약 컴포넌트에 대한 가장자리가 없는 경우 해당 컴포넌트를 스택에서 팝합니다.
    • 스택이 아직 비어 있지 않고 최상위 취약 컴포넌트의 일부 소스가 S S가장자리로 인해 영향을 받지 않으면 해당 컴포넌트를 스택에서 다시 팝합니다.
    • S(\ S 터진 상위 컴포넌트의 히트하지 않은 모든 소스를 포함하는 새로운 취약 W(\ W를 구성하고 스택에.

S S 가장자리가 약한 구성요소에 부딪히는지 여부에 대한 각 테스트는 S S에서 가장 최근에 생성된 강력한 연결 구성요소에 이르는 가장자리를 찾으면 해당 가장자리의 대상 구성요소를 2번째 상단 구성요소의 첫 번째 소스와 비교하여 일정 시간 내에 수행할 수 있습니다.ack을 클릭합니다.

레퍼런스

  1. ^ a b c d Graham, R. L.; Knuth, D. E.; Motzkin, T. S. (1972), "Complements and transitive closures" (PDF), Discrete Mathematics, 2: 17–29, doi:10.1016/0012-365X(72)90057-X, MR 0323577
  2. ^ a b c d e f g h i Knuth, Donald E. (15 January 2022), "Weak components", The Art of Computer Programming, Volume 4, Pre-Fascicle 12A: Components and Traversal (PDF), pp. 11–14
  3. ^ a b c d e f g Tarjan, Robert Endre (July 1974), "A new algorithm for finding weak components", Information Processing Letters, 3 (1): 13–15, doi:10.1016/0020-0190(74)90040-4
  4. ^ Knuth (2022), 연습 81, 페이지 21.
  5. ^ Pacault, Jean François (1974), "Computing the weak components of a directed graph", SIAM Journal on Computing, 3: 56–61, doi:10.1137/0203005, MR 0376418