랜덤 그래프에서 짧은 사이클을 찾는 데 얼마나 걸립니까?


9

허락하다 GG(n,n1/2) 에 무작위 그래프이다 n3/2가장자리. 매우 높은 확률로G 많이있다 4사이클. 우리의 목표는 다음 중 하나를 출력하는 것입니다4가능한 빨리 순환합니다.

우리가 액세스 할 수 있다고 가정 G 인접성 목록 양식에서 우리는 일정한 확률로 성공할 수 있습니다. O(n) 다음과 같이 시간 : 노드를 선택하십시오 v 그리고 무작위로 생성 시작 2-경로 v; 일단 우리가 두 가지를 발견하면2엔드 포인트를 공유하는 경로가 완료되었습니다. 있다n 가능한 종점, 그리고 생일 역설에 의해 우리는 발견 후 일정한 확률로 성공합니다 n 그들의.

더 잘할 수 있을까요? 특히, 일정한 확률로 성공하는 일정한 시간 알고리즘이 가능한가?


이 그래프에는 가장자리가 너무 적어 원하는 속성을 가질 수 없습니다. 표준 용어를 사용하는 경우 G(n,p) 샘플 p=(n/C(n,2))=O(n3/2)
kodlu

고마워, 당신 말이 맞아 p=n1/2(편집). 이 그래프는C4두 노드가 공유 할 때마다 2노드 쌍당 일정한 확률로 발생하는 이웃.
GMB

여기에서 용어를 사용하고 있습니다 ( en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model ). 여기서 각 모서리는 확률로 독립적으로 포함됩니다p따라서 모서리가 기대됩니다. p(n2)
GMB

답변:


6

아니요, 쿼리를 이길 수 없습니다 . 나는 적응 형 알고리즘에 적합한 방식으로 exfret의 증명 스케치 를 공식화하는 방법을 설명 할 것이다 . 이것은 모두 exfret의 답변에서 예상됩니다. 세부 사항을 채우고 있습니다.Θ(n)

각 질의가 " 정점 의 인접리스트 의 번째 에지를 가져 오거나"또는 "정점 가 에지에 의해 연결되어 있는지 여부를 테스트하는" 쿼리 시퀀스를 실행하는 (어댑티브 적응 형) 알고리즘을 고려하십시오 . 쿼리를 반복하는 알고리즘은 쿼리를 반복하지 않는 알고리즘으로 변환 할 수 있으므로 쿼리가 반복되지 않는다고 가정 할 수 있습니다. 마찬가지로 알고리즘은 이미 에지로 연결된 것으로 알려진 정점 쌍에 대해 연결 쿼리를 수행하지 않는다고 가정 할 수 있습니다 (즉, 가 의 페치 쿼리에 의해 이전에 반환 된 경우 테스트 또는 는 의 페치 쿼리에서 이전에 반환ivv,wv,wwvvw또는 이전에 연결을 테스트했습니다 .)w,v

하자 처음 동안하는 경우 나타내는 쿼리, 더 정점 하나 반환 이전에 조회 한 정점 쿼리를 가져, 어떤 쿼리 가져 오기보다 더 많은 반환하지를 않고 연결 테스트 쿼리 반환 "연결 없음 ". 경우 임을 증명합니다EkkwPr[Eq]=1o(1)q=o(n) . 따라서 쿼리 를 만드는 알고리즘 은 4주기를 찾을 확률이 일정 하지 않습니다 .o(n)

우리는 이것을 어떻게 증명합니까? 계산하자Pr[Ek|Ek1] . 두 번째 경우가 있습니다. 번째 쿼리는 페치 쿼리이거나 연결 테스트 쿼리입니다.k

  1. 경우] 번째 쿼리입니다 정점에 쿼리 가져 ,있다 가장 먼저 언급 한 꼭지점 쿼리하고, 경우에 번째 쿼리 반환 그 중 하나는 우리가해야합니다 달리, 우리는 를 가질 것 입니다. 이제 번째 쿼리에 대한 응답 은 정점 세트 에 균일하게 분산됩니다. 여기서 에는 에 대한 이전 페치 쿼리에 의해 반환되지 않은 모든 정점이 포함되어 있으므로 번째 쿼리에 대한 응답 은 세트에 균일하게 분산됩니다 이상의 크기kv2(k1)k1k¬EkEkkSSvknk+1. 이들 중 적어도 하나를 칠 확률은 경우 .2(k1)/(nk+1)Pr[Ek|Ek1]12(k1)/(nk+1)

  2. 만약 번째 질문 인 연결성 테스트 질의하고 .kPr[Ek|Ek1]11/n

2 가지 경우에, 우리가q=o(n)

Pr[Ek|Ek1]12(k1)(nk+1).

지금,

Pr[Eq]=k=1qPr[Ek|Eq1].

만약 다음kqn

Pr[Ek|Ek1]12qnq,

그래서

Pr[Eq](12qnq)q.

오른쪽은 대략 입니다. 경우 이있다 .exp{2q2/(nq)}q=o(n)1o(1)

결론적으로 , 때 입니다. 따라서 사이클을 찾을 확률이 일정하려면 (4 사이클은 물론) 가 필요합니다.Pr[Eq]=1o(1)q=o(n)Ω(n)


"k 번째 쿼리가 연결 테스트 쿼리 인 경우 ." 생각하고 있습니까? (그렇더라도 결론은 여전히 ​​통과됩니다.)Pr[Ek|Ek1]11/n11/n
usul

@ usul, 죄송합니다, 감사합니다! 결정된.
DW

5

주어진 정점 인접 목록의 번째 가장자리 만 쿼리 할 수 ​​있다고 가정 합니다 (정렬되지 않았다고 가정). 이 경우 사이클을 찾기 위해서는 쿼리가 필요합니다. 이는 첫 번째 유형의 모든 쿼리가 다른 정점을 반환하고 두 번째 유형의 모든 쿼리가 두 개의 정점이 연결되지 않았 음을 반환 할 확률이 이기 때문입니다 .in1o(1)

어딘가에 잘못되었거나 문제를 오해하는 경우 수정하십시오.


1
이 증명 스케치는 비 적응 알고리즘 (예 : 미리 수정 된 쿼리)에서만 작동하는 것처럼 들립니다.
usul

@usul 왜 그런가요? 어쨌든 우리는 의사 결정 트리의 한 가지만 사용하고 있습니다.
exfret

아마도 분명히해야합니다. 규정에 따라 질의에 대한 답변을 받으면 일정한 확률로 4주기를 출력 할 수 없다는 것이 분명해야합니다. 그러나 심도 의 의사 결정 트리에 대해 그러한 지점으로 보내질 확률 은 입니다. o(n)1o(1)
exfret

감사! 나는 (임의로) 다른 fleshed-out 버전을 받아 들였지만 당신이 그것을 얻은 것처럼 보입니다. 응답을 감사하십시오.
GMB

1
@GMB 올바른 결정을 내렸다고 생각합니다. 다른 하나는 훨씬 높은 품질의 답변이며 다른 사람들이 먼저 볼 가치가 있습니다.
exfret
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.