optNetwork

minCut

Descripción

La acción minCut calcula el corte mínimo de un grafo. Un corte mínimo es un conjunto de enlaces cuyo peso total es el mínimo entre todos los conjuntos de enlaces que separan dos nodos específicos, el nodo origen y el nodo destino.

optNetwork.minCut { deterministic=TRUE | FALSE, direction="DIRECTED" | "UNDIRECTED", display={...}, distributed=TRUE | FALSE, graph=integer, indexOffset=integer, links={...}, linksVar={...}, logFreqTime=integer, logLevel="AGGRESSIVE" | "BASIC" | "MODERATE" | "NONE", maxCuts=integer, maxWeight=double, multiLinks=TRUE | FALSE, nodes={...}, nodesVar={...}, nThreads=integer, outCutSets={...}, outGraphList={...}, outLinks={...}, outNodes={...}, outPartitions={...}, outputTables={...}, selfLinks=TRUE | FALSE, sink="string" | double | 64-bit-integer, source="string" | double | 64-bit-integer, standardizedLabels=TRUE | FALSE, standardizedLabelsOut=TRUE | FALSE }
Parámetros
ParámetroDescripción
deterministicCuando se establece en Verdadero, 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 Verdadero, utiliza un grafo distribuido.
graphEspecifica el grafo en memoria a utilizar.
indexOffsetEspecifica el desplazamiento de índice para los identificadores en el registro y las tablas de datos de salida 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.
maxCutsEspecifica el número máximo de cortes que el algoritmo debe devolver.
maxWeightEspecifica el peso máximo de los cortes que debe devolver el algoritmo.
multiLinksCuando se establece en Verdadero, 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.
outCutSetsEspecifica la tabla de datos de salida que contendrá los conjuntos de cortes mínimos.
outGraphListEspecifica la tabla de datos de salida que contendrá información resumida sobre los grafos en memoria.
outLinksEspecifica la tabla de datos de salida que contendrá la información de los enlaces del grafo junto con los resultados de los algoritmos.
outNodesEspecifica la tabla de datos de salida que contendrá la información de los nodos del grafo junto con los resultados de los algoritmos.
outPartitionsEspecifica la tabla de datos de salida que contendrá las particiones de corte mínimo.
outputTablesLista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
selfLinksCuando se establece en Verdadero, incluye autoenlaces cuando se lee un grafo de entrada.
sinkEspecifica el nodo de destino del corte mínimo.
sourceEspecifica el nodo de origen del corte mínimo.
standardizedLabelsCuando se establece en Verdadero, especifica que los datos del grafo de entrada están en un formato estandarizado.
standardizedLabelsOutCuando se establece en Verdadero, solicita que los datos del grafo de salida incluyan un formato estandarizado.
Creación del Conjunto de Datos de Enlaces

Este conjunto de datos define los enlaces de un grafo. Para cada enlace, se especifican los nodos de origen y destino, junto con un peso.

¡Copiado!
1DATA mycas.LinkSetIn;
2 INPUT from $ to $ weight;
3 DATALINES;
4A B 1
5A C 2
6A D 3
7B E 4
8B F 5
9B G 6
10C E 7
11C F 8
12C G 9
13D E 10
14D F 11
15D G 12
16E H 13
17F H 14
18G H 15
19;
20RUN;

Ejemplos

Este ejemplo calcula el corte mínimo para el grafo de entrada definido en la tabla `LinkSetIn` entre el nodo 'A' como origen y el nodo 'H' como destino.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ACTION optNetwork.minCut /
3 direction = "undirected"
4 links = {name = 'LinkSetIn'}
5 SOURCE = 'A'
6 sink = 'H'
7 outCutSets = {name = 'CutSets', replace=true}
8 outPartitions = {name = 'Partitions', replace=true};
9RUN;
10QUIT;
Resultado :
La acción devuelve el valor del corte mínimo y crea las tablas 'CutSets' y 'Partitions' con los detalles de los enlaces del corte y las particiones de nodos resultantes.

FAQ

¿Cuál es el propósito de la acción minCut en SAS Viya?
¿Cómo se especifican los nodos de origen y destino para el cálculo del corte mínimo?
¿Es posible limitar el número de cortes que devuelve el algoritmo?
¿Cómo puedo filtrar los cortes encontrados basándose en su peso total?
¿En qué tablas de salida se guardan los resultados del corte mínimo?