Explicacin del Algoritmo dijkstra
He aquí la implementacion que he hecho en java espero les guste:
http://usandojava.blogspot.com/2012/05/implementacion-en-java-del-algoritmo-de.html
Aquí están los pasos para construir un árbol de decisión:
1. Definir claramente el problema de decisión o la pregunta que se quiere resolver. Esto se escribe en la raíz del árbol.
2. Identificar todas las opciones o cursos de acción posibles a partir de la decisión inicial. Estos se representan como ramas saliendo de la raíz.
3. Para cada opción, identificar los posibles resultados u outcomes. Estos se representan como nodos subsiguientes en cada rama.
4. Determinar las probabilidades de cada resultado si es un event
La máquina de Turing descrita calcula el complemento a 1 de un número binario al recorrer la cinta de izquierda a derecha sustituyendo los 1's por 0's y viceversa usando un solo estado inicial q0 que realiza todas las transiciones necesarias para realizar esta operación binaria.
El documento presenta una introducción a la teoría de grafos. Explica conceptos básicos como grafos dirigidos y no dirigidos, representaciones comunes como matrices de adyacencia, y elementos clave como vértices, aristas, caminos y ciclos. También define y describe varios tipos de grafos especiales como grafos completos, ciclos y ruedas.
Los ingenieros informáticos adoptaron el sistema binario para los ordenadores, el cual emplea solo dos dígitos, 0 y 1. Esto permitió crear un lenguaje de bajo nivel que permite a los ordenadores entender y ejecutar órdenes de forma fiable y sin complicaciones. El sistema binario representa la base para las operaciones matemáticas de los ordenadores.
Este documento describe los codificadores y decodificadores binarios, incluyendo cómo funcionan los decodificadores de N a 2N y ejemplos como el decodificador 74LS139. También explica los displays de 7 segmentos, incluyendo los displays de ánodo común y cátodo común, y cómo se pueden formar números activando diferentes segmentos. Por último, muestra circuitos con decodificadores 7447 y 7448 para implementar displays de 7 segmentos de ánodo común y cátodo común respectivamente.
El documento presenta 4 ejercicios sobre el algoritmo criptográfico RSA. El primer ejercicio pide validar una clave pública generada y calcular la clave privada correspondiente. El segundo ejercicio pide generar las claves pública y privada con números primos dados y cifrar un mensaje. El tercer ejercicio implementa el protocolo completo de cifrado y descifrado con RSA. El cuarto ejercicio pide descifrar un mensaje cifrado con RSA para saber si Alicia acepta cenar con Benito.
Aquí están los pasos para construir un árbol de decisión:
1. Definir claramente el problema de decisión o la pregunta que se quiere resolver. Esto se escribe en la raíz del árbol.
2. Identificar todas las opciones o cursos de acción posibles a partir de la decisión inicial. Estos se representan como ramas saliendo de la raíz.
3. Para cada opción, identificar los posibles resultados u outcomes. Estos se representan como nodos subsiguientes en cada rama.
4. Determinar las probabilidades de cada resultado si es un event
La máquina de Turing descrita calcula el complemento a 1 de un número binario al recorrer la cinta de izquierda a derecha sustituyendo los 1's por 0's y viceversa usando un solo estado inicial q0 que realiza todas las transiciones necesarias para realizar esta operación binaria.
El documento presenta una introducción a la teoría de grafos. Explica conceptos básicos como grafos dirigidos y no dirigidos, representaciones comunes como matrices de adyacencia, y elementos clave como vértices, aristas, caminos y ciclos. También define y describe varios tipos de grafos especiales como grafos completos, ciclos y ruedas.
Los ingenieros informáticos adoptaron el sistema binario para los ordenadores, el cual emplea solo dos dígitos, 0 y 1. Esto permitió crear un lenguaje de bajo nivel que permite a los ordenadores entender y ejecutar órdenes de forma fiable y sin complicaciones. El sistema binario representa la base para las operaciones matemáticas de los ordenadores.
Este documento describe los codificadores y decodificadores binarios, incluyendo cómo funcionan los decodificadores de N a 2N y ejemplos como el decodificador 74LS139. También explica los displays de 7 segmentos, incluyendo los displays de ánodo común y cátodo común, y cómo se pueden formar números activando diferentes segmentos. Por último, muestra circuitos con decodificadores 7447 y 7448 para implementar displays de 7 segmentos de ánodo común y cátodo común respectivamente.
El documento presenta 4 ejercicios sobre el algoritmo criptográfico RSA. El primer ejercicio pide validar una clave pública generada y calcular la clave privada correspondiente. El segundo ejercicio pide generar las claves pública y privada con números primos dados y cifrar un mensaje. El tercer ejercicio implementa el protocolo completo de cifrado y descifrado con RSA. El cuarto ejercicio pide descifrar un mensaje cifrado con RSA para saber si Alicia acepta cenar con Benito.
Creación de VLANs (subredes) desde Cisco Packet Tracer StudentIvan Luis Jimenez
Muestro como crear VLANs en una red local con Cisco Packet Traces Student.
Calcular el rango de IPs para una red que se desea segmentar
Realizada por Iván Luis Jiménez
El estándar IEEE 802.11af permite el funcionamiento de redes WiFi en la banda de frecuencias de TV entre 54 y 790 MHz, lo que mejora la cobertura y propagación de la señal a través de obstáculos. Utiliza la técnica OFDM en la capa física. Esto permite aprovechar el espectro no utilizado entre áreas de cobertura de televisión sin interferencias y proporcionar una conexión más amplia con menos equipos.
El documento describe cinco tareas para construir máquinas de Turing que acepten diferentes entradas de 0 y 1, incluyendo: invertir 0 y 1, sumar 0 y 1, usar una condición if con 0 y 1, encontrar tres 1 consecutivos, y ordenar todos los 1 a la izquierda y los 0 a la derecha.
Este documento trata sobre la conectividad en grafos. Explica que un camino es una secuencia de aristas que conectan vértices adyacentes, comenzando y terminando en dos vértices específicos. Un grafo se considera conectado si existe al menos un camino entre cada par de vértices. También presenta definiciones formales de caminos, circuitos y grafos conectados, así como un teorema para calcular el número de caminos entre dos vértices usando la matriz de adyacencia.
Este documento trata sobre criptografía con curvas elípticas. Explica definiciones básicas de criptografía, el proceso criptográfico, leyes de grupo en curvas elípticas, curvas elípticas sobre cuerpos finitos, el problema del logaritmo discreto y cómo resistir ataques, el criptosistema ElGamal y ECIES con curvas elípticas y el algoritmo DSA. También cubre el uso de curvas elípticas en seguridad web incluyendo almacenes de certificados,
Este documento describe los conceptos básicos de los grafos conexos. Un grafo conexo es un grafo en el que existe un camino entre cualquier par de vértices. Esto significa que todos los vértices están relacionados de alguna manera. El documento proporciona ejemplos de grafos conexos, como un sistema de transporte público donde cada parada está conectada a través de rutas. También explica que la conectividad define una relación de equivalencia entre los vértices de un grafo.
El documento describe el algoritmo de Dijkstra para encontrar la ruta más corta entre nodos en un grafo. Explica que se selecciona un nodo inicial y se calculan los pesos acumulados de los nodos adyacentes, repitiendo el proceso para los nodos restantes hasta completar el grafo con las distancias más cortas.
Este documento describe el protocolo de enrutamiento OSPF. Explica los conceptos básicos de OSPF como la encapsulación de mensajes, los tipos de paquetes y el proceso de saludo. También cubre la configuración básica de OSPF incluyendo la selección de la ID del router, la declaración de redes y la verificación de vecinos y adyacencias.
Este documento describe dos algoritmos de compresión de datos: Codificación Huffman y Codificación Aritmética. La Codificación Huffman asigna códigos binarios de longitud variable a símbolos basados en su frecuencia, resultando en una representación más compacta. La Codificación Aritmética representa símbolos con números fraccionarios entre 0 y 1 basados en sus probabilidades. El documento explica la implementación, codificación y decodificación de ambos métodos así como conclusiones y referencias.
Este documento describe el funcionamiento de una pila, incluyendo su estructura, operaciones básicas como apilar, desapilar y recorrer elementos, y nuevas funciones como contar elementos y calcular el promedio. Explica que una pila sigue el principio LIFO (último en entrar, primero en salir) y describe las funciones necesarias para inicializar, insertar, eliminar y recorrer elementos de una pila.
Criptografía y su importancia en nuestra vida diariaecontinua
La criptografía es importante en la vida diaria para proteger la privacidad e información. Incluye cifrado simétrico que usa la misma llave para cifrar y descifrar, y cifrado asimétrico que usa llaves públicas y privadas. La criptografía moderna se usa en comercio electrónico, almacenamiento de datos, comunicaciones y más para mantener la seguridad e integridad de la información.
Este documento presenta el algoritmo de enrutamiento por inundación. Se desarrolló un programa en Java que implementa este algoritmo de forma gráfica. El programa permite crear una red, enviar paquetes a través de ella usando la inundación y monitorear cómo viajan los paquetes entre los nodos con múltiples saltos. El desarrollo del algoritmo ayudó a comprender mejor cómo los algoritmos de enrutamiento encuentran la ruta óptima para enviar paquetes de forma eficiente y confiable a través de una red.
Este documento introduce la serie de Fourier como una herramienta para representar funciones periódicas como la suma de componentes sinusoidales. Explica conceptos clave como funciones periódicas, componente de corriente directa, componente fundamental y armónicos. Además, muestra cómo calcular los coeficientes de la serie de Fourier y realiza ejemplos para ilustrar estos conceptos.
El algoritmo de Kruskal es un ejemplo de algoritmo ``tacaño" ya que en cada iteración elige la opción mas económica disponible (es decir, la arista de costo mínimo).
El documento proporciona una introducción al álgebra de Boole, incluyendo sus elementos, operadores, axiomas, leyes y teoremas. Explica cómo se pueden simplificar circuitos digitales y funciones lógicas utilizando el álgebra de Boole y mapas de Karnaugh.
El Método de Bairstow es un algoritmo eficiente para encontrar las raíces de un polinomio de grado arbitrario utilizando solo aritmética real. Funciona ajustando los coeficientes de un polinomio cuadrático hasta que sus raíces también sean raíces del polinomio original, permitiendo determinar las raíces de forma iterativa hasta resolver el polinomio completamente.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Creación de VLANs (subredes) desde Cisco Packet Tracer StudentIvan Luis Jimenez
Muestro como crear VLANs en una red local con Cisco Packet Traces Student.
Calcular el rango de IPs para una red que se desea segmentar
Realizada por Iván Luis Jiménez
El estándar IEEE 802.11af permite el funcionamiento de redes WiFi en la banda de frecuencias de TV entre 54 y 790 MHz, lo que mejora la cobertura y propagación de la señal a través de obstáculos. Utiliza la técnica OFDM en la capa física. Esto permite aprovechar el espectro no utilizado entre áreas de cobertura de televisión sin interferencias y proporcionar una conexión más amplia con menos equipos.
El documento describe cinco tareas para construir máquinas de Turing que acepten diferentes entradas de 0 y 1, incluyendo: invertir 0 y 1, sumar 0 y 1, usar una condición if con 0 y 1, encontrar tres 1 consecutivos, y ordenar todos los 1 a la izquierda y los 0 a la derecha.
Este documento trata sobre la conectividad en grafos. Explica que un camino es una secuencia de aristas que conectan vértices adyacentes, comenzando y terminando en dos vértices específicos. Un grafo se considera conectado si existe al menos un camino entre cada par de vértices. También presenta definiciones formales de caminos, circuitos y grafos conectados, así como un teorema para calcular el número de caminos entre dos vértices usando la matriz de adyacencia.
Este documento trata sobre criptografía con curvas elípticas. Explica definiciones básicas de criptografía, el proceso criptográfico, leyes de grupo en curvas elípticas, curvas elípticas sobre cuerpos finitos, el problema del logaritmo discreto y cómo resistir ataques, el criptosistema ElGamal y ECIES con curvas elípticas y el algoritmo DSA. También cubre el uso de curvas elípticas en seguridad web incluyendo almacenes de certificados,
Este documento describe los conceptos básicos de los grafos conexos. Un grafo conexo es un grafo en el que existe un camino entre cualquier par de vértices. Esto significa que todos los vértices están relacionados de alguna manera. El documento proporciona ejemplos de grafos conexos, como un sistema de transporte público donde cada parada está conectada a través de rutas. También explica que la conectividad define una relación de equivalencia entre los vértices de un grafo.
El documento describe el algoritmo de Dijkstra para encontrar la ruta más corta entre nodos en un grafo. Explica que se selecciona un nodo inicial y se calculan los pesos acumulados de los nodos adyacentes, repitiendo el proceso para los nodos restantes hasta completar el grafo con las distancias más cortas.
Este documento describe el protocolo de enrutamiento OSPF. Explica los conceptos básicos de OSPF como la encapsulación de mensajes, los tipos de paquetes y el proceso de saludo. También cubre la configuración básica de OSPF incluyendo la selección de la ID del router, la declaración de redes y la verificación de vecinos y adyacencias.
Este documento describe dos algoritmos de compresión de datos: Codificación Huffman y Codificación Aritmética. La Codificación Huffman asigna códigos binarios de longitud variable a símbolos basados en su frecuencia, resultando en una representación más compacta. La Codificación Aritmética representa símbolos con números fraccionarios entre 0 y 1 basados en sus probabilidades. El documento explica la implementación, codificación y decodificación de ambos métodos así como conclusiones y referencias.
Este documento describe el funcionamiento de una pila, incluyendo su estructura, operaciones básicas como apilar, desapilar y recorrer elementos, y nuevas funciones como contar elementos y calcular el promedio. Explica que una pila sigue el principio LIFO (último en entrar, primero en salir) y describe las funciones necesarias para inicializar, insertar, eliminar y recorrer elementos de una pila.
Criptografía y su importancia en nuestra vida diariaecontinua
La criptografía es importante en la vida diaria para proteger la privacidad e información. Incluye cifrado simétrico que usa la misma llave para cifrar y descifrar, y cifrado asimétrico que usa llaves públicas y privadas. La criptografía moderna se usa en comercio electrónico, almacenamiento de datos, comunicaciones y más para mantener la seguridad e integridad de la información.
Este documento presenta el algoritmo de enrutamiento por inundación. Se desarrolló un programa en Java que implementa este algoritmo de forma gráfica. El programa permite crear una red, enviar paquetes a través de ella usando la inundación y monitorear cómo viajan los paquetes entre los nodos con múltiples saltos. El desarrollo del algoritmo ayudó a comprender mejor cómo los algoritmos de enrutamiento encuentran la ruta óptima para enviar paquetes de forma eficiente y confiable a través de una red.
Este documento introduce la serie de Fourier como una herramienta para representar funciones periódicas como la suma de componentes sinusoidales. Explica conceptos clave como funciones periódicas, componente de corriente directa, componente fundamental y armónicos. Además, muestra cómo calcular los coeficientes de la serie de Fourier y realiza ejemplos para ilustrar estos conceptos.
El algoritmo de Kruskal es un ejemplo de algoritmo ``tacaño" ya que en cada iteración elige la opción mas económica disponible (es decir, la arista de costo mínimo).
El documento proporciona una introducción al álgebra de Boole, incluyendo sus elementos, operadores, axiomas, leyes y teoremas. Explica cómo se pueden simplificar circuitos digitales y funciones lógicas utilizando el álgebra de Boole y mapas de Karnaugh.
El Método de Bairstow es un algoritmo eficiente para encontrar las raíces de un polinomio de grado arbitrario utilizando solo aritmética real. Funciona ajustando los coeficientes de un polinomio cuadrático hasta que sus raíces también sean raíces del polinomio original, permitiendo determinar las raíces de forma iterativa hasta resolver el polinomio completamente.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Juan Martín Martín
Criterios de corrección y soluciones al examen de Geografía de Selectividad (EvAU) Junio de 2024 en Castilla La Mancha.
Soluciones al examen.
Convocatoria Ordinaria.
Examen resuelto de Geografía
conocer el examen de geografía de julio 2024 en:
https://blogdegeografiadejuan.blogspot.com/2024/06/soluciones-examen-de-selectividad.html
http://blogdegeografiadejuan.blogspot.com/
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
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.