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.
| Parámetro | Descripción |
|---|---|
| cliqueNumber | Especifica si se debe calcular el número de clique del grafo. |
| deterministic | Cuando 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. |
| direction | Especifica si se debe considerar el grafo de entrada como dirigido o no dirigido. |
| display | Especifica una lista de tablas de resultados para enviar al cliente para su visualización. |
| distributed | Cuando se establece en True, utiliza un grafo distribuido. |
| graph | Especifica el grafo en memoria a utilizar. |
| indexOffset | Especifica el desplazamiento del índice para los identificadores en el registro y las tablas de datos de resultados. |
| links | Especifica la tabla de datos de entrada que contiene la información de los enlaces del grafo. |
| linksVar | Especifica los nombres de las variables de datos para la tabla de enlaces. |
| logFreqTime | Controla la frecuencia n (en segundos) para mostrar los registros de iteración para algunos algoritmos. |
| logLevel | Controla la cantidad de información que se muestra en el registro de SAS. |
| maxCliques | Especifica el número máximo de cliques a devolver durante la enumeración de cliques. |
| maxLinkWeight | Especifica la suma máxima de los pesos de los enlaces en un clique. |
| maxNodeWeight | Especifica la suma máxima de los pesos de los nodos en un clique. |
| maxSize | Especifica el número máximo de nodos en un clique. |
| maxTime | Especifica la cantidad máxima de tiempo que el algoritmo puede emplear. |
| minLinkWeight | Especifica la suma mínima de los pesos de los enlaces en un clique. |
| minNodeWeight | Especifica la suma mínima de los pesos de los nodos en un clique. |
| minSize | Especifica el número mínimo de nodos en un clique. |
| multiLinks | Cuando se establece en True, incluye multienlaces cuando se lee un grafo de entrada. |
| nodes | Especifica la tabla de datos de entrada que contiene la información de los nodos del grafo. |
| nodesVar | Especifica los nombres de las variables de datos para la tabla de nodos. |
| nThreads | Especifica el número máximo de hilos a utilizar para el procesamiento multihilo. |
| out | Especifica la tabla de datos de salida que contendrá las cliques maximales. |
| outGraphList | Especifica la tabla de datos de salida para contener información resumida sobre los grafos en memoria. |
| outLinks | Especifica la tabla de datos de salida para contener la información de los enlaces del grafo. |
| outNodes | Especifica la tabla de datos de salida para contener la información de los nodos del grafo. |
| outputTables | Lista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor. |
| selfLinks | Cuando se establece en True, incluye autoenlaces (bucles) cuando se lee un grafo de entrada. |
| standardizedLabels | Cuando se establece en True, especifica que los datos del grafo de entrada están en un formato estandarizado. |
| standardizedLabelsOut | Cuando se establece en True, solicita que los datos del grafo de salida incluyan el formato estandarizado. |
| timeType | Especifica si se debe usar tiempo de CPU o tiempo real para el límite de tiempo máximo. |
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.
| 1 | DATA mycas.Links; |
| 2 | INFILE DATALINES; |
| 3 | INPUT from $ to $ @@; |
| 4 | DATALINES; |
| 5 | A B A C A D B C B D C D |
| 6 | ; |
| 7 | RUN; |
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`.
| 1 | PROC CAS; |
| 2 | ACTION optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | out={name='Cliques', replace=true}; |
| 5 | RUN; |
| 6 | PROC PRINT DATA=mycas.Cliques; RUN; |
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.
| 1 | PROC CAS; |
| 2 | ACTION optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | maxCliques='ALL' |
| 5 | minSize=3 |
| 6 | out={name='Cliques_All_Size3', replace=true}; |
| 7 | RUN; |
| 8 | PROC PRINT DATA=mycas.Cliques_All_Size3; RUN; |
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.
| 1 | PROC CAS; |
| 2 | ACTION optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | cliqueNumber=true; |
| 5 | RUN; |