해밀턴 사이클이없는 랜덤 그래프를 생성하는 방법은 무엇입니까?


28

클래스 A 가 해밀턴 사이클을 갖는 크기 의 모든 그래프를 나타냅니다 . 이 클래스에서 임의의 그래프를 쉽게 생성 할 수 있습니다. n 개의 고립 된 노드를 취하고 임의의 해밀턴 사이클을 추가 한 다음 모서리를 무작위로 추가합니다.nn

클래스 B 가 해밀턴 사이클을 갖지 않는 크기 의 모든 그래프를 나타냅니다 . 이 클래스에서 무작위 그래프를 어떻게 선택할 수 있습니까? (또는 그와 비슷한 것을하십시오)n


3
첫 번째 절차는 무작위로 그래프를 균일하게 생성한다는 것이 어떻게 분명합니까? 항상 해밀턴 그래프를 생성한다는 것은 분명하지만 나중에 임의로 가장자리를 추가하기 때문에 더 많은 해밀턴 사이클을 도입하여 일부 그래프가 다른 그래프보다 더 자주 나타날 수 있습니다.
Robin Kothari

이것은 맞지만 균일 한 배포는 요청되지 않았습니다 (암시적일 경우).
Raphael

1
예, 나는 균일 성을 신경 쓰지 않습니다. 비 Hamiltonian 그래프 제품군의 모든 그래프에 선택 기회를 제공하고 싶습니다. 균일 샘플링의 문제는 매우 기본입니다. AFAIK, 우리는 해밀턴 사이클을 갖는 그래프는 물론 크기 n의 그래프 패밀리에서 균일하게 샘플링하는 방법을 모릅니다.
Jagadish

답변:


34

특히 범위가 비-해밀턴 그래프 (함수 문자열에서 출력 그래프로 이동) 인 폴리-시간 함수를 의미하기 때문에 불가능합니다 (NP = coNP가 아닌 경우). 비성 숙성 (G에 해밀턴 회로가 없음을 증명하기 위해, 그에 매핑되는 x를 표시하십시오.)


3
이러한 함수가 비 해밀턴 그래프 클래스에 있다고 가정합니다. 분포가 균일 해지기를 원하는 경우에만 해당됩니다. 아래의 Aaron 의견도 참조하십시오 : cstheory.stackexchange.com/questions/562/…
Ohad Kammar

5
이것은 각 그래프를 선택하는 확률에 대해 아무 것도 가정하지 않으며 (균일 한 것처럼) 알고리즘에 의해 출력 될 수있는 그래프는 정확히 비-해밀턴 그래프입니다. 어느 쪽이든 오류를 허용하면 실제로 가능할 수 있습니다.
Noam

1
중요한 분포의 균일 성이 아니라, 비 해밀턴 그래프가 모두 0이 아닌 확률이라는 사실에 동의합니다. 그들 중 하나라도 확률이 0 인 경우, 증거가 적용되지 않습니다 (분포 지원에 대한 추가 지식이없는 경우).
Ohad Kammar

1
@Ohad : 그중 하나가 빠지면 ​​조회 테이블에 추가하면됩니다. 나는 그 문제의 긍정적 인 부분을 놓치면 문제가 시작된다고 생각하지만 균일하게 샘플링하지는 않습니다.
Emil

3
1ϵϵϵ0

11

Bollobas, Fenner 및 Frieze (http://portal.acm.org/citation.cfm?id=22145.22193)는 임의의 그래프에서 해밀턴 사이클을 찾기위한 다항식 시간 알고리즘을 제공합니다. 그래프의. Hamiltonian이 아닌 n 개의 정점 그래프를 생성하려면 임의의 그래프 선택할 수 있습니다Gn,mmn

n


햄 사이클을 찾기위한 전체 확률 알고리즘을 건너 뛸 수 있지만 이것은 좋은 생각입니다. 이 질문은 샘플링 절차가 예상 된 polytime 또는 다른 것으로 실행되도록 요구하지 않습니다. 따라서 선호하는 분포에서 랜덤 그래프를 생성하고 정확한 알고리즘을 사용하여 Hamiltonian인지 확인하고 Hamiltonian 인 경우 폐기하고 프로세스를 반복하십시오. 사용 된 분포가 모든 레이블이 지정된 그래프에 대해 균일 한 분포 인 경우 실제로는 해밀턴이 아닌 모든 레이블이있는 그래프가 균일 한 확률로 생성됩니다.
JimN

1

첫 번째 작업은 Hamiltonian 그래프를 쉽게 확인할 수 있기 때문에 쉽습니다. 그러나 주어진 그래프가 비 해밀턴임을 입증하기 위해 효율적으로 검증 될 수있는 알려진 짧은 증거는 없습니다.


1
나는 터키의 대답이 흥미로운 질문을 제기한다고 생각합니다. 일반적으로 co-NP-complete? 언어에서 균일하게 샘플링 할 수 있습니까?
Suresh Venkat

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