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 graph ou digraph, 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)
Saída
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.

Veja também

ismultigraph edgecount graph rmedge