GRAFOS - PowerPoint PPT Presentation

About This Presentation
Title:

GRAFOS

Description:

Dados dos grafos G = (V, E) y G' = (V', E'), se denomina isomorfismo entre G y G' ... Con frecuencia se desea determinar la ruta mas corta entre dos v rtices dados. ... – PowerPoint PPT presentation

Number of Views:216
Avg rating:3.0/5.0
Slides: 31
Provided by: hugoaraya
Category:
Tags: grafos | dados

less

Transcript and Presenter's Notes

Title: GRAFOS


1
GRAFOS
  • HUGO ARAYA CARRASCO

2
GRAFOS
  • Un grafo G es un par (V,E) donde V es un conjunto
    (llamado conjunto de vértices o nodos) y E un
    subconjunto de VxV (conjunto de aristas).
  • Gráficamente representaremos los vértices por
    puntos y las aristas por líneas que los unen.
  • Un vértice puede tener 0 o más aristas, pero toda
    arista debe unir exactamente 2 vértices.
  • Llamaremos orden de un grafo a su número de
    vértices, V.
  • Si V es finito se dice que el grafo es finito.
  • Toda arista une dos vértices distintos

3
ARISTAS y VERTICES
  • Si la arista carece de dirección se denota
    indistintamente a,b o b,a, siendo a y b los
    vértices que une.
  • Si a,b es una arista, a los vértices a y b se
    les llama sus extremos.
  • Dos vértices v, w se dice que son adyacentes si
    v,w?V (o sea, si existe una arista entre ellos)
  • Llamaremos grado de un vértice al número de
    aristas de las que es extremo. Se dice que un
    vértice es par o impar según lo sea su
    grado.

4
CAMINOS
  • Sean x, y ? V, se dice que hay un camino en G de
    x a y si existe una sucesión finita no vacía de
    aristas x,v1, v1,v2,..., vn,y. En este
    caso.
  • x e y se llaman los extremos del camino
  • El número de aristas del camino se llama la
    longitud del camino
  • Si los vértices no se repiten el camino se dice
    propio o simple.
  • Si hay un camino no simple entre 2 vértices,
    también habrá un camino simple entre ellos
  • Cuando los dos extremos de un camino son iguales,
    el camino se llama circuito o camino cerrado o
    ciclo (sin aristas repetidas).
  • Llamaremos ciclo a un circuito simple (no existen
    vertices repetidos excepto el primero y el
    ultimo)
  • Un vértice a se dice accesible desde el vértice b
    si existe un camino entre ellos. Todo vértice es
    accesible respecto a si mismo

5
EJEMPLOS DE GRAFOS
  • Grafo regular Aquel con el mismo grado en todos
    los vértices. Si ese grado es k lo llamaremos
    k-regular.

6
EJEMPLOS DE GRAFOS
  • Grafo bipartito Es aquel con cuyos vértices
    pueden formarse dos conjuntos disjuntos de modo
    que no haya adyacencias entre vértices
    pertenecientes al mismo conjunto

7
EJEMPLO DE GRAFOS
  • Grafo completo Aquel con una arista entre cada
    par de vértices. Un grafo completo con n vértices
    se denota Kn.

8
EJEMPLOS DE GRAFOS
  • Todo grafo completo es regular porque cada
    vértice tiene grado V-1 al estar conectado con
    todos los otros vértices.
  • Un grafo regular no tiene por qué ser completo
  • Un grafo bipartido regular se denota Km,n donde
    m, n es el grado de cada conjunto disjunto de
    vértices.
  • A continuación ponemos los dibujos de K1,2, K3,3,
    y K2,5

9
MATRIZ DE ADYACENCIA
  • La suma de los grados de los vértices es igual al
    doble del número de aristas
  • Sea G un grafo de orden n. Llamaremos matriz de
    adyacencia de G a la matriz nxn que llamaremos A
    (aij) donde aij 1 si i,j?A y aij 0 en
    otro caso.
  • La matriz de adyacencia siempre es simétrica
    porque aij aji

v1 v2 v3 v4 v5 v1 0 1 1 0 0 v2 1 0 1 1 0 v3 1
1 0 1 1 v4 0 1 1 0 0 v5 0 0 1 0 0
10
GRAFOS
  • Sea G un grafo de n vértices con n gt 1 y sea A su
    matriz de adyacencia. Se cumple que el valor del
    coeficiente ai,j de la matriz Ak es igual al
    número de caminos de longitud k con extremos vi y
    vj
  • Si existe un camino de longitud m (m ? n) entre 2
    vértices cualquiera, entonces existe un camino de
    longitud ? n-1 entre esos dos vértices.
  • Un grafo G se dice conexo si cada par de vértices
    está unido al menos por un camino.
  • Una arista de un grafo G se dice de separación si
    G es conexo pero al suprimir la arista se divide
    en dos componentes conexos

11
GRAFOS
  • Un método para comprobar si un grafo es conexo es
    el siguiente
  • Se halla la matriz de adyacencia y se eleva a la
    (n-1)-ésima potencia
  • Se calcula la suma de las potencias de A hasta
    An-1
  • Si todos sus elementos son ? 0, el grafo es
    conexo.
  • Dados dos grafos G (V, E) y G (V, E), se
    denomina isomorfismo entre G y G a cualquier
    aplicación biyectiva fG ? G tal que si a, b ?
    V, entonces a,b?E ? f(a),f(b)?E.

12
Grafos Eulerianos y Hamiltonianos
  • Llamaremos camino euleriano a un camino que
    contiene a todas las aristas del grafo,
    apareciendo cada una exactamente una vez.
  • Un ciclo euleriano es un camino euleriano que
    comienza y acaba en el mismo vértice.
  • Un grafo que admite un ciclo euleriano diremos
    que es un grafo euleriano.

13
Grafos Eulerrianos y Hamiltonianos
  • Si un grafo está formado por dos subgrafos
    eulerianos unidos al menos por un vértice y sin
    aristas en común, entonces es euleriano.
  • Un grafo conexo G(V,A) es euleriano ? todo
    vértice tiene grado par.
  • Un grafo conexo tiene un camino abierto euleriano
    ? tiene exactamente dos vértices de grado impar.

14
Puentes de Konigsberg
  • El problema consiste en partir de cualquier lugar
    , caminar sobre cada puente exactamente una vez y
    luego regresar a la posición inicial.

15
Algoritmo de Fleury
  • Si G es un grafo euleriano siempre es posible
    seguir la siguiente construcción de un circuito
    euleriano. Se empieza por un vértice arbitrario y
    se recorren las aristas arbitrariamente sometida
    a dos condiciones
  • Se borran las aristas a medida que son
    atravesadas
  • Solo se recorre una arista de separación si no
    queda otra alternativa

16
Caminos Hamiltonianos
  • Un camino hamiltoniano es un camino que recorre
    todos los vértices de un grafo sin pasar dos
    veces por el mismo vértice.
  • Si el camino es cerrado se dice un ciclo
    hamiltoniano
  • Un grafo G se dice hamiltoniano si tiene un ciclo
    hamiltoniano.
  • A diferencia de los grafos eulerianos, no hay una
    caracterización de cuando un grafo tiene un ciclo
    o un camino hamiltoniano.
  • Si un grafo es conexo con V?3 y para cada par
    de vértices la suma de sus grados es mayor o
    igual que el número de vértices entonces es
    hamiltoniano.

17
Problema del Vendedor Viajero
  • En un grafo G con pesos se pretende encontrar un
    ciclo que pase por todos los vértices de forma
    que la suma de los pesos de las aristas escogidas
    para formar el ciclo sea lo menor posible.

18
Ruta mas corta
  • Un grafo con pesos es un grafo en el cual se
    asignan valores a las aristas y que la longitud
    de un camino en un grafo con pesos es la suma de
    los pesos de las aristas en el camino. Con
    frecuencia se desea determinar la ruta mas corta
    entre dos vértices dados. Dijkstra escribió el
    algoritmo que resuelve este problema.

19
Algoritmo de Dijkstra
  • Suponemos que los pesos son números positivos.
  • Se desea determinar el camino mas corto de a
    hasta z.
  • El grafo es conexo.
  • Sea L(v) la etiqueta del vértice v.
  • En algún momento algunos vértices tienen
    etiquetas temporales y otros permanentes.
  • Sea T el conjunto de tienen etiquetas temporales.
  • En principio todos los vértices tienen etiquetas
    temporales.
  • En cada iteración el algoritmo modifica el estado
    de una etiqueta de temporal a permanente.
  • El algoritmo concluye cuando z recibe una
    etiqueta permanente, L(z) proporciona la longitud
    mínima de a hasta z.
  • El peso de la arista (i,j) es w(i,j)

20
Algoritmo de Dijkstra
  • Procedure dijkstra(w, a, z, L)
  • L(a)0
  • For todos los vértices x ! a do
  • L(x) infinito
  • T conjunto de todos los vértices
  • // T es el conjunto de vértices cuya distancia
    mas corta a a no ha sido determinada
  • While z pertenece T do
  • elegir v en T con L(v) mínimo
  • T T-v
  • for cada x en T adyacente a v do
  • L(x) minL(x),L(v) w(v,x)
  • end
  • end

21
ARBOLES
  • Un grafo se dice un árbol si es conexo y no tiene
    ciclos.
  • Los primeros dos grafos son árboles

22
ARBOLES
  • Por tanto, un grafo es un árbol ? entre cada par
    de vértices existe un camino y sólo uno.
  • Un grafo se dice un bosque si sus componentes
    conexas son árboles.
  • Teorema.- Sea G(V,E) un grafo. Son equivalentes
  • a) G es un árbol
  • b) Cada par de vértices distintos de V esta
    conectado por un único camino.
  • c) G es conexo y toda arista de G es de
    separación
  • d) G no tiene ciclos y V E 1
  • e) G es conexo y V E 1
  • f) G no tiene ciclos pero al añadirle una arista
    a G se crea un único circuito

23
ARBOL GENERADOR
  • Definición.- Sea G un grafo, un árbol generador
    de G es un subgrafo conexo de G que tiene los
    mismos vértices que G y no tiene circuitos.

24
ARBOL GENERADOR
  • Supongamos que a cada arista se le asocia un
    número positivo (su peso). Un árbol generador se
    dice de peso mínimo si la suma de los pesos de
    las aristas que lo componen es lo menor posible
  • Para calcular el árbol de peso mínimo existen 2
    algoritmos
  • Kruskal Se van escogiendo las aristas de menor
    peso hasta conseguir un árbol de peso mínimo
  • Prim Consiste en ir borrando las aristas de
    mayor peso posible y que no sean aristas de
    separación.
  • Puede haber más de un árbol generador de peso
    mínimo, pero todos deben tener el mismo peso.

25
ALGORITMO DE PRIM
  • La idea básica consiste en añadir, en cada paso,
    una arista de peso mínimo a un árbol previamente
    construido. Más explícitamente
  • Paso 1. Se elige un vértice u de G y se considera
    el árbol Su
  • Paso 2. Se considera la arista e de mínimo peso
    que une un vértice de S y un vértice que no es de
    S, y se hace SSe
  • Paso 3. Si el nº de aristas de T es n-1 el
    algoritmo termina. En caso contrario se vuelve al
    paso 2

26
ALGORITMO DE PRIM
27
ALGORITMO DE PRIM
28
ALGORITMO DE KRUSKAL
  • La idea básica consiste en elegir sucesivamente
    las aristas de mínimo peso sin formar ciclos.
  • Paso 1. Se elige la arista de mínimo peso e y se
    considera Se.
  • Paso 2. Sea e la arista de mínimo peso tal que
    eÏS y Se' es un grafo acíclico. Se hace SSe'.
  • Paso 3. Si S tiene n-1 aristas, el algoritmo
    termina. En caso contrario se vuelve al paso 2.

29
ALGORITMO DE KRUSKAL
30
ALGORITMO DE KRUSKAL
Write a Comment
User Comments (0)
About PowerShow.com