• No se han encontrado resultados

Tema 4 Arboles y Grafos

N/A
N/A
Protected

Academic year: 2021

Share "Tema 4 Arboles y Grafos"

Copied!
6
0
0

Texto completo

(1)

T

Tema 4 Árb

ema 4 Árbol

oles y

es y Gra

Grafo

fos.

s.

De

Defini

finicion

ciones básicas de teoría de grafos.

es básicas de teoría de grafos.

Un grafo consta de un conjunto de

Un grafo consta de un conjunto de nodosnodos, un conjunto de, un conjunto de aristasaristas y una correspondencia y una correspondencia f  f  del conjunto de del conjunto de aristas al conjunto de nodos.

aristas al conjunto de nodos.

Si una arista se corresponde con un par ordenado, entonces se dice que es una

Si una arista se corresponde con un par ordenado, entonces se dice que es una  arista  arista dirigidadirigida, en caso, en caso contrario es una

contrario es una arista no dirigida arista no dirigida..

Los pares de nodos que estén conectados por una arista dentro de un grafo se denominan

Los pares de nodos que estén conectados por una arista dentro de un grafo se denominan  nodos nodos  adyacentes

 adyacentes..

Un grafo en el que toda arista es dirigida se denomina

Un grafo en el que toda arista es dirigida se denomina digrafo o graf digrafo o grafo dirigidoo dirigido.. Un grafo en el que todas las aristas son no dirigidas se denomina

Un grafo en el que todas las aristas son no dirigidas se denomina  grafo no dirig grafo no dirigidoido.. Si en un grafo hay aristas dirigidas y aristas no dirigidas se denomina

Si en un grafo hay aristas dirigidas y aristas no dirigidas se denomina  mixta mixta.. S

Seea a G G

(( ,, ))N N AA   y sea  y sea e e A

A  una arista dirigida asociada al par ordenado de nodos (  una arista dirigida asociada al par ordenado de nodos (u,vu,v). Se dice que la). Se dice que la arista

arista ee sale del nodo sale del nodo uu o comienza en el nodo o comienza en el nodo uu y llega al nodo y llega al nodo vv o termina en el nodo o termina en el nodo vv.. También se dice que los nodos

También se dice que los nodos uu y y vv son los nodos inicial y Terminal de la arista son los nodos inicial y Terminal de la arista ee.. Una arista

Una arista e e A

A que conecte los nodos que conecte los nodos uu y y vv tanto si es dirigida como si no se dice que es incidente en los tanto si es dirigida como si no se dice que es incidente en los nodos

nodos uu y y vv..

Una arista que conecte un nodo consigo misma se denomina

Una arista que conecte un nodo consigo misma se denomina bucle bucle o o lazolazo..

En algunos grafos pueden existir ciertos pares de nodos que estén unidos por más de una arista, se En algunos grafos pueden existir ciertos pares de nodos que estén unidos por más de una arista, se denominan

denominan aristas paralelas aristas paralelas..

Todo grafo que contenga aristas paralelas se denomina

Todo grafo que contenga aristas paralelas se denomina multigrafo multigrafo.. Si no hay más de una arista entre pares de nodos se denomina

Si no hay más de una arista entre pares de nodos se denomina  grafo senc grafo sencilloillo..

Existen grafos en los que los números de las aristas muestran los pesos de éstas, se denominan

Existen grafos en los que los números de las aristas muestran los pesos de éstas, se denominan  grafos grafos  ponderados

 ponderados..

En un grafo un nodo que no sea adyacente a ningún otro nodo se denominará

En un grafo un nodo que no sea adyacente a ningún otro nodo se denominará  nodo aislado nodo aislado.. Un grafo que contenga solamente nodos aislados se denomina

Un grafo que contenga solamente nodos aislados se denomina grafo nulo grafo nulo.. En un grafo dirigido, para todo nodo

En un grafo dirigido, para todo nodo vv el número de aristas que tienen a el número de aristas que tienen a vv como nodo inicial se denomina como nodo inicial se denomina grado de salida del nodo

grado de salida del nodo vv..

El número de aristas que tienen a

El número de aristas que tienen a vv como nodo terminal es lo que se denomina grado de entrada. como nodo terminal es lo que se denomina grado de entrada. La suma del índice de entrada y el índice de salida es l

La suma del índice de entrada y el índice de salida es l o que se denominao que se denomina  grado total del nod grado total del nodo vo v.. La suma de los grados de todos los nodos de un grafo debe de ser un número par que será igual al doble La suma de los grados de todos los nodos de un grafo debe de ser un número par que será igual al doble del número de aristas que haya en el grafo.

del número de aristas que haya en el grafo. S

Seea a (( )) N  N H H   el conjunto de nodos de un grafo H y sea el conjunto de nodos de un grafo H y sea  N  N G( ( ))G  el conjunto de nodos un grafo G tales que el conjunto de nodos un grafo G tales que (( )) (( ))

 N

 N H H

N N GG . Si además toda arista de H . Si además toda arista de H es es también una arista de G, entontambién una arista de G, entonces se dice que el grafo H esces se dice que el grafo H es un subgrafo del grafo G y esto se expresa en la forma

un subgrafo del grafo G y esto se expresa en la forma  H  H

GG.. U

Un n ggrraaffo o G G

(( ,, ))N N AA eses  completo completo  si todos sus nodos son adyacentes a todos los nodos del grafo, se  si todos sus nodos son adyacentes a todos los nodos del grafo, se denotan de la forma

denotan de la forma K K nn U

Un n ggrraaffo o sseenncciillllo o G G

(( ,, ))N N AA  se denomina grafo bipartito si N se puede descomponer en dos subconjuntos se denomina grafo bipartito si N se puede descomponer en dos subconjuntos

1 1

V  y y V V 22 tales que no haya dos nodos de tales que no haya dos nodos de V V  que sean adyacentes ni tampoco dos nodos de11 que sean adyacentes ni tampoco dos nodos de V V 22.. S

Seea a G G

(( ,, ))N N AA  un digrafo sencillo, toda arista de A se puede expresar por medio de un par ordenado de un digrafo sencillo, toda arista de A se puede expresar por medio de un par ordenado de elementos de N, esto es

elementos de N, esto es  A  A

 

N N N 

N .. Cualquier subconjunto de

(2)

2

Caminos, accesibilidad y conexiones.

Sea G

( , )N A  un digrafo sencillo, se dice que una sucesión de aristas es un  camino de G si y solo si el nodo terminal de cada arista del camino es el nodo inicial de la próxima arista del camino, si lo hubiere. Un camino recorre los nodos que aparecen en la sucesión, comenzando en el nodo inicial de la primera arista y finalizando en el nodo terminal de la última arista de la sucesión.

El número de aristas que aparecen en la sucesión de un camino se denomina longitud del camino. Un camino de un digrafo en el cual todas las aristas sean distintas se denomina  camino sencillo. Un camino en el que todos los nodos sean diferentes se denomina  camino elemental .

Un camino se denomina sencillo si no se repiten aristas.

Un camino se denomina elemental  si no se repite ningún nodo.

Un camino que comienza y acaba en el mismo nodo se denomina  ciclo.

Un ciclo se denomina sencillo si ninguna arista del ciclo aparece más de una vez en el camino. Un ciclo se denomina elemental si no pasa por ningún nodo más de una vez.

Un digrafo sencillo que no tenga ningún ciclo se denomina aclíclico.

Sea G

( , )N A   un digrafo sencillo, entonces se define la relación de camino, C de G en la forma

,

C  u v  existe un camino del nodo u al nodo v.

Si un nodo v resulta alcanzable desde el nodo u, entonces un camino de longitud mínima que vaya de u a v se denomina camino de longitud mínima.

La longitud de un camino de longitud mínima del nodo u al nodo v  se denomina  distancia  y se denota como d(u,v). Se supone que d(u,u)=0 para todo nodo u.

La longitud de un camino de un grafo es el número de aristas que aparecen en la sucesión del camino. La alcanzabilidad  es una relación binaria sobre el conjunto de los nodos de un digrafo sencillo.

La alcanzabilidad es reflexiva y transitiva, pero no necesariamente simétrica o antisimétrica. La distancia d(u,v) desde un nodo u hasta un nodo v satisface las propiedades siguientes:

( , ) 0 d u v  ( , ) 0 d u u  ( , ) ( , ) ( , ) d u v d v w d u w 

La última igualdad se llama desigualdad triangular. Si no puede alcanzarse v desde u se escribe d u u( , )   .

Si se puede alcanzar v desde u y u desde v entonces d u v( , ) no es necesariamente igual a d v u( , ).

En un digrafo sencillo la longitud de cualquier camino elemental es menor o igual que n-1, en donde n es el número de nodos que haya en el grafo, similarmente la longitud de cualquier ciclo elemental no sobrepasará n.

El número de nodos diferentes de cualquier camino elemental de longitud k  es k+1.

En un grafo sencillo no dirigido, una sucesión v v 1, 2,...,vd   forma un camino si para i 1,2,3...,d  existe una

arista no dirigida

v i 1,vi

. Se dice que la arista

v i 1,vi

 se encuentra en el camino.

La longitud del camino está dada por el número de aristas que haya en el camino y es d-1. Si v 1 vd  entonces el camino forma un ciclo.

Un ciclo sencillo en un grafo no dirigido es un ciclo sencillo que tiene que tener al menos tres aristas distintas y en donde solo se repite el nodo inicial y el nodo final de la sucesión.

(3)

Se dice que un grafo no dirigido es  conexo  si para cualquier pareja de nodos del grafo se puede llegar hasta el otro nodo partiendo de cualquiera de ellos.

Un digrafo es conexo o débilmente conexo si es conexo como grafo codirigido, despreciando los sentidos de las aristas, es decir si se transforman las aristas dirigidas en aristas no dirigidas.

Un digrafo sencillo se dice unilateralmente conexo si para toda pareja de nodos del grafo al menos uno de los nodos de esa pareja se puede alcanzar desde el otro.

Si para toda pareja de nodos del grafo los dos nodos de la pareja se pueden alcanzar uno desde el otro, entonces se dice que el grafo es fuertemente conexo.

Fuertemente conexo Débilmente conexo Unilateralmente conexo

 No Unilateralmente conexo No Fuertemente conexo

Sea G

( , )N A  un digrafo sencillo, y sea  X N , se dice que el subgrafo cuyos nodos están dados por el

conjunto X y cuyas aristas son todas aquellas aristas de G que tengan sus nodos iniciales y finales en X es el subgrafo inducido por X.

Un subgrafo G1  se denomina  maximal  con respecto a alguna propiedad si no hay ningún otro subgrafo

que también posea esa propiedad y que incluya a G1.

Para un digrafo sencillo los subgrafos maximales fuertemente conexos se denominan componentes fuertes. Un subgrafo maximal unilateralmente conexo o un subgrafo maximal débilmente conexo se denominan componente unilateral o componente débil.

En un digrafo sencillo G

( , )N A , todo nodo del digrafo se encuentra exactamente en un componente fuerte.

(4)

4

Cálculo de caminos a partir de una representación matricial de los grafos.

Sea G

( , )N A  un digrafo sencillo, en el cual  N 

v v 1, 2,...vn

 y se supone que los nodos están ordenados

desde v1 hasta vn. La matriz Ad , nxn, cuyos elementos aij están dados por

1, si , 0, i j ij v v E  a en caso contrario     

Se denomina matriz de adyacencia del grafo G.

Toda matriz cuyos elementos sean o bien 0 o bien 1 se denomina matriz de bits o matriz booleana.

Sea Ad  la matriz de adyacencia de un digrafo G, el elemento de la i-esima fila y j-esima columna de Ad n, con n>0 es igual al número de caminos de longitud n que van desde el i-esimo nodo hasta el j-esimo.

Sea G

( , )N A  un digrafo simple, sean vi y v j dos nodos cualesquiera de G.

A partir de la matriz de adyacencia de Ad  se puede determinar inmediatamente si existe o no una arista desde vi hasta v jen G.

Además, a partir de la matriz r 

 Ad  , en donde r  es algún entero positivo, se puede establecer el número de

caminos existentes entre vi y v j.

Si sumamos las matrices 2 3

, , ,..., r 

 Ad Ad Ad Ad    para obtener  B, entonces:  B   Ad Ad 2  Ad 3 ... Ad r , será  posible determinar el número de caminos de longitud r que van desde vi hasta v j.

Para saber si v j es alcanzable desde vi hay que considerar todos los  Ad r , para r= 1,2,3…

En un grafo sencillo de n nodos la longitud de un camino o ciclo elemental no puede superar el valor n. Cualquier camino se puede transformar en un camino elemental eliminando los ciclos.

Para determinar si existe un camino que vaya desde vi hasta v j hay que examinar los caminos elementales

de longitud menor o igual que n-1. Si vi = v j el camino es un ciclo.

Mediante Bn se cuentan todos los caminos y todos los ciclos,

2 3

... n n

 B   Ad Ad  Ad  Ad 

El elemento de la i-esima fila y  j-esima columna de  Bn  muestra el número de caminos de longitud n o

menor que existen entre vi y v j.

Si este elemento es no nulo entonces se puede alcanzar v j y vi.

Sea G

( , )N A  un digrafo sencillo en el cual #N = n y se supone que los nodos de G están ordenados. La matriz P nxn cuyos elementos están dados por

1, si existe un camino desde hasta 0, en caso contrario i j ij v v  p   

se denomina matriz de caminos (matriz de alcanzabilidad) del grafo G.

La entrada de la diagonal principal pii es igual a 1 si y solo si existe un camino que vaya desde vi hasta sí

(5)

Recorrido de grafos representados como listas de adyacencia.

La representación del grafo en forma de lista de adyacencia suele ser preferible cuando el grafo es disperso, es decir que para cada nodo hay tan solo unas pocas de aristas que incidan en él.

Resulta más adecuada una matriz de adyacencia si el grafo es denso.

Para determinar si un grafo contiene una arista, en el caso que esté almacenado en forma de matriz de adyacencia en el peor de los casos hay que examinar n2 elementos donde n es el número de nodos.

Si se utiliza una lista de adyacencia en el peor caso requiere n comparaciones.

Búsqueda en amplitud.

La búsqueda en amplitud  se puede utilizar para hallar la distancia más corta entre algún nodo inicial y los nodos restantes del grafo. La búsqueda comienza en el nodo inicial, a continuación se visitan todos los nodos adyacentes al nodo inicial, repitiendo este proceso hasta recorrer todos los nodos.

Durante una búsqueda en amplitud en un grafo, se sigue un árbol de camino mínimo o de expansión. Los nodos del árbol se examinan por orden creciente de número de nivel y de izquierda a derecha. El recorrido de los nodos se almacena en una estructura de cola o FIFO (First in Firt Out).

El análisis temporal para el procedimiento está en O n m(  ).

Búsqueda en profundidad.

Una  Búsqueda en profundidad   es un algoritmo que permite recorrer todos los nodos de un grafo de manera ordenada, pero no uniforme. Su funcionamiento consiste en ir expandiendo todos y cada uno de los nodos que va localizando, de forma recurrente, en un camino concreto. Cuando ya no quedan más nodos que visitar en dicho camino, de modo que repite el mismo proceso con cada uno de los hermanos del nodo ya procesado. El recorrido de los nodos se almacena en una estructura de cola o FIFO (First in Firt Out). El análisis temporal en el peor caso para el procedimiento está en O n m(  ).

(6)

6

El algor itmo de Dijkstra para la búsqueda de caminos mínimos.

El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo dirigido y con  pesos en cada arista.

La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el algoritmo se detiene. El algoritmo es una especialización de la búsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de costo negativo. El análisis temporal en el peor caso para el procedimiento está en 2

( )

O n .

 Árboles de expansión.

 Árboles libres.

Un árbol libre es un grafo sencillo no dirigido que es a la vez conexo y acíclico. Todo árbol libre que contenga n nodos debe de tener n-1 aristas.

 Árboles de expansión.

Un árbol de expansión de un grafo conexo no dirigido G

( , )N A   es un árbol libre con el conjunto de nodos N que es un subgrafo de G, es decir un árbol de expansión conexo, acíclico y tiene a todo N como nodos y a parte de A como conjunto de aristas.

Todo árbol de expansión para un grafo de n nodos contiene siempre n-1 aristas.

Para la generación de un árbol de expansión se selecciona una sucesión de n-1 aristas, una a una tal que en cada paso el subgrafo actual sea acíclico.

Tanto la búsqueda en amplitud como la búsqueda en profundidad utilizan este enfoque.

 Árboles de expansión mínima.

Un árbol de expansión de un grafo ponderado conexo y no dirigido en el cual la suma de los costes de sus aristas sea mínima se denomina árbol de expansión mínima.

 Algoritmo de Prim y Kruskal

Dado un grafo, debemos obtener un nuevo grafo que sólo contenga las aristas imprescindibles para que todos los nodos queden conectados y la suma de las longitudes de las aristas de del nuevo grafo debe ser tan pequeña como sea posible, se aplica a problemas que tienen que ver con distribuciones geográficas Hay dos algoritmos que podemos utilizar para resolver este tipo de problemas: Kruskal y Prim.

Los algoritmos de Prim y Kruskal calculan, de distintas formas, el árbol de expansión mínimo de un grafo. El algoritmo de Kruskal tiene un tiempo

a log n

, siendo a el número de aristas. Si la densidad es alta el número de aristas a tiende a ser n(n-1)/2, con lo que el tiempo pasaría a

n logn2

, y el algoritmo de Prim podría implementarse de forma que fuera mejor. En el caso de un grafo disperso (pocas aristas) el número de aristas tendería a n, siendo en este caso el tiempo

nlogn

, siendo mejor que algunas implementaciones del algoritmo de Prim. Pero si implementamos el algoritmo de Prim utilizando montículos el tiempo requerido será de

a log n

 (al igual que el algoritmo de Kruskal).

Difieren en la forma de crear el camino mínimo. En el caso de Prim la solución es siempre un árbol de recubrimiento mínimo y en el otro caso, lo son las componentes conexas cuando finaliza el algoritmo. El resultado es el mismo, únicamente difiere la forma en que va evolucionando.

Referencias

Documento similar

ABIERTOS (para almacenar los nodos generados a´un no analizados) con valor la lista formada por el nodo inicial (es decir, el nodo cuyo estado es el estado inicial y cuyo camino es

tengan un extremo en una cualquiera de las marcadas, de forma que si se marca la arista seleccionada no se genere un ciclo. De estas aristas se selecciona y marca la asociada

tengan un extremo en una cualquiera de las marcadas, de forma que si se marca la arista seleccionada no se genere un ciclo. De estas aristas se selecciona y marca la asociada

Si el grafo es dirigido, entonces las entradas de la matriz serán 1, -1 y 0 ; 1 si el nodo de la fila i es el extremo terminal del arco de la columna j; -1 si el nodo de la fila i

;;; creamos el nodo inicial cuyo estado es el. ;;; estado inicial, su camino es la

Por ejemplo, puede modificarse ligeramente para encontrar la longitud (en el sentido de menor n´ umero de aristas) del camino m´ as corto entre dos v´ ertices conectados: “si hay

9 Método para consultar el número total de Aristas de un Grafo 9 Método para consultar el Grado de un Vértice dado de un Grafo. (Grado de Salida si el Grafo

Hacer ABIERTOS la pila formada por el nodo inicial (es decir, el nodo cuyo estado es *ESTADO-INICIAL* y cuyo camino es vac´ ıo);. Hacer CERRADOS