ó
    †~i  ã                   óü   • S r SSKrSSKJr  / SQr\" S5      \R                  " SSS9SS j5       5       r\" S5      \R                  " SSS9SS	 j5       5       r\" S5      \R                  " SSS9SS
 j5       5       r	g)z,
Generators for random intersection graphs.
é    N)Úpy_random_state)Ú!uniform_random_intersection_graphÚk_random_intersection_graphÚ!general_random_intersection_graphé   T)ÚgraphsÚreturns_graphc                 ór   • SSK Jn  UR                  XX#5      n[        R                  " U[        U 5      5      $ )u7  Returns a uniform random intersection graph.

Parameters
----------
n : int
    The number of nodes in the first bipartite set (nodes)
m : int
    The number of nodes in the second bipartite set (attributes)
p : float
    Probability of connecting nodes between bipartite sets
seed : integer, random_state, or None (default)
    Indicator of random number generation state.
    See :ref:`Randomness<randomness>`.

See Also
--------
gnp_random_graph

References
----------
.. [1] K.B. Singer-Cohen, Random Intersection Graphs, 1995,
   PhD thesis, Johns Hopkins University
.. [2] Fill, J. A., Scheinerman, E. R., and Singer-Cohen, K. B.,
   Random intersection graphs when m = !(n):
   An equivalence theorem relating the evolution of the g(n, m, p)
   and g(n, p) models. Random Struct. Algorithms 16, 2 (2000), 156â€“176.
r   )Ú	bipartite)Únetworkx.algorithmsr   Úrandom_graphÚnxÚprojected_graphÚrange)ÚnÚmÚpÚseedr   ÚGs         Ú]/home/mande/repo/quber/.venv/lib/python3.13/site-packages/networkx/generators/intersection.pyr   r      s0   € õ< .à×Ñ˜q QÓ-€AÜ×Ò˜a¤ q£Ó*Ð*ó    c           	      ó$  • [         R                  " X-   5      n[        X U-   5      n[        U 5       H<  nUR                  XR5      nUR	                  [        U/[        U5      -  U5      5        M>     [         R                  " U[        U 5      5      $ )aÜ  Returns a intersection graph with randomly chosen attribute sets for
each node that are of equal size (k).

Parameters
----------
n : int
    The number of nodes in the first bipartite set (nodes)
m : int
    The number of nodes in the second bipartite set (attributes)
k : float
    Size of attribute set to assign to each node.
seed : integer, random_state, or None (default)
    Indicator of random number generation state.
    See :ref:`Randomness<randomness>`.

See Also
--------
gnp_random_graph, uniform_random_intersection_graph

References
----------
.. [1] Godehardt, E., and Jaworski, J.
   Two models of random intersection graphs and their applications.
   Electronic Notes in Discrete Mathematics 10 (2001), 129--132.
)r   Úempty_graphr   ÚsampleÚadd_edges_fromÚzipÚlenr   )r   r   Úkr   r   ÚmsetÚvÚtargetss           r   r   r   3   sv   € ô8 	�Š�q‘uÓ€AÜ�˜‘E‹?€DÜ�1ŽXˆØ—+‘+˜dÓ&ˆØ	×Ñœ˜a˜S¤3 w£<Ñ/°Ó9Ö:ñ ô ×Ò˜a¤ q£Ó*Ð*r   c                 ó\  • [        U5      U:w  a  [        S5      e[        R                  " X-   5      n[	        X U-   5      n[	        U 5       H>  n[        XR5       H,  u  pxUR                  5       U:  d  M  UR                  Xg5        M.     M@     [        R                  " U[	        U 5      5      $ )u¨  Returns a random intersection graph with independent probabilities
for connections between node and attribute sets.

Parameters
----------
n : int
    The number of nodes in the first bipartite set (nodes)
m : int
    The number of nodes in the second bipartite set (attributes)
p : list of floats of length m
    Probabilities for connecting nodes to each attribute
seed : integer, random_state, or None (default)
    Indicator of random number generation state.
    See :ref:`Randomness<randomness>`.

See Also
--------
gnp_random_graph, uniform_random_intersection_graph

References
----------
.. [1] Nikoletseas, S. E., Raptopoulos, C., and Spirakis, P. G.
   The existence and efficient construction of large independent sets
   in general random intersection graphs. In ICALP (2004), J. DÂ´Ä±az,
   J. KarhumÂ¨aki, A. LepistÂ¨o, and D. Sannella, Eds., vol. 3142
   of Lecture Notes in Computer Science, Springer, pp. 1029â€“1040.
z(Probability list p must have m elements.)	r   Ú
ValueErrorr   r   r   r   ÚrandomÚadd_edger   )	r   r   r   r   r   r   Úur    Úqs	            r   r   r   W   s‰   € ô< ˆ1ƒv�ƒ{ÜÐCÓDÐDÜ
�Š�q‘uÓ€AÜ�˜‘E‹?€DÜ�1ŽXˆÜ˜–L‰DˆAØ�{‰{‹}˜qÕ Ø—
‘
˜1Ö ó !ñ ô ×Ò˜a¤ q£Ó*Ð*r   )N)
Ú__doc__Únetworkxr   Únetworkx.utilsr   Ú__all__Ú_dispatchabler   r   r   © r   r   Ú<module>r.      s¥   ðñó Ý *ò€ñ �ÓØ×Ò˜¨TÑ2ó+ó 3ó ð+ñD �ÓØ×Ò˜¨TÑ2ó+ó 3ó ð+ñD �ÓØ×Ò˜¨TÑ2ó$+ó 3ó ñ$+r   