Resumen (Algoritmos III)

De Cuba-Wiki
Revisión del 14:50 10 jul 2007 de 200.125.81.136 (discusión) (→‎Teorema de Euler: Agregue desigualdad para bipartitos)

Segundo Parcial

Grafos Eulerianos

  • Un circuito C en un grafo G se llama un circuito euleriano si C pasa por todos los ejes de G una y sólo una vez. Un grafo es euleriano si contiene un circuito euleriano.
    • Teorema de Euler: Un grafo conexo es euleriano si y sólo si todos sus nodos tienen grado par.
  • Un camino euleriano en un grafo G es un camino que pasa por cada eje de G una y sólo una vez.
    • Un grafo conexo tiene un camino euleriano si y sólo si tiene exactamente dos nodos de grado impar y el resto de los nodos tiene grado par.
  • Un grafo orientado o digrafo, se dice euleriano si tiene un circuito orientado que pasa por cada eje de G una y sólo una vez.
    • Un digrafo conexo es euleriano si y sólo si para todo nodo v de G se verfica que
  • El problema de grafos eulerianos está bien resuelto para todas estas versiones.

Grafos Hamiltonianos

  • Un grafo se dice hamiltoniano si tiene un circuito que pasa por cada nodo de G una y sólo una vez.
  • No es un problema bien resuelto.
  • Sea G un grafo conexo. Si existe tal que G \ W tiene c componentes conexas con entonces G no es hamiltoniano.
  • Sea G un grafo con n ≥ 3 y tal que para todo se verifica que d(v) ≥ n/2 entonces G es hamiltoniano (Dirac).
  • Sea G un grafo con n ≥ 2 tal que para todo par de vértices no adyacentes se verifica que entonces G es hamiltoniano (Ore).

Viajante de comercio

  • El problema del viajante de comercio consiste en hallar un circuito hamiltoniano de longitud minima en un grafo.
  • No es un problema bien resuelto, hay muchas heurísticas para resolverlo. Si las distancias en el grafo son euclideanas, entonces algunas heurísticas son epsilon aproximadas.

Planaridad

  • Un grafo es planar si puede representarse en el plano sin que sus ejes se crucen.
  • y son grafos no planares. es el grafo no planar con el menor número de nodos y es el que tiene el menor número de ejes.

Teorema de Kuratowski

  • Subdividir un eje e = (v,w) de un grafo G, consiste en agregar u un nodo a G y reemplazar el eje e por dos ejes e'= (v,u) y e" = (u,w).
  • Un grafo G' es una subdivisión de otro grafo G si G' se puede obtener de G' por sucesivas operaciones de subdivisión.
  • Dos grafos G y H se dicen homeomorfos si hay un issomorfismo entre una subdivisión de G y una de G'.
  • Un grafo es planar si y sólo si no contiene ningún subgrafo homeomorfo a o .

Teorema de Whitney

  • La operación de contracción de un eje e= (v,w) consiste en eliminar el eje del grafo y considerar sus extremos como un solo nodo u. (quedan como ejes incidentes a u todos los ejes que eran incidentes en v y en w).
  • Un grafo G' es una contracción de otro grafo G si se puede obtener a partir de G por sucesivas operaciones de contracción. En este caso se dice que G es contraible a G'.
  • Un grafo es planar si y sólo si no contiene ningún subgrafo contraible a o .

Teorema de Euler

  • Dada una representación planar de un grafo G, las regiones de G son los conjuntos conexos (en el sentido topológico) maximales que quedan en el plano R2 al sacar los puntos correspondientes a los nodos de G.
  • La frontera de una región es el circuito que rodea a la región (puede tener nodos y ejes repetidos).
  • El grado o tamaño de la región es el número de ejes que tiene su frontera. Por ejemplo, determina una región con una frontera de dos ejes.
  • Si G es planar, entonces , donde es el tamaño de la región f y F es el conjunto de regiones.
  • Si G es planar y conexo, entonces (ecuación de Euler)
  • Si G es planar y , entonces (corolario)
  • Si G es planar, conexo, bipartito y , entonces (corolario)

Coloreo de Grafos

  • Un coloreo válido de los nodos de un grafo G es un asignación de colores a los mismos en la cual 2 nodos adyacentes no tengan el mismo color.
  • El número cromático de un grafo G es el menor número de colores con que se puede colorear un grafo.
  • El polinomio cromático de un grafo indica cuántos coloreos posibles hay en un grafo usando k colores distintos. Por ejemplo, en , el polinomio cromático es .
  • El coloreo es un problema computacionalmente aún no resuelto, que da origen a muchos subproblemas.

Propiedades del número cromático

  • Si G es un grafo bipartito con m > 0, entonces
  • Si G es un circuito simple par, entonces
  • Si G es un circuito simple impar, entonces
  • Si T es un árbol con n > 1, entonces
  • Si H es subgrafo de G, entonces
  • Si es el número de nodos de una clique máxima de G, entonces
  • Si d es el grado del nodo de mayor grado, entonces
  • Si G es un grafo conexo que no es un circuito impar ni un grafo completo con , entonces (Teorema de Brooks)
  • Si G es un grafo planar, entonces (Teorema de los 4 colores)

Matching, Covering, Independent Set

Sea un grafo G =(V,X).

  • Una correspondencia o matching entre los nodos de G, es un conjunto M de ejes tal que para todo nodo v del grafo, v es incidente a lo sumo a un eje e de M.
    • Un nodo v se dice saturado por un matching M si hay un eje de M incidente a v.
    • Dado un matching M en G, un camino alternado en G es un camino simple donde se alternan ejes que están en M con ejes que no están en M.
    • Dados dos matchings M0 y M1 para G, si se toma el grafo G' que resulta de realizar la diferencia simétrica entre los matchings, es decir, X' = (M0 - M1) U (M1 - M0), todas las componentes conexas de G' son nodos aislados o circuitos o caminos simples con ejes alternados en M0 y M1.
    • M es un matching máximo si y sólo si no existe un camino alternado entre pares de nodos no saturados.
  • Un conjunto independiente I de nodos de G, es un conjunto de nodos tal que para todo eje del grafo, e es incidente a lo sumo a un nodo v de I. Es decir, en el subgrafo inducido por I, todos los nodos son aislados.
  • Un recubrimiento de los ejes de G, es un conjunto Rn de nodos tal que para todo eje e de G, e es incidente al menos a un nodo v de Rn. Es decir, vertex cover.
  • Un recubrimiento de los nodos de G, es un conjunto Re de ejes tal que para todo nodo v de G, v es incidente al menos a un eje e de Re.

Equivalencias

  • Cualquier matching M verifica que (redondeado hacia abajo).
  • Cualquier recubrimiento de nodos Re (conjunto de ejes) verifica que (redondeado hacia arriba), pues deben cubrir todos los nodos.
  • Por lo tanto, . En particular, si son iguales, se trata de un matching máximo y un recubrimiento mínimo.
  • También se verifica para cualquier recubrimiento de los ejes Rn (vertex cover) que . En particular, si el grafo es bipartito, la cantidad de ejes del matching máximo es igual a la cantidad de nodos de un vertex cover mínimo.
  • Dado un grafo G sin vértices aislados, I un conjunto independiente máximo y Re un recubrimiento de nodos mínimo, vale que
  • Dado un grafo G, si M es un matching máximo y Re un recubrimiento mínimo de los nodos de V, entonces . Es un problema bien resuelto.
  • Dado un grafo G, si I es un conjunto independiente máximo y Rn un recubrimiento mínimo de los ejes de V, entonces . No es un problema bien resuelto.
  • Dado un grafo G bipartito de m aristas, con I conjunto independiente máximo y Rn recubrimiento mínimo de aristas, vale que .

Flujo

  • El problema consiste en hallar el flujo máximo en una red. En su versión tradicional, se encuentra bien resuelto.
  • Un flujo factible en una red es una función f que verifica que:
    • El flujo no supera la capacidad, es decir, para todo eje e.
    • Se cumple la ley de conservación de flujo, es decir, para todo nodo distinto de s (la fuente) y t (el sumidero), la suma de los f(e) de entrada es igual a la suma de los f(e) de salida.
  • El valor del flujo es la diferencia entre la suma de los f(e) de entrada del sumidero y los de salida, es decir,
  • Un corte en la red N es un subconjunto S de V , tal que la fuente pertenece a S y el sumidero no. El conjunto de ejes que sale de S es SS, y el que llega es SS. S es el complemento de S.
  • Para cualquier corte S, el valor de un flujo F es igual a la diferencia entre la suma de los f(e) que salen de S y la suma de los f(e) que entran.
  • La capacidad de un corte S se define como c(S) igual a la suma de las capacidades de los ejes que salen de S.
  • Vale que , y siempre existe un corte tal que se verifique la igualdad. Entonces si se halla un par F, S tal que la igualdad se verifique, se tiene un flujo máximo y un corte de capacidad mínima.
  • Se utiliza el Algoritmo de Ford y Fulkerson con el Algoritmo del Camino de Aumento para resolverlo. Falla si las capacidades son números irracionales, deben ser enteros positivos (si son racionales pueden convertirse a enteros). En la práctica, se usa la variante de Edmonds y Karp que usa BFS para generar los caminos de aumento, asegurando así complejidad polinomial de .