¿Qué es la teoría de gráficas y para qué sirve?
En matemáticas, una gráfica es un conjunto de vértices y un conjunto de aristas. Es decir, es un objeto que se puede representar dibujando cierta cantidad de puntos y algunos de los segmentos que unen a parejas de puntos. Por ejemplo, uno puede considerar un vértice por cada persona en una fiesta y una arista entre ellos si se conocen. Estudiar las propiedades de estos objetos es lo que se conoce como teoría de gráficas. La teoría de gráficas se empieza a estudiar formalmente a principios del siglo XVIII, con un trabajo de Euler. Sin embargo, el primer libro de gráficas sale a principios del siglo XX, por König. Es decir, el estudio formal de las gráficas es bastante reciente, y por eso todavía presenta aspectos de un área joven en matemáticas. Es decir, todavía se pueden resolver problemas abiertos (problemas que nadie ha resuelto) con relativamente poca teoría, a diferencia de otras áreas como teoría de campos. El concepto de gráfica es un poco “flojo”, en el sentido en que las gráficas son objetos matemáticos tan generales, que las propiedades universales que tienen son poco interesantes. Sin embargo, ya que uno les pone condiciones, las cosas se vuelven muchísimo más interesantes. Por ejemplo, ¿qué se puede decir de las gráficas que se pueden dibujar en el plano sin que aristas diferentes se corten? ¿Qué se puede decir de las gráficas donde de cada vértice salen muchas aristas? ¿Qué se puede decir de las gráficas que no contienen triángulos?
Todas estas preguntas pronto dejan de ser triviales, y muchos problemas importantes se pueden reducir a esta área. Esto es realmente útil porque una de las ventajas de la teoría de gráficas es que reducir un problema a este lenguaje le premite a uno concentrarse en sólo cierta parte de un problema. Dada una gráfica, conceptos interesantes acerca de esto pueden ser si tiene un ciclo que pase por todos los vértices, o cuál es la menor cantidad de colores que se necesitan para colorear lo vértices y que cada arista tenga sus extremos de colores diferentes, o cuál es la menor cantidad de vértices que se tienen que quitar para que la gráfica quede partida en dos pedazos donde no se puede llegar de uno al otro, etc... Resulta sorprendente que este tipo de preguntas, que comienzan completamente contenidas dentro de la teoría de gráficas, a veces se resuelven con técnicas de áreas que parecerían muy ajenas. Por ejemplo, encontrar la mínima cantidad de colores que se necesitan para colorear los vértices de una gráfica de tal manera que cualquier arista tenga sus extremos de colores diferentes es una pregunta que está sumamente ligada a la topología (por ejemplo, con la gráficas de Kneser). Si uno quiere usar herramientas de otras áreas se abren nuevos campos y nuevas direcciones para trabajar esta teoría. Un ejemplo son la gráficas aleatorias. Aquí uno tiene un conjunto de vértices y coloca las aristas con cierta probabilidad. ¿Cuál es la probabilidad de que la nueva gráfica tenga un ciclo que pase por todos los vértices? ¿Cómo se ve una gráfica aleatoria “típica”? Al ser objetos que pueden representar casi cualquier situación, es común ver este tipo de teoría usada para aplicaciones directas. Una podría ser el estudio de lo que se conoce como “gráficas grandes”, donde nos interesan propiedades que cumplan grandes proporciones de los vértices, en lugar de resultados completamente precisos. Por ejemplo, si uno pone un vértices por cada computadora en el mundo y una arista si están conectadas de manera directa, obtenemos lo que se conoce como la “gráfica de internet”. Saber si es una gráfica conexa no es nada interesantes, siempre hay gente desconectada. Saber si hay esencialemente una sola componente conexa que abarca casi todos los vértices ya es algo interesante. El estudio de gráficas semejantes a esta nos da resultados que se pueden usar de manera directa para entender y mejorar el funcionamiento de internet. También se trabaja con gráficas relacionadas a redes sociales, comunicaciones, interacciones de moléculas, etc... La manera en la que los celulares se conectan de manera rápida es usando algoritmos eficientes para encontrar trayectorias en gráficas conexas con ciertas propiedades. Cabe notar que en general, fuera de México se le conoce a la teoría de gráficas como “teoría de grafos”. Se hace esto en parte para distinguir una gráficas (como el objeto del que hemos estado hablando) de una gráfica de una función (la manera de dibujar funciones que unos siempre ve en la escuela). La razón principal por la que en México se conserva el nombre de “teoría de gráficas” es por seguir el ejemplo de Victor Neumann-Lara, quién fue uno de los pioneros de esta área en nuestro país. Para leer más al respecto, recomiendo ampliamente “Graph Theory with applications” por J.A. Bondy y U.S.R. Murty.
Euler y Hamilton Ciclo de Euler: Recorre todas las aristas del grafo sin repetir ninguna. Teorema:
Sea
G
un
grafo
(finito
y
conexo).
(a) la suma de las valencias de todos sus vertices es par. Es decir, hay un “número par de vértices impares”. (b) Si el número de vértices impares es mayor que dos, el grafo no se puede recorrer [sin pasar dos veces por ninguna arista]. (c) Si el número de vértices impares es cero, el grafo se puede recorrer. Podemos además elegir por qué vértice empezar, y el camino siempre será cerrado (termina donde empezó). (d) Si el número de vértices impares es dos, el grafo se puede recorrer, pero el camino ha de empezar en uno de los dos vértices impares y terminar en el otro. Matriz para recorrer el grafo sin repetir ningúna arista
Matriz de Euler: A,B,C,D,B,E,D,F,E,C,A Se recorren todas sus aristas sin repetirlas
Ciclo de Hamilton: W.R. Hamilton (1805-1865) inventó (y patentó) un juego en el que se trataba de hacer un recorrido por 20 ciudades (vértices) del mundo sin pasar por ninguna más de una vez. Las ciudades estaban unidas por 30 aristas, formando el grafo de un icosaedro. Un circuito hamiltoniano, o de Hamilton, es un grafo G es un camino que comienza y termina en un mismo vértice, pasando exactamente una vez por cada vértice.
Ciclos de Hamilton
Aplicaciones al Ciclo Hamilton Un problema muy común en el ciclo de Hamilton es el problema del viajero que es de optimización combinatoria. El numero finito (n!), exponencial de ciclos hamiltonianos hace que no podamos verificar si un ciclo hamiltoniano en particular sea minimo en tiempo acotado por un polinomio en n. Es decir que el problema del agente viajero es NPcompleto. Lo que se tiene que realizar en este problema es de que te dan una lista de ciudades y sus costos lo que tenemos que encontrar el recorrido mas corto posible que tiene que visitar todas las ciudades que se dan una sola ves.
13.3 Trayectorias y circuitos o ciclos. 13.3.1 Definición. Sean v i y vj dos vértices de un grafo G. Una trayectoria o camino de v i a vj es una sucesión alternada de vértices y aristas de G que comienza en vi y termina en vj. Sí vi = vj entonces la trayectoria es trivial, sin aristas y se denota por vi ó vj. 13.3.2 Definición. Sí una trayectoria o camino de v i a vj no tiene vértices repetidos, se llama trayectoria simple. Un circuito o ciclo es una trayectoria o camino que empieza y termina en el mismo vértice y no tiene aristas repetidas. El circuito se llamará simple si no tiene aristas ni vértices repetidos, excepto el primero y el último. Ejemplo 7 Dado el siguiente grafo, determinar cuál de las sucesiones siguientes son trayectorias, trayectorias simples, circuitos y circuitos simples.
a. v1 e1 v2 e6 v4 e3 v3 e2 v2 b. v1 e8 v4 e3 v3 e7 v1 e8 v4 c. v2 e2 v3 e3 v4 e4 v5 e5 v1 e1 v2 Solución a. Es una trayectoria de v1 a v2, no es simple. b. Es una trayectoria de v1 a v4, no es simple.
c. Es un circuito simple. 13.3.3 Definición. Sea G un grafo. Se dice que G es un grafo conexo si para cada par de vértices vi, vj en G, existe una
trayectoria entre vi y vj. Ejemplo 8 El grafo del ejemplo anterior es un grafo conexo. Ejemplo 9 ¿Cuál de los grafos siguientes es conexo?
Solución a. Conexo. b. Conexo. c. No es conexo. 13.3.4 Teorema. Sea G un grafo conexo con n vértices. Entonces G debe tener al menos n -1 aristas. Si el grafo es simple y con n vértices y si tiene más de ((n-1)/2) aristas, entonces el grafo es conexo. Ejercicios 13.3 1. Dado el grafo siguiente:
2. Hallar: a. Cuatro trayectorias simples diferentes. b. Cuatro circuitos diferentes no simples. c. Cuatro circuitos simples diferentes. 3. Demuestre el teorema 13.3.4. 4. Dibuje un circuito simple que consista en: a. Una sola arista. b. Sólo dos aristas. 5. Si G es un grafo simple con: Seis vértices y once aristas, ¿Puede ser inconexo? ¿Porqué? Seis vértices y diez aristas, ¿Puede ser inconexo? ¿Porqué? o
o
PRODUCTO CARTESIANO PARES ORDENADOS: intuitivamente un par ordenado (a,b) es un par de objetos cual el orden que estos se consideran debe componentes, ser: primero a y despuésen b .elLas letras a y ben se el llaman la primera y la segunda respectivamente, de la pareja ordenada. Dos pares ordenados (a, b) y (c, d) son iguales si solo si a=cyb=d
PRODUCTO CARTECIANO: dados dos conjuntos A y B se llama producto cartesiano (o conjunto producto) de A y B, al conjunto de todos los pares ordenados (a, b) de tal forma que la primera componente a pertenece al conjunto A y la segunda componente b es elemento del conjunto B. Este conjunto se denota por A × B y se lee “A producto cartesiano de B” Simbólicamente A × B = {(a, b) | a ? A ? b ? B} Ejemplos a) Si A = {a, b, c} ; B = {x, y} A × B = = {(a, x), (a, y), (b, x), (b, y), (c, x), (c, y)} Nótese que el conjunto tiene seis elementos b) Si A = {1, 2, 3} ; B = {4, 5, 6} A × B = = {(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)} B × A = = {(4, 1), (4, 2), (4, 3), (5, 1), (5, 2), (5, 3), (6, 1), (6, 2), (6, 2)} Nótese que en este ejercicio cada conjunto tiene nueve elementos, y que A × B?B×A En general, si n(A) = p y n(B) = q entonces, n(A × B) = n(B × A) = pq Además, el producto cartesiano No es conmutativo, es decir A x B ? B x A a menos que A = B o que uno de los conjuntos sea vacío. Si A y B son conjuntos finitos su producto puede ser representado en el plano cartesiano colocando el conjunto A en el eje horizontal, y B en el eje vertical. A cada par ordenado (a,b) le corresponde un punto del plano. Por ejemplo, Si A = {a1, a2, a3, a4} y B = {b1, b2, b3} , el conjunto producto consta de 12 elementos o parejas, y en su representación gráfica deben aparecer 12 puntos que forman un red, así:
Otra forma de representar el producto A × B es mediante un diagrama de árbol. Por ejemplo, si A = {1, 2 ,3} y B = {a, b}, la gráfica arborescente correspondiente a A × B, es:
Relacion binaria Una relación (binaria) R de un conjunto X a un conjunto Y es un subconjunto del producto cartesiano X × Y. si (x, y) ? R escribimos xRy y decimos que x esta relacionado con y. Una relación que es reflexiva, simétrica y transitiva en un conjunto X se llama relación de equivalencia sobre X. Ejemplos a) Sean los conjuntos X = {a, b, c, d} y Y = {1, 2, 3, 4}, definir una relación R de X en Y y determinar el dominio de R y lel rango de R. R = {(a, 1), (b, 2), (c, 3), (d, 4)} El dominio se define por el conjunto {x ? X/(x, y) ? R para algún y ? Y} dominio de R es el conjunto {a, b, c, d}
b) La relación R sobre X = {1, 2, 3, 4} esta definida por “(x, y) ? R si x = y“ es: R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} el dominio de R es el conjunto {1, 2, 3, 4} el rango de R es el conjunto {1, 2, 3, 4} se concluye que: el dominio y el rango son iguales porque la relación está definida sobre el mismo conjunto X. La digráfica de la relación R es la siguiente:
Matrices de relaciones Este tema lo encontramos en la página 132, sección 3.3. Se describirá brevemente como formar una matriz de relación y se realizara ejemplos. Una matriz es una manera conveniente de representar una relación R de X a Y. Se etiquetan los renglones con elementos de X (en algún orden arbitrario), y se etiquetan las columnas con elementos de Y (orden arbitrario). Luego el elemento en el renglón x y la columna y se hace igual a 1 si xRy, y 0 de otra manera. Esta matriz se llama matriz de la relación R. Ejemplos: Formar la matriz de relación de los siguientes conjuntos: a) R = {(1, b), (1, d), (2, c), (3, c), (3, b), (4, a)} Donde X = {1, 2, 3,4} y Y = {a, b, c, d}
Considerando los ordenes: 1, 2, 3,4 y a, b, c, d tenemos la matriz:
b) X = {2, 3, 4} Y = {5, 6, 7, 8} Considerando las ordenes: 2, 3, 4 y 5, 6, 7,8; definida por xRy si x divide a y
GRAFOS Existen varios tipos de grafos: a) Un GRAFO NO DIRIGIDO G consiste en un conjunto V de vértices (o nodos) y un conjunto E de aristas (o arcos) tal que cada arista e ? E se asocia con un par no ordenado de vértices. Entonces se puede decir que si existe una arista e entre un par de vértices v y w, esta puede ser igual a: e = ( v, w) o e = ( w, v)
Un grafo esta formado de vértices y aristas (lados), por lo tanto G = {V, E} Los vértices del grafo G son: V_1, V_2, V_3, V_4 entonces V = {V_1, V_2, V_3, V_4}
Las aristas del grafo son: e_1, e_2, e_3, e_4 entonces E = {e_1, e_2, e_3, e_4} Entonces podemos decir que G = {{V_1, V_2, V_3, V_4}, {e_1, e_2, e_3, e_4}} Como el grafo G no tiene lazos ni lados paralelos entonces es un grafo simple. Otro ejemplo de grafo no dirigido es el siguiente:
Clasificacion ce tipos de relaciones a) Reflexiva La relación R del ejemplo anterior dada por: R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} se dice que es reflexiva por que cada elemento x ? X, (x, x) ? R; los pares ordenados (1, 1), (2, 2), (3, 3) y (4, 4) están en R. Si observamos la digráfica de la relación reflexiva, encontramos que tiene un lazo sobre cada vértice. b) Simétrica Tomando la relación R del ejemplo anterior dada por: R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} “no es simétrica”, por cuanto no cumple la definición que dice: “si paracada x, y ? X, si (x, y) ? R, entonces (y, x) ? R”. c) Transitiva Tomando la relación R del ejemplo anterior dada por:
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} “es una relación transitiva R sobre el cojunto X”,por cuanto cumple la definición que dice: “x, y, z ? X, si (x, y) y (y, z) ? R, entonces (x, z) ? R”. Específicamente tenemos (1, 2), (2, 3) se tiene (1, 3); (1, 3), (3, 4) se tiene (1, 4); (2, 3), (3, 4) se tiene (2, 4) todos pertenecen a R. d) Antisimétrica Tomando la relación R del ejemplo anterior dada por: R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} “la relación R sobre el cojunto X es antisimétrica”, por cuanto cumple la definición que dice para toda: “x, y X,si (x, y) ? R y x ? y, entonces (x, y) ? R”. Específicamente tenemos (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4) pertenecen a R, pero (2, 1), (3, 1), (4, 1), (3, 2), (4, 2), (4, 3) no pertenecen a R. e) Inversa Tomando la relación R del ejemplo anterior dada por: R = {(1,1),(1,2),(1,3),(1,4),(2,2),(2,3),(2,4),(3,3),(3,4),(4,4)} La relación inversa de R que se denota por R-1, esta dada por: R - 1 = {(1, 1), (2, 1), (3, 1), (4, 1), (2, 2), (3, 2), (4, 2), (3, 3), (4, 3), (4, 4)} Ejercicio 1 A partir del siguiente dígrafo, resuelva las siguientes instrucciones:
1. Escriba R como un conjunto de pares ordenados
R ={(3, 5), (4, 4), (5, 5), (3, 5), (3, 4), (4, 5)} 2. Escriba una relación reflexiva sobre G1 R = {(3,3), (4,4), (5,5)} 3. Escriba una relación simétrica sobre G1 R = {(3,3), (4,4), (5,5)} 4. Escriba una relación antisimétrica sobre G1 R = {(3, 5), (3, 4), (4, 5)} 5. Escriba una relación transitiva sobre G1 R ={(3, 4), (4, 5), (3, 5)} 6. Escriba R-1 como un conjunto de pares ordenados R-1 = {(3, 3), (4, 3), (4, 4), (5, 4), (5, 5), (5, 3)}
En teoría de grafos, un isomorfismo entre dos grafos G y H es una biyección f entre los conjuntos de sus vértices
que preserva la relación de adyacencia. Es
decir, cualquier par de vértices u y v de G son adyacentes si y solo si lo son sus imágenes, f(u) y f(v), en H. A pesar de su diferente aspecto, los dos grafos que se muestran a continuación son isomorfos:
Grafo G
Grafo H
Un isomorfismo entre G y H
Dos grafos con matrices de adyacencia respectivas A y B serán isomofos si y solo si existe t 1
una matriz permutación P tal que B = P A P .
Problema del isomorfismo de grafos[editar · editar código] Artículo principal: Problema de isomorfismo de subgrafos
La determinación de si dos grafos con el mismo número de vértices n y aristas m son isomorfos o no se conoce como el problema del isomorfismo de grafos . Este problema admite un ataque por fuerza bruta que exigiría comprobar si las n! biyecciones posibles preservan la adyacencia, pero no se conoce un algoritmo eficiente, al menos para el caso general. En este n
contexto, eficiencia debe interpretarse como crecimiento del número de pasos inferior a O(e ). El problema del isomorfismo de grafos presenta una curiosidad en teoría de complejidad computacional al ser uno de los pocos problemas citados por Garey y Johnson en 1979 pertenecientes aNP de los que se desconoce si es resoluble en tiempo polinómico o si es NPcompleto (actualmente está en revisión la demostración de que el problema está en P).2
Isomorfismo de grafos Dados G=(V,E) y G´=(V´,E´), se denomina isomorfismo de G a G´ a la aplicación biyectiva f tal que para a,bV, {a,b}E se cumple {f(a),f(b)}E´. Es decir, la aplicación que relacionabiyectivamente pares de vértices de E con pares de vértices de E´, de modo que los vértices conectados por aristas siguen estándolo. G y G´ se denominan isomorfos, y son matemáticamente iguales, solo varia la apariencia, o sea, que se mantienen las adyacencias, estructura, caminos y ciclos.
Los grafos G y G „ son isomorfos pues existe la biyección f: V
V „ definida por
f(a) = 2, f(b) = 1, f(c) = 3, f(d) = 4 que conserva la adyacencia.
Complejidad Los problemas matemáticos se pueden dividir en primera instancia en dos grupos:
Problemas indecidibles: aquellos que no se pueden resolver mediante un algoritmo.
Problemas decidibles: aquellos que cuentan al menos con un algoritmo para su cómputo.
Sin embargo, que un problema sea decidible no implica que se pueda encontrar su solución, pues muchos problemas que disponen de algoritmos para su resolución son inabordables para un computador por el elevado número de operaciones que hay que realizar para resolverlos. Esto permite separar los problemas decidibles en dos:
intratables: aquellos para los que no es factible obtener su solución. tratables: aquellos para los que existe al menos un algoritmo capaz de resolverlo en un tiempo razonable.
Los problemas pueden clasificarse también atendiendo a su complejidad. Aquellos problemas para los que se conoce un algoritmo polinómico que los resuelve se denominan clase P. Los algoritmos que los resuelven son deterministas. Para otros problemas, sus mejores algoritmos conocidos son no deterministas. Esta clase de problemas se denomina clase NP. Por tanto, los problemas de la clase Pson un subconjunto de los de la clase NP, pues sólo cuentan con una alternativa en cada paso. El problema de isomorfismo de grafos no se sabe si es un problema de la clase P o de la clase NP, y si hubiese una clase intermedia entre ambas, el isomorfismo de grafos sería el tipo de problema ideal para ella. Existe un caso concreto de grafos (los árboles) donde el problema del isomorfismo si se puede resolver mediante la aplicación de algoritmos no muy complejos. Este caso será el que desarrollaremos en la segunda parte del proyecto, apartado 2.3.
ISOMORFISMO DE GRAFOS Definición: Dos grafos G1 y G2 son isomorfos si existe una función biyectiva f entre los vértices de G1 y G2, y una función biyectiva g entre lados de G1 y G2 tales que un lado e es incidente a v y w en G1 si solo si el lado g(e) es incidente a los vértices f (v) y f (w) en G2. Al par de funciones f y g se le denomina isomorfismo. Ejemplo: Sean los siguientes grafos G1 y G2
Un isomorfismo para los grafos anteriores G1 y G2 esta definido por: f (a) = A f (b) = B f (c) = C f (d) = D f (e) = E y g(Xi) = Yi, i = 1, ... , 5 Los grafos G1 y G2 son isomorfos si y solo si para alguna ordenación de vértices y lados sus matrices de incidencia son iguales. Veamos las matrices de incidencia de los grafos anteriores:
Ejercicios: Verificar si los siguientes pares de grafos son isomorfos.
a)