클로를 찾기 위해 행렬 곱셈을 번 호출해야합니까?


20

발톱은 입니다. 사소한 알고리즘은 시간 안에 발톱을 감지합니다 . 에서 수행 할 수 있습니다 . 여기서 는 다음과 같이 빠른 행렬 곱셈의 지수입니다. 각 꼭지점 v 에 대해 로 유도 된 하위 그래프를 가져 와서 삼각형을 찾으십시오. 그것의 보완. O ( n 4 ) O ( n ω + 1 ) ω N [ v ] vK1,3O(n4)O(nω+1)ωN[v]v

내가 아는 한, 이러한 기본 알고리즘은 알려져 있습니다. Spinrad는 자신의 저서 "효율적인 그래프 표현"에 o(nω+1) 시간 내에 클로 문제를 공개 된 문제로 발견했습니다 (8.3, 103 페이지). 하한의 경우, O(nc) -시간 알고리즘은 삼각형을 찾기 위한 O(nmax(c,2)) -시간 알고리즘을 의미합니다. 따라서 Ω(nω) 를 하한으로 간주 할 수 있습니다 .

의문:

  1. 이것에 어떤 진전이 있습니까? 아니면 불가능하다는 것을 보여주는 진전이 있습니까?
  2. 최고인 O (n ^ {\ omega + 1}) 시간 알고리즘에 다른 자연적인 문제가 있습니까?O(nω+1)

말:

  1. 클로가없는 그래프를 인식하는 대신 클로가 감지되도록 명시 적으로 요청하고 있습니다. 알고리즘이 일반적으로 두 가지를 모두 해결하지만 예외는 거의 없습니다.
  2. 그것은 알고리즘과 이론적 컴퓨터 과학 핸드북에서 선형 시간으로 찾을 수 있다고 주장했지만 오타 일뿐입니다 ( "효율적인 그래프 표현"참조).

당신은 사용할 수 있습니다 . 아론 등의 에서 삼각형을 찾는 방법 하는에 결국 각 노드에 대해 입니다 그래프가 너무 조밀하지 않은 경우 보다 낫습니다 . O(|E|1.41)O(|V||E|1.41)|V|ω+1
RB

@RB, 이것을 지적 해 주셔서 감사합니다. 기본 아이디어는 여전히 삼각형 감지 알고리즘을 번 실행하는 것입니다. 이는 피하고 싶습니다. n
Yixin Cao

삼각형 찾기와 관련이없는 알고리즘을 어떻게 찾을 수 있습니까? 알고리즘이 무엇이든 각 정점의 이웃을 확인해야하기 때문입니다. 나는 모든 정점이 보이도록 일정한 인자 차이를 제외하고는 속성이 매우 로컬 속성이라는 것을 의미합니다. (또는이 지역을 피하는 자연스러운 알고리즘을 상상할 수 없습니다). 모호한 아이디어가 있습니까?
Saeed

2
f (n) 시간에 발톱을 찾을 수 있다면 f (n + 1) 시간에 삼각형을 찾을 수도 있습니다 (그래프를 보완하고 모든 사람에게 연결된 정점을 하나 더 추가하십시오) ) 따라서 우리는 보다 나은 것을 찾기를 희망해서는 안됩니다 . nω
domotorp

1
@domotorp, 부분이 분명한 것 같고 다른 방법은 명확하지 않습니다. 왜 선형 검색이 필요한지 의미합니다. Yixin도 지적했듯이 삼각형 찾기 알고리즘을 사용하지 않고 문제를 해결하는 또 다른 알고리즘이있을 수 있습니다.이 알고리즘을 찾기 가 어렵고 아마도 알고리즘은 선형 검색을 통해 삼각형 찾기를 서브 루틴으로 사용하거나 변환 할 수 있습니다. o(nω+1)
Saeed

답변:


16

직사각형 행렬 곱셈을 사용하여 고밀도 그래프의 경우 보다 약간 더 나을 수 있다고 생각합니다 . Eisenbrand와 Grandoni ( "고정 매개 변수 클릭과 지배적 인 설정의 복잡성", 이론적 컴퓨터 과학 볼륨 326 (2004) 57-67))도 4 자간 검출을 위해 유사한 아이디어를 사용했습니다.O(n1+ω)

하자 우리는 클라우의 존재를 검출 할 수있는 그래프. AV 의 (정렬 된) 정점 세트로 하자 . 다음 부울 행렬 고려 M 사이즈를 | V | × | A | 각 행의 일부에 의해 인덱싱 U V , 각 열의 일부에 의해 색인 ( V , W ) 하고, 해당 항목이 하나 인 경우만 { U , V } G=(V,E)AVM|V|×|A|uV(v,w)A , { V , w } E { U , w } E . M 의 부울 행렬 곱과 그 조옮김 M T를 고려하십시오. 그래프 G는 존재 경우만 클로를 갖는다 { u는 , V } E 의 유입되도록 M M T 에 의해 인덱스 열의 U 의해 인덱스 컬럼 V는 하나이다.{u,v}E{v,w}E{u,w}EMMTG{u,v}EMMTuv

이 알고리즘의 복잡성은 본질적으로 행렬 의 불리언 곱을 n 2 × n 행렬 로 계산하는 복잡도이며 , 여기서 n 은 그래프의 꼭짓점 수를 나타냅니다. 이는 이러한 매트릭스 제품이 시간에 계산 될 수 있다고 알려져있다 O ( N 3.3 ) 보다 이상이며, O ( n은 1 + ω ) 알려진 최선 상부에 결합 ω . 물론, 경우 ω는 = 2 (추측 됨) 다음 두 방법은 동일한 복잡도 수득 O를n×n2n2×nnO(n3.3)O(n1+ω)ωω=2 .O(n3)


큰! 이것은 첫 번째 질문에 정확히 원하는 것입니다. 더 큰 질문이지만 한 번의 행렬 곱셈 호출. 두 번째 질문에 대한 추가 의견이나 답변을 기다렸다가 답변으로 삼을 것입니다.
Yixin Cao

15

행렬 곱셈 을 피하는 방법을 모르겠지만 시간이 적은 수의 시간과 효과적으로 같은 방식으로 분석 할 수 있습니다. 이 트릭은n

Kloks, 톤; Kratsch, Dieter; Müller, Haiko (2000), "작은 유도 하위 그래프를 효율적으로 찾아서 계산하기", 정보 처리 서신 74 (3-4) : 115–121, doi : 10.1016 / S0020-0190 (00) 00047-8, MR 1761552.

첫 번째 관찰은 행렬 곱셈을 할 때 행렬은 실제로 이 아니라 d × d입니다. 여기서 d 는 각 정점의 정도입니다. 왜냐하면 찾고있는 것은 각 정점의 이웃.n×nd×dd

둘째, 무 클로 그래프에서 모든 꼭짓점에는 이웃. 그렇지 않으면, 인접 세트는 보체에 삼각형이 생기지 않도록 가장자리가 너무 적을 것입니다. 따라서 행렬 곱셈을 할 때 크기O( √의 행렬에서만 수행하면됩니다.O(m)n보다는 m ).O(m)n

또한 각 모서리는 끝점 인 두 정점에 대한 행렬 곱셈 문제의 크기에 기여할 수 있습니다. 때 최악의 경우는 발생하는 이 매트릭스 곱셈 문제의 총 크기가로 확산된다 O는 ( 2m크기의 하위 문제O(O(m)의 총 결합 시간을주는 각각O를(m ( 1 + ω ) / 2 ), 희소 오버 그래프의 개선O(Nm은 ω / 2 )R B. 언급 바운드O(m)O(m(1+ω)/2)O(nmω/2)


와우, 그것은 영리한 생각입니다. 하위 선형 검색 (실제로 이것을 반증)을 수행 할 수 있는지 여부와 문제의 본질적 속성에 대해 생각조차하지 않았다고 생각했습니다.
Saeed

데이빗 감사합니다. 두 번째 질문이 아직 눈에 띄지 않는 것 같습니다.
Yixin Cao
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.