simplify
Reúne arestas paralelas e remove laços de um grafo.
Categoria: Mathematics > Graph and Network Algorithms
Sintaxe
H = simplify(G)
Mantém uma aresta para cada par de nós e descarta laços.
H = simplify(G, 'min')
Ao reunir arestas, mantém o menor peso. Outras opções: 'max', 'sum', 'mean', 'first', 'last'.
Descrição
Um multigrafo tem várias arestas entre o mesmo par de nós. simplify reúne cada grupo desses em uma única aresta e, quando há pesos, combina-os com a regra escolhida, por exemplo somando as capacidades de tubos paralelos. Arestas que ligam um nó a ele mesmo são removidas.
Verifique se é necessário com ismultigraph.
Argumentos de entrada
G- Um
graphoudigraph, possivelmente com arestas paralelas. pickWeight- Como combinar os pesos das arestas que se reúnem.
Argumentos de saída
H- Um grafo simples com os mesmos nós.
Exemplo
Detectando um multigrafo antes
G = graph([1 1 2], [2 2 3], [1 2 3]);
ismultigraph(G)
edgecount(G, 1, 2)
ans = logical
1
ans = 2
No MATLAB, simplify(G, 'sum') reuniria as duas arestas entre os nós 1 e 2 em uma de peso 3.
Observações
No MatLivre, simplify está disponível apenas para expressões simbólicas. Chamá-la sobre um grafo gera um erro, por isso o exemplo usa as verificações relacionadas ismultigraph e edgecount.