답변:
나는 다른 것보다 더 높은 수준의 답변을 제공하려고 노력할 것입니다.
다음과 같은 입력 클래스는 종종 제안 된 알고리즘의 성능 또는 그래프 이론에서 추측의 유효성을 테스트하는 데 유용합니다.
구조화 된 그래프 : 이것은 당면한 문제를 위해 특별히 구조화 된 그래프 클래스에 대한 대략적인 지정입니다. 예를 들어, Turán의 정리에 따르면 삼각형이없는 꼭짓점 에서 가장 밀도가 높은 그래프 는 완전한 이분 그래프 K n / 2 , n / 2 이고; 이 그래프는 삼각형을 피하기 위해 특별히 만들어졌습니다.
"무작위"그래프 : 랜덤 그래프에서와 같이 완전하게 일반화되고 구조화 된 그래프에서와 같이 문제에 대해 완전하게 정의되는 것의 중간입니다. 예를 들어, 이러한 패밀리는 구조화 된 그래프의 임의의 하위 그래프 일 수 있습니다. 이러한 예는 종종 Szemerédi의 규칙 성 정리의 더 강력한 변형을 생성 할 때 발생 합니다. 이러한 예제를 생성하는 한 가지 방법은 임의의 입력을 모델링하는 "의사 난수"에 대한 정의를 도출하여 의사 난수 입력의 경우 알고리즘 또는 추측이 작동 함을 보여줄 수 있습니다. 그런 다음 의사 난수에 대한 장애물을 식별하고 이러한 장애물이있는 그래프는 이에 해당하는 비 랜덤 그래프 모음을 생성 할 수 있습니다. 이 원칙에 대한보다 자세한 논의는2006 년 테리 타오의 ICM의 이야기 . 이 비 랜덤 그래프는 벤 그린 (Ben Green)과 그의 작품 중 일부의 "무 순서"와 대략 일치합니다.
그래프를 생성하기 위해 보통 다음 geng
과 함께 제공 되는 프로그램을 사용합니다 nauty
.
http://cs.anu.edu.au/~bdm/nauty/
이는 무 방향 그래프 ( "그래프"라고도 함)를 생성합니다. 방향성 그래프를 생성하기 위해 directg
항해와 함께 제공되는 출력을 파이프 할 수 있습니다 .
geng을 사용하면 n
정점 까지 모든 그래프 (예 : m
가장자리) 또는 이와 유사한 모든 연결된 그래프 를 테스트하려는 시나리오에 적합 합니다. 더 구체적인 요구 사항이 있으면 질문에 명시하십시오.
Stanford GraphBase가 도움이 될 수 있습니다. http://www-cs-staff.stanford.edu/~knuth/sgb.html
그러나 아마도 그래프를 직접 생성하고 싶거나 생성 된 그래프가 모두 특정 속성을 갖거나 갖지 않기를 원할 것입니다. 랜덤 그래프는 종종 알고리즘이 실제로 사용되는 그래프의 근사치입니다.
Mathematica의 GraphData 수집에서 3054 "표준 명명 된 그래프" 는 크지는 않지만 여전히 유용합니다.
형식은 한 줄에 하나의 그래프이며, 이와 같은 인접 노드의 이름과 목록
{<그래프 이름>, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}
<그래프 이름> 형식은 "AGraph"또는 { "Andrasfai", 6}입니다.
Igraph 패키지에는 랜덤 그래프와 구조화 된 그래프를 포함하여 다양한 유형의 그래프 생성기가 있습니다.
http://igraph.sourceforge.net/doc/html/igraph-Generators.html
그래프 데이터베이스에 대한 흥미롭고 유망한 새로운 커뮤니티 기반 프로젝트가 있습니다.
종이 소개
또는 직접 링크
테스트 인스턴스에 적합한 장소인지 시간이 표시됩니다.
제 9 회 DIMACS 구현 과제-최단 경로 는 "잘 알려진 최단 경로 알고리즘의 벤치 마크 구현뿐만 아니라 표준 벤치 마크 인스턴스 및 생성기 세트"를 생성하기 위해 2005-2006 년에 진행되었습니다.
다운로드 페이지에는 거리 및 시간 가중치가 모두 포함 된 2MB ~ 335MB 범위의 압축 된 USA 도로 네트워크 그래프가 포함되어 있습니다.
http://www.dis.uniroma1.it/challenge9/download.shtml
필자가 장난감 기능으로 구현 한 그래프 함수를 벤치마킹하는 데 유용하다는 것을 알았습니다.
머스킷티어를 사용할 수 있습니다.
https://people.cs.clemson.edu/~isafro/musketeer/index.html
이것은 일부 입력 그래프를 받아들이고 원본과 임의로 유사한 다른 그래프를 생성하는 멀티 스케일 그래프 생성기입니다. 매개 변수는 다른 거친 해상도에서 새로운 구조를 생성 할 수있을 정도로 유연합니다. 갤러리의 예를 참조하십시오. 이 패키지는 검증 및 벤치마킹 알고리즘을위한 실험 인스턴스를 생성하는 데 적합합니다.