
    ht                     ~    S SK rS SKJrJr  S/r\" S5      \" S5      \R                  " SS9S	S j5       5       5       rg)
    N)not_implemented_forpy_random_stateaverage_clusteringdirected   approximate_average_clustering)namec                 F   [        U 5      nSn[        U 5      n[        U5       Vs/ s H  n[        UR	                  5       U-  5      PM!     sn HG  n[        XU      5      n[        U5      S:  a  M$  UR                  US5      u  pXU	   ;   d  MB  US-  nMI     XA-  $ s  snf )u{  Estimates the average clustering coefficient of G.

The local clustering of each node in `G` is the fraction of triangles
that actually exist over all possible triangles in its neighborhood.
The average clustering coefficient of a graph `G` is the mean of
local clusterings.

This function finds an approximate average clustering coefficient
for G by repeating `n` times (defined in `trials`) the following
experiment: choose a node at random, choose two of its neighbors
at random, and check if they are connected. The approximate
coefficient is the fraction of triangles found over the number
of trials [1]_.

Parameters
----------
G : NetworkX graph

trials : integer
    Number of trials to perform (default 1000).

seed : integer, random_state, or None (default)
    Indicator of random number generation state.
    See :ref:`Randomness<randomness>`.

Returns
-------
c : float
    Approximated average clustering coefficient.

Examples
--------
>>> from networkx.algorithms import approximation
>>> G = nx.erdos_renyi_graph(10, 0.2, seed=10)
>>> approximation.average_clustering(G, trials=1000, seed=10)
0.214

Raises
------
NetworkXNotImplemented
    If G is directed.

References
----------
.. [1] Schank, Thomas, and Dorothea Wagner. Approximating clustering
   coefficient and transitivity. Universität Karlsruhe, Fakultät für
   Informatik, 2004.
   https://doi.org/10.5445/IR/1000001239

r   r      )lenlistrangeintrandomsample)
Gtrialsseedn	trianglesnodesinbrsuvs
             j/var/www/html/env/lib/python3.13/site-packages/networkx/algorithms/approximation/clustering_coefficient.pyr   r      s    l 	AAIGE.3Fm<mc$++-!#$m<AAhK t9q={{4#!9NI =  =s   &B)i  N)networkxnxnetworkx.utilsr   r   __all___dispatchabler        r   <module>r$      sM     ?
  Z 78= 9  !=r#   