그래프 알고리즘 테스트를위한 데이터


36

그래프 알고리즘 구현을 테스트하기 위해 거대한 데이터 세트의 소스를 찾고 있습니다. 또한 그래프가 알려진 경우 소스의 그래프 유형 / 분포 (예 : 직접 / 비 지향, 단순 / 간단하지 않음, 가중 / 비가 중)에 대한 정보를 제공하십시오.



그 이론은 어떻습니까? :-)
Nils

답변:



17

나는 다른 것보다 더 높은 수준의 답변을 제공하려고 노력할 것입니다.

다음과 같은 입력 클래스는 종종 제안 된 알고리즘의 성능 또는 그래프 이론에서 추측의 유효성을 테스트하는 데 유용합니다.

  1. HH

  2. 구조화 된 그래프 : 이것은 당면한 문제를 위해 특별히 구조화 된 그래프 클래스에 대한 대략적인 지정입니다. 예를 들어, Turán의 정리에 따르면 삼각형이없는 꼭짓점 에서 가장 밀도가 높은 그래프 는 완전한 이분 그래프 K n / 2 , n / 2 이고; 이 그래프는 삼각형을 피하기 위해 특별히 만들어졌습니다.케이/2,/2

  3. "무작위"그래프 : 랜덤 그래프에서와 같이 완전하게 일반화되고 구조화 된 그래프에서와 같이 문제에 대해 완전하게 정의되는 것의 중간입니다. 예를 들어, 이러한 패밀리는 구조화 된 그래프의 임의의 하위 그래프 일 수 있습니다. 이러한 예는 종종 Szemerédi의 규칙 성 정리의 더 강력한 변형을 생성 할 때 발생 합니다. 이러한 예제를 생성하는 한 가지 방법은 임의의 입력을 모델링하는 "의사 난수"에 대한 정의를 도출하여 의사 난수 입력의 경우 알고리즘 또는 추측이 작동 함을 보여줄 수 있습니다. 그런 다음 의사 난수에 대한 장애물을 식별하고 이러한 장애물이있는 그래프는 이에 해당하는 비 랜덤 그래프 모음을 생성 할 수 있습니다. 이 원칙에 대한보다 자세한 논의는2006 년 테리 타오의 ICM의 이야기 . 이 비 랜덤 그래프는 벤 그린 (Ben Green)과 그의 작품 중 일부의 "무 순서"와 대략 일치합니다.


14

그래프를 생성하기 위해 보통 다음 geng과 함께 제공 되는 프로그램을 사용합니다 nauty.

http://cs.anu.edu.au/~bdm/nauty/

이는 무 방향 그래프 ( "그래프"라고도 함)를 생성합니다. 방향성 그래프를 생성하기 위해 directg항해와 함께 제공되는 출력을 파이프 할 수 있습니다 .

geng을 사용하면 n정점 까지 모든 그래프 (예 : m가장자리) 또는 이와 유사한 모든 연결된 그래프 를 테스트하려는 시나리오에 적합 합니다. 더 구체적인 요구 사항이 있으면 질문에 명시하십시오.


11

Stanford GraphBase가 도움이 될 수 있습니다. http://www-cs-staff.stanford.edu/~knuth/sgb.html

그러나 아마도 그래프를 직접 생성하고 싶거나 생성 된 그래프가 모두 특정 속성을 갖거나 갖지 않기를 원할 것입니다. 랜덤 그래프는 종종 알고리즘이 실제로 사용되는 그래프의 근사치입니다.


9

Mathematica의 GraphData 수집에서 3054 "표준 명명 된 그래프" 는 크지는 않지만 여전히 유용합니다.

형식은 한 줄에 하나의 그래프이며, 이와 같은 인접 노드의 이름과 목록

{<그래프 이름>, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}

<그래프 이름> 형식은 "AGraph"또는 { "Andrasfai", 6}입니다.


이 그래프 또는 방향 그래프입니까?
Emil



3

9 회 DIMACS 구현 과제-최단 경로 는 "잘 알려진 최단 경로 알고리즘의 벤치 마크 구현뿐만 아니라 표준 벤치 마크 인스턴스 및 생성기 세트"를 생성하기 위해 2005-2006 년에 진행되었습니다.

다운로드 페이지에는 거리 및 시간 가중치가 모두 포함 된 2MB ~ 335MB 범위의 압축 된 USA 도로 네트워크 그래프가 포함되어 있습니다.

http://www.dis.uniroma1.it/challenge9/download.shtml

필자가 장난감 기능으로 구현 한 그래프 함수를 벤치마킹하는 데 유용하다는 것을 알았습니다.


0

머스킷티어를 사용할 수 있습니다.

https://people.cs.clemson.edu/~isafro/musketeer/index.html

이것은 일부 입력 그래프를 받아들이고 원본과 임의로 유사한 다른 그래프를 생성하는 멀티 스케일 그래프 생성기입니다. 매개 변수는 다른 거친 해상도에서 새로운 구조를 생성 할 수있을 정도로 유연합니다. 갤러리의 예를 참조하십시오. 이 패키지는 검증 및 벤치마킹 알고리즘을위한 실험 인스턴스를 생성하는 데 적합합니다.

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