docs: def simplify_graph(graph):
      """
      strips out everything but connectivity
  
      Args:
          graph (nx.Graph):
  
      Returns:
          nx.Graph: new_graph
  
      CommandLine:
          python3 -m utool.util_graph simplify_graph --show
          python2 -m utool.util_graph simplify_graph --show
  
          python2 -c "import networkx as nx; print(nx.__version__)"
          python3 -c "import networkx as nx; print(nx.__version__)"
  
      Example:
          >>> # ENABLE_DOCTEST
          >>> from utool.util_graph import *  # NOQA
          >>> import utool as ut
          >>> graph = nx.DiGraph([('a', 'b'), ('a', 'c'), ('a', 'e'),
  
          >>>                     ('a', 'd'), ('b', 'd'), ('c', 'e'),
          >>>                     ('d', 'e'), ('c', 'e'), ('c', 'd')])
          >>> new_graph = simplify_graph(graph)
          >>> result = ut.repr2(list(new_graph.edges()))
          >>> #adj_list = sorted(list(nx.generate_adjlist(new_graph)))
          >>> #result = ut.repr2(adj_list)
          >>> print(result)
          [(0, 1), (0, 2), (0, 3), (0, 4), (1, 3), (2, 3), (2, 4), (3, 4)]
  
          ['0 1 2 3 4', '1 3 4', '2 4', '3', '4 3']
      """
      import utool as ut
      nodes = sorted(list(graph.nodes()))
      node_lookup = ut.make_index_lookup(nodes)
      if graph.is_multigraph():
          edges = list(graph.edges(keys=True))
      else:
          edges = list(graph.edges())
      new_nodes = ut.take(node_lookup, nodes)
      if graph.is_multigraph():
          new_edges = [(node_lookup[e[0]], node_lookup[e[1]], e[2], {}) for e in edges]
      else:
          new_edges = [(node_lookup[e[0]], node_lookup[e[1]]) for e in edges]
      cls = graph.__class__
      new_graph = cls()
      new_graph.add_nodes_from(new_nodes)
      new_graph.add_edges_from(new_edges)
      return new_graph