§
    bŠtjN  ã                   ó”   — d Z ddlZddlmZ ddlmZ dgZ ed¦  «         ed¦  «        ej        d	„ ¦   «         ¦   «         ¦   «         Z	dS )
z
Ramsey numbers.
é    N)Únot_implemented_foré   )Úarbitrary_elementÚ	ramsey_R2ÚdirectedÚ
multigraphc                 óV  ‡— | st          ¦   «         t          ¦   «         fS t          | ¦  «        Šˆfd„t          j        | ‰¦  «        D ¦   «         }t          j        | ‰¦  «        }t          |                      |¦  «                             ¦   «         ¦  «        \  }}t          |                      |¦  «                             ¦   «         ¦  «        \  }}|                     ‰¦  «         |                     ‰¦  «         t          ||t          ¬¦  «        t          ||t          ¬¦  «        fS )aH  Compute the largest clique and largest independent set in `G`.

    This can be used to estimate bounds for the 2-color
    Ramsey number `R(2;s,t)` for `G`.

    This is a recursive implementation which could run into trouble
    for large recursions. Note that self-loop edges are ignored.

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

    Returns
    -------
    max_pair : (set, set) tuple
        Maximum clique, Maximum independent set.

    Raises
    ------
    NetworkXNotImplemented
        If the graph is directed or is a multigraph.
    c              3   ó(   •K  — | ]}|‰k    ¯|V — Œd S )N© )Ú.0ÚnbrÚnodes     €úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/algorithms/approximation/ramsey.pyú	<genexpr>zramsey_R2.<locals>.<genexpr>,   s'   øè è € ÐDÐD�C¸¸tº¸ˆC¸¸¸¸ÐDÐDó    )Úkey)Úsetr   ÚnxÚall_neighborsÚnon_neighborsr   ÚsubgraphÚcopyÚaddÚmaxÚlen)ÚGÚnbrsÚnnbrsÚc_1Úi_1Úc_2Úi_2r   s          @r   r   r      sÿ   ø€ ð6 ð Ý‰uŒu•c‘e”eˆ|Ðå˜QÑÔ€DØDÐDÐDÐD�2Ô+¨A¨tÑ4Ô4ÐDÑDÔD€DÝÔ˜Q Ñ%Ô%€EÝ˜Ÿš DÑ)Ô)×.Ò.Ñ0Ô0Ñ1Ô1�H€CˆÝ˜Ÿš EÑ*Ô*×/Ò/Ñ1Ô1Ñ2Ô2�H€Cˆà‡G‚GˆD�M„M€MØ‡G‚GˆD�M„M€Mõ ˆs�C�SÐ!Ñ!Ô!¥3 s¨CµSÐ#9Ñ#9Ô#9Ð9Ð9r   )
Ú__doc__Únetworkxr   Únetworkx.utilsr   Úutilsr   Ú__all__Ú_dispatchabler   r   r   r   ú<module>r)      s�   ððð ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à &Ð &Ð &Ð &Ð &Ð &àˆ-€ð Ð�ZÑ Ô ØÐ�\Ñ"Ô"ØÔð%:ð %:ñ Ôñ #Ô"ñ !Ô ð%:ð %:ð %:r   