optNetwork

minSpanTree

Descripción

Calcula el árbol de expansión mínimo de un grafo. Un árbol de expansión mínimo es un subgrafo de un grafo no dirigido y conexo que conecta todos los vértices, sin ciclos y con el mínimo peso total de las aristas posible. Para un grafo dirigido, el árbol de expansión mínimo también se conoce como arborescencia de expansión mínima (o árbol de abanico).

optNetwork.minSpanTree <result=results> <status=rc> / <deterministic=TRUE | FALSE> <direction="DIRECTED" | "UNDIRECTED"> <display={...}> <distributed=TRUE | FALSE> <graph=integer> <indexOffset=integer> <links={...}> <linksVar={...}> <logFreqTime=integer> <logLevel="AGGRESSIVE" | "BASIC" | "MODERATE" | "NONE"> <multiLinks=TRUE | FALSE> <nodes={...}> <nodesVar={...}> <nThreads=integer> <out={...}> <outGraphList={...}> <outLinks={...}> <outNodes={...}> <outputTables={...}> <selfLinks=TRUE | FALSE> <source="string" | double | 64-bit-integer> <standardizedLabels=TRUE | FALSE> <standardizedLabelsOut=TRUE | FALSE> ;
Parámetros
ParámetroDescripción
deterministicCuando se establece en True, asegura que cada invocación (con la misma configuración de máquina y ajustes de parámetros) produce 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 las tablas de datos de salida de registro y 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.
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á la solución al problema del árbol de expansión de peso mínimo de enlaces.
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 que calculan métricas sobre los enlaces.
outNodesEspecifica la tabla de datos de salida que contendrá la información de los nodos del grafo junto con los resultados de los algoritmos que calculan métricas sobre los nodos.
outputTablesLista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
selfLinksCuando se establece en True, incluye auto-enlaces cuando se lee un grafo de entrada.
sourceEspecifica el nodo de origen para el problema del árbol de expansión mínimo dirigido.
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 un formato estandarizado.
Creación de Datos de Enlaces

Este ejemplo crea un conjunto de datos `LinkSetIn` que representa los enlaces de un grafo, incluyendo sus pesos, para ser utilizado en el cálculo del árbol de expansión mínimo.

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

Ejemplos

Este ejemplo calcula el árbol de expansión mínimo para el grafo no dirigido definido en `mycas.LinkSetIn` y guarda los enlaces resultantes en la tabla `mycas.MstOut`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 optNetwork.minSpanTree /
3 links={name='LinkSetIn'}
4 out={name='MstOut', replace=true};
5RUN;
Resultado :
La tabla de salida `MstOut` es creada y contiene los enlaces que forman el árbol de expansión mínimo del grafo de entrada. El peso total del árbol se muestra en el resumen de la solución.

Este ejemplo calcula una arborescencia de expansión mínima (un árbol de expansión mínimo dirigido) para el grafo dirigido definido en `mycas.LinkSetIn`, comenzando desde el nodo de origen 'A'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 optNetwork.minSpanTree /
3 direction='DIRECTED'
4 links={name='LinkSetIn'}
5 SOURCE='A'
6 out={name='MstArborescence', replace=true};
7RUN;
Resultado :
La tabla de salida `MstArborescence` contiene los enlaces que forman la arborescencia de expansión mínima desde el nodo 'A'.

FAQ

¿Cuál es el propósito de la acción minSpanTree en SAS Viya?
¿Cómo se especifica si el grafo es dirigido o no dirigido?
¿Qué es el parámetro 'source' y cuándo se utiliza?
¿Cómo se define el grafo de entrada para la acción minSpanTree?
¿Para qué sirve la tabla de salida especificada en el parámetro 'out'?
¿Qué hace el parámetro 'multiLinks'?