title: Questions on a modularity-based partitioning using networkx
body: <p>given an edge list as seen in the code below:</p>
  
  <pre><code>import networkx as nx
  from networkx.algorithms.community import greedy_modularity_communities
  from networkx.algorithms.cuts import conductance
  
  # Create a networkx graph object
  my_graph = nx.Graph() 
  
  # Add edges to to the graph object
  # Each tuple represents an edge between two nodes
  my_graph.add_edges_from([
                          (1,2), 
                          (1,3), 
                          (3,4), 
                          (1,5), 
                          (3,5),
                          (4,2),
                          (2,3),
                          (3,0)])
  
  # Draw the resulting graph
  nx.draw(my_graph, with_labels=True, font_weight='bold')
  
  # Modularity
  c = list(greedy_modularity_communities(my_graph))
  </code></pre>
  
  <p>We obtain as a cut:</p>
  
  <pre><code>[frozenset({0, 2, 3, 4}), frozenset({1, 5})]
  </code></pre>
  
  <p>If we look at its corrensponding graph: </p>
  
  <p><a href="https://i.stack.imgur.com/LZ8Ma.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LZ8Ma.png" alt="enter image description here"></a></p>
  
  <p>why are here node 1 and 5 removed or considered as a good split, and not node 0 removed from the rest of the graph instead? </p>
  
  <p>Thank you in advance for any hints
  Best regards</p>