많은 하위 그래프가있는 그래프가 있습니다. A -> B와 B -> A의 두 방향으로 두 노드를 연결하는 가장자리가 있습니다. 양방향성은 A가 B로 이동하는지 또는 B가 A로 이동하는지에 대한 지식이 없기 때문에 양방향성이 중요하며 어느 것이 올바른지 쉽게 결정할 방법이 없습니다.무향 그래프로 변환하지 않고 유향 그래프에서 부분 그래프를 찾는 방법은 무엇입니까?
거기에 얼마나 많은 하위 그래프가 있는지 알고 싶습니다. 그리고 각 하위 그래프의 가장자리에 판다 데이터 프레임으로 출력하고 싶습니다. 그러나 NetworkX는 제공된 connected_components_subgraph (G) 함수에서 방향이없는 그래프 만 가져옵니다. 그래프를 무향 그래프로 변환하면 connected_components_subgraph()를 사용하여 각 모서리의 노드를 얻을 수 있지만 가장자리 방향을 잃을 수 있습니다.
달성하려는 작업을 수행하는 쉬운 방법이 있습니까?
그래프에 사이클이 있습니까? A → B (→ X) → A? – mike
예, 그래프에 사이클이 있습니다. 모든 하위 그래프에는 순환이있는 것은 아니지만 좋은 그래프가 있습니다. – ericmjl
자, 가능한 모든 하위 그래프를 갖고 싶습니까? 따라서 A -> B와 B -> A가 포함 된 그래프에서 두 개의 그래프를 만들려고합니다. 하나는 가장자리 A -> B이고 다른 하나는 가장자리 B -> A입니까? 그게 맞습니까? 그렇지 않으면 귀하의 질문을 명확히하십시오. 특히 그 마지막 문장. – mike