랜덤 테스트 그래프 알고리즘을위한 입력을 생성합니까?


19

알고리즘을 테스트 할 때 일반적인 접근 방식은 무작위 테스트입니다. 일부 분포 (일반적으로 균일)에 따라 상당한 수의 입력을 생성하고 알고리즘을 실행하고 정확성을 확인합니다. 최신 테스트 프레임 워크는 알고리즘 시그니처가 주어지면 입력을 자동으로 생성 할 수 있지만 몇 가지 제한 사항이 있습니다.

입력이 숫자, 목록 또는 문자열 인 경우 이러한 입력을 간단하게 생성합니다. 나무는 더 어렵지만 여전히 쉽습니다 (확률 론적 맥락이없는 문법이나 비슷한 방법을 사용).

무작위 그래프를 어떻게 효율적으로 생성 할 수 있습니까? 일반적으로 무작위로 균일하게 그래프를 선택하는 것은 원하는 것이 아닙니다. 연결, 평면 또는 사이클이 필요하지 않거나 다른 속성을 수행해야합니다. 불량 샘플링은 잠재적으로 방대한 양의 바람직하지 않은 그래프로 인해 차선책으로 보입니다.

유용한 배포판은 무엇입니까? 여기서 유용한 것은

  • 그래프는 알고리즘을 잘 테스트 할 것입니다.
  • 그것들은 효과적이고 효율적으로 생성 될 수 있습니다.

임의 그래프에 대한 많은 모델이 있다는 것을 알고 있으므로 이와 관련하여 그래프 생성에 가장 적합한 통찰력을 얻을 수 있습니다.

"일부 알고리즘"이 너무 일반적인 경우 최단 경로 찾기 알고리즘을 테스트중인 구체적인 알고리즘 클래스로 사용하십시오. 테스트를위한 그래프는 연결되어 있고 밀도가 높아야합니다 (확률이 높거나 최소한 기대 수준임). 테스트를 위해 최적의 솔루션은 가장 짧은 경로 주위에 임의의 그래프를 생성 하여 원하는 결과를 알 수 있도록하는 것입니다 (다른 알고리즘을 사용하지 않아도 됨).


이 질문에 의해 촉발되었다 하나 .
라파엘

답변:


15

작은 세계 토폴로지의 임의 그래프

세계 토폴로지작은 그래프에서는 노드가 많이 클러스터되어 있지만 노드 사이의 경로 길이는 작습니다. 이와 같은 토폴로지는 로컬 결정이 전 세계적으로 빠르게 전파되므로 검색 문제를 매우 어렵게 만들 수 있습니다. 즉, 지름길은 휴리스틱을 오도 할 수 있습니다. 또한 많은 다른 검색 문제가 작은 세계 토폴로지를 가지고 있음이 밝혀졌습니다.

Watts and Strogatz [1]는 작은 세계 그래프에 대한 모델을 제안 합니다 . 먼저 정규 그래프로 시작합니다. 확률 로 각 간선을 무작위로 재 배열함으로써 장애가 그래프에 도입됩니다 . 경우 , 그래프는 완전히 정규 순서이다. 경우 , 그래프는 완전히 무작위 무질서. 값은 완전히 규칙적이지 않거나 완전히 무질서한 그래프를 생성합니다. 그래프에는 및 대한 작은 세계 토폴로지가 없습니다 ., P = 0 , P = 1 0 < P < 1 , P = 0 , P = 1pp=0p=10<p<1p=0p=1

Watts와 Strogatz는 노드와 가장 가까운 이웃이 있는 링 격자에서 시작 합니다. 격자에서 노드가 무작위로 균일하게 선택되고 다시 연결된 가장자리가 다시 연결됩니다. 재배 선으로 인해 모서리가 중복되면 그대로 유지됩니다. 큰 희소 그래프의 경우 . 여기서 은 그래프가 연결된 상태를 유지합니다.k n k ln ( n ) 1 k ln ( n )nknkln(n)1kln(n)

Watts와 Strogatz의 모델은 다소 인기가 있지만 특정 단점이 있습니다. Walsh [2]는 모형을 사용하여 생성 된 그래프에서 무작위 화 및 재시작 전략의 효과를 조사합니다. Virtanen [3]의 논문도 있습니다.이 논문에는 복잡한 시스템의 사실적인 모델링이 필요한 다른 모델이 포함되어 있습니다.

임의의 단순 평면 그래프

무작위로 개의 꼭짓점 에서 임의의 단순 평면 그래프를 균일하게 생성하는 것이 효율적으로 수행 될 수 있습니다. 개의 정점 갖는 평면 그래프의 수는 생성 함수를 사용하여 결정될 수 있습니다. 값 대 이다 및 각각. 숫자가 너무 복잡하기 때문에 닫힌 수식을 찾을 수 없습니다. Giménez와 Noy [4]는 의 성장에 대한 정확한 점근 추정치를 제공한다 : 여기서 와n g n g n 1 n 9 1 , 2 , 8 , 64 , 1023 , 32071 , 1823707 , 163947848nngngn1n91,2,8,64,1023,32071,1823707,163947848g n g ng n - 7 / 2 γ n n ! , g γ g 0.42609 γ 27.2268720402420291gn

gngn7/2γnn!,
gγ대략적인 값 및 분석적으로 결정되는 상수 입니다.g0.42609γ27.22687

결과의 증거는 Fusy [5]에 의해 매우 효율적인 알고리즘으로 이어진다. Fusy는 대략적인 크기의 랜덤 생성기 및 평면 그래프의 정확한 크기의 랜덤 생성기를 제공합니다. 대략적인 크기 알고리즘은 선형 시간으로 실행되는 반면 정확한 크기 알고리즘은 2 차 시간으로 실행됩니다. 알고리즘은 연결 연속 레벨에 따른 분해에 기초 : 평면 그래프 접속 2 접속 3 접속이 이진 트리.

그런 다음 알고리즘은 Duchon, Flajolet, Louchard 및 Schaeffer의 Boltzmann 샘플러 프레임 워크를 사용하여 평면 그래프의 분해를 랜덤 생성기로 변환하여 작동합니다 [6]. 조합 클래스가 주어지면 Boltzmann 샘플러는 확률로 크기의 객체를 그립니다. 여기서 는 사용자가 조정 한 실제 매개 변수입니다. 또한 확률 분포는 클래스의 모든 객체에 분산되며 동일한 크기의 객체는 동일한 발생 확률을 갖습니다. 또한, 확률 분포는 고정 된 크기로 제한 될 때 균일하다.x n xnxnx

간단한 소개 는 Fusy프리젠 테이션을 참조하십시오 .


[1] DJ Watts와 SH Strogatz. '소규모'네트워크의 집단 역학. Nature, 393 : 440-442, 1998 .

[2] 토비 월시. 작은 세상에서 검색하십시오. 인공 지능에 관한 제 16 차 국제 공동 회의 (IJCAI-99-Vol2), 1172-1177, 1999 페이지 .

[3] Satu Virtanen. 비 균일 랜덤 그래프 모델의 속성. 연구 보고서 A77, 헬싱키 기술 대학교, 이론 컴퓨터 과학 연구소, 2003 .

[4] O. Giménez와 M. Noy. 평면 그래프의 점근 적 열거 및 제한법, arXiv math. CO / 0501269. 이산 수학 및 이론적 컴퓨터 과학 AD (2005), 147-156에 확장 된 초록이 나타났다 .

[5] E. Fusy. 평면 그래프, 이산 수학 및 이론적 컴퓨터 과학 AD (2005), 125-138의 2 차 및 선형 시간 생성 .

[6] P. Duchon, P. Flajolet, G. Louchard 및 G. Schaeffer. 조합 구조의 무작위 생성을위한 Boltzmann 샘플러. 조합론, 확률 및 컴퓨팅, 13 (4-5) : 577-625, 2004 .


3
볼츠만 샘플링에 대해 +1 (00), IMHO는 가장 강력한 자동 랜덤 생성 미적분 !!
Jérémie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.