Anda di halaman 1dari 6

Arboles.

Conceptos bsicos: rbol: En teora de grafos, un rbol es un grafo en el que cualesquiera dos vrtices estn conectados por exactamente un camino. rbol Generado: de un grafo G es un subgrupo generador De G que es un rbol. Grado de un nodo: Es el nmero de subrbol es que tienen como raz ese nodo (el Nmero de subrbol es que "cuelgan" del nodo). Nodo terminal: Nodo con grado 0, no tiene subrbol es . Grado de un rbol: Grado mximo de los nodos de un rbol . Hijos de un nodo: Nodos que dependen directamente de ese nodo, es decir, las races De sus subrbol es . Padre de un nodo: Antecesor directo de un nodo, nodo del que depende directamente. Nodos hermanos: Nodos hijos del mismo nodo padre. Camino: Sucesin de nodos del rbol n1, n2, ..., nk, tal que ni es el padre de Ni+1. Antecesores de un nodo: Todos los nodos en el camino desde la raz del rbol hasta ese Nodo. Nivel de un nodo: Longitud del camino desde la raz hasta el nodo. El nodo raz tiene Nivel 1. Altura (profundidad) de un rbol: Nivel mximo de un nodo en un rbol. Longitud de camino de un rbol: Suma de las longitudes de los caminos a todos sus Componentes. Bosque: Conjunto de n>0 rboles disjuntos. Grafo pesado: es un grafo tal que sus aristas tienen Asociado un peso.

Algoritmo para crear arboles de mnimo peso.


Teniendo que construir caminos entre ciertos pares de ciudades, de Modo que todo el par me quede conectado. Como puedo hacerlo Minimizando la longitud total de camino construido. Algoritmo de Kruskal para rbol generador mnimo Partir de un subgrafo generador cuyo conjunto de aristas es vacio, Y en cada paso agregar una arista de peso mnimo que no forme Ciclos con las dems aristas del conjunto, hasta haber agregado N = 1 aristas.

Para ver que el algoritmo construye un rbol generador, como en cada Paso el subgrafo B elegido hasta el momento es generador y aciclico, Basta ver que el algoritmo termina con mB = nG 1. Si mB < nG 1, B Es no conexo. Sea B1 una componente conexa de B. Como G es conexo, Va a existir alguna arista con un extremo en B1 y el otro en V (G) B1, Que por lo tanto no forma ciclo con las dems aristas de B. Entonces, si mB < nG 1, el algoritmo puede realizar un paso ms. Sea G un grafo, TK el _rbol generado por el algoritmo de Kruskal y fe1; e2; : : : ; en1g la secuencia de aristas de TK en el orden en que fueron elegidas por el algoritmo de Kruskal. Para cada _rbol generador T de G de mnimos p(T) como el mximo k _ n tal que 8j _ k, ej. 2 T. Demostracin de que Kruskal

Ahora, sea T un AGM que maximiza p. Si p(T) = n, entonces T coincide con TK , con lo cual TK resulta ser mnimo. Si TK no es mnimo, entonces p(T) < n y e(T) 62 T. Como T es conexo, en T hay un camino C que une los extremos de ep(T). Como TK es aciclico, hay alguna arista e en C tal que e 62 TK . Como e1; : : : ; ep(T)1 2 T y T es aciclico, e no forma ciclos con e1; : : : ; ep(T)1. Por la forma en que fue elegida ep(T) por el algoritmo de Kruskal, peso(ep(T)) _ peso(e). Pero entonces T0 = T e [ fep(T)g es un rbol generador de G de peso menor o igual a T y p(T0) > p(T), absurdo. Luego TK es un rbol generador mnimo.

El siguiente ejemplo ilustra el funcionamiento del algoritmo. La secuencia de Ilustraciones va de izquierda a derecha y de arriba hacia abajo.

Algoritmo de Prim para rbol generador mnimo

Partir de un conjunto de aristas A = feg y un conjunto de vrtices W = fv;wg, donde e es una arista de peso mnimo en G y v y w son sus extremos. En cada paso, agregar a una arista f de peso mnimo con un extremo en W y el otro en V(G) W. Agregar a W el extremo de f que no estaba en W, hasta que W = V(G).

Para ver que construye un rbol generador, se puede ver que en cada paso del algoritmo, el subgrafo elegido hasta el momento es conexo y con m = n 1. Finalmente, como el grafo es conexo, mientras W 6= V(G) va a existir alguna arista de W a V(G) W con lo cual el algoritmo termina construyendo un rbol generador del grafo. Sea G un grafo, P el rbol generado por el algoritmo de Prim y fe1; e2; : : : ; en1g la secuencia de aristas de P en el orden en que fueron elegidas por el algoritmo de Prim. Para cada rbol generador T de G definimos p(T) como el mximo k _ n tal que 8j _ k, ej. 2 T. Ahora, sea T un AGM que maximiza p. Si p(T) = n, entonces T coincide con P, con lo cual P resulta ser mnimo. Si P no es mnimo, entonces p(T) < n y ep(T) 62 T. Como T es conexo, en T hay un camino C que une los extremos de ep(T). Este algoritmo lo demostramos: Si p(T) = 1, como e1 es de peso mnimo, peso(e1) _ peso(e) 8e 2 C. Luego T0 = T e [ fep(T)g es un rbol generador de G de peso menor o igual a T y p(T0) > p(T), absurdo. Si p(T) > 1, sea V1 el conjunto de extremos de las aristas e1; : : : ; ep(T)1 y V2 = V V1. Por la forma de elegir las aristas en Prim, ep(T) es de peso mnimo entre las que tienen un extremo en V1 y otro en V2. El camino C va de un vrtice de V1 a un vrtice de V2, con lo cual, existe e 2 C con un extremo en V1 y otro en V2 (sus vrtices se pueden partir entre los de V1 y los de V2, ambos conjuntos son no vacios y C es conexo). Entonces

peso(ep(T)) _ peso(e) y T e [ fep(T)g es un rbol generador de peso menor o igual a T y p mayor a p(T) (e no es ninguna de las ei con i < p(T) porque esas tienen ambos extremos en V1, por definicin de V1), absurdo. El siguiente ejemplo ilustra el funcionamiento del algoritmo. La secuencia de ilustraciones va de izquierda a derecha y de arriba hacia abajo. La primera imagen muestra el grafo pesado y las siguientes muestran el funcionamiento del algoritmo de Prim y como va cambiando el conjunto U durante la ejecucin.

El siguiente ejemplo ilustra la metodologa anterior, utilizando una pila de aristas P, En donde las aristas se van apilando en menor a mayor segn el peso de la misma. La Secuencia de ilustraciones va de izquierda a derecha.

Anda mungkin juga menyukai