Вы находитесь на странице: 1из 94

-

Los grafos son estructuras de datos que representan relaciones entre objetos, estas relaciones son arbitrarias, es decir no jerrquicas.

Son aplicables en:


Qumica Geografa Ingenieras Modelado de Redes
Alcantarillado Elctricas Etc.

Por que permiten estudiar interrelaciones entre elementos que interactan unos con otros.
Dado un escenario donde ciertos objetos se relacionan se puede modelar el grafo y luego aplicar algoritmos para resolver diversos problemas.

Red de Computadoras. Carreteras que unen ciudades. Actividades de un proyecto. Circuitos Electrnicos. Representaciones de un mapa. Conexiones de vuelo de una aerolnea.

Prcticamente cualquier problema puede representarse mediante un grafo.

=( v , A )
Es un conjunto de: Puntos (Nodos o vrtices) unidos por lneas (arcos o aristas).

Donde:
(V,N) el conjunto de vrtices (Representan los objetos) (A,R) el conjunto de arcos (Representan las relaciones)

=( v , A )
Ejercicios:

1) Si el conjunto N es vaco, el grafo ser vaco. 2) Cada arco de un grafo establece una nica relacin entre dos vrtices. 3) No existe restriccin en la relacin que establece un arco, o sea, un vrtice puede estar relacionado consigo mismo o con otro vrtice. 4) Cada arco se representa a travs de un par, donde cada elemento determina uno de los vrtices.

Grafo Regular:
Todos los vrtices tienen el mismo grado, si el grado es k, el grafo es kregular. Grafo Completo: Tiene una arista entre cualquier par de vrtices.

Multgrafo:
Es un grafo que contiene arcos mltiples (paralelos) o lazos.

Grafo Simple:
Es un grafo que no tiene bucles ni es multgrafo.

Bipartito:
Un problema interesante en un grafo es determinar su nmero cromtico: Cuantos colores son necesarios para pintar los vrtices de forma que cada arista tenga siempre colores distintos?

Bipartito:
Significa que tiene 2 partes donde G={V1 u V2, A}, sus vrtices son la unin de dos grupos de vrtices bajo las siguientes condiciones: 1) V1 y V2 son conjuntos disjuntos. 2) Cada arista del grafo une un vrtice del V1 con uno de V2. 3) No existen aristas uniendo vrtices del mismo conjunto V1 o V2.

Bipartito:
Aplicacin: Coloreado de mapas, Cuntos colores se necesitan para colorear un mapa de forma que no haya dos regiones con frontera con el mismo color?

Bipartito:
Debemos transformar el mapa en un grafo, donde cada vrtice representa una regin y cada arista un lmite entre regiones:

Bipartito:

Bipartito:
Para poderlo determinar: 1) Empezar por un vrtice cualquiera, de color C1. 2) Dibujar todos los adyacentes de color C2. 3) Seguir este proceso hasta haber terminado.

Bipartito:
TEOREMA: Un grafo es bipartito si y solo si no tiene ciclos de longitud impar. EJEMPLO: NO BIPARTITO; contiene ciclos de longitud impar (3).

No Orientado o No Dirigido:

No Orientado o No Dirigido:
Un grafo es no orientado o no dirigido si el hecho de que el arco (Nj, Nk) pertenezca a R implica que el arco (Nk, Nj) pertenece a R para todo j y k. Es irrelevante el sentido de las saetas en los arcos, al representarlos los arcos se grafican sin saeta. El arco que los relaciona aparece una sola vez en el conjunto R de arcos del grafo. Si el grafo es no orientado, al arco se le llama arista.

Grado de un Nodo:
Es el nmero de arcos que inciden en un vrtice, en un caso especial (lazo): se considera 2.

Suma de los grados de los vrtices Teorema de Grado de un Grafo: Suma de grados de vrtices equivale al doble del nmero de arcos.

Grado de un Nodo:
El grado de un vrtice v, Gr(v) es el nmero de aristas incidentes en v. Si hace falta indicar el grafo en el que est v escribiremos Gr(G,v).
Gr(6)= Gr(1)= Gr(7)=

Grado de un Nodo:

Son 2 vrtices unidos por un arco:

Orientado o Dirigido:

Orientado o Dirigido:
Un grafo es orientado o dirigido si el hecho de que el arco (Nj, Nk) pertenezca a R no implica que el arco (Nk, Nj) pertenece tambin a R, para todo j y k. El sentido de las saetas en los arcos es importante, as como la direccin del arco, o sea, el vrtice origen del arco y el vrtice destino. El hecho que exista un arco de Nj a Nk no imlica que exista de Nk a Nj. Se conocen como dgrafos.

Grado de un Nodo:
En un grafo dirigido los arcos son pares ordenados. Los cuales implican 2 tipos de grados en un grafo orientado o dirigido. 1) Grado de entrada de un nodo es el nmero de arcos entrantes. 2) Grado de salida de un nodo es el nmero de arcos salientes.

El vrtice n es adyacente al m, si existe un arco o arista de m a n.

El vrtice n es incidente al arco o arista x, si n es uno de los vrtices relacionados con el arco o arista x. Del mismo modo, se dice que el arco o arista x es incidente al vrtice n. As, todos los arcos que llegan o salen de un nodo son incidentes a l.

Valor que se puede asociar con un arco, este depende de lo que el grafo represente. Si los arcos de un grafo tienen un costo: Es un Grafo valorado o ponderado.
.

Al valor numrico asociado se le llama coste de la arista.

Ejemplo:

Problema del Agente Viajero: Un agente necesita repartir paquetes en diferentes ciudades. Se sabe en qu ciudades el agente debe repartir los paquetes, as como la distancia entre cada ciudad y las otras. El problema consiste en saber cul es la mejor ruta a seguir por el agente para repartir todos los paquetes.

Problema del Agente Viajero: El problema se puede modelar con un grafo, donde: 1) Las ciudades son vrtices. 2) Los caminos entre las ciudades son arcos. Si para todas las ciudades se cumple que la distancia entre una ciudad origen y una ciudad destino y la distancia de la ciudad destino a la ciudad de origen es la misma, entonces, se puede realizar mediante un grafo orientado. Podemos ponderar los arcos con la distancia que existe entre ciudades.

Problema del Agente Viajero: El agente debe visitar 3 ciudades A, B y C, partiendo de la ciudad A. Entre las ciudades A y B HAY 50 km, entre las ciudades B y C hay 20 km y entre las ciudades A y C hay 15 km.

Ejemplo: Se tiene una secuencia de actividades, de las que se conoce su duracin y se quiere saber, en un momento dado, en qu orden debieran realizarse, de forma tal que se realicen primero las de menor duracin. 1) Las actividades se pueden representar por los vrtices de un grafo no orientado. 2) En cada vrtice se puede almacenar la duracin de la actividad como factor de ponderacin.

Ejemplo:

Grafo No Dirigido: Conexo Existe un camino entre cualquier par de nodos.

Grafo Dirigido: Conexo: Existe una cadena entre cualquier par de nodos. Fuertemente Conexo: Existe un camino entre cualquier par de nodos.

Camino o Recorrido: Un camino P desde u hasta v en el grafo G es una secuencia finita de vrtices que empiezan en u y acaba en v. Cada par de vrtices consecutivos son adyacentes.

Longitud de Camino: El nmero de arcos que lo forman.

GRAFOS NO DIRIGIDOS: Camino Simple: Todos los nodos que lo forman son distintos (no se repiten nodos). Longitud de Camino: El nmero de arcos que lo forman.

GRAFOS DIRIGIDOS: Camino Simple: Es aquel en el que no se repiten los arcos. Longitud de Camino: El nmero de arcos que lo forman.

GRAFOS DIRIGIDOS: Ejemplos:

GRAFOS DIRIGIDOS: Ejemplos:

GRAFOS NO DIRIGIDOS: Ciclo o Circuito: Es un camino que inicia y termina en el mismo nodo, no se recorre dos veces por la misma arista. Longitud Mnima: 3 por que??

GRAFOS DIRIGIDOS: Cclico o Acclico: Si un grafo contiene al menos un ciclo se llama cclico, de lo contrario es un grafo Acclico. Longitud Mnima: 3

Hacer el recorrido sin levantar el lpiz del papel

El problema consiste en recorrer toda la ciudad partiendo de cualquier lugar (A, B, C o D) caminando sobre cada puente exactamente una vez y regresar a la posicin inicial. Es posible??

Un modelo de grafo de puentes de Konigsberg:

Nodos: Porciones de tierra (orillas, islas). Arcos: Puentes. Origen de los grafos: Euler ide los grafos para ver si era posible recorrer toda una ciudad sin cruzar c/u de los puentes ms de una sola vez.

1) Camino de Euler: 1) Recorre TODOS los ARCOS sin repetirlos. 2) Los vrtices se puede repetir.

2) Ciclo de Euler 1) Recorre TODOS los ARCOS sin repetirlos. 2) Los vrtices se puede repetir. 3) Inicia y termina en el mismo vrtice.

1) Grafo Semieuleriano. 1) Es aquel grafo conexo que admite un camino de Euler.

2) Grafo Euleriano. 1) Es aquel grafo conexo que admite un ciclo de Euler.

1) TEOREMA 1 (Grafo Semieuleriano). 1) Si G es un grafo conexo y tiene exactamente 2 vrtices de grado IMPAR y el resto de grado PAR, entonces existe un recorrido de Euler en G. Cualquier recorrido de Euler debe comenzar en un vrtice de grado impar y terminar en el otro. 2) TEOREMA 2 (Grafo Euleriano). 1) Si G es un grafo conexo y TODOS sus vrtices tienen grado PAR , entonces existe un ciclo de Euler en G.

1) TEOREMA1 (Grafo Semieuleriano).

A
2) TEOREMA2 (Grafo Euleriano).

D C

B
A C D

Encuentra el ciclo Euleriano de los siguientes grafos:

OBJETIVO: Minimizar la longitud total de arcos utilizados.

PROCEDIMIENTO: 1) Localizar los vrtices de grado impar. 2) Aadir un arco a cada uno de los vrtices para que tenga grado par.

CAMINO DE HAMILTON: Recorre TODOS los VRTICES sin repetirlos. CICLO DE HAMILTON: 1. Inicia y termina en el mismo vrtice. 2. Recorre TODOS los VRTICES sin repetirlos (excepto el vrtice del cul parte y al cul llega). GRAFO HAMILTONIANO: Es aquel grafo que admite un ciclo de Hamilton..

En ocasiones dos grafos con diferentes vrtices presentan la misma estructura:

Debemos que buscar una funcin biyectiva que convierta los vrtices de uno en otro, preservando la estructura de las aristas.

F(1)= a, F(2)= f, F(3)= g, F(4)= h, F(5)= d, F(6)= b, F(7)= e, F(8)= c,

Y como saber si dos grafos no son isomorfos? Hay que buscar alguna caracterstica que diferencie la estructura de los dos grafos como por ejemplo: 1) Distinto nmero de vrtices o de aristas. 2) Distinto nmero de ciclos de una longitud dada. 3) Distinto nmero de vrtices con un mismo grado n. 4) Aristas conectando vrtices con dos grados tales que no existan aristas de las mismas caractersticas en el otro grafo.

Son Isomorfos estos par de grafos?

Son Isomorfos estos par de grafos?

A={1,2,3,4} R={(1,2),(2,2),(2,3),(3,4),(4,3)} CONJUNTO RELACIN R: Muestra todas las relaciones de conectividad (trayectorias de longitud 1) entre los nodos del grafo.

MATRIZ:

1) La representacin matricial permite establecer si hay relacin entre cada vrtice del grafo y los dems. 2) Para ello se utiliza una matriz cuadrada. 3) Se utiliza un arreglo bidimensional. 4) Esto significa que la representacin matricial es una representacin secuencial de cada uno de los caminos del grafo.

MATRIZ:

A partir de un grafo, siempre es posible definir un orden arbitrario de los vrtices.

EXISTEN DOS POSIBLES REPRESENTACIONES DE LOS GRAFOS: 1) ESTTICA: Matriz de Adyacencia.


1) Los vrtices se representan por ndices (0n). 2) Las relaciones de los vrtices se almacenan en una matriz.

2) DINMICA: Lista de Adyacencia.


1) Los vrtices forman una lista. 2) Cada vrtice tiene una lista para representar sus relaciones (arcos).

MATRIZ DE ADYACENCIA: GRAFOS NO DIRIGIDOS Dado un grafo G = (V,E), est representado por una matriz de V (vrtices) por V (vrtices) y se le asigna un valor de 1 si hay un arco o existe una adyacencia entre los vrtices. Caso Especial: Cuando hay un lazo se considera 1 al mismo vrtice.

MATRIZ DE ADYACENCIA: GRAFOS NO DIRIGIDOS El grado de un vrtice se obtiene sumando la fila o columna correspondiente. Si la arista es un bucle : 2

MATRIZ DE ADYACENCIA: GRAFOS NO DIRIGIDOS La matriz de adyacencia tambin permite representar grafos valorados. El valor guardado es el coste de la arista/arco, en lugar de 0 a menudo se emplea un valor especial para indicar que dos vrtices no estn conectados.

MATRIZ DE INCIDENCIA: GRAFOS NO DIRIGIDOS Dado un grafo G = ( V, A ), esta representado por un matriz de V (Vrtices) por A (Arcos). 1: Si el arco i incide en el vrtice j En el grafo sin lazos, la suma de una fila da el grado del vrtice identificado con esa fila.

MATRIZ DE ARCOS: GRAFOS NO DIRIGIDOS Dado un grafo G = ( V , A ), esta representado por una matriz de Arcos (A) x Vrtices (V) formados por los arcos del grafo representado.

La matriz es de: m (# de arcos) x 2 elementos.

MATRIZ DE ADYACENCIA: GRAFOS DIRIGIDOS Se supone que la fila representa el vrtice origen y la columna el vrtice destino del arco.

Caso Especial: Cuando hay un lazo se considera 1 al mismo vrtice.

MATRIZ DE ADYACENCIA: GRAFOS DIRIGIDOS

MATRIZ DE ADYACENCIA: GRAFOS DIRIGIDOS

MATRIZ DE INCIDENCIA: GRAFOS DIRIGIDOS

U S

(S,U) -1 1

(S,S) 0 2

(U,T) 1 0

MATRIZ DISTANCIA: GRAFOS DIRIGIDOS Dado un Grafo G = ( V , A ), esta representado por una matriz de Vrtices (V) x Vrtices (V) almacena las distancias de un vrtice a otro.

LISTA DE ADYACENCIA: GRAFOS NO DIRIGIDOS Si una matriz tiene muchos vrtices y pocos arcos, la matriz de Adyacencia tendr demasiados ceros y ocupara mucho espacio.
1) Los vrtices pueden formar una lista, no un vector. 2) Los arcos son relaciones entre vrtices y se pueden presentar con una lista x cada vrtice.

LISTA DE ADYACENCIA: GRAFOS DIRIGIDOS Las listas pueden ser indistintamente secuenciales o enlazadas a una combinacin, el grafo est vaco si no existen vrtices.

REPRESENTACIN ENLAZADA: GRAFOS DIRIGIDOS Representacin multienlazada, donde cada vrtice se representa a travs de un nodo que contiene: 1) Apuntador a su informacin. 2) Apuntador a una lista de arcos. 3) Apuntador al siguiente vrtice en la lista. Cada arco se representa por un nodo que contiene: 1) Apuntador al prximo arco de su vrtice origen 2) Apuntador al nodo de su vrtice destino.

REPRESENTACIN ENLAZADA: GRAFOS DIRIGIDOS Representacin multienlazada:

ANCHURA BFS BREADTH FIRST SEARCH Se empieza en un nodo determinado como inicial y a partir de ah se ira realizando el recorrido en base a los nodos adyacentes y despus los adyacentes de los adyacentes. Se termina cuando se hallan recorrido todos los nodos.

DBCHRAT

PROFUNDIDAD: DFS DEPTH FIRST SEARCH Se empieza en un nodo determinado como inicial y a partir de ah se ira realizando el recorrido, en este caso se sigue un recorrido y se va almacenando los nodos adyacentes que quedaron pendientes por analizar, esto se termina cuando se hallan recorrido todos los nodos.

DCRHTAB

Title
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

Title
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

Title
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

Вам также может понравиться