과도 검사 대 전이 폐쇄


9

(점근 적 복잡성 측면에서) digraph의 전이성을 점검하는 것이 digraph의 전 이적 폐쇄를 취하는 것보다 쉽지 않습니까? Digraph가 전이인지 아닌지를 결정하기 위해 보다 더 낮은 하한을 알고 있습니까?Ω(n2)


1
전체 전이 폐쇄를 저장하면 추가 공간이 필요합니다. 일부 그래프의 경우 모서리를 다시 방문하지 않고 일시적 검사를 연결하고 바로 가기를 수행 할 수 있어야합니다. 참조 : 병렬 연결 알고리즘, Y Shiloach, U Vishkin-Journal of Algorithms, 1982O(logn)
Chad Brewbaker


2
의미를 모르지만 은 간단 합니다. 일부 모서리 를 고려 . 모든 알고리즘은 모든 대해 인지 확인해야합니다. 는 전이 폐쇄를 계산하는 데 걸리는 시간이므로 상한입니다. nΩ(|V|2)Kn{e}e(u,v)Eu,vVO(|V||E|)
RB

2
와 유향 그래프 고려 정점 : 소스 정점 중간 정점 서로 즉시 후속이다 하고, 싱크 정점 직계 후속있다 . 이 그래프는 각 호 가 그래프에있는 경우 전 이적 입니다. 이 검사가 필요 가장자리. 반면에, 전이 폐쇄를 찾는 것은 시간에 수행 될 수 있으며 , 여기서 은 행렬 곱셈의 지수입니다. 이들은 가장 잘 알려진 경계입니다. n=3ks1,,skt1,,tksiu1,,ukti(si,uj)k2=(n/3)2=Ω(n2)O(nω)ω<2.373
András Salamon

DAG에 추가 구조가 있습니까? 아니면 일반적인 결과를 원하십니까?
Niel de Beaudrap

답변:


9

아래에서 나는 다음을 보여줄 것이다 : 만약 그래프가 대해 전이 검사하기위한 O ( ) 시간 알고리즘이 있다면 , 당신은 O ( 노드 그래프 에서 삼각형을 감지하기위한 ) 시간 알고리즘 (따라서 FOCS'10논문 )에는 2를 곱하기위한 O ( ) 시간 알고리즘이 있습니다. boolean 행렬이므로 70 년대Fischer와 Meyer 의 결과로 이는 전이 폐쇄에 대한 O ( ) 시간 알고리즘 도 암시합니다 .n3εε>0n3εnn3ε/3n×nn3ε/3

노드 에서 삼각형을 감지한다고 가정합니다 . 이제 다음 그래프 만들 수 있습니다 . 는 각각 노드 에 파티션 가있는 3 중입니다 . 여기서 각각의 노드 의 복사 갖는다 부분의 . 각 모서리 에 대해 지정 모서리 및 합니다. 각 비 가장자리 에 대해 지정 가장자리 추가합니다 .nGHHI,J,KnxGxI,xJ,xKI,J,K(u,v)G(uI,vJ)(uJ,vK)(u,v)G(uI,vK)

첫째 경우는, 삼각형을 포함 하고 전이 아니다. 이것은 가장자리 가 있지만 가 아니기 때문입니다. 둘째 경우는, 전이되어 있지 않은 경우, 어떤 노드로부터 일부 향하는 경로가 존재해야 일부 노드에 에서 되도록 있는 방향 에지 아니다 . 그러나 에서 가장 긴 경로 에는 모서리가 있으므로 이러한 경로는 하고 는Gu,v,wH(uI,vJ),(vJ,wK)H(uI,wK)HstH(s,t)HH2(uI,vJ),(vJ,wK)(uI,wK)H , 따라서 는 에서 삼각형을 형성합니다 .u,v,wG


1
전이 폐쇄를 찾는 것은 본질적으로 행렬 곱셈과 동일합니다. 문제는 하한 지수를 2에서 올릴 수 있는지 또는 상한 지수를 2.373에서 낮출 수 있는지입니다. 당신이 보여주는 추론의 사슬은 전이성을 점검하기위한 최적의 알고리즘 전이 폐쇄를위한 시간 알고리즘 만 산출 할 것이지만, 우리는 이미 시간 알고리즘. O(n2)O(n2.667)O(n2.373)
András Salamon

요점은 블랙 박스 축소가 존재한다는 것입니다. O ( ) 시간 알고리즘은 실용적이지 않습니다. 그러나 서브 큐빅 시간에서 실행되는 실질적인 전이성 검사 알고리즘은 상기 감소에 의해 BMM에 대한 실질적인 알고리즘을 의미하므로 전이 폐쇄도 의미한다. 또한 실제 알고리즘에 신경 쓰지 않아도 FOCS'10 논문의 지수 손실이 필요하지 않을 수 있으며 삼각형 감지는 BMM과 동일 할 수 있습니다. n2.373
virgi

물론, 우리는 추정되는 삼각형 검출의 경도에 기초하여 천이도 문제의 경도를 기초로 할 수 있습니다. 삼각형 감지의 경우 보다 알려진 하한이 없으며 가장 좋은 상한은 입니다. n2O(nω)
virgi

우리는 이미 빠른 행렬 곱셈 방법을 사용하여 서브 큐빅 실용적인 알고리즘을 가지고 있습니다 : 예를 들어 cacm.acm.org/magazines/2014/2/…
András Salamon

2
Ballard et al 논문은 Strassen의 알고리즘에 대해 특별히 언급하고 있습니다. 내가 아는 바에 따르면, 보더 랭크를 사용하는 행렬 곱셈 알고리즘은 실용적이지 않습니다. 특히, 나는 보다 작은 에 대한 실제 알고리즘을 알지 못합니다 . ω2.78
virgi

7

그런 식으로 보이는 임의의 하한보다 낮은 부울 행렬 곱셈 행을 의미하기 때문에, 하부 결합 공지 최선이다. 우리는 하나의 부울 행렬 곱셈을 사용하여 전이성 검사를 수행 할 수 있음을 알고 있습니다. 즉, 경우에만 가 전 이적 입니다.Ω(n2)GG=G2


4

DAG가 전이 적인지 파악하는 것은 일반적인 digraph가 전이적인지를 결정하는 것만 큼 어렵습니다 (이전 질문으로 되돌아갑니다).

DAG가 전이인지 여부를 결정하기 위해 시간 에서 실행되는 알고리즘이 있다고 가정합니다 .O(f(n))

유 방향 그래프 가 주어진 경우 다음 랜덤 알고리즘을 사용하여 가 시간 에서 전이 인지 여부 와 오류 확률 를 결정할 수 있습니다. :GGO(f(n)log(1δ))δ

 1. for $O(\log{\frac{1}{\delta}})$ iterations:

   1.1. Compute a random permutation on $V$. Denote the result by $<v_1,v_2,...,v_n>$.

   1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i<j\})$ (i.e. compute a random acyclic orientation).

   1.3. If $G'$ (which is acyclic) is not transitive return false.

 2. return true.

가 전 이적 이라면 ,이 알고리즘은 true를 반환 한다는 것이 명백 합니다.G

이제 가 전이되지 않았다고 가정하십시오 . 하자 되도록 (같은 에지 있어야만 이행되지 않음). 확률 은 이므로 각 반복에서 알고리즘이 가 전이되지 않았다고 판단 할 확률 은 이며 반복 실패 확률은 최대 입니다.Ge1=(vi,vj),e2=(vj,vk)E(vi,vk)EGe1,e2G16G16O(log(δ))δ


1
답변 해주셔서 감사합니다. DAG가 와 같은 에서 전이인지 결정하는 알고리즘이 있다고 가정합니다 . 그런 다음, 유향 그래프 G가 시간에 전이인지 여부를 결정할 수 있습니다 . 1) 시간으로 강하게 연결된 digraph를 얻습니다 . 2) 각 구성 요소가 시간 내에 완료되었는지 확인하십시오 . 3) 구성 요소 그래프에 모서리가있는 각 구성 요소 쌍이 완전성이 있는지 확인하십시오. 즉, 한 구성 요소의 모든 정점에서 의 두 번째 구성 요소의 모든 정점까지의 모서리가 있는지 확인하십시오. -시간. 4) -시간에 성분 digraph 전이가 있는지 확인하십시오 . O(f(n))f(n)=Ω(n2)O(f(n))O(n2)O(n2)O(n2)O(f(n))
ekayaaslan

1

I이 선형 시간 가능해야한다고 생각, 즉 여기서 정점의 수이고 에지의 수. 어쩌면 일부 그래프 순회 계획을 지시 된 설정에 적용하여? 시작점 은 여기에 설명 된 LexBFS / LexDFS 일 수 있습니다 . 유 방향 그래프의 경우 DFS 대신 위상 정렬을 사용해야한다고 생각할 수 있습니다. 일부 LexTSA 알고리즘을 사용하여 발견 할 수 있습니까?O(n+m)nm


2
이것은 일반적인 Digraph에서 전이성 검사에 대한 확률 적 선형 시간 알고리즘을 제공하기 때문에 IMO가 아닐 것입니다. 내 대답을 참조하십시오.
RB

0

이전 답변과 관련하여 이러한 알고리즘을 정의하는 간단한 방법이 있습니다. 각 정점 에 인덱스 할당하고 초기화하십시오 . 각 에 대해 는 이웃의 인덱스의 다중 집합을 나타냅니다. 우리 는 전체 세트로 초기화 된 미확정 정점 세트 을 유지함으로써 토폴로지 정렬을 시뮬레이션합니다 . 각 단계에서 다음을 수행합니다.xi(x)0xM(x)R

  1. 멀티 세트 이 최소 인 멀티 플렉스 순서 로 정점 선택합니다 .xRM(x)

  2. 를 현재 루프 카운터로 업데이트 하고 에서 를 제거하십시오 .i(x)xR

이 알고리즘을 문제 나 다른 응용 프로그램에 사용할 수 있습니까?


이것은 주석으로 더 적합합니다.
Suresh Venkat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.