09.05.2013 Views

Algoritmos Heurísticos de Cobertura de Arcos

Algoritmos Heurísticos de Cobertura de Arcos

Algoritmos Heurísticos de Cobertura de Arcos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P2) Seja xi um nó terminal <strong>de</strong> uma aresta não-orientada ( x i , x j ) . Fixe i x u = , e<br />

v = x j .<br />

P3) Oriente a aresta ( u , v)<br />

<strong>de</strong> u para v. Se i x v = , volte ao passo 1.<br />

P4) Fixe u = v e i<strong>de</strong>ntifique uma nova aresta não-orientada ( u , v)<br />

, tendo u como um<br />

<strong>de</strong> seus terminais. Volte ao passo 3.<br />

Uma vez obtido um grafo completamente orientado, na etapa seguinte (c) um circuito<br />

euleriano é construído. Aar<strong>de</strong>nne-Ehrenfest e Bruijn sugerem o seguinte procedimento, o<br />

qual está contido em [Eis95.1]:<br />

ALGORITMO PARA CONSTRUÇÃO DE UM CIRCUITO EULERIANO NUM<br />

GRAFO ORIENTADO<br />

P1) Construa uma árvore geradora enraizada em um nó qualquer nr.<br />

P2) Rotule todos os arcos, como segue: or<strong>de</strong>ne e rotule os arcos que saem <strong>de</strong> nr num<br />

modo arbitrário; em seguida or<strong>de</strong>ne e rotule os arcos que saem <strong>de</strong> outros nós<br />

sucessivamente, num modo arbitrário, contanto que o último arco seja o usado na<br />

árvore.<br />

P3) Escolhendo um nó arbitrário n, inicie a construção <strong>de</strong> um circuito euleriano,<br />

trilhando pelo arco <strong>de</strong> menor rótulo que emana do nó n; sempre que se entra num<br />

novo nó, o mesmo é <strong>de</strong>ixado através do arco não usado <strong>de</strong> menor rótulo. O<br />

procedimento termina, quando todos os arcos são usados.<br />

Como foi observado por Ford e Fulkerson [For62], seu algoritmo <strong>de</strong> fluxo po<strong>de</strong> ser<br />

aplicado a um grafo par, com unicursalida<strong>de</strong> a priori não conhecida. O algoritmo irá<br />

produzir um fluxo viável, que afirma a unicursalida<strong>de</strong>; ou irá falhar, o que significa que o<br />

grafo não é unicursal.<br />

Se G não é unicursal, um grafo ampliado Ga que satisfaça as condições <strong>de</strong><br />

unicursalida<strong>de</strong> po<strong>de</strong> ser <strong>de</strong>finido. Isso significa acréscimo apropriado <strong>de</strong> cópias <strong>de</strong> alguns<br />

arcos e <strong>de</strong> algumas arestas a G <strong>de</strong> modo que o grafo resultante seja euleriano. Neste caso,<br />

resolver o PCCM é equivalente a achar o acréscimo <strong>de</strong> custo mínimo que torna o grafo<br />

euleriano.<br />

34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!