Sunteți pe pagina 1din 2

Algoritmo de verificao de circuitos pela aresta.

Para tentar solucionar este algoritmo foi pensado em realizar o seguinte procedimento: dado um conjunto (a, b, c, d, e) de arestas, listaria os vrtices correspondentes a estas arestas (A, B, C, D, E) e ento verificaria se tais vrtices formam um circuito pelo algoritmo do circuito j elaborado. Caso o algoritmo retornasse verdadeiro, ento ao conjunto de arestas tambm formaria um circuito. O exemplo a seguir esclarece melhor a explicao.

Dado esse grafo o algoritmo pensado funcionaria corretamente visto que a partir das arestas (a, b, c, d, e) o algoritmo iria conseguir extrair os vrtices ligados ao conjunto de arestas e ento seria verificado que forma um circuito. Porm ao inserir somente uma nova aresta nesse exemplo e passar um conjunto diferente de aresta, foi notado que o algoritmo falho.

Se passar o conjunto de aresta (a, b, e, g, d) o algoritmo ir extrair os vrtices (A, B, C, D, E) e verificar que tais vrtices formam um circuito e consequentemente que o conjunto de arestas tambm forma o que falso. Para tentar solucionar esse problema foram pensadas algumas formas de modificar o algoritmo de vrtices.

Uma das possveis solues foi: criar uma lista de arestas, com as arestas que foram usadas para verificar se um dado conjunto de vrtices forma um circuito, porm surgem alguns problemas, qual o novo tipo de retorno do algoritmo de vrtices (antes era booleano, agora ser a lista de vrtice, mas isso limitar o algoritmo)? Como extrair a aresta que chega ou sai de um determinado vrtice? No sendo possvel, nem vivel realizar essas modificaes foi feita uma analise mais profunda da estrutura do grafo ento chegou a trs condies para que um dado grupo de aresta possa formar um circuito, as condies so: 1. Todo vrtice que extrado a partir de uma aresta tem que ter pelo menos uma sada (to) que seja uma das arestas do conjunto dado, pois um vrtice que no possui sada no pode formar um circuito. Dado o segundo exemplo o vrtice C no possui sada dentro do conjunto de arestas, pois ele o to das arestas b e g, sendo o from apenas para a aresta c que no est sendo utilizada. 2. Todos os vrtices tem que ter pelo menos uma aresta chegando (to) a ele, no grafo em questo o vrtice F inacessvel. Assim qualquer exemplo com a aresta f seria falsa, pois ele s tem partida (from). 3. Um vrtice pode ter no mximo 2 from dado o conjunto de aresta, caso parta 3 arestas de um vrtice e essas 3 arestas estejam no conjunto dado, no existira circuito formado por todas as arestas. 4. Um vrtice pode ter dois from e um to, desde que um from e to sejam na mesma aresta, exemplo a aresta e do segundo grafo. Caso o to no coincida no existir circuito. Uma vez verificada essas quatro condies e se verdadeiras, ento os vrtices extrados podem ser aplicados ao algoritmo que verifica se um dado conjunto de vrtices forma um circuito. Caso formem, o conjunto de arestas tambm formara. Com isso o algoritmo de verificao de um conjunto de aresta funciona verificando primeiro as quatro condies e depois se os vrtices extrados a partir do from e to (que so propriedades de cada aresta) ir formar um circuito.

S-ar putea să vă placă și