network

core

Description

L'action `core` calcule la décomposition en k-cœurs d'un graphe. Un k-cœur est un sous-graphe maximal où chaque sommet a un degré d'au moins k. Cette analyse est utile pour comprendre la cohésion et la structure hiérarchique des réseaux.

network.core / deterministic=TRUE | FALSE, direction="DIRECTED" | "UNDIRECTED", display={...}, distributed=TRUE | FALSE, graph=integer, indexOffset=integer, links={...}, linksVar={...}, logFreqTime=integer, logLevel="AGGRESSIVE" | "BASIC" | "MODERATE" | "NONE", maxTime=double, multiLinks=TRUE | FALSE, nodes={...}, nodesVar={...}, nThreads=integer, outGraphList={...}, outLinks={...}, outNodes={...}, outputTables={...}, selfLinks=TRUE | FALSE, standardizedLabels=TRUE | FALSE, standardizedLabelsOut=TRUE | FALSE, timeType="CPU" | "REAL";
Paramètres
ParamètreDescription
deterministicLorsqu'il est 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.
directionSpécifie s'il faut considérer le graphe d'entrée comme orienté ou non orienté.
displaySpécifie une liste de tables de résultats à envoyer au client pour affichage.
distributedLorsqu'il est défini sur True, utilise un graphe distribué.
graphSpécifie le graphe en mémoire à utiliser.
indexOffsetSpécifie le décalage d'index pour les identifiants dans les journaux et les tables de données de résultats.
linksSpécifie la table de données d'entrée qui contient les informations sur les liens du graphe.
linksVarSpécifie les noms des variables de données pour la table des liens.
logFreqTimeContrôle la fréquence n (en secondes) pour l'affichage des journaux d'itération pour certains algorithmes.
logLevelContrôle la quantité d'informations affichées dans le journal SAS.
maxTimeSpécifie la durée maximale que l'algorithme doit consacrer.
multiLinksLorsqu'il est défini sur True, inclut les liens multiples lors de la lecture d'un graphe d'entrée.
nodesSpécifie la table de données d'entrée qui contient les informations sur les nœuds du graphe.
nodesVarSpécifie les noms des variables de données pour la table des nœuds.
nThreadsSpécifie le nombre maximum de threads à utiliser pour le traitement multithread.
outGraphListSpécifie la table de données de sortie pour contenir les informations récapitulatives sur les graphes en mémoire.
outLinksSpécifie la table de données de sortie pour contenir les informations sur les liens du graphe ainsi que tous les résultats des algorithmes qui calculent des métriques sur les liens.
outNodesSpécifie la table de données de sortie pour contenir les informations sur les nœuds du graphe ainsi que tous les résultats des algorithmes qui calculent des métriques sur les nœuds.
outputTablesListe les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur.
selfLinksLorsqu'il est défini sur True, inclut les auto-liens lors de la lecture d'un graphe d'entrée.
standardizedLabelsLorsqu'il est défini sur True, spécifie que les données du graphe d'entrée sont dans un format standardisé.
standardizedLabelsOutLorsqu'il est défini sur True, demande que les données du graphe de sortie incluent un format standardisé.
timeTypeSpécifie s'il faut utiliser le temps CPU ou le temps réel pour la limite de temps maximale.
Préparation des Données Voir la fiche de ce code dataprep
Création de la table de liens

Cet exemple de code SAS crée une table CAS nommée `mycas.Links` qui définit les relations (liens) entre différents nœuds d'un graphe. Chaque ligne représente un lien dirigé d'un nœud `from` vers un nœud `to`.

Copié !
1DATA mycas.Links;
2 INFILE DATALINES missover;
3 INPUT from $ to $ @@;
4 DATALINES;
5A B A C B C B D C D
6;
7RUN;

Exemples

Cet exemple exécute l'action `core` sur la table `Links` pour calculer la décomposition en k-cœurs du graphe. Les résultats, y compris le numéro de cœur pour chaque nœud, sont stockés dans la table de sortie `mycas.OutNodes`.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 ACTION network.core /
3 links={name='Links'}
4 outNodes={name='OutNodes', replace=true};
5RUN;
6QUIT;
Résultat :
Une table CAS nommée `OutNodes` est créée, contenant les nœuds du graphe et leur numéro de k-cœur respectif. Des tables de résumé du problème et de la solution sont également affichées dans les résultats.

Cet exemple calcule la décomposition en k-cœurs en traitant le graphe comme orienté (`direction='DIRECTED'`). Il génère deux tables de sortie : `OutNodesDirected` pour les numéros de cœur des nœuds et `OutLinksDirected` pour les numéros de cœur des liens.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 ACTION network.core /
3 direction='DIRECTED'
4 links={name='Links'}
5 outNodes={name='OutNodesDirected', replace=true}
6 outLinks={name='OutLinksDirected', replace=true};
7RUN;
8QUIT;
Résultat :
Deux tables CAS sont créées : `OutNodesDirected` avec les numéros de cœur pour chaque nœud dans le graphe orienté, et `OutLinksDirected` avec les numéros de cœur pour chaque lien. Les journaux affichent également les résumés du problème et de la solution.

FAQ

Quel est l'objectif de l'action `core` dans l'ensemble d'actions `network` ?
Qu'est-ce qu'un k-cœur (k-core) dans le contexte de l'analyse de réseaux ?
Comment spécifier le graphe à analyser pour l'action `core` ?
Quelle est l'utilité du paramètre `direction` pour cette action ?
Dans quelle table de sortie puis-je trouver les résultats de la décomposition en k-cœurs ?