Vous êtes sur la page 1sur 2

Knigsberg

Recorridos eulerianos
Gregorio Hernndez Pealver UPM
Teora de Grafos
2

Euler 1736

Un recorrido euleriano en un grafo es un recorrido que contiene a todas las aristas del grafo exactamente una vez. Un grafo es euleriano si contiene un recorrido euleriano cerrado. Teorema Sea G un grafo conexo G es euleriano Todos los vrtices de G tienen grado par. Consecuencia Un grafo conexo G tiene un recorrido euleriano no cerrado G tiene, exactamente, dos vrtices de grado impar.

Algoritmo de Fleury Paso 1.- Se comienza en un vrtice cualquiera v0 . (O en un impar si hay dos vrtices impares) Paso 2.- Si se ha construido el camino v0 a1 v1 a2...vk-1 ak vk con aristas distintas, se elige la arista siguiente ak+1 con las condiciones: (1) ak+1 incidente con vk (2) no ser puente en el grafo G{a1,a2,...,ak} (salvo que no haya alternativa). Paso 3.- Se sigue hasta que el camino contenga todas las aristas. Complejidad En cada paso se analiza si la arista elegida para avanzar es un puente. Este anlisis cuesta O(q). Como se recorren todas las aristas la complejidad total es O(q2)

Algoritmo de Fleury

Justificacin

Algoritmo de Fleury

Justificacin

El algoritmo produce un recorrido euleriano. Induccin sobre q El resultado es cierto si q=1. Supongamos cierto para q 1 aristas. Caso 1) Todos los vrtices de G son pares Entonces G no puede tener puentes. (Si una arista fuera puente, al borrarla tendramos grafos con slo un vrtice impar). As empezando en un vrtice v y una primera arista uv, el grafo G{uv} tiene q 1 aristas y dos vrtices impares, luego por hiptesis de induccin tenemos un recorrido euleriano en G {uv} que con la arista uv completa un recorrido euleriano cerrado en G.

Caso 2) Supongamos ahora que G tiene dos vrtices impares u, v. Si d(u)=1 y x es el vrtice adyacente, por induccin en G {ux} tenemos el recorrido euleriano de u hasta v. Si d(u)>1, sea P un camino de u a v, y sea ux una arista incidente con u que no est en P. La arista ux no es puente, pues si lo fuera x sera el nico impar en su componente conexa de G {ux}. Por tanto G {ux} es conexo. Distingamos dos casos: Si x=v, entonces todos los vrtices de G {ux} son pares. Si x no es v, entonces hay dos vrtices impares que son x y v. En cualquier caso podemos aplicar la hiptesis de induccin y obtener un recorrido euleriano de x a v en G {ux}. Este recorrido, con la arista ux, nos proporciona el recorrido euleriano de u a v en G.
8

Problema del cartero


a 3 d 5 g 6 6 10 h b 7 2 e 5 6 5

Problema del cartero


b

Algoritmo (Edmonds, Johnson 1973)


7

c 3 f 4 i

8 d 11 12

8 f 9 h

a 3 d 5 g

6 2 6 6 10

7 2 e 5 6 5

c 3 f 4 4 i

G*
9

Entrada: Un grafo conexo ponderado G Salida: Un recorrido ptimo de cartero Paso 1: Hallar el conjunto de vrtices impares S de G. Para cada par de vrtices u, vS, hallar el camino ms corto de u a v y su longitud duv Paso 2: Construir el grafo completo sobre el conjunto S. Asignar a cada arista uv el peso duv. Paso 3: Hallar un emparejamiento perfecto M en KS de peso mnimo Paso 4: Construir G* a partir de G aadiendo las aristas de los caminos correspondientes a las aristas de M Paso 5: Construir un recorrido euleriano en G*. Este ser el recorrido del cartero en G
10

Conversin analgico-digital
00 100

Digrafo de De Bruijn
000

D(2,3)

001 010 01

ab0 ab ab1

b0 b1

1 0 0
10 110

101 011 11 111

Sucesin de De Bruijn recorrido euleriano en el digrafo

Cadena de 0s y 1s con todas las ternas distintas

11

12

Vous aimerez peut-être aussi