도달성
Reachability그래프 이론에서 도달성은 그래프 안에서 한 꼭지점에서 다른 꼭지점으로 이동하는 능력을 가리킨다. 으)로 시작하고 t {\ s으)로 끝나는 인접 정점(즉, 걷기)이 있는 경우 정점 으는 에 할 수 있다.
비방향 그래프에서 모든 꼭지점 쌍 사이의 도달성은 그래프의 연결된 구성요소를 식별하여 결정할 수 있다.이러한 그래프의 정점 쌍은 동일한 연결 구성요소에 속하는 경우에만 서로 도달할 수 있으므로, 그래프에서 도달 가능성은 대칭(f 이(가) t t에 도달하면 에 도달함)이다.비방향 그래프의 연결된 구성요소는 선형 시간으로 식별할 수 있다.이 글의 나머지 부분은 지시된 그래프에서 쌍의 도달 가능성을 결정하는 데 있어 더 어려운 문제에 초점을 맞추고 있다(이 문제는 우발적으로 대칭이 될 필요는 없다).
정의
For a directed graph , with vertex set and edge set , the reachability relation of is the transitive closure of , which is to say the set of all ordered pairs of vertices in for which there exists a sequence of vertices such that the edge is in for all i[1]
이(가) 반복적인 경우, 그 도달성 관계는 부분적인 순서가 된다. 예를 들어, 모든 부분 순서는 이러한 방식으로 정의될 수 있다.[2]서 주목할 만한 결과는 순서가 대칭성이므로 s s이(가 에 도달할 수 있다면 t 이(가) s에 도달할 수 없다는 것을 우리는 직감적으로 알고 있다 그러면 G이(가) 순환이라는 것을 부정하는 주기를 포함할 것이다. 이 (가) 방향은 맞지만 시계열(즉, 적어도 하나의 사이클을 포함)이 아닌 경우, 도달성 관계는 부분 순서가 아닌 사전 순서에 해당된다.[3]
알고리즘
도달 가능성을 결정하기 위한 알고리즘은 사전 처리가 필요한 것과 그렇지 않은 것의 두 종류로 나뉜다.
쿼리가 하나(또는 몇 개)밖에 없는 경우, 더 복잡한 데이터 구조를 사용하지 않고 원하는 쌍의 도달 가능성을 직접 계산하는 것이 더 효율적일 수 있다.이는 너비 퍼스트 검색이나 반복 심층 퍼스트 검색과 같은 알고리즘을 사용하여 선형 시간 내에 달성될 수 있다.[4]
많은 쿼리를 할 경우 좀 더 정교한 방법을 사용할 수 있다. 정확한 방법 선택은 분석 중인 그래프의 특성에 따라 달라진다.사전 처리 시간과 일부 추가 스토리지 공간과의 교환으로, ( ) 시간 내에 정점 쌍에 대한 도달 가능성 쿼리에 응답할 수 있는 데이터 구조를 생성할 수 있다.세 가지 서로 다른, 점점 더 전문화된 상황에 대한 세 가지 알고리즘과 데이터 구조가 아래에 요약되어 있다.
플로이드-워셸 알고리즘
플로이드-워셸 알고리즘은[5] 위 정의에서와 같이 도달성 관계를 발생시키는 지시된 그래프의 전이성 폐쇄를 계산하는 데 사용할 수 있다.
알고리즘에는 최악의 경우 ) O(^{ 시간 O( 2) ^{ 공간이 필요하다.이 알고리즘은 모든 정점 쌍 사이의 최단 경로 거리도 계산하기 때문에 도달성에만 관심이 있는 것은 아니다.음의 주기를 포함하는 그래프의 경우 최단 경로가 정의되지 않을 수 있지만 쌍 간의 도달 가능성은 여전히 기록될 수 있다.
토럽 알고리즘
평면 디그래프의 경우 2004년 Mikkel Thorup이 설명한 것처럼 훨씬 빠른 방법을 사용할 수 있다.[6] 방법은 ) 사전 처리 시간을 소비한 후 평면 그래프의 도달 가능성 쿼리에 O ){\ O)displaystystyle O(n 크기의 데이터 구조를 생성하는 데 걸리는 시간을 {n 시간으로 응답할 수 있다.이 알고리즘은 경로 정보뿐만 아니라 대략적인 최단 경로 거리도 제공할 수 있다.
전체적인 접근방식은 정점 에서 정점 w 에 이르는 경로가v {\ 또는 과(와) 관련된 최소 하나의 분리자를 통과하도록 비교적 작은 소위 분리 경로 집합을 각 정점과 연결하는 것이다 개요다음과 같은 도달성 관련 섹션.
그래프 을를) 지정하면 알고리즘은 정점을 임의 v {\v_{부터 시작하는 계층으로 구성함으로써 시작한다레이어는 먼저 이전 단계( 만으로 시작에서 도달할 수 있는 모든 정점과 모든 정점이 레이어에 할당될 때까지 이전 단계에 도달하는 모든 정점을 고려하여 교대로 구축된다.층의 구성에 의해 모든 꼭지점이 최대 2개 층으로 나타나며, 의 모든 방향 경로, 즉 dipath는 두 개의 인접한 L 과 L +{\} 사이에 포함된다 을(를) 마지막으로 생성된 레이어, 즉i = i = {\)와 k 에 대해 가장 낮은 값으로 설정.
The graph is then re-expressed as a series of digraphs where each and where is the contraction of all previous levels … - 하나의 꼭지점으로.모든 dipath가 최대 두 개의 연속 레이어에 나타나며, 각 가 두 개의 연속 레이어에 의해 형성되기 때문에, {\ 그리고 연속된 그래프 2개 이하)의 모든 dipath가 적어도 하나의 G에 전체적으로 나타나기 때문이다.
각 에 대해 세 개의 구분자를 식별하여 제거할 때 그래프를 각각 의 정점 1 / {\을(를) 포함하는 세 개의 구성요소로 구분한다. 는 두 개의 반대되는 dipath 층에서 제작되므로, 각 분리기는 최대 2개의 dipath로 구성될 수 있으며, 모든 분리자에 대해 최대 6개의 dipath로 구성될 수 있다. 을(를) 이러한 이중 경로 집합으로 두십시오.그러한 분리기들을 항상 찾을 수 있다는 증거는 립톤과 타르잔의 평면 분리기 정리(Planar Separator Organization of Lipton and Tarjan)와 관련이 있으며, 이러한 분리기들은 선형 시간에 위치할 수 있다.
각 에 대해 의 방향 특성은 경로의 시작부터 끝까지 정점의 자연 인덱싱을 제공한다 의 각 v v에 대해 에 도달할 수 있는 의 첫 번째 꼭지점 v {\ v}에 하는 Q {\stytime}을 찾고 있다 즉, v에서 얻을 수 있으며 에 머무르고도 {\으로 돌아갈 수 있는 범위이 정보는 각 과(와) 함께 저장된다그런 다음 정점 과 w w의 쌍에 대해, 이(가) 에서 을() 연결한 Q )를 통해 에 도달할 수 있다
꼭지점은 G …, 을(를) 구축하는 재귀의 각 단계에 대해 위와 같이 라벨을 붙인다 이 재귀에는 로그 깊이가 있기 때문에 정점당 총 log의 추가 정보가 저장된다.이 시점부터, 도달 가능성에 대한 로그 시간 질의가 공통적이고 적절한 Q 에 대한 각 라벨 쌍을 훑어보는 것만큼 간단하다그러면 원본 용지는 조회 시간을 ( ) 까지 조정하는 작업을 한다
이 방법의 분석을 요약할 때, 우선 계층화 접근법이 정점을 분할하여 각 이O ( (1)만 간주되도록 한다는 점을 고려한다.알고리즘의 분리기 단계는 그래프를 원래 그래프 크기의 1/ 1/의 구성 요소로 분할하여 로그 재귀 깊이를 산출한다.각 반복 수준에서 정점 사이의 연결은 물론 분리기를 식별하기 위한 선형 작업만 필요하다.전체 결과는 ) n 사전 처리 시간으로, 각 정점에 대해 저장된 O) 추가 정보만 저장된다.
카메다의 알고리즘
An even faster method for pre-processing, due to T. Kameda in 1975,[7] can be used if the graph is planar, acyclic, and also exhibits the following additional properties: all 0-indegree and all 0-outdegree vertices appear on the same face (often assumed to be the outer face), and it is possible to partition the boundary of that face into two parts such 모든 0-높은 정점이 한 부분에 나타나고, 모든 0-outdo 정점이 다른 부분에 나타난다(즉, 두 가지 유형의 정점이 번갈아 나타나지 않음).
If exhibits these properties, then we can preprocess the graph in only time, and store only extra bits per vertex, answering reachability queries for any pair of vertices in time with a simple com패리슨
사전 처리가 다음 단계를 수행하십시오.각 0-인덱스 정점에 에지가 있는 새 s {\과(와) 각 0-도 정점으로부터 에지가 있는 새로운 정점 t}을를) 추가한다. 의 속성은 평면성을 유지하면서 그렇게 할 수 있다는 점에 유의하십시오. 즉, 이러한 추가 후에도 에지 교차가 없을 것이다.각 꼭지점에 대해 그래프의 평면성(예: 그래프의 내장 관련 시계 방향) 순서대로 보조성(아웃-에지) 목록을 저장한다.그런 다음 카운터 = + }을를) 초기화하고 s 에서 Depth-First Traversal을 시작한다 이 트래버설 동안 각 꼭지점의 인접 목록이 필요에 따라 왼쪽에서 오른쪽으로 방문된다.통과 스택에서 정점이 튀어나오면 i 값이 된 다음i 이(가) 감소한다. 은 (는) n+ 1 값으로 을 표시하며 s 은(는) 항상 으로 라벨을 표시한다는 점에 유의하십시오그런 다음 깊이 첫 번째 횡단을 반복하지만, 이번에는 각 정점의 인접 목록을 오른쪽에서 왼쪽으로 방문한다.
완료되면 및 및 해당 입사 모서리가 제거된다.Each remaining vertex stores a 2-dimensional label with values from to . Given two vertices and , and their labels and Aystyle L(v)=(b_{1},b_{2})}, 우리는 나는<(u), 나는(v){\displaystyle L(u)<, L(v)}만일 1≤ b1{\displaystyle a_{1}\leq b_{1}}2≤ b2{\displaystyle a_{2}\leq b_{2}}, 적어도 한 요소 1{\displaystyle a_{1}}또는 2{\displaystyle a_{2}}존재한다고 말한다.which는 각각 b 또는 }}개 미만이다
방법의 주요 결과는 () < ( u L( 시간 단위로 쉽게계산되는 경우에만 에서 v {\ u에 도달할 수 있다고 명시한다.
관련 문제
관련 문제는 일부 k 을 (를) 사용하여 도달 가능성 쿼리를 해결하는 것이다.예를 들어 "정점 s , ,.. . . s }, 이(가) 실패하여 더 이상 사용할 수 없음에도 정점 {\에 도달할 수 있는가?"유사한 문제는 꼭지점 고장보다는 에지 고장을 고려하거나 둘의 혼합을 고려할 수 있다.광범위한 우선 검색 기법은 이러한 질의에서도 잘 작동하지만 효율적인 오라클 구축은 더 어렵다.[8][9]
도달 가능성 쿼리와 관련된 또 다른 문제는 그래프의 일부가 변경되었을 때 도달 가능성 관계에 대한 변경사항을 신속하게 재계산하는 것이다.예를 들어, 이는 실행 중인 애플리케이션의 성능 문제와 메모리 회수(재할당될 수 있도록)의 균형을 유지해야 하는 가비지 수집과 관련된 우려 사항이다.
참고 항목
참조
- ^ Skiena, Steven S. (2011), "15.5 Transitive Closure and Reduction", The Algorithm Design Manual (2nd ed.), Springer, pp. 495–497, ISBN 9781848000698.
- ^ Cohn, Paul Moritz (2003), Basic Algebra: Groups, Rings, and Fields, Springer, p. 17, ISBN 9781852335878.
- ^ Schmidt, Gunther (2010), Relational Mathematics, Encyclopedia of Mathematics and Its Applications, vol. 132, Cambridge University Press, p. 77, ISBN 9780521762687.
- ^ Gersting, Judith L. (2006), Mathematical Structures for Computer Science (6th ed.), Macmillan, p. 519, ISBN 9780716768647.
- ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001), "Transitive closure of a directed graph", Introduction to Algorithms (2nd ed.), MIT Press and McGraw-Hill, pp. 632–634, ISBN 0-262-03293-7.
- ^ Thorup, Mikkel (2004), "Compact oracles for reachability and approximate distances in planar digraphs", Journal of the ACM, 51 (6): 993–1024, doi:10.1145/1039488.1039493, MR 2145261, S2CID 18864647.
- ^ Kameda, T (1975), "On the vector representation of the reachability in planar directed graphs", Information Processing Letters, 3 (3): 75–77, doi:10.1016/0020-0190(75)90019-8.
- ^ Demetrescu, Camil; Thorup, Mikkel; Chowdhury, Rezaul Alam; Ramachandran, Vijaya (2008), "Oracles for distances avoiding a failed node or link", SIAM Journal on Computing, 37 (5): 1299–1318, CiteSeerX 10.1.1.329.5435, doi:10.1137/S0097539705429847, MR 2386269.
- ^ Halftermeyer, Pierre, Connectivity in Networks and Compact Labeling Schemes for Emergency Planning, Universite de Bordeaux.