cyclebasis
Um conjunto de ciclos independentes a partir do qual se podem construir todos os ciclos de um grafo.
Categoria: Mathematics > Graph and Network Algorithms
Sintaxe
cycles = cyclebasis(G)
Retorna uma base fundamental de ciclos como um cell array de listas de nós.
Descrição
O número de ciclos independentes de um grafo é numedges(G) - numnodes(G) + c, em que c é o número de componentes conexos. cyclebasis devolve essa quantidade de ciclos, cada um formado por uma aresta fora da árvore e pelo caminho da árvore entre suas pontas. Qualquer outro ciclo é uma combinação destes, com as arestas compartilhadas se cancelando.
Um grafo sem ciclos devolve um cell array vazio.
Argumentos de entrada
G- Um
graphnão direcionado.
Argumentos de saída
cycles- Cell array com uma célula por ciclo da base. Cada célula lista os nós do ciclo, em ordem.
Exemplo
Dois triângulos com uma aresta em comum
G = graph([1 1 2 2 3], [2 3 3 4 4]);
c = cyclebasis(G);
fprintf('%d independent cycles\n', numel(c))
Saída
2 independent cycles