algoritmo kruskal mate discretas

22
ALGORITMOS DE KRUSKAL Y PRIM JULIÁN RICARDO CÁRDENAS FERNANDO PEREZ TORRES ELKIN YAMITH BARRERA

Upload: zuri-phoenix-at

Post on 30-Sep-2015

245 views

Category:

Documents


3 download

DESCRIPTION

algoritmo kruskal matematicas logica

TRANSCRIPT

  • ALGORITMOS DE KRUSKAL Y PRIM

    JULIN RICARDO CRDENAS FERNANDO PEREZ TORRESELKIN YAMITH BARRERA

  • GRAFOS

    Un grafo es un conjunto de puntos (vrtices) en el espacio, que estn conectados por un conjunto de lneas (aristas).

  • Terminologa de Grafos Una arista se representa por los vrtices que conecta. La arista 3

    conecta los vrtices b y d, y se representa por A(b,d). Algunos vrtices pueden conectar un nodo consigo mismo; por

    ejemplo, el vrtice d tiene el formato V(d,d). Estas aristas sedenominan bucles

    Al nmero de vrtices que tiene un grafo se le llama orden delgrafo

    Un grafo nulo es un grafo de orden 0 Dos vrtices son adyacentes si hay un arco que los une. Un camino es una secuencia de uno o ms arcos que

    conectan 2 nodos. Un grafo es dirigido cuando los arcos tienen direccin. Un grafo es no-dirigido cuando los arcos no tienen direccin. La longitud de un camino es el n de arcos que comprende. Un camino simple es, si todos los vrtices usados son distintos

    excepto el1ero y el ltimo que se permite sean idnticos.

  • Tipos de Grafos Existen dos tipos de grafos los no dirigidos y los

    dirigidos. No dirigidos: son aquellos en los cuales los lados

    no estn orientados (No son flechas). Cada lado serepresenta entre parntesis, separando sus vrticespor comas, y teniendo en cuenta (Vi,Vj)=(Vj,Vi).

    Dirigidos: son aquellos en los cuales los lados estnorientados (flechas). Cada lado se representa entrengulos, separando sus vrtices por comas yteniendo en cuenta !=. En grafosdirigidos, para cada lado , A, el cual es elvrtice origen, se conoce como la cola del lado yB, el cual es el vrtice destino, se conoce comocabeza del lado.

  • RBOLES DE EXPANSIN MNIMOS es aquel que obtenemos en un grafo conexo y sin ciclos. rbol

    de mximo alcance cuyo valor es mnimo, es decir, la suma desus aristas es mnima.

    rbol es un grafo en el que existe un nico nodo desde el que

    se puede acceder a todos los dems y cada nodo tiene unnico predecesor, excepto el primero, que no tiene ninguno.

    Tambin podemos definir un rbol como: Un grafo conexo y sin ciclos. Un grafo sin ciclos y con n-1 aristas, siendo n el nmero de

    vrtices. Grado de un nodo en un rbol es el nmero de subrboles de

    aquel nodo.Denominamos hojas en un rbol a los nodos finales (v3, v5 y v6).Un rbol de mximo alcance

  • ROBERT PRIM Naci en 1921, Sweetwater, (Estados Unidos)

    es un matemtico e ingeniero informtico. Robert Prim en 1957 descubri un algoritmo

    para la resolucin del problema del rbol decoste total mnimo(minimum spanning tree -MST). Este problema es un problema tpico deoptimizacin combinatoria, que fueconsiderado originalmente por Otakar Boruvkaen 1926 mientras estudiaba la necesidad deelectrificacin rural en el sur de Moravia enChecoslovaquia. Este problema tambin fueresuelto por Joseph B. Kruskal en 1956.

  • Joseph KRUSKAL Joseph B. Kruskal investigador del Math

    Center (Bell-Labs), que en 1956 descubri sualgoritmo para la resolucin del problema delrbol de coste total mnimo (minimumspanning tree - MST) tambin llamado rbolrecubridor eucldeo mnimo.

    El objetivo del algoritmo de Kruskal esconstruir un rbol (subgrafo sin ciclos)formado por arcos sucesivamenteseleccionados de mnimo peso a partir de ungrafo con pesos en los arcos.

  • El Algoritmo de Kruskal que resuelvela misma clase de problema que elde Prim, salvo que en esta ocasinno partimos desde ningn nodoelegido al azar. Para resolver elmismo problema lo que hacemos espasarle a la funcin una lista con lasaristas ordenada de menor amayor, e iremos tomando una paraformar el ARM.

  • ALGORITMO DE PRIM El algoritmo incrementa continuamente el

    tamao de un rbol, comenzando por unvrtice inicial al que se le van agregandosucesivamente vrtices cuya distancia a losanteriores es mnima. Esto significa que en cadapaso, las aristas a considerar son aquellas queinciden en vrtices que ya pertenecen al rbol.

    El rbol recubridor mnimo est completamenteconstruido cuando no quedan ms vrtices poragregar.

  • Objetivo de Algoritmo prim Encontrar el rbol recubridor ms corto

  • Requisitos

    Ser un grafo conexo

    Ser un grafo sin ciclos

    Tener todos los arcos etiquetados.

  • La idea bsica consiste en aadir, encada paso, una arista de peso mnimo aun rbol previamente construido. Msexplcitamente:

    Paso 1. Se elige un vrtice u de G y seconsidera el rbol S={u}

    Paso 2. Se considera la arista e de mnimopeso que une un vrtice de S y un vrticeque no es de S, y se hace S=S+e

    Paso 3. Si el n de aristas de T es n-1 elalgoritmo termina. En caso contrario sevuelve al paso 2

  • ALGORITMO DE KRUSKAL El algoritmo de Kruskal permite hallar el rbol

    minimal de cualquier grafo valorado (concapacidades). Hay que seguir los siguientespasos:1. Se marca la arista con menor valor. Si hay

    ms de una, se elige cualquiera de ellas.2. De las aristas restantes, se marca la que

    tenga menor valor, si hay ms de una, seelige cualquiera de ellas.

    3. Repetir el paso 2 siempre que la aristaelegida no forme un ciclo con las yamarcadas.

    4. El proceso termina cuando tenemos todos losnodos del grafo en alguna de las aristasmarcadas, es decir, cuando tenemos marcadosn-1 arcos, siendo n el nmero de nodos del grafo

  • Ejemplo Determinar el rbol de mnima expansin

    para el siguiente grafo: Siguiendo el algoritmo de Kruskal, tenemos:

  • Ejercicio

  • Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor) y la marcamos.

    Elegimos la siguiente arista con menor valor (1, 3) = 1 y la marcamos.

    Elegimos la siguiente arista con menor valor (5, 7) = 2 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.

    Elegimos la siguiente arista con menor valor (1, 2) = 3 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.

    Elegimos la siguiente arista con menor valor (6, 7) = 4 y la desechamos, ya que forma ciclos con las aristas (5, 7) y (5, 6) marcadas anteriormente.

    Elegimos la siguiente arista con menor valor (2, 5) = 5 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.

    Elegimos la siguiente arista con menor valor (4, 5) = 6 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.

    FIN. Finalizamos dado que los 7 nodos del grafo estn en alguna de las aristas, o tambin ya que tenemos marcadas 6 aristas (n-1).

  • Por tanto el rbol de mnima expansin resultante sera:

  • WEBGRAFA

    http://www.mitecnologico.com/Main/TiposDeGrafos

    http://personales.upv.es/arodrigu/grafos/Prim.htm http://www.matediscreta.8k.com/grafos.htm www.ganimides.ucm.cl/haraya/doc/GRAFOS.ppt http://eisc.univalle.edu.co/materias/Matematicas

    _Discretas_2/pdf/cobertor_arbol_03.pdf http://www.matap.uma.es/profesor/magalan/Ma

    tDis/material/ArbolesTema6_2_MatDiscreta.pdf http://www.inf.ucv.cl/~rsoto/cursos/INF245/Cap2_

    Parte3_2ppt_INF245.pdf

    ALGORITMOS DE KRUSKAL Y PRIMGRAFOSTerminologa de GrafosTipos de GrafosRBOLES DE EXPANSINMNIMOSROBERT PRIMJoseph KRUSKALNmero de diapositiva 8ALGORITMO DE PRIMObjetivo de Algoritmo primRequisitosNmero de diapositiva 12Nmero de diapositiva 13Nmero de diapositiva 14ALGORITMO DE KRUSKALNmero de diapositiva 16Nmero de diapositiva 17EjemploEjercicioNmero de diapositiva 20Nmero de diapositiva 21WEBGRAFA