모든 노드가 (X, Y) 좌표를 나타내는 평면 그래프가 있습니다. 가장자리는 평면에서 절대로 교차하지 않습니다. 그래프는 도시의 도로를 나타냅니다. 최소한의 사이클 기준, 즉 둘러싸인 영역을 찾는 데 사용할 수있는 알고리즘을 제공하는 Python 라이브러리가 있습니까? 또는 비교적 간단한 알고리즘 (현재 가장 큰 문제는 효율성이 아닙니다) 현재 NetworkX를 사용하고 있는데, 이는 단지 cycle_basis
이지만 최소한의 주기로는 작동하지 않습니다. 내가 찾은 유일한 참고 자료는 this algorithm이지만, 이것을 전체적으로 읽거나 구현할 시간이 없습니다.평면 그래프의 최소 사이클 기준을 찾는 알고리즘
0
A
답변
0
그래프가 실제로 도시를 대표하는 경우 대기하고, 이미 그래프를 하나 포함하고 있습니다. 그냥 그 embedding의 얼굴을 가져 가라. 하나의 얼굴을 제거 할 수는 없습니다 (최소한의 것입니다). 최소한의 사이클베이스는 독특합니다 (인용 한 종이의 첫 번째 보조 정리). 그래서 당신의 해결책이 있습니다!
+0
링크 된 기사에서 설명한대로 구현했습니다. 기대했던 것보다 훨씬 더 복잡합니다. – tmlen
+0
:)하지만 자신을 포함하는 것을 찾는 것보다 덜 복잡합니다 (이것은 다항식 시간, btw를가집니다) –
관련 문제
- 1. 그래프의 최소 무게를 찾는
- 2. 그래프의 모든 컷을 찾는 알고리즘
- 3. C에서 평면 삽입 (평면 면회) 알고리즘 #
- 4. 비평면 그래프의 평면화를위한 알고리즘
- 5. 선택된 버텍스의 최소 스패닝 트리를 찾는 알고리즘
- 6. 그래프의 노드를 방문하는 순서를 찾는 알고리즘
- 7. 전체 그래프의 최소 비용주기
- 8. 증분 그래프의 사이클 감지
- 9. 임의의 그래프의 사이클 수
- 10. 평면 그래프의 경계 (경계) 찾기 (기하학적 모양)
- 11. 인벤토리의 최소 최대 값을 찾는 알고리즘
- 12. 최소 세트 커버를 찾는 가장 빠른 알고리즘
- 13. 최대 흐름이 주어진 최소 커트를 찾는 알고리즘
- 14. 최소 정지 수를 찾는 욕심 많은 알고리즘
- 15. 평면 그래프 그리기 알고리즘
- 16. 브렌트 사이클 검출 알고리즘
- 17. Floyd의 사이클 찾기 알고리즘
- 18. 가중 그래프의 PageRank 알고리즘
- 19. 트리 그래프의 Dijkstras 알고리즘
- 20. 평면 그래프에서 최대 유량을 찾는 방법은 무엇입니까?
- 21. 3D 평면 알고리즘에서 점의 최소 수직 거리
- 22. 큐빅 평면 그래프에서 해밀턴 사이클을 찾는 것
- 23. 찾는 모든 최소 스패닝 트리
- 24. 순위 알고리즘 기준을 결정하는 방법
- 25. 유향 그래프의 루프 식별을위한 효율적인 알고리즘?
- 26. 그래프의 최소 경로 란 무엇입니까?
- 27. 재귀 최소 스패닝 트리 알고리즘
- 28. EF 4 STE 오브젝트 그래프의 사이클 제거
- 29. cypher를 사용하여 neo4j 특성 그래프의 사이클 감지
- 30. 주어진 최소 무게로 부분 그래프의 수를 최대화하십시오.
그래프의 "그림"을 찾고있는 것 같습니다. 인터넷 검색 "그래프 그리기"를 시도해보십시오. – tmyklebu