allpaths
Encontra todos os caminhos simples entre dois nós.
Categoria: Mathematics > Graph and Network Algorithms
Sintaxe
paths = allpaths(G, s, t)
Retorna os caminhos do nó s ao nó t como um cell array.
Descrição
Um caminho é simples quando não repete nenhum nó. Os pesos são ignorados: toda rota conta, não só a mais barata, e para isso existe shortestpath. Em um dígrafo só aparecem rotas que seguem as direções das arestas.
A contagem pode explodir em grafos densos, já que o número de caminhos simples cresce, no pior caso, mais rápido que exponencialmente.
Argumentos de entrada
G- Um
graphoudigraph. s, t- Nós inicial e final, como índices ou nomes.
Argumentos de saída
paths- Cell array de vetores linha. Cada vetor lista os nós de um caminho de
sat.
Exemplo
Rotas de 1 a 5
G = graph([1 1 2 2 3 4], [2 3 3 4 4 5]);
P = allpaths(G, 1, 5);
fprintf('%d paths\n', numel(P))
for k = 1:numel(P)
disp(P{k})
end
Saída
4 paths
1 2 3 4 5
1 2 4 5
1 3 2 4 5
1 3 4 5