Obter caminho detalhado na busca em largura em PROLOG

Dado a busca em largura nos grafos em prolog, um grafo aonde um nó se conecta ao outro atraves do fato conectado(a,b). conectado(b,c). conectado(b,e). e assim por diante, o algoritmo normalmente funcionaria retornando para o usuario a rota mais curta entre algum nó de partida, sendo o primeiro ou nao, e o nó destino, podendo tambem ser qualquer um. O algoritmo se pareceria com este:

/* Chegar de A a Z, retornando caminho percorrido P,
   comecando de um caminho vazio
*/
path(A,Z,P) :- path1(A,Z,(),P).

/* Se ja' cheguei ao destino, parar a busca e incluir
   destino na lista contendo o caminho percorrido */
path1(Z,Z,L,L).

/* Se ainda nao cheguei no destino, encontrar caminho
   parcial de A para Y,  adicionar `a lista contendo o
   caminho parcial e continuar a busca a partir de Y
*/
path1(A,Z,L,P) :- (conectado(A,Y);conectado(Y,A)),
       + member(Y,L),
      path1(Y,Z,(Y|L),P). /* encontra caminho parcial de */
                          /* Y a Z */

Porem eu busco algo diferente para a minha aplicacao, preciso nao receber o caminho mais curto entre o ponto de partida e o de destino, mas sim quero receber o caminho virtual que o algoritmo percorreu para obter esse resultado. Isto é, se ele teve que checar todos os nos da mesma largura, pra so depois aumentar a profundidade, ja que isto que o busca em largura faz obviamente, quero receber nao o caminho direto para o objetivo, mas o caminho figurativo que o algoritmo teve de fazer, isto é, que o caminho que ele me retorne contenha todos nos na mesma largura antes de passar para o proximo nivel, ao inves de nao inclui-los na resposta ao ver que existe um caminho mais curto. Basicamente eu nao quero receber o melhor caminho ideal de X até Y, e sim o caminho que o algoritmo busca em largura teve que percorrer no grafo para me retornar este caminho, como se fosse um debug