optNetwork

clique

Descripción

Calcula las camarillas (cliques) maximales de un grafo. Una camarilla es un subconjunto de nodos en un grafo no dirigido donde cada par de nodos distintos es adyacente. Una camarilla maximal es una camarilla que no puede ser extendida añadiendo un nodo adyacente más.

optNetwork.clique <result=results> <status=rc> / cliqueNumber=TRUE | FALSE, deterministic=TRUE | FALSE, direction="DIRECTED" | "UNDIRECTED", display={...}, distributed=TRUE | FALSE, graph=integer, indexOffset=integer, links={...}, linksVar={...}, logFreqTime=integer, logLevel="AGGRESSIVE" | "BASIC" | "MODERATE" | "NONE", maxCliques=64-bit-integer | "ALL", maxLinkWeight=double, maxNodeWeight=double, maxSize=integer, maxTime=double, minLinkWeight=double, minNodeWeight=double, minSize=integer, multiLinks=TRUE | FALSE, nodes={...}, nodesVar={...}, nThreads=integer, out={...}, outGraphList={...}, outLinks={...}, outNodes={...}, outputTables={...}, selfLinks=TRUE | FALSE, standardizedLabels=TRUE | FALSE, standardizedLabelsOut=TRUE | FALSE, timeType="CPU" | "REAL" ;
Parámetros
ParámetroDescripción
cliqueNumberEspecifica si se debe calcular el número de clique del grafo.
deterministicCuando se establece en True, asegura que cada invocación (con la misma configuración de máquina y ajustes de parámetros) produzca el mismo resultado final.
directionEspecifica si se debe considerar el grafo de entrada como dirigido o no dirigido.
displayEspecifica una lista de tablas de resultados para enviar al cliente para su visualización.
distributedCuando se establece en True, utiliza un grafo distribuido.
graphEspecifica el grafo en memoria a utilizar.
indexOffsetEspecifica el desplazamiento del índice para los identificadores en el registro y las tablas de datos de resultados.
linksEspecifica la tabla de datos de entrada que contiene la información de los enlaces del grafo.
linksVarEspecifica los nombres de las variables de datos para la tabla de enlaces.
logFreqTimeControla la frecuencia n (en segundos) para mostrar los registros de iteración para algunos algoritmos.
logLevelControla la cantidad de información que se muestra en el registro de SAS.
maxCliquesEspecifica el número máximo de cliques a devolver durante la enumeración de cliques.
maxLinkWeightEspecifica la suma máxima de los pesos de los enlaces en un clique.
maxNodeWeightEspecifica la suma máxima de los pesos de los nodos en un clique.
maxSizeEspecifica el número máximo de nodos en un clique.
maxTimeEspecifica la cantidad máxima de tiempo que el algoritmo puede emplear.
minLinkWeightEspecifica la suma mínima de los pesos de los enlaces en un clique.
minNodeWeightEspecifica la suma mínima de los pesos de los nodos en un clique.
minSizeEspecifica el número mínimo de nodos en un clique.
multiLinksCuando se establece en True, incluye multienlaces cuando se lee un grafo de entrada.
nodesEspecifica la tabla de datos de entrada que contiene la información de los nodos del grafo.
nodesVarEspecifica los nombres de las variables de datos para la tabla de nodos.
nThreadsEspecifica el número máximo de hilos a utilizar para el procesamiento multihilo.
outEspecifica la tabla de datos de salida que contendrá las cliques maximales.
outGraphListEspecifica la tabla de datos de salida para contener información resumida sobre los grafos en memoria.
outLinksEspecifica la tabla de datos de salida para contener la información de los enlaces del grafo.
outNodesEspecifica la tabla de datos de salida para contener la información de los nodos del grafo.
outputTablesLista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
selfLinksCuando se establece en True, incluye autoenlaces (bucles) cuando se lee un grafo de entrada.
standardizedLabelsCuando se establece en True, especifica que los datos del grafo de entrada están en un formato estandarizado.
standardizedLabelsOutCuando se establece en True, solicita que los datos del grafo de salida incluyan el formato estandarizado.
timeTypeEspecifica si se debe usar tiempo de CPU o tiempo real para el límite de tiempo máximo.
Creación de la Tabla de Enlaces

Este ejemplo crea la tabla de datos `mycas.Links` que define los enlaces de un grafo no dirigido. Esta tabla se utilizará en los ejemplos posteriores para encontrar cliques.

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

Ejemplos

Este ejemplo básico encuentra la primera clique maximal en el grafo definido en `mycas.Links` y guarda el resultado en la tabla `mycas.Cliques`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ACTION optNetwork.clique /
3 links={name='Links'}
4 out={name='Cliques', replace=true};
5RUN;
6PROC PRINT DATA=mycas.Cliques; RUN;
Resultado :
La tabla de salida `Cliques` contiene los nodos que forman la primera clique maximal encontrada. Por defecto, solo se busca una clique.

Este ejemplo encuentra todas las cliques maximales con un tamaño mínimo de 3 nodos. El parámetro `maxCliques='ALL'` asegura que se enumeren todas las cliques posibles que cumplan con los criterios.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ACTION optNetwork.clique /
3 links={name='Links'}
4 maxCliques='ALL'
5 minSize=3
6 out={name='Cliques_All_Size3', replace=true};
7RUN;
8PROC PRINT DATA=mycas.Cliques_All_Size3; RUN;
Resultado :
La tabla de salida `Cliques_All_Size3` lista todas las cliques maximales que tienen 3 o más nodos. Cada fila representa un nodo dentro de una clique, identificada por la columna 'clique'.

Este ejemplo calcula el número de clique del grafo, que es el tamaño de la clique máxima (la clique con el mayor número de nodos). No se genera una tabla de salida de cliques, solo se muestra el resultado en el log.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ACTION optNetwork.clique /
3 links={name='Links'}
4 cliqueNumber=true;
5RUN;
Resultado :
El log de SAS mostrará el resumen de la solución, incluyendo el 'Número de Clique', que para este grafo es 4 (correspondiente a la clique {A, B, C, D}).

FAQ

¿Qué hace la acción 'clique' en el conjunto de acciones 'optNetwork'?
¿Cómo puedo especificar el número máximo de cliques a encontrar?
¿Es posible filtrar los cliques por su tamaño?
¿Puedo filtrar los cliques basados en el peso de sus nodos o enlaces?
¿Qué es el 'número de clique' y cómo se calcula con esta acción?
¿Qué tablas se utilizan como entrada para la acción 'clique'?
¿Cuál es la tabla de salida principal de la acción 'clique'?