lunes, 11 de enero de 2016

Algoritmo de Prim

El Algoritmo de Prim se usa para obtener árboles de recubrimiento mínimo y cómo su nombre indica fue propuesto en el año 1957 por Robert C. Prim

Antes de meternos de lleno con él vamos con un poco de historia. Este algoritmo fue propuesto en 1930 por el matemático Vojteck Jarník que fue el primero que lo propuso, unos años después en 1957 fue nuevamente propuesto por Rober C. Prim y finalmente fue redescubierto en 1959 por Edsger Dijkstra

Cómo hemos dicho este algoritmo se usa para obtener árboles de recubrimiento mínimo en un grafo.

El funcionamiento es el
siguiente: (voy a intentar explicarlo con palabras de andar por casa a ver si así se entiende mejor)

Partiendo de un nodo del grafo examinamos todas sus aristas, es decir, todos los caminos posibles que tenemos y elegimos el más corto, desde el siguiente nodo tendremos otros caminos posibles y también nos quedarán los caminos posibles que teníamos desde el primer nodo y lo que tenemos que hacer es elegir el más corto, así sucesivamente hasta que hemos llegado a todos los nodos.

He hecho un pequeño vídeo explicativo con unas imágenes a ver si así se entiende mejor, en azul los nodos que ya forman parte de la solución, en verde las aristas o caminos posibles, en azul las que ya forman parte de la solución y en gris las que ya no pueden formar parte de la solución porque ya hay otros caminos para llegar a esos nodos:




Cada imagen tiene una pequeña explicación para que se entienda mejor.

Os dejo las imágenes que he utilizado para hacer el vídeo por si os pudieran servir.


Primer paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Segundo paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim

 Tercer paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Cuarto paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Quinto paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Sexto paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Séptimo paso:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim


Octavo paso, árbol de recubrimiento mínimo:

algoritmo de prim para arboles de recubrimiento mínimo
Árbol de recubrimiento mínimo con el algoritmo de Prim



Espero que os ayude y os sirva. Cualquier cosa no dudéis en ponerla en los comentarios.



2 comentarios: