Teoría de grafos

17
1 INSTITUTO TECNOLÓGICO DEL ISTMO Teoría de Matemát icas Discret as 2 de Enero 2012

Transcript of Teoría de grafos

Page 1: Teoría de grafos

1

INSTITUTO TECNOLÓGICO DEL ISTMO

Teoría de

Matemáticas Discretas

2 de Enero 2012

Page 2: Teoría de grafos

2

ÍNDICE

Contenido1.- 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--------------------------------------------------------------------------------------4

2.- REPRESENTACIÓN DE LOS GRAFOS-------------------------------------------------------------------6

3 ALGORITMOS DE RECORRIDO Y BÚSQUEDA----------------------------------------------------7

3.1 EL CAMINO MÁS CORTO------------------------------------------------------------------------------7

3.2 A LO ANCHO------------------------------------------------------------------------------------------------7

3.3 EN PROFUNDIDAD---------------------------------------------------------------------------------------7

4.- ARBOLES-------------------------------------------------------------------------------------------------------------8

4.1 COMPONENTES-----------------------------------------------------------------------------------------------8

4.2 PROPIEDADES-------------------------------------------------------------------------------------------------8

4.3 CLASIFICACIÓN------------------------------------------------------------------------------------------------9

4.4 ÁRBOLES CON PESO---------------------------------------------------------------------------------------9

4.5 RECORRIDO DE UN ÁRBOL------------------------------------------------------------------------------9

5.- REDES----------------------------------------------------------------------------------------------------------------11

Page 3: Teoría de grafos

3

1.- ELEMENTOS Y CARACTERÍSTICAS DE LOS GRAFOS

En ciencias de la computación, la teoría de grafos estudia las propiedades de los grafos (gráficas). El grafo es un conjunto de objetos llamados vértices (nodos) y una selección de pares de vértices, llamados aristas. El diagrama de Grafos se representa por una serie de vértices conectados las aristas.

1.1 Componentes de un grafo (vértices, aristas, lazos, valencia)

VÉRTICES

Page 4: Teoría de grafos

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 1

Un vértice de corte es aquel que al removerlo desconecta al grafo restante. Un conjunto independiente es un conjunto de vértices tal que ninguno es adyacente a otro, y una cobertura de vértices es un conjunto de vértices que incluye los puntos finales de cada arista en un grafo.

ARISTAS

La 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 para grafos no dirigidos); si el grafo es dirigido, entonces la arista se representa como una flecha.

LAZOS

Se denomina lazo cuando una arista conecta a un mismo vértice

VALENCIA

El grado o valencia de un vértice es el número de aristas incidentes en él. Para un grafo con bucles, éstos son contados por dos. En un digrafo, podemos distinguir el grado saliente (el número de aristas que dejan el vértice) y el grado entrante (el número de aristas que entran en un vértice). El grado de un vértice sería la suma de ambos números.

1.2 TIPOS DE GRAFOS

SIMPLES

Page 5: Teoría de grafos

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 = ᴓ

COMPLETOS

Un grafo completo es un grafo simple donde cada par de vértices está conectado por una arista.

Un grafo completo de n vértices tiene n(n − 1) / 2 aristas, y se nota Kn. Es un grafo regular con todos sus vértices de grado n − 1. Ningún grafo completo tiene lazos y está conectado totalmente, por ende, la única forma de hacer disconexo el grafo con una eliminación de vértices es aplicarla a todos.

BIPARTIDOS

Es un grafo cuyos vértices se pueden separar en dos conjuntos disjuntos V1 y V2 y las 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 dos colores: si pintamos los vértices en U de azul y los vértices deV de verde obtenemos un grafo de dos colores donde cada arista tiene un vértice azul y el otro verde. Por otro lado, si un gráfico no tiene la propiedad de que se puede colorear 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 de elementos, decimos que el grafo bipartito G es balanceado.

PLANOS

Un grafo es plano si, y sólo si, no contiene ningún subgrafo isomorfo a K5 ni a K3,3, ni a subdivisiones de ellos.Un grafo no es plano si no puede ser dibujado sobre un plano sin que sus aristas se intersequen. Los grafos K5 y el K3,3 son los grafos no planos minimales, lo cual nos permitirán caracterizar el resto de los grafos no planos.

CONEXOS

En matemáticas y ciencias de la computación es aquel grafo que entre cualquier par de sus vértices existe un Camino (Grafo) que los une.

PONDERADOS

Page 6: Teoría de grafos

6

Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas se introduce una función peso. El peso de un subgrafo de un grafo ponderado es la suma 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.

Page 7: Teoría de grafos

7

3 ALGORITMOS DE RECORRIDO Y BÚSQUEDA

3.1 EL CAMINO MÁS CORTO

El algoritmo de Dijkstra resuelve el problema de encontrar los caminos más cortos a partir de un origen, en grafos pesados que no tengan pesos negativos. El algoritmo de Dijkstra es un algoritmo voraz que opera a partir de un conjunto S de nodos cuya distancia más corta desde el origen ya es conocida. En principio, S contiene sólo el nodo origen. En cada paso, se agrega algún nodo v a S, cuya distancia desde el origen es la más corta posible. Bajo la hipótesis de que los pesos son no negativos, siempre es posible encontrar un camino más corto entre

Page 8: Teoría de grafos

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 la longitud del camino “especial” más corto a cada nodo. Una vez que S incluye todos los nodos, todos los caminos son “especiales”, así que D contendrá la distancia más corta del origen a cada vértice. Se puede utilizar un arreglo P, para ir almacenando los caminos más cortos.

3.2 A LO ANCHO

En 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 recorren de una manera ligeramente distinta. Este algoritmo puede crear menos ambientes recursivos que el anterior porque visita mas nodos en un mismo ambiente, pero esto depende de cómo este construido el grafo. El algoritmo se conoce como el algoritmo de BFS (Breadth-First Search).

3.3 EN PROFUNDIDAD

Para efectuar un recorrido en profundidad de un grafo, se selecciona cualquier nodo como punto de partida (por lo general el primer nodo del grafo) y se marcan todos 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 toma este nodo como nuevo punto de partida del recorrido. El recorrido culmina cuando todos los nodos hayan sido visitados.

4.- ARBOLES

Es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos; uno de los cuales es conocido como raíz. Además se crea una relación o parentesco entre los nodos dando lugar a términos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc… Formalmente se define un árbol de tipo T como una estructura homogénea que es la concatenación de un elemento de 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 grafo simple en el cual existe un único camino entre cada par de vértices. Los árboles

Page 9: Teoría de grafos

9

representan las estructuras no lineales y dinámicas de datos más importantes en computación. Dinámicas porque las estructuras de árbol pueden cambiar durante la ejecución de un programa. No lineales, puesto que a cada elemento del árbol pueden 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 PROPIEDADES

Las 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.

Page 10: Teoría de grafos

10

4.4 ÁRBOLES CON PESO

Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas se introduce una función peso . El peso de un subgrafo de un grafo ponderado es la suma de los pesos de todas sus aristas.

4.5 RECORRIDO DE UN ÁRBOL

Los 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-orden

Recorrido EN-ORDEN

Recorrer el subárbol izquierdo en en-orden Visitar el raíz Recorrer el subárbol derecho en en-orden

Recorrido 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.

Page 11: Teoría de grafos

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 en post-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T es los nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . , Tk, cada grupo.

5.- REDES

Page 12: Teoría de grafos

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 MINIMO

Un corte T es una selección cualquiera de nodos de una red tal que la fuente F está 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 = 14

Teorema. 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 y un 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.

PAREOS

Supongamos que tenemos una relación entre dos conjuntos, por ejemplo el caso de que 4 personas S1, S2, S3 y S4 solicitan trabajo y se tienen 4 trabajos disponibles T1, T2, T3, T4: El primero está capacitado para los trabajos T2 y T4, el segundo solicita a T1, T3 y T4 y el tercero a T2 y T4 y el cuarto para T2 y T4.Un acoplamiento con el número máximo de aristas se obtiene cuando el flujo es máximo. También es posible ver que se tiene un acoplamiento completo, o sea que todos pueden conseguir trabajo, si el flujo equivale al número de elementos en el primer conjunto.

Page 13: Teoría de grafos

13

REDES DE PETRI

Una red de Petri es un grafo dirigido bipartito, con un estado inicial, llamado marcació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 como barras o rectángulos. Las aristas del grafo son conocidas como arcos. Estos tienen un peso específico, el cual es indicado por un número entero positivo, y van de sitio a transición y viceversa. Por simplicidad, el peso de los arcos no se indica cuando éste es igual a 1. Un arco que esté etiquetado con k puede ser interpretado como k arcos paralelos.

El estado del sistema que la red esté modelando es representado con la asignación de enteros no-negativos a los sitios. Esta asignación es conocida como una marcación, la cual es representada gráficamente mediante unos pequeños círculos negros dentro de un sitio p, llamados tokens . Si el número de tokens es demasiado grande, los k tokens son representados con un número no-negativo dentro del correspondiente sitio.

Las redes de Petri representan una alternativa para modelar sistemas, sus características hacen que, para algunos problemas las redes de Petri funcionen de una manera natural.

Page 14: Teoría de grafos

14