경로 너비를 계산하기위한 코드 구현 (= 노드 검색 번호, 정점 분리 번호, 간격 두께)


13

그래프 의 경로 너비 를 계산하는 알고리즘의 구현을 찾고 있습니다. 경로 폭을 계산하는 것은 노드 탐색 수, 정점 분리 수 또는 그래프의 간격 두께를 계산하는 것과 동일하다는 것이 잘 알려져있다. 알고리즘이 매우 빠를 필요는 없습니다. 최대 20 개의 정점 그래프에서 실행하고 싶습니다. 근사치를 제공하는 대신 경로 너비를 정확하게 계산하는 알고리즘이 필요합니다.

그래프의 트리 너비 (관련 개념)를 계산하는 구현이 있지만 경로 너비를 계산할 수는 없다는 것을 알고 있습니다. 모든 조언을 부탁드립니다!

답변:


8

작년에 SAGE 4.8에 간단한 DFS + DP 구현이 추가되었습니다 : sage.graphs.graph_decompositions.vertex_separation.path_decomposition

Cython (GNU GPL) 에서 여기여기 에서 구현 됩니다 . 불필요한 것을 모두 무시하면 매우 간단하고 짧습니다. ω = p w ( G ) 인 시간 . 정리 규칙, 특히 휴리스틱에 의해 가속화 될 수 있습니다.영형(ω2)ω=()


우와 아아 아아아! Sage에 추가되었다는 것을 어떻게 알았습니까? 사람들이 실제로 Sage의 새로운 기능이 무엇인지 살펴 보게되어 반갑습니다 :-)
Nathann Cohen

그건 그렇고 모듈의 문서가 거기에 있고 그것이 어떻게 작동하는지 설명합니다 : sagemath.org/doc/reference/sage/graphs/graph_decompositions/…
Nathann Cohen

실망 시켜서 죄송하지만 실제로는 SAGE 사용자가 아닙니다. Google에서 패치가 기여한 것으로 나타났습니다. SAGE (이미 Cython을 사용하고 있음)에 공헌하지만 더 많은 사람들이 사용할 수있는 업스트림 프로젝트 (NetworkX?)에 공헌하는 것이 더 나을 것 같습니다.
Ralph Versteegen

잘. NetworkX는 더 이상 Sage의 "업스트림"이 아닙니다. 요청하지 않으면 NetworkX를 많이 사용하지 않기 때문입니다. 그리고 다른 부분의 수학을 사용할 수 있다는 점에서 Cython과 선형 프로그래밍 인터페이스도 차이를 만듭니다 .
Nathann Cohen

8

"구현"에 대해 모르지만 확인하십시오

2 ^ n보다 빠른 경로 계산 Karol Suchan 및 Yngve Villanger 매개 변수화 및 정확한 계산, 제 4 회 국제 워크샵, IWPEC 2009, 덴마크 코펜하겐, Springer Verlag, 컴퓨터 과학 강의 노트 5917, 페이지 324-335.


2

히사 오 타마키는 최근에 지시 된 경로 폭에 대한 정확한 알고리즘을 고안했다 (WG 2011). 여기서 그는 자신의 접근 방식을 성공적으로 적용한 사례 (ISCIT 2010)를 참조하므로 알고리즘을 구현 한 것 같습니다.

히사 오 타마키 : 부울 네트워크의 유인자를 정확하게 식별하기위한 지시 된 경로 분해 방식. 통신 및 정보 기술에 관한 국제 심포지엄 (ISCIT 2010), pp. 844-849

Hisao Tamaki : 경계 방향 경로에 대한 다항식 시간 알고리즘. 에서 : 컴퓨터 과학의 그래프 이론 개념에 관한 37 번째 국제 워크숍 (WG 2011), LNCS 6986, 331-342 쪽.

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