답변:
내가 아는 한, 최첨단 기술은
Hans L. Bodlaender, Fedor V. Fomin, Arie MCA Koster, Dieter Kratsch 및 Dimitrios M. Thilikos (2012), "나무 폭에 대한 정확한 알고리즘", 알고리즘 9의 ACM 트랜잭션 (1) : A12, doi : 10.1145 / 239017390390188 .
여기에 설명 된 방법에는 실제로 휴리스틱 최적화를 구현 한 알고리즘이 포함되어 있습니다.
ICTAI 2011에서 Treewidth에 대한 고속 병렬 분기 및 바운드 알고리즘이라는 논문을 작성했습니다 . 다중 코어 에서 트리 폭을 계산할 수 있습니다 . 나는 많은 휴리스틱을 사용했고 프로그램을 수정하는데 많은 시간을 보냈다.
나는 중국의 임의의 학부생이었고 좋은 회의에 참석하지 않았습니다. 그러나 내 실험 결과에 따르면 내 프로그램이 매우 빠르다고 생각합니다. Treewidth lib에서 해결되지 않은 많은 벤치 마크를 해결했으며 프로그램은 IJCAI 09의 Zhou 및 Hansen이 제안한 알고리즘보다 40 배 빠릅니다.
더 이상이 주제에 대해 연구하고 있지 않습니다. 그러나 이전 작업이 도움이된다면 http://www.callowbird.com/undergraduate-stuff.html 에서 내 프로그램 (src 및 exe)을 다운로드 하여 사용해 볼 수 있습니다. (여전히 약간 큰 인스턴스에서는 매우 느립니다)
여기 http://arxiv.org/abs/1304.6321 (올해 FOCS에 수용 됨) Bodlaender et al. 그래프의 트리 폭이 최대 k 인 경우 최대 5k + 4의 트리 분해를 제공하는 알고리즘을 제공합니다. 당신이 관심을 가질 수 있습니다.
다음은 도움이 될 수있는 트리 폭 계산 알고리즘에 대한 두 가지 조사입니다. 첫 번째는 경험적 비교가 있으며 Java 라이브러리로 구현 된 기타 알고리즘이 있습니다.
그래프의 상한, 하한 또는 정확한 트리 폭을 계산하는 많은 알고리즘이 있습니다. 우리는 많은 상한 및 하한 휴리스틱과 두 개의 정확한 알고리즘 (동적 프로그래밍 및 분기 및 바운드 알고리즘)을 구현했습니다. 이 보고서는 다른 종류의 알고리즘을 비교하고 일부 알고리즘이 선호됨을 보여줍니다.
Treewidth는 몇 가지 흥미로운 이론적이고 실용적인 응용 프로그램이있는 그래프 매개 변수입니다. 이 설문 조사는 주어진 그래프의 트리 폭을 결정하고 작은 폭의 트리 분해를 찾는 알고리즘 결과를 검토합니다. 휴리스틱에 대한 실험적 작업 (하한에 대한 상한과 하한에 대한 실험적 작업), 전처리, 정확한 알고리즘 및 사후 처리가 논의됨에 따라 문제의 점근 적 계산 복잡성을 확립하는 두 이론적 결과.
Sage는 treewidth를 정확하게 계산하는 방법을 모르지만 작은 그래프의 경로 너비를 제공 할 수 있습니다.
http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph_decompositions/vertex_separation.html
트리 분해를 계산하기 위해 구현되고 공개 된 것이 있다는 것을 알게되어 기쁩니다. :-)
나단