class_docstr: The supergraph structure in GripNet. Each supergraph is a directed acyclic graph (DAG) containing
  supervertices and superedges.
  
  Args:
      supervertex_list (list[SuperVertex]): a list of supervertices.
      superedge_list (list[SuperEdge]): a list of superedges.
      supervertex_para_setting (dict[str, SuperVertexParaSetting], Optional): the parameter settings for each supervertex.
class_docstr_tok: ["The","supergraph","structure","in","GripNet",".","Each","supergraph","is","a","directed","acyclic","graph","(","DAG",")","containing","supervertices","and","superedges",".","Args",":","supervertex_list","(","list","[","SuperVertex","]",")",":","a","list","of","supervertices",".","superedge_list","(","list","[","SuperEdge","]",")",":","a","list","of","superedges",".","supervertex_para_setting","(","dict","[","str",",","SuperVertexParaSetting","]",",","Optional",")",":","the","parameter","settings","for","each","supervertex","."]
docstr: Update the supervertices according to the superedges of the supergraph.
docstr_tok: ["Update","the","supervertices","according","to","the","superedges","of","the","supergraph","."]
code: def __update_supervertex__(self):
      r"""
      Update the supervertices according to the superedges of the supergraph.
      """
      # update the in- and out-supervertex lists of each supervertex
      for n1, n2 in self.G.edges():
          self.supervertex_dict[n2].add_in_supervertex(n1)
          self.supervertex_dict[n1].add_out_supervertex(n2)
  
      # update if the supervertex is a start supervertex of the supergraph
      for _, sv in self.supervertex_dict.items():
          if sv.in_supervertex_list:
              sv.start_supervertex = False
  
imports: import logging
  from typing import Dict, List, Optional
  import networkx
  import torch
label_desc: Use image node_id 3 for calling the SuperGraph obj's underlying member method code with example usage: obj.__update_supervertex__() without return types