Upcoming SlideShare
×

# Teoría de grafos

11,002 views
10,598 views

Published on

Published in: Education
4 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
11,002
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
289
0
Likes
4
Embeds 0
No embeds

No notes for slide

### Teoría de grafos

1. 1. INSTITUTO TECNOLÓGICO DEL ISTMOTeoría de Grafos Matemáticas Discretas 2 de Enero 2012 1
2. 2. ÍNDICEContenido1.- ELEMENTOS Y CARACTERÍSTICAS DE LOS GRAFOS ------------------------------------------3 1.1 Componentes de un grafo (vértices, aristas, lazos, valencia) -----------------------3 1.2 TIPOS DE GRAFOS --------------------------------------------------------------------------------------42.- REPRESENTACIÓN DE LOS GRAFOS ------------------------------------------------------------------63 ALGORITMOS DE RECORRIDO Y BÚSQUEDA ---------------------------------------------------7 3.1 EL CAMINO MÁS CORTO -----------------------------------------------------------------------------7 3.2 A LO ANCHO ------------------------------------------------------------------------------------------------8 3.3 EN PROFUNDIDAD ---------------------------------------------------------------------------------------84.- ARBOLES -------------------------------------------------------------------------------------------------------------8 4.1 COMPONENTES -----------------------------------------------------------------------------------------------9 4.2 PROPIEDADES -------------------------------------------------------------------------------------------------9 4.3 CLASIFICACIÓN -----------------------------------------------------------------------------------------------9 4.4 ÁRBOLES CON PESO ------------------------------------------------------------------------------------- 10 4.5 RECORRIDO DE UN ÁRBOL --------------------------------------------------------------------------- 105.- REDES --------------------------------------------------------------------------------------------------------------- 11 2
3. 3. 1.- ELEMENTOS Y CARACTERÍSTICAS DE LOS GRAFOSEn ciencias de la computación, la teoría de grafos estudia las propiedades de losgrafos (gráficas). El grafo es un conjunto de objetos llamados vértices (nodos) yuna selección de pares de vértices, llamados aristas. El diagrama de Grafos serepresenta por una serie de vértices conectados las aristas. 1.1 Componentes de un grafo (vértices, aristas, lazos, valencia) VÉRTICES 3
4. 4. Son los nodos con los que se forman los grafos. Los grafos no dirigidos estáformado por un conjunto de vértices y de aristas; y un grafo dirigido estácompuesto por un conjunto de vértices y arcos (pares ordenados de vértices).Se dice que un vértice es: Adyacente: Si tenemos un par de vértices de un grafo (U, V), y si tenemos un arista que los une, entonces U y V son vértices adyacentes y se dice que U es el vértice inicial y V el vértice adyacente. Aislado: Es el vértice de grado Cero. Terminal: Vértice de grado 1Un vértice de corte es aquel que al removerlo desconecta al grafo restante. Unconjunto independiente es un conjunto de vértices tal que ninguno es adyacente aotro, y una cobertura de vértices es un conjunto de vértices que incluye los puntosfinales de cada arista en un grafo. ARISTASLa arista es la relación que tienen dos vértices de un grafo.Las aristas se representan como una línea que une a dos vértices (esto es paragrafos no dirigidos); si el grafo es dirigido, entonces la arista se representa comouna flecha. LAZOSSe denomina lazo cuando una arista conecta a un mismo vértice VALENCIAEl grado o valencia de un vértice es el número de aristas incidentes en él. Para ungrafo con bucles, éstos son contados por dos. En un digrafo, podemos distinguir elgrado saliente (el número de aristas que dejan el vértice) y el grado entrante (elnúmero de aristas que entran en un vértice). El grado de un vértice sería la sumade ambos números. 1.2 TIPOS DE GRAFOS SIMPLES 4
5. 5. Un grafo simple es un par G = (V;E) donde V es unconjunto _nito no vacío de elementos llamados vértices y E es un conjuntode pares no ordenados de elementos distintos de V llamados aristas. Porrazones técnicas se supondrá que V E = ᴓ COMPLETOSUn grafo completo es un grafo simple donde cada par de vértices está conectadopor una arista.Un grafo completo de n vértices tiene n(n − 1) / 2 aristas, y se nota Kn. Es un graforegular con todos sus vértices de gradon − 1. Ningún grafo completo tiene lazos yestá conectado totalmente, por ende, la única forma de hacer disconexo el grafocon una eliminación de vértices es aplicarla a todos. BIPARTIDOSEs un grafo cuyos vértices se pueden separar en dos conjuntos disjuntosV1 y V2 ylas aristas siempre unen vértices de un conjunto con vértices de otro:Los grafos bipartitos suelen representarse gráficamente con dos columnas (o filas)de vértices y las aristas uniendo vértices de columnas (o filas) diferentes.Los dos conjuntos U y V pueden ser pensados como un coloreo del grafo con doscolores: si pintamos los vértices en U de azul y los vértices deV de verdeobtenemos un grafo de dos colores donde cada arista tiene un vértice azul y elotro verde. Por otro lado, si un gráfico no tiene la propiedad de que se puedecolorear con dos colores no es bipartito.Un grafo bipartito suele con la partición de los vértices en U y V suele denotarse G= (U, V, E). Si |U| =|V|, esto es, si los dos subconjuntos tiene la misma cantidad deelementos, decimos que el grafo bipartito G es balanceado. PLANOSUn grafo es plano si, y sólo si, nocontiene ningún subgrafo isomorfo a K5 ni aK3,3, ni a subdivisiones de ellos.Un grafo no es plano si no puede ser dibujado sobre un plano sin que sus aristas seintersequen. Los grafos K5 y el K3,3 son los grafos no planos minimales, lo cual nospermitirán caracterizar el resto de los grafos no planos. CONEXOSEn matemáticas y ciencias de la computación es aquel grafo que entre cualquierpar de sus vértices existe un Camino (Grafo) que los une. PONDERADOS 5
6. 6. Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada aristase le asigna un valor real no negativo o peso. Sobre el conjunto de aristas seintroduce una función peso. El peso de un subgrafo de un grafo ponderado es lasuma de los pesos de todas sus aristas. 2.- REPRESENTACIÓN DE LOS GRAFOS 1. La representación gráfica: Adecuada para la interpretación de grafos pequeños o medianos. 2. Representación por matriz asociada: Para la interpretación de grafos con programas informáticos. 3. Diccionario de grafos: Define el grafo de forma compacta en términos de memoria. 6
7. 7. 3 ALGORITMOS DE RECORRIDO Y BÚSQUEDA 3.1 EL CAMINO MÁS CORTOEl algoritmo de Dijkstra resuelve el problema de encontrar los caminos más cortosa partir de un origen, en grafos pesados que no tengan pesos negativos. Elalgoritmo de Dijkstra es un algoritmo voraz que opera a partir de un conjunto S denodos cuya distancia más corta desde el origen ya es conocida. En principio, Scontiene sólo el nodo origen. En cada paso, se agrega algún nodo v a S, cuyadistancia desde el origen es la más corta posible. Bajo la hipótesis de que lospesos son no negativos, siempre es posible encontrar un camino más corto entre 7
8. 8. el origen y v que pasa sólo a través de los nodos de S, al que llamaremos“especial”. En cada paso del algoritmo, se utiliza un arreglo D para registrar lalongitud del camino “especial” más corto a cada nodo. Una vez que S incluyetodos los nodos, todos los caminos son “especiales”, así que D contendrá ladistancia más corta del origen a cada vértice. Se puede utilizar un arreglo P, parair almacenando los caminos más cortos. 3.2 A LO ANCHOEn este algoritmo también se utiliza la estrategia de marcas los nodos como“visitados” para detectar la culminación del recorrido, pero los nodos se recorrende una manera ligeramente distinta.Este algoritmo puede crear menos ambientesrecursivos que el anterior porque visita mas nodos en un mismo ambiente, peroesto depende de cómo este construido el grafo. El algoritmo se conoce como elalgoritmo de BFS (Breadth-First Search). 3.3 EN PROFUNDIDADPara efectuar un recorrido en profundidad de un grafo, se selecciona cualquiernodocomo punto de partida (por lo general el primer nodo del grafo) y se marcantodos los nodos del grafo como “no visitados”. El nodo inicial se marca como“visitado” y si hay un nodo adyacente a este que no haya sido “visitado”, se tomaeste nodo como nuevo punto de partida del recorrido. El recorrido culmina cuandotodos los nodos hayan sido visitados. 4.- ARBOLESEs una estructura jerárquica aplicada sobre una colección de elementos u objetosllamados nodos; uno de los cuales es conocido como raíz. Además se crea unarelación o parentesco entre los nodos dando lugar a términos como padre, hijo,hermano, antecesor, sucesor, ancestro, etc… Formalmente se define un árbol detipo T como una estructura homogénea que es la concatenación de un elementode tipo T junto con un número finito de árboles disjuntos, llamados subárboles.Una forma particular de árbol puede ser la estructura vacía. Un árbol es un grafosimple en el cual existe un único camino entre cada par de vértices. Los árboles 8
9. 9. representan las estructuras no lineales y dinámicas de datos más importantes encomputación. Dinámicas porque las estructuras de árbol pueden cambiar durantela ejecución de un programa. No lineales, puesto que a cada elemento del árbolpueden seguirle varios elementos.4.1 COMPONENTES 1. Raíz: Un árbol recibe el nombre de árbol con raíz si cada vértice ha sido designado raíz, en cuyo caso las aristas tienen una orientación natural hacia o desde la raíz. Los árboles con raíz, a menudo con estructuras adicionales como orden de los vecinos de cada vértice, son una estructura clave en informática 2. Hoja: Es un nodo sin hijos. Los nodos que no son hojas se llaman internos. 3. Padre: Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a) 4. Hijo: Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a) 5. Descendientes: Son todos los vértices que se tienen como ancestro. 6. Ancestro: Cualquier nodo en el camino a la raíz de un nodo x es un ancestro de x.4.2 PROPIEDADESLas propiedades de los árboles son: Existe un único paseo entre dos vértices cualesquiera en un árbol. El número de vértices en uno al número al número de aristas en un árbol Un árbol con dos o más vértices tiene al menos dos hojas.4.3 CLASIFICACIÓN 1. Altura: Llamamos altura de un árbol a la cantidad de vértices del sendero más largo que exista en el árbol 2. Número de nodos: Cuando existen 2 o mas conexiones entre las hojas. 9
10. 10. 4.4 ÁRBOLES CON PESOUn grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cadaarista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristasse introduce una función peso . El peso de un subgrafo de un grafoponderado es la suma de los pesos de todas sus aristas.4.5 RECORRIDO DE UN ÁRBOLLos ordenamientos más importantes son llamados: preorden, post-orden y en-orden y se definen recursivamente como sigue: Si un árbol T es nulo, entonces, la lista vacía es el listado preorden, post- orden y en-orden del árbol T. Si T consiste de un sólo nodo n, entonces, n es el listado preorden, post- orden y en-orden del árbol T.Recorrido en PRE-ORDEN: Visitar el raíz Recorrer el subárbol izquierdo en pre-orden Recorrer el subárbol derecho en pre-ordenRecorrido EN-ORDEN Recorrer el subárbol izquierdo en en-orden Visitar el raíz Recorrer el subárbol derecho en en-ordenRecorrido en POST-ORDEN Recorrer el subárbol izquierdo en post-orden Recorrer el subárbol derecho en post-orden Visitar el raíz Si T es un árbol con raíz n y subárboles T1, T2, . . . , Tk, entonces, El listado pre-orden de los nodos de T es la raíz n, seguida por los nodos de T1 en pre- orden, después los nodos de T2 en preorden, y así, hasta los nodos de Tk en pre-orden. 10
11. 11. El listado post-orden de los nodos de T es los nodos de T1 en postorden,seguidos de los nodos de T2 en post-orden, y así hasta los nodos de Tk enpost-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T eslos nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . ,Tk, cada grupo. 5.- REDES 11
12. 12. TEOREMA DE FLUJO MÁXIMO 1. Todo flujo a través de una red conexa dirigida se origina en un nodo, llamado fuente, y termina en otro llamado destino. 2. Los nodos restantes son los nodos de trasbordo. 3. Se permite el flujo a través de un arco solo en la dirección indicada por la flecha, donde la cantidad máxima de flujo está dada por la capacidad del arco. 4. El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Esta cantidad se mide en cualquiera de las dos maneras equivalentes, esto es, la cantidad que sale de la fuente o la cantidad que entra al destino. TEOREMA DE FLUJO MINIMOUn corte T es una selección cualquiera de nodos de una red tal que la fuente Festá en T y el sumidero S no está en T. Vemos por lo tanto que S ∈ Tc.Definición: Decimos que un corte es mínimo si la capacidad tiene un valor mínimo.Ejemplo. La capacidad del corte del ejemplo 1 es w(F,e) + w(f,h) + w(c,d) = 3 + 6+5 = 14Teorema. Si tenemos una red R con flujo f y un corte T.Entonces si la igualdad del teorema anterior se cumple se tiene un flujo máximo yun corte mínimo. En este caso se tiene: f(i,j) = w(i,j) si i ∈ T, j NO∈ T y también f(i,j)= 0 si i NO∈ T, j ∈ T.A este teorema se le conoce como el teorema del flujo máximo y corte mínimo. PAREOSSupongamos que tenemos una relación entre dos conjuntos, por ejemplo el casode que 4 personas S1, S2, S3 y S4 solicitan trabajo y se tienen 4 trabajosdisponibles T1, T2, T3, T4: El primero está capacitado para los trabajos T2 y T4, elsegundo solicita a T1, T3 y T4 y el tercero a T2 y T4 y el cuarto para T2 y T4.Unacoplamiento con el número máximo de aristas se obtiene cuando el flujo esmáximo. También es posible ver que se tiene un acoplamiento completo, o seaque todos pueden conseguir trabajo, si el flujo equivale al número de elementos enel primer conjunto. 12
13. 13. REDES DE PETRIUna red de Petri es un grafo dirigido bipartito, con un estado inicial, llamadomarcación inicial. Los dos componentes principales de la red de Petri son los sitios(también conocidos como estados) y las transiciones.Gráficamente, los sitios son dibujados como círculos y las transiciones comobarras o rectángulos. Las aristas del grafo son conocidas como arcos. Estostienen un peso específico, el cual es indicado por un número entero positivo, y vande sitio a transición y viceversa. Por simplicidad, el peso de los arcos no se indicacuando éste es igual a 1. Un arco que esté etiquetado con k puede serinterpretado como k arcos paralelos.El estado del sistema que la red esté modelando es representado con laasignación de enteros no-negativos a los sitios. Esta asignación es conocida comouna marcación, la cual es representada gráficamente mediante unos pequeñoscírculos negros dentro de un sitio p, llamados tokens . Si el número de tokens esdemasiado grande, los k tokens son representados con un número no-negativodentro del correspondiente sitio.Las redes de Petri representan una alternativa para modelar sistemas, suscaracterísticas hacen que, para algunos problemas las redes de Petri funcionen deuna manera natural. 13
14. 14. 14