차수 분포에서 그래프 재구성


12

정도 분포가 주어지면 주어진 정도 분포를 따르는 그래프를 얼마나 빨리 만들 수 있습니까? 링크 또는 알고리즘 스케치가 좋습니다. 그래프를 구성 할 수없는 경우와 그래프를 여러 개 구성 할 수있는 경우 알고리즘은 "아니오"를보고해야합니다.


어서 오십시오! "도 분포"는 어떻게 제공됩니까? 확률 분포로, 학위 목록으로 ...?
Raphael

1
여기에서 연습 2.6을 참조 하십시오 . 주어진 차수에서 그래프를 생성하는 알고리즘이 제공됩니다.
utdiscant

2
Raphael의 의견을 명확히하기 위해 학위 분포를 읽을 때 학위 에 대한 확률 적 분포를 생각합니다. utdiscant가 언급했듯이 학위 순서 는 아마도 당신이 원하는 것입니다. 확률 론적 의미를 의미한다면, 분포를 "근사"하려고하는 무작위 구성 알고리즘을 찾고있을 것입니다. 이 설정에서 "아니오"를보고하는 것은 나에게 많은 의미가 없습니다. 왜냐하면 대부분의 그래프가 일종의 이상치라고 생각하기 때문입니다.
Lucas Cook

그리고 실제로 주어진 정도의 분포로 그래프를 생성하려면 이 백서가 유용한 것으로 보입니다. 그것은 이전의 주석에서 설명 된 알고리즘 인 것 같습니다. 실제로 Wu Yin의 답변에있는 Havel-Hakimi 알고리즘입니다.
utdiscant

답변:


9

이러한 간단한 그래프를 구성하는 방법 (자기 루프 및 평행 모서리 없음)을 원한다면 Havel-Hakimi 정리가 찾고 있습니다. 직접 구글로 할 수 있으며 위키 백과 페이지 정도 (그래프 이론) 도 도움이됩니다.


감사. 네 위키 페이지가이 경우에 도움이됩니다 ..
singhsumit

11

차수 분포가 차수 목록으로 제공되는 경우 차수가 d 1 노드를 사용 하여 다음을 수행 할 수 있습니다 . . . , d n :nd1,...,dn

n -vertices 에 완전한 그래프 을 만듭니다. K n의 각 정점 v i 에 대해 d i 사본 으로 분할합니다 . 여기서 분할한다는 것은 모든 정점 v i 에 모서리가 있지만 v i의 다른 사본에 모서리가없는 여러 사본을 생성한다는 의미 입니다. 경우 D = 0 단순히 정점을 제거한다. 새로운 그래프, 이들 정점 전화 v에 I J1 J D I를 .KnnviKndivividi=0vij1jdi

N=d1+...+dnHHM

MMH1indivi1,...,vidiuiG

O(Nω)ω2.373O(n2ω)


(매우 명확한) 설명에서 행렬 곱셈이 방정식에 들어가는 이유가 전혀 명확하지 않습니다.
Raphael

2
@Raphael 행렬 곱셈은 최대 매칭을 해결하는 방법 중 하나 이며 Edmonds의 매칭 알고리즘의 최고 버전은 에서 실행 되기 때문에 밀도 그래프에 선호되는 방법입니다O(|V||E|)O(N2.5)H
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.