core
Description
L'action `core` du set d'actions `network` permet de calculer la décomposition en cœurs (core decompositionTechnique d'analyse de réseaux (proc NETWORK) identifiant des sous-structures robustes (k-cores) où chaque nœud est connecté à au moins k autres membres, révélant la cohésion interne du graphe.) d'un graphe. C'est un peu comme éplucher un oignon structurel : l'algorithme identifie des sous-graphes imbriqués de plus en plus denses. Un k-cœurSous-graphe maximal où chaque nœud possède au moins k voisins à l'intérieur de ce groupe. Utilisé en analyse de réseaux pour identifier les zones de forte cohésion et les sommets les plus connectés. est le sous-graphe maximal où chaque nœud a un degré d'au moins k. C'est une méthode extrêmement efficace pour identifier les structures de cohésion, détecter les nœuds centraux ou simplifier visuellement un réseau complexe sans perdre ses propriétés fondamentales. C'est l'outil idéal pour séparer le 'noyau dur' de la périphérie bruyante de vos données.
Paramètres Clés
Préparation des données
Création d'un graphe de test pour la décomposition en cœurs
Ce code génère un petit réseau avec un triangle dense (nœuds 1, 2, 3) et des connexions périphériques pour illustrer les différents niveaux de cœurs.
| 1 | DATA mycas.LinkSetIn; |
| 2 | INPUT from $ to $; |
| 3 | DATALINES; |
| 4 | 1 2 |
| 5 | 1 3 |
| 6 | 2 3 |
| 7 | 1 4 |
| 8 | 2 4 |
| 9 | 3 4 |
| 10 | 4 5 |
| 11 | 4 6 |
| 12 | 5 6 |
| 13 | ; |
| 14 | RUN; |
Exemples d'utilisation
Analyse de base du cœur de réseau
Lancement de la décomposition en cœurs avec les paramètres par défaut pour identifier les structures denses.
| 1 | PROC CAS; |
| 2 | network.core / |
| 3 | links = {name = "LinkSetIn"}, |
| 4 | outNodes = {name = "NodeSetOut", replace = true}; |
| 5 | RUN; |
| 6 | ACTION TABLE.fetch / TABLE = "NodeSetOut"; |
| 7 | RUN; |
| 8 | QUIT; |
Résultat Attendu :
Décomposition avancée avec multi-threading et logs détaillés
Exemple utilisant plusieurs threads, un niveau de log agressif et forçant le caractère déterministe pour des environnements de production stables.
| 1 | PROC CAS; |
| 2 | network.core / |
| 3 | direction = "UNDIRECTED", |
| 4 | links = {name = "LinkSetIn"}, |
| 5 | outNodes = {name = "NodeSetOut_Advanced", replace = true}, |
| 6 | logLevel = "AGGRESSIVE", |
| 7 | nThreads = 4, |
| 8 | deterministic = true, |
| 9 | indexOffset = 10; |
| 10 | RUN; |
| 11 | ACTION TABLE.fetch / TABLE = "NodeSetOut_Advanced"; |
| 12 | RUN; |
| 13 | QUIT; |