code: def max_clique(G):
      r"""Find the Maximum Clique
  
      Finds the $O(|V|/(log|V|)^2)$ apx of maximum clique/independent set
      in the worst case.
  
      Parameters
      ----------
      G : NetworkX graph
          Undirected graph
  
      Returns
      -------
      clique : set
          The apx-maximum clique of the graph
  
      Examples
      --------
      >>> G = nx.path_graph(10)
      >>> nx.approximation.max_clique(G)
      {8, 9}
  
      Raises
      ------
      NetworkXNotImplemented
          If the graph is directed or is a multigraph.
  
      Notes
      -----
      A clique in an undirected graph G = (V, E) is a subset of the vertex set
      `C \subseteq V` such that for every two vertices in C there exists an edge
      connecting the two. This is equivalent to saying that the subgraph
      induced by C is complete (in some cases, the term clique may also refer
      to the subgraph).
  
      A maximum clique is a clique of the largest possible size in a given graph.
      The clique number `\omega(G)` of a graph G is the number of
      vertices in a maximum clique in G. The intersection number of
      G is the smallest number of cliques that together cover all edges of G.
  
      https://en.wikipedia.org/wiki/Maximum_clique
  
      References
      ----------
      .. [1] Boppana, R., & Halldórsson, M. M. (1992).
          Approximating maximum independent sets by excluding subgraphs.
          BIT Numerical Mathematics, 32(2), 180–196. Springer.
          doi:10.1007/BF01994876
      """
      # finding the maximum clique in a graph is equivalent to finding
      # the independent set in the complementary graph
      cgraph = nx.complement(G)
      iset, _ = clique_removal(cgraph)
      return iset
  
imports: import networkx
  from networkx.algorithms.approximation import ramsey
  from networkx.utils import not_implemented_for
label_desc: Use image node_id 2 for calling a global function with example usage: max_clique(G) and returns: iset