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
deterministic Cuando 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.
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 las tablas de datos de salida de registro y 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.
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á la solución al problema del árbol de expansión de peso mínimo de enlaces.
outGraphList Especifica la tabla de datos de salida que contendrá información resumida sobre los grafos en memoria.
outLinks Especifica 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.
outNodes Especifica 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.
outputTables Lista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
selfLinks Cuando se establece en True, incluye auto-enlaces cuando se lee un grafo de entrada.
source Especifica el nodo de origen para el problema del árbol de expansión mínimo dirigido.
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 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'?