L'action `clique` est utilisée pour trouver les cliques maximales dans un graphe non orienté. Une clique maximale est un sous-ensemble de sommets où chaque sommet est connecté à tous les autres sommets du sous-ensemble, et il n'est pas possible d'ajouter un autre sommet au sous-ensemble sans perdre cette propriété de complétude.
| Paramètre | Description |
|---|---|
| cliqueNumber | Spécifie s'il faut calculer le nombre de cliques du graphe. |
| deterministic | Lorsque défini sur True, garantit que chaque invocation (avec la même configuration machine et les mêmes paramètres) produit le même résultat final. |
| direction | Spécifie si le graphe d'entrée doit être considéré comme orienté ou non orienté. |
| display | Spécifie une liste de tables de résultats à envoyer au client pour affichage. |
| distributed | Lorsque défini sur True, utilise un graphe distribué. |
| graph | Spécifie le graphe en mémoire à utiliser. |
| indexOffset | Spécifie le décalage d'index pour les identifiants dans les journaux et les tables de données de résultats. |
| links | Spécifie la table de données d'entrée qui contient les informations sur les liens du graphe. |
| linksVar | Spécifie les noms des variables de données pour la table des liens. |
| logFreqTime | Contrôle la fréquence n (en secondes) pour l'affichage des journaux d'itération pour certains algorithmes. |
| logLevel | Contrôle la quantité d'informations affichées dans le journal SAS. |
| maxCliques | Spécifie le nombre maximum de cliques à retourner lors de l'énumération des cliques. |
| maxLinkWeight | Spécifie la somme maximale des poids des liens dans une clique. |
| maxNodeWeight | Spécifie la somme maximale des poids des nœuds dans une clique. |
| maxSize | Spécifie le nombre maximum de nœuds dans une clique. |
| maxTime | Spécifie la durée maximale que l'algorithme peut passer. |
| minLinkWeight | Spécifie la somme minimale des poids des liens dans une clique. |
| minNodeWeight | Spécifie la somme minimale des poids des nœuds dans une clique. |
| minSize | Spécifie le nombre minimum de nœuds dans une clique. |
| multiLinks | Lorsque défini sur True, inclut les liens multiples lors de la lecture d'un graphe d'entrée. |
| nodes | Spécifie la table de données d'entrée qui contient les informations sur les nœuds du graphe. |
| nodesVar | Spécifie les noms des variables de données pour la table des nœuds. |
| nThreads | Spécifie le nombre maximum de threads à utiliser pour le traitement multithread. |
| out | Spécifie la table de données de sortie pour contenir les cliques maximales. |
| outGraphList | Spécifie la table de données de sortie pour contenir des informations récapitulatives sur les graphes en mémoire. |
| outLinks | Spécifie la table de données de sortie pour contenir les informations sur les liens du graphe ainsi que les résultats des algorithmes qui calculent des métriques sur les liens. |
| outNodes | Spécifie la table de données de sortie pour contenir les informations sur les nœuds du graphe ainsi que les résultats des algorithmes qui calculent des métriques sur les nœuds. |
| outputTables | Liste les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur. |
| selfLinks | Lorsque défini sur True, inclut les auto-liens lors de la lecture d'un graphe d'entrée. |
| standardizedLabels | Lorsque défini sur True, spécifie que les données du graphe d'entrée sont dans un format standardisé. |
| standardizedLabelsOut | Lorsque défini sur True, demande que les données du graphe de sortie incluent un format standardisé. |
| timeType | Spécifie s'il faut utiliser le temps CPU ou le temps réel pour la limite de temps maximale. |
Cet exemple crée un ensemble de données `mycas.LinkSetIn` qui représente les liens d'un graphe simple. Chaque ligne définit un lien entre deux nœuds, `from` et `to`.
| 1 | DATA mycas.LinkSetIn; |
| 2 | INPUT from $ to $ @@; |
| 3 | DATALINES; |
| 4 | A B A C A D B C B D C D |
| 5 | E F E G F G H I H J I J |
| 6 | ; |
Cet exemple trouve toutes les cliques maximales dans le graphe défini par `mycas.LinkSetIn` et stocke les résultats dans la table `mycas.Cliques`.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'optNetwork'; |
| 3 | ACTION optNetwork.clique / |
| 4 | links={name='LinkSetIn'} |
| 5 | out={name='Cliques', replace=true} |
| 6 | maxCliques='ALL'; |
| 7 | RUN; |
| 8 | ACTION TABLE.fetch / TABLE='Cliques'; |
| 9 | RUN; |
| 10 | QUIT; |
Cet exemple illustre comment trouver les cliques maximales tout en limitant leur taille. Le paramètre `maxSize=3` restreint les cliques à un maximum de trois nœuds.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'optNetwork'; |
| 3 | ACTION optNetwork.clique / |
| 4 | links={name='LinkSetIn'} |
| 5 | maxSize=3 |
| 6 | out={name='Cliques_MaxSize3', replace=true} |
| 7 | maxCliques='ALL'; |
| 8 | RUN; |
| 9 | ACTION TABLE.fetch / TABLE='Cliques_MaxSize3'; |
| 10 | RUN; |
| 11 | QUIT; |
Cet exemple montre comment utiliser le paramètre `cliqueNumber` pour calculer le nombre de cliques du graphe, qui est la taille de la plus grande clique.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'optNetwork'; |
| 3 | ACTION optNetwork.clique / |
| 4 | links={name='LinkSetIn'} |
| 5 | cliqueNumber=true; |
| 6 | RUN; |
| 7 | QUIT; |
Une plateforme e-commerce souhaite identifier des groupes de produits (3 ou 4 articles maximum) qui sont systématiquement achetés ensemble. L'objectif est de créer des offres pr...
Un opérateur télécom suspecte l'existence de 'Rings' de fraude (numéros s'appelant tous entre eux pour gonfler artificiellement le trafic). Sur un volume important d'appels simu...
Un réseau social lance un concours réservé strictement aux groupes de 5 amis tous connectés entre eux (ni plus, ni moins). Le test doit vérifier la capacité de l'action à filtre...