Explanation of Algorithm para encontrar pontos de articulação ou cortar vértices de um gráfico

Eu procurei na rede e não consegui encontrar nenhuma explicação de um algoritmo DFS para encontrar todos os vértices de articulação de um gráfico. Não existe sequer uma página wiki.

Depois de ler, fiquei sabendo dos fatos básicos daqui.PDF

Existe uma variável em cada nó que está realmente olhando para as bordas traseiras e encontrando o nó mais próximo e mais próximo do nó raiz. Depois de processar todas as arestas, ele seria encontrado.

Mas eu não entendo como encontrar essa variável down & up em cada nó durante a execução do DFS. O que esta variável está fazendo exatamente?

Por favor, explique o algoritmo.

Obrigado.