SlideShare una empresa de Scribd logo
Por Rey Salcedo; email resalpa84@gmail.com

     DIJKSTRA EL CAMINO MAS CORTO                           cambiamos   de   color   para   indicar   que   ya   lo 
                                                            usamos,  quedando según la siguiente figura.
Basicamente podemos decir que el algoritmo de 
dijkstra nos permite determinar dado dos nodos 
de un grafo la ruta mas corta que los une.

Por decirlo de alguna manera, voy a explicar de 
manera grafica y paso a paso como determinar 
dicha ruta mas corta, esto gracias a éste metodo 
didactico y facil de comprender y que pretendo 
que ustedes aprendan y asi puedan generar su 
propio algoritmo de dijkstra.

Antes   de   empezar   pensemos   que   nuestros 
nodos   pueden   tener   dos   propiedades 
acumuladoPeso y otro llamando nodoAntecesor, 
                                                  (Segunda   iteracion)  Marcamos   los   nodos 
el manejo de estas variables las aprenderemos 
                                                  adyacentes de A, inicializando sus variables de 
en la medida que las vallamos usandolas.
                                                  la siguiente forma:
Para   efectos   de   esta   explicacion   usaremos   el 
                                                          acumuladoPeso   =   [acumuladoPeso   del   nodo  
grafo de la siguiente figura:
                                                          antecesor (en este caso el de A)] + peso de la  
                                                          arista que los une;

                                                            nodoAntecesor = el nombre del nodo antecesor;

                                                            Asi para B:
                                                            acumuladoPeso = 0 + 6 = 6;
                                                            nodoAntecesor = A;

                                                            Para D:
                                                            acumuladoPeso = 0 + 5 = 5;
                                                            nodoAntecesor = A;

                                                            Para G:
                                                            acumuladoPeso = 0 + 8 = 8;
                                                            nodoAntecesor = A;
(Primera iteracion)  Escogemos un nodo inicio, 
en   este   caso   usaremos   el   nodo   A,   e 
                                                   Quedando según la siguiente figura:
inicializamos sus variables de la siguiente forma:

acumuladoPeso = 0;
nodoAntecesor = nulo;

Al   ser   nuestro   nodo   inicio,   no   tiene   pesos 
acumulados   ni   nodo   antecesor,   ademas   lo 
Por Rey Salcedo; email resalpa84@gmail.com

                                                                de color verde. (ver como este paso es analogo 
                                                                la iteracion 2)

                                                                Para este caso los nodos adyacentes de D no 
                                                                usados son: C, E, H, B; inicializamos los valores 
                                                                de nuestros nodos adyancentes asi:

                                                                Para C:
                                                                acumuladoPeso = 5 + 4 = 9;
                                                                nodoAntecesor = D;

                                                                Para E:
                                                                acumuladoPeso = 5 + 6 = 11;
                                                                nodoAntecesor = D;
(Tercera   iteracion)  Localizamos   de   los   nodos 
                                                                Para H:
visitados   y   que   no   esta   marcado   con   el   color 
                                                                acumuladoPeso = 5 + 3 = 8;
verde   y   que   tenga   menor   peso   acumulado 
                                                                nodoAntecesor = D;
(acumuladoPeso), en  caso  que  tengamos mas 
de   uno   con   la   caracteristica   antes   descritas 
                                                Para B:
estamos el la libertad de escoger cualquiera de 
                                                Como el nodo B ya esta marcado (por el nodo 
estos, una vez localizado lo marcamos de color 
                                                A), primero calculamos el  peso acumulado asi:
verde.
                                                acumuladoPeso = 5 + 1 = 6; 
                                                como   el  nuevo  acumuladoPeso  no  generar   un 
Para nuestro caso el nodo a escoger es el D ya 
                                                valor mas pequeño del que ya estaba , es decir 
que su peso acumulado es el menor de todos 
                                                no lo mejora, el nodo B no lo modificamos.
con 5, quedando según la siguiente figura:
                                                                Recordemos   que   el   numero   5   corresponde   al  
                                                                acumuladoPeso del nodo antecesor.

                                                                Quedando según la siguiente figura:




(Cuarta iteracion) Nos ubicamos en el nodo D, 
el   cual   escogimos   en   el   paso   anterior   y 
marcamos   sus   nodos   adyacentes   siempre   y 
cuando no lo hallamos usado, es decir no este 
                                                                (Quinta   iteracion)  Localizamos   de   los   nodos 
Por Rey Salcedo; email resalpa84@gmail.com

visitados   y   que   no   esta   marcado   con   el   color 
verde   y   que   tenga   menor   peso   acumulado              como   el  nuevo  acumuladoPeso  no  generar   un 
(acumuladoPeso), en  caso  que  tengamos mas                    valor mas pequeño del que ya estaba, es decir 
de   uno   con   la   caracteristica   antes   descritas        no lo mejora, el nodo C no lo modificamos.
estamos el la libertar de escoger cualquiera de 
estos.                                                          Recordemos   que   el   numero   6   corresponde   al  
                                                                acumuladoPeso del nodo antecesor.
Una vez localizado lo marcamos de color verde. 
(ver   como   este   paso   es   analogo   a   la   tercera  Nuestro grafico no sufre ningun cambio.
iteracion)
                                                             (Septima iteracion)  Localizamos de los nodos 
Para nuestro caso el nodo a escoger es el B ya  visitados   y   que   no   esta   marcado   con   el   color 
que es el de menor peso acumulado con 6.                     verde   y   que   tenga   menor   peso   acumulado 
                                                             (acumuladoPeso), en caso que tengamos  mas 
Quedando según la siguiente figura:                          de   uno   con   la   caracteristica   antes   descritas 
                                                             estamos el la libertar de escoger cualquiera de 
                                                             estos.

                                                                Una vez localizado lo marcamos de color verde. 
                                                                (ver como este paso es analogo a la tercera y 
                                                                quinta iteracion)

                                                                Para  nuestro   caso  podemos  escoger  entre   los 
                                                                nodos G,H ya que el peso acumulado en cada 
                                                                uno   de   ellos   son   los   menores   con   8;   nos 
                                                                inclinaremos   a   usar   el   nodo   H   (si   usamos   el 
                                                                nodo G el resultado final no varia).

(Sexta iteracion)  Nos ubicamos en el nodo B,  Quedando según la siguiente figura:
el   cual   escogimos   en   el   paso   anterior   y 
marcamos   sus   nodos   adyacentes   siempre   y 
cuando no lo hallamos usado, es decir no este 
de color verde. (ver como este paso es analogo 
a la segunda y cuarta iteracion).

Para este caso el unico nodo adyacentes de B 
no usado es C.

Inicializamos   los   valores   de   nuestro   nodo 
adyancente asi:

Para C:
Como el nodo C ya esta marcado (por el nodo 
D), primero calculamos el  peso acumulado asi:
acumuladoPeso = 6 + 7 = 13; 
Por Rey Salcedo; email resalpa84@gmail.com

(Octava iteracion) Nos ubicamos en el nodo H,             (Novena   iteracion)  Localizamos   de   los   nodos 
el   cual   escogimos   en   el   paso   anterior   y     visitados   y   que   no   esta   marcado   con   el   color 
marcamos   sus   nodos   adyacentes   siempre   y         verde   y   que   tenga   menor   peso   acumulado 
cuando no lo hallamos usado, es decir no este             (acumuladoPeso), en caso que tengamos  mas 
de color verde. (ver como este paso es analogo            de   uno   con   la   caracteristica   antes   descritas 
a la segunda, cuarta y sexta iteracion).                  estamos el la libertar de escoger cualquiera de 
                                                          estos.
Para este caso los nodos adyacentes de H no        3.
usados son: F,G.                                       Una vez localizado lo marcamos de color verde. 
                                                       (ver   como   este   paso   es   analogo   a   la   tercera, 
Inicializamos   los   valores   de   nuestros   nodos  quinta y septima iteracion)
adyancentes asi:
                                                       Para nuestro caso el nodo a escoger es el G ya 
Para F:                                                que su peso acumulado es el menor con 8.
acumuladoPeso = 8 + 4 = 12;
nodoAntecesor = H;                                     Quedando según la siguiente figura:

Para G:
Como   el   nodo   G   ya   esta   marcado   (por   el 
nodoA), primero calculamos el  peso acumulado 
asi:

acumuladoPeso = 8 + 2 = 10; 

como  el  nuevo   acumuladoPeso  no   generar un 
valor mas pequeño del que ya estaba , es decir 
no lo mejora, el nodo G no lo modificamos.

Recordemos   que   el   numero   8   corresponde   al  
acumuladoPeso del nodo antecesor.
                                                          (Decima iteracion) Nos ubicamos en el nodo G, 
Quedando según la siguiente figura:
                                                          el   cual   escogimos   en   el   paso   anterior   y 
                                                          marcamos   sus   nodos   adyacentes   siempre   y 
                                                          cuando no lo hallamos usado, es decir no este 
                                                          de color verde. (ver como este paso es analogo 
                                                          a la segunda, cuarta, sexta iteracion, etc).

                                                          Para este caso el unico nodo adyacentes de G 
                                                          no usado es E.

                                                          Inicializamos   los   valores   de   nuestro   nodo 
                                                          adyancente asi:

                                                          Para E:
                                                          Como el nodo E ya esta marcado (por el nodo 
Por Rey Salcedo; email resalpa84@gmail.com

D), primero calculamos el  peso acumulado asi:          (Decimo segunda iteracion) Nos ubicamos en 
                                                        el nodo C, el cual escogimos en el paso anterior 
acumuladoPeso = 8 + 10 = 18;                            y   marcamos   sus   nodos   adyacentes   siempre   y 
                                                        cuando no lo hallamos usado, es decir no este 
como  el  nuevo   acumuladoPeso  no   generar un  de color verde. (ver como este paso es analogo 
valor mas pequeño del que ya estaba , es decir  a la segunda, cuarta, sexta iteracion, etc).
no lo mejora, el nodo E no lo modificamos.
                                                        Para este caso los nodo adyacentes de C son 
Recordemos   que   el   numero   8   corresponde   al   E,F.
acumuladoPeso del nodo antecesor.
                                                        Inicializamos   los   valores   de   nuestros   nodos 
Nuestro grafico no sufre cambios.                       adyancente asi:

(Decimo primera iteracion) Localizamos de los                  Para E:
nodos visitados y que no esta marcado con el                   Como el nodo E ya esta marcado (por el nodo 
color verde y que tenga menor peso acumulado                   D), primero calculamos el  peso acumulado asi:
(acumuladoPeso), en  caso  que  tengamos mas 
de   uno   con   la   caracteristica   antes   descritas       acumuladoPeso = 9 + 11 = 20; 
estamos el la libertar de escoger cualquiera de 
estos.                                                        como   el  nuevo  acumuladoPeso  no  generar   un 
                                                              valor mas pequeño del que ya estaba , es decir 
Una vez localizado lo marcamos de color verde.  no lo mejora, el nodo E no lo modificamos.
(ver   como   este   paso   es   analogo   a   la   tercera, 
quinta, septima iteracion, etc).                              Para F:
                                                              Como el nodo F ya esta marcado (por el nodo 
Para nuestro caso el nodo a escoger es el C ya  H), primero calculamos el  peso acumulado asi:
que su peso acumulado es el menor con 9.
                                                              acumuladoPeso = 9 + 2 = 11; 
Quedando según la siguiente figura:
                                                              como   el   valor   cumulado   de   F   es   12   y   el   que 
                                                              acabamos   de   calcular   es   menor   (11)   es   decir 
                                                              que si lo mejora, cambiamos el valor acumulado 
                                                              de F por 11 y el nodo antecesor por C por ser C 
                                                              quien lo mejoro.

                                                               Recordemos   que   el   numero   9   corresponde   al  
                                                               acumuladoPeso del nodo antecesor.

                                                               Quedando según la siguiente figura: (Observe la 
                                                               figura   anterior   y   ésta   que   sigue   para   que 
                                                               compare el cambio que sufrió el nodo F)
Por Rey Salcedo; email resalpa84@gmail.com

                                                            (Decimo cuarta iteracion) Nos ubicamos en el 
                                                            nodo E, el cual escogimos en el paso anterior y 
                                                            marcamos   sus   nodos   adyacentes   siempre   y 
                                                            cuando no lo hallamos usado, es decir no este 
                                                            de color verde. (ver como este paso es analogo 
                                                            a la segunda, cuarta, sexta iteracion, etc).

                                                            Para este caso el unico nodo adyacentes de E 
                                                            es F.

                                                            Inicializamos   los   valores   de   nuestro   nodo 
                                                            adyancente asi:

                                                            Para F:
(Decimo tercera iteracion) Localizamos de los 
                                                            Como el nodo F ya esta marcado (por el nodo 
nodos visitados y que no esta marcado con el 
                                                            C), primero calculamos el  peso acumulado asi:
color verde y que tenga menor peso acumulado 
(acumuladoPeso), en  caso  que  tengamos mas 
                                                            acumuladoPeso = 11 + 2 = 13; 
de   uno   con   la   caracteristica   antes   descritas 
estamos el la libertar de escoger cualquiera de 
                                                            como   el  nuevo  acumuladoPeso  no  generar   un 
estos.
                                                            valor mas pequeño del que ya estaba , es decir 
                                                            no lo mejora, el nodo F no lo modificamos.
Una vez localizado lo marcamos de color verde. 
(ver   como   este   paso   es   analogo   a   la   tercera, 
                                                              Recordemos que el numero 11 corresponde al  
quinta, septima iteracion, etc).
                                                              acumuladoPeso del nodo antecesor.
Para   nuestro   caso   tenemos   dos   nodo   que 
podemos usar por ser los de menor pesos E,F         Nuestro grafico no sufre cambios.

Cualquiera   de   los   dos   que   usemos   esta   bien,  (Decimo quinta iteracion)  Localizamos de los 
para este caso tomaremos el nodo E.                        nodos visitados y que no esta marcado con el 
                                                           color verde y que tenga menor peso acumulado 
Quedando según la siguiente figura:                        (acumuladoPeso), en caso que tengamos  mas 
                                                           de   uno   con   la   caracteristica   antes   descritas 
                                                           estamos el la libertar de escoger cualquiera de 
                                                           estos.

                                                            Una vez localizado lo marcamos de color verde. 
                                                            (ver   como   este   paso   es   analogo   a   la   tercera, 
                                                            quinta, septima iteracion, etc).

                                                            Para nuestro caso ya solo nos queda F.

                                                            Quedando según la siguiente figura:
Por Rey Salcedo; email resalpa84@gmail.com

                                                               Miremos este ultimo ejemplo

                                                               Digamos que quiero conocer la ruta mas corta 
                                                               del nodo F al nodo A.

                                                               Primero nos ubicamos en el F y miramos cual 
                                                               es su nodo antecesor, graficamente vemos que 
                                                               es el nodo C.

                                                               Nos ubicamos en el nodo C y miramos cual es 
                                                               su nodo antecesor, graficamente vemos que es 
                                                               D.

Listo, con la decimo quinta iteracion terminamos               Ahora  nos  ubicamos  en   el   nodo   D  y   miramos 
de   aplicar   el   dijkstra   a   este   grafo,   ya   que    cual es su nodo antecesor, graficamente vemos 
marcamos todos nuetros nodo; ahora podemos                     que es A.
identificar   el   camino   mas   corto   de   un   nodo 
cualquiera   al   nodo   A   el   cual   inicialmente          Como finalmente el nodo A no tiene antecesor 
escogimo como nodo inicio.                                     significa que hemos llegado al nodo inicio.

Y ¿Como hacemos esto?: digamos que quiero  Facilmente podemos ver que nuestra ruta es A, 
conocer la ruta mas corta del nodo C al nodo A. D, C y F.

Primero nos ubicamos en el C y miramos cual 
es su nodo antecesor, graficamente vemos que 
es el nodo D.

Ahora   nos   ubicamos  en   el  nodo   D   y miramos 
cual es su nodo antecesor, graficamente vemos 
que es A.

Como finalmente el nodo A no tiene antecesor 
significa que hemos llegado al nodo inicio.

Facilmente podemos ver que nuestra ruta es A, 
D y C.



                                                               Como   nota   final,   suguiero   practicar   con   otros 
                                                               grafos para tomar destreza.

                                                               Como siempre, esperando serles de utilidad.

Más contenido relacionado

La actualidad más candente

Creación de VLANs (subredes) desde Cisco Packet Tracer Student
Creación de VLANs (subredes) desde Cisco Packet Tracer StudentCreación de VLANs (subredes) desde Cisco Packet Tracer Student
Creación de VLANs (subredes) desde Cisco Packet Tracer Student
Ivan Luis Jimenez
 
IEEE 802.11af
IEEE 802.11afIEEE 802.11af
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
Anel Sosa
 
Grafos 8.4.1
Grafos 8.4.1Grafos 8.4.1
Criptografia con curvas elipticas
Criptografia con curvas elipticasCriptografia con curvas elipticas
Criptografia con curvas elipticas
Bryan Huertas
 
grafos conexos
grafos conexosgrafos conexos
grafos conexos
Deivis Alexander
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de Dijkstra
Pedro Miranda
 
The MD5 hashing algorithm
The MD5 hashing algorithmThe MD5 hashing algorithm
The MD5 hashing algorithm
Bob Landstrom
 
Codificadores para electrónica digital
Codificadores para electrónica digitalCodificadores para electrónica digital
Codificadores para electrónica digital
Mayatronics -Sección Académica-
 
Capitulo 11 ospf
Capitulo 11 ospfCapitulo 11 ospf
Capitulo 11 ospf
malienlaf
 
Algoritmos de compresion
Algoritmos de compresionAlgoritmos de compresion
Algoritmos de compresion
Jorge Encalada Ulloa
 
Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
jefer
 
Criptografía y su importancia en nuestra vida diaria
Criptografía y su importancia en nuestra vida diariaCriptografía y su importancia en nuestra vida diaria
Criptografía y su importancia en nuestra vida diaria
econtinua
 
Algoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundaciónAlgoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundación
Carlos Martinez
 
52983063 series-de-fourier
52983063 series-de-fourier52983063 series-de-fourier
52983063 series-de-fourier
Miharbi Etaraz Anem
 
Algoritmo de kruskal
Algoritmo de kruskalAlgoritmo de kruskal
Algoritmo de kruskal
Jhoel Flores Alejo
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
Zamantha Gonzalez Universidad Nacional Abierta
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
Rody Antonio
 
3.3.2 método de bairstow (1)
3.3.2 método de bairstow (1)3.3.2 método de bairstow (1)
3.3.2 método de bairstow (1)
Ricardo Sarabia
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
Javier Cuenca
 

La actualidad más candente (20)

Creación de VLANs (subredes) desde Cisco Packet Tracer Student
Creación de VLANs (subredes) desde Cisco Packet Tracer StudentCreación de VLANs (subredes) desde Cisco Packet Tracer Student
Creación de VLANs (subredes) desde Cisco Packet Tracer Student
 
IEEE 802.11af
IEEE 802.11afIEEE 802.11af
IEEE 802.11af
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
 
Grafos 8.4.1
Grafos 8.4.1Grafos 8.4.1
Grafos 8.4.1
 
Criptografia con curvas elipticas
Criptografia con curvas elipticasCriptografia con curvas elipticas
Criptografia con curvas elipticas
 
grafos conexos
grafos conexosgrafos conexos
grafos conexos
 
Algoritmo de Dijkstra
Algoritmo de DijkstraAlgoritmo de Dijkstra
Algoritmo de Dijkstra
 
The MD5 hashing algorithm
The MD5 hashing algorithmThe MD5 hashing algorithm
The MD5 hashing algorithm
 
Codificadores para electrónica digital
Codificadores para electrónica digitalCodificadores para electrónica digital
Codificadores para electrónica digital
 
Capitulo 11 ospf
Capitulo 11 ospfCapitulo 11 ospf
Capitulo 11 ospf
 
Algoritmos de compresion
Algoritmos de compresionAlgoritmos de compresion
Algoritmos de compresion
 
Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
 
Criptografía y su importancia en nuestra vida diaria
Criptografía y su importancia en nuestra vida diariaCriptografía y su importancia en nuestra vida diaria
Criptografía y su importancia en nuestra vida diaria
 
Algoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundaciónAlgoritmo de enrutamiento por inundación
Algoritmo de enrutamiento por inundación
 
52983063 series-de-fourier
52983063 series-de-fourier52983063 series-de-fourier
52983063 series-de-fourier
 
Algoritmo de kruskal
Algoritmo de kruskalAlgoritmo de kruskal
Algoritmo de kruskal
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
3.3.2 método de bairstow (1)
3.3.2 método de bairstow (1)3.3.2 método de bairstow (1)
3.3.2 método de bairstow (1)
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 

Último

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
shirherrer
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
belbarcala
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 

Último (20)

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 

Algoritmo dijkstra

  • 1. Por Rey Salcedo; email resalpa84@gmail.com DIJKSTRA EL CAMINO MAS CORTO cambiamos   de   color   para   indicar   que   ya   lo  usamos,  quedando según la siguiente figura. Basicamente podemos decir que el algoritmo de  dijkstra nos permite determinar dado dos nodos  de un grafo la ruta mas corta que los une. Por decirlo de alguna manera, voy a explicar de  manera grafica y paso a paso como determinar  dicha ruta mas corta, esto gracias a éste metodo  didactico y facil de comprender y que pretendo  que ustedes aprendan y asi puedan generar su  propio algoritmo de dijkstra. Antes   de   empezar   pensemos   que   nuestros  nodos   pueden   tener   dos   propiedades  acumuladoPeso y otro llamando nodoAntecesor,  (Segunda   iteracion)  Marcamos   los   nodos  el manejo de estas variables las aprenderemos  adyacentes de A, inicializando sus variables de  en la medida que las vallamos usandolas. la siguiente forma: Para   efectos   de   esta   explicacion   usaremos   el  acumuladoPeso   =   [acumuladoPeso   del   nodo   grafo de la siguiente figura: antecesor (en este caso el de A)] + peso de la   arista que los une; nodoAntecesor = el nombre del nodo antecesor; Asi para B: acumuladoPeso = 0 + 6 = 6; nodoAntecesor = A; Para D: acumuladoPeso = 0 + 5 = 5; nodoAntecesor = A; Para G: acumuladoPeso = 0 + 8 = 8; nodoAntecesor = A; (Primera iteracion)  Escogemos un nodo inicio,  en   este   caso   usaremos   el   nodo   A,   e  Quedando según la siguiente figura: inicializamos sus variables de la siguiente forma: acumuladoPeso = 0; nodoAntecesor = nulo; Al   ser   nuestro   nodo   inicio,   no   tiene   pesos  acumulados   ni   nodo   antecesor,   ademas   lo 
  • 2. Por Rey Salcedo; email resalpa84@gmail.com de color verde. (ver como este paso es analogo  la iteracion 2) Para este caso los nodos adyacentes de D no  usados son: C, E, H, B; inicializamos los valores  de nuestros nodos adyancentes asi: Para C: acumuladoPeso = 5 + 4 = 9; nodoAntecesor = D; Para E: acumuladoPeso = 5 + 6 = 11; nodoAntecesor = D; (Tercera   iteracion)  Localizamos   de   los   nodos  Para H: visitados   y   que   no   esta   marcado   con   el   color  acumuladoPeso = 5 + 3 = 8; verde   y   que   tenga   menor   peso   acumulado  nodoAntecesor = D; (acumuladoPeso), en  caso  que  tengamos mas  de   uno   con   la   caracteristica   antes   descritas  Para B: estamos el la libertad de escoger cualquiera de  Como el nodo B ya esta marcado (por el nodo  estos, una vez localizado lo marcamos de color  A), primero calculamos el  peso acumulado asi: verde. acumuladoPeso = 5 + 1 = 6;  como   el  nuevo  acumuladoPeso  no  generar   un  Para nuestro caso el nodo a escoger es el D ya  valor mas pequeño del que ya estaba , es decir  que su peso acumulado es el menor de todos  no lo mejora, el nodo B no lo modificamos. con 5, quedando según la siguiente figura: Recordemos   que   el   numero   5   corresponde   al   acumuladoPeso del nodo antecesor. Quedando según la siguiente figura: (Cuarta iteracion) Nos ubicamos en el nodo D,  el   cual   escogimos   en   el   paso   anterior   y  marcamos   sus   nodos   adyacentes   siempre   y  cuando no lo hallamos usado, es decir no este  (Quinta   iteracion)  Localizamos   de   los   nodos 
  • 3. Por Rey Salcedo; email resalpa84@gmail.com visitados   y   que   no   esta   marcado   con   el   color  verde   y   que   tenga   menor   peso   acumulado  como   el  nuevo  acumuladoPeso  no  generar   un  (acumuladoPeso), en  caso  que  tengamos mas  valor mas pequeño del que ya estaba, es decir  de   uno   con   la   caracteristica   antes   descritas  no lo mejora, el nodo C no lo modificamos. estamos el la libertar de escoger cualquiera de  estos. Recordemos   que   el   numero   6   corresponde   al   acumuladoPeso del nodo antecesor. Una vez localizado lo marcamos de color verde.  (ver   como   este   paso   es   analogo   a   la   tercera  Nuestro grafico no sufre ningun cambio. iteracion) (Septima iteracion)  Localizamos de los nodos  Para nuestro caso el nodo a escoger es el B ya  visitados   y   que   no   esta   marcado   con   el   color  que es el de menor peso acumulado con 6. verde   y   que   tenga   menor   peso   acumulado  (acumuladoPeso), en caso que tengamos  mas  Quedando según la siguiente figura: de   uno   con   la   caracteristica   antes   descritas  estamos el la libertar de escoger cualquiera de  estos. Una vez localizado lo marcamos de color verde.  (ver como este paso es analogo a la tercera y  quinta iteracion) Para  nuestro   caso  podemos  escoger  entre   los  nodos G,H ya que el peso acumulado en cada  uno   de   ellos   son   los   menores   con   8;   nos  inclinaremos   a   usar   el   nodo   H   (si   usamos   el  nodo G el resultado final no varia). (Sexta iteracion)  Nos ubicamos en el nodo B,  Quedando según la siguiente figura: el   cual   escogimos   en   el   paso   anterior   y  marcamos   sus   nodos   adyacentes   siempre   y  cuando no lo hallamos usado, es decir no este  de color verde. (ver como este paso es analogo  a la segunda y cuarta iteracion). Para este caso el unico nodo adyacentes de B  no usado es C. Inicializamos   los   valores   de   nuestro   nodo  adyancente asi: Para C: Como el nodo C ya esta marcado (por el nodo  D), primero calculamos el  peso acumulado asi: acumuladoPeso = 6 + 7 = 13; 
  • 4. Por Rey Salcedo; email resalpa84@gmail.com (Octava iteracion) Nos ubicamos en el nodo H,  (Novena   iteracion)  Localizamos   de   los   nodos  el   cual   escogimos   en   el   paso   anterior   y  visitados   y   que   no   esta   marcado   con   el   color  marcamos   sus   nodos   adyacentes   siempre   y  verde   y   que   tenga   menor   peso   acumulado  cuando no lo hallamos usado, es decir no este  (acumuladoPeso), en caso que tengamos  mas  de color verde. (ver como este paso es analogo  de   uno   con   la   caracteristica   antes   descritas  a la segunda, cuarta y sexta iteracion). estamos el la libertar de escoger cualquiera de  estos. Para este caso los nodos adyacentes de H no  3. usados son: F,G. Una vez localizado lo marcamos de color verde.  (ver   como   este   paso   es   analogo   a   la   tercera,  Inicializamos   los   valores   de   nuestros   nodos  quinta y septima iteracion) adyancentes asi: Para nuestro caso el nodo a escoger es el G ya  Para F: que su peso acumulado es el menor con 8. acumuladoPeso = 8 + 4 = 12; nodoAntecesor = H; Quedando según la siguiente figura: Para G: Como   el   nodo   G   ya   esta   marcado   (por   el  nodoA), primero calculamos el  peso acumulado  asi: acumuladoPeso = 8 + 2 = 10;  como  el  nuevo   acumuladoPeso  no   generar un  valor mas pequeño del que ya estaba , es decir  no lo mejora, el nodo G no lo modificamos. Recordemos   que   el   numero   8   corresponde   al   acumuladoPeso del nodo antecesor. (Decima iteracion) Nos ubicamos en el nodo G,  Quedando según la siguiente figura: el   cual   escogimos   en   el   paso   anterior   y  marcamos   sus   nodos   adyacentes   siempre   y  cuando no lo hallamos usado, es decir no este  de color verde. (ver como este paso es analogo  a la segunda, cuarta, sexta iteracion, etc). Para este caso el unico nodo adyacentes de G  no usado es E. Inicializamos   los   valores   de   nuestro   nodo  adyancente asi: Para E: Como el nodo E ya esta marcado (por el nodo 
  • 5. Por Rey Salcedo; email resalpa84@gmail.com D), primero calculamos el  peso acumulado asi: (Decimo segunda iteracion) Nos ubicamos en  el nodo C, el cual escogimos en el paso anterior  acumuladoPeso = 8 + 10 = 18;  y   marcamos   sus   nodos   adyacentes   siempre   y  cuando no lo hallamos usado, es decir no este  como  el  nuevo   acumuladoPeso  no   generar un  de color verde. (ver como este paso es analogo  valor mas pequeño del que ya estaba , es decir  a la segunda, cuarta, sexta iteracion, etc). no lo mejora, el nodo E no lo modificamos. Para este caso los nodo adyacentes de C son  Recordemos   que   el   numero   8   corresponde   al   E,F. acumuladoPeso del nodo antecesor. Inicializamos   los   valores   de   nuestros   nodos  Nuestro grafico no sufre cambios. adyancente asi: (Decimo primera iteracion) Localizamos de los  Para E: nodos visitados y que no esta marcado con el  Como el nodo E ya esta marcado (por el nodo  color verde y que tenga menor peso acumulado  D), primero calculamos el  peso acumulado asi: (acumuladoPeso), en  caso  que  tengamos mas  de   uno   con   la   caracteristica   antes   descritas  acumuladoPeso = 9 + 11 = 20;  estamos el la libertar de escoger cualquiera de  estos. como   el  nuevo  acumuladoPeso  no  generar   un  valor mas pequeño del que ya estaba , es decir  Una vez localizado lo marcamos de color verde.  no lo mejora, el nodo E no lo modificamos. (ver   como   este   paso   es   analogo   a   la   tercera,  quinta, septima iteracion, etc). Para F: Como el nodo F ya esta marcado (por el nodo  Para nuestro caso el nodo a escoger es el C ya  H), primero calculamos el  peso acumulado asi: que su peso acumulado es el menor con 9. acumuladoPeso = 9 + 2 = 11;  Quedando según la siguiente figura: como   el   valor   cumulado   de   F   es   12   y   el   que  acabamos   de   calcular   es   menor   (11)   es   decir  que si lo mejora, cambiamos el valor acumulado  de F por 11 y el nodo antecesor por C por ser C  quien lo mejoro. Recordemos   que   el   numero   9   corresponde   al   acumuladoPeso del nodo antecesor. Quedando según la siguiente figura: (Observe la  figura   anterior   y   ésta   que   sigue   para   que  compare el cambio que sufrió el nodo F)
  • 6. Por Rey Salcedo; email resalpa84@gmail.com (Decimo cuarta iteracion) Nos ubicamos en el  nodo E, el cual escogimos en el paso anterior y  marcamos   sus   nodos   adyacentes   siempre   y  cuando no lo hallamos usado, es decir no este  de color verde. (ver como este paso es analogo  a la segunda, cuarta, sexta iteracion, etc). Para este caso el unico nodo adyacentes de E  es F. Inicializamos   los   valores   de   nuestro   nodo  adyancente asi: Para F: (Decimo tercera iteracion) Localizamos de los  Como el nodo F ya esta marcado (por el nodo  nodos visitados y que no esta marcado con el  C), primero calculamos el  peso acumulado asi: color verde y que tenga menor peso acumulado  (acumuladoPeso), en  caso  que  tengamos mas  acumuladoPeso = 11 + 2 = 13;  de   uno   con   la   caracteristica   antes   descritas  estamos el la libertar de escoger cualquiera de  como   el  nuevo  acumuladoPeso  no  generar   un  estos. valor mas pequeño del que ya estaba , es decir  no lo mejora, el nodo F no lo modificamos. Una vez localizado lo marcamos de color verde.  (ver   como   este   paso   es   analogo   a   la   tercera,  Recordemos que el numero 11 corresponde al   quinta, septima iteracion, etc). acumuladoPeso del nodo antecesor. Para   nuestro   caso   tenemos   dos   nodo   que  podemos usar por ser los de menor pesos E,F Nuestro grafico no sufre cambios. Cualquiera   de   los   dos   que   usemos   esta   bien,  (Decimo quinta iteracion)  Localizamos de los  para este caso tomaremos el nodo E. nodos visitados y que no esta marcado con el  color verde y que tenga menor peso acumulado  Quedando según la siguiente figura: (acumuladoPeso), en caso que tengamos  mas  de   uno   con   la   caracteristica   antes   descritas  estamos el la libertar de escoger cualquiera de  estos. Una vez localizado lo marcamos de color verde.  (ver   como   este   paso   es   analogo   a   la   tercera,  quinta, septima iteracion, etc). Para nuestro caso ya solo nos queda F. Quedando según la siguiente figura:
  • 7. Por Rey Salcedo; email resalpa84@gmail.com Miremos este ultimo ejemplo Digamos que quiero conocer la ruta mas corta  del nodo F al nodo A. Primero nos ubicamos en el F y miramos cual  es su nodo antecesor, graficamente vemos que  es el nodo C. Nos ubicamos en el nodo C y miramos cual es  su nodo antecesor, graficamente vemos que es  D. Listo, con la decimo quinta iteracion terminamos  Ahora  nos  ubicamos  en   el   nodo   D  y   miramos  de   aplicar   el   dijkstra   a   este   grafo,   ya   que  cual es su nodo antecesor, graficamente vemos  marcamos todos nuetros nodo; ahora podemos  que es A. identificar   el   camino   mas   corto   de   un   nodo  cualquiera   al   nodo   A   el   cual   inicialmente  Como finalmente el nodo A no tiene antecesor  escogimo como nodo inicio. significa que hemos llegado al nodo inicio. Y ¿Como hacemos esto?: digamos que quiero  Facilmente podemos ver que nuestra ruta es A,  conocer la ruta mas corta del nodo C al nodo A. D, C y F. Primero nos ubicamos en el C y miramos cual  es su nodo antecesor, graficamente vemos que  es el nodo D. Ahora   nos   ubicamos  en   el  nodo   D   y miramos  cual es su nodo antecesor, graficamente vemos  que es A. Como finalmente el nodo A no tiene antecesor  significa que hemos llegado al nodo inicio. Facilmente podemos ver que nuestra ruta es A,  D y C. Como   nota   final,   suguiero   practicar   con   otros  grafos para tomar destreza. Como siempre, esperando serles de utilidad.