Um grafo é fortemente conexo (= strongly connected = diconnected) se para qualquer par (v, w) de seus vértices existe um caminho de v a w e também um caminho de w para v. (A segunda afirmação é redundante, mas vou deixá-la aí para maior clareza.)
Em outras palavras, um grafo é fortemente conexo se o território de qualquer vértice é o conjunto de todos os vértices do grafo. Exemplo trivial: um grafo que tem mais de um componente não é fortemente conexo.
A propriedade de conexão forte está estreitamente ligada à presença de ciclos: se um grafo é fortemente conexo então cada um de seus arcos pertence a um ciclo. A recíproca é quase verdadeira: se cada arco do grafo pertence a um ciclo e o grafo tem um só componente então o grafo é fortemente conexo.
Para mostrar que um grafo não é fortemente conexo é suficiente mostrar que algum de seus arcos pertence a um corte dirigido. Melhor ainda: para mostrar que um grafo não é fortemente conexo basta exibir um conjunto-fonte não-trivial (isto é, diferente do conjunto vazio e do conjunto de todos os vértices). É claro que também é suficiente exibir um conjunto-sorvedouro não-trivial.
sorvedourono lugar de
fonte.
sorvedourono lugar de
fonte.
Um componente forte (= strong component = dicomponent) de um grafo é qualquer conjunto X de vértices que seja maximal com relação à seguinte propriedade: para todo par (x, x′) de elementos de X existe um caminho de x a x′. (Não confunda o conceito de componente forte com o conceito mais simples de componente.)
Problema dos componentes fortes: Encontrar os componentes fortes de um grafo dado.
Resolver o problema é construir um algoritmo que receba um grafo e faça uma lista dos vértices de cada um de seus componentes fortes.
É fácil inventar um algoritmo que resolve o problema. É mais difícil inventar um algoritmo que faça o serviço de maneira eficiente. R. Tarjan inventou um tal algoritmo; ele usa busca em profundidade de maneira semelhante à dos algoritmos que procuram ciclos e numeração topológica. Uma versão do algoritmo de Tarjan está implementada no módulo ROGET_COMPONENTS do SGB. Recomendo fortemente estudar aquele módulo.