Reto 1
Lenguaje
Python3
Intentos
0 de 10
Puntaje requerido
90%
Enunciado
Reto optimización de rutas
En un mundo cada vez más interconectado, la optimización de rutas se ha convertido en un
desafío crucial en diversas áreas, desde la logística y el transporte hasta la planificación de
viajes y la gestión de redes de comunicación. En este escenario, se enfrenta el desafío de
encontrar la ruta más corta entre dos ciudades específicas en un extenso mapa de
conexiones. El mapa de conexiones representa una red compleja de ciudades
interconectadas, donde cada ciudad está conectada a otras por una serie de rutas. Cada
conexión está asociada con una distancia que indica la longitud o costo para viajar de una
ciudad a otra. El propósito fundamental es determinar la ruta más corta entre una ciudad de
origen y una ciudad de destino. Esta ruta óptima no solo implica la distancia mínima, sino
también el camino más eficiente y práctico para el traslado entre las dos ciudades.
Teniendo el siguiente mapa en forma de grafo:
grafo = {
'A': {'B': 5, 'C': 8, 'D': 9},
'B': {'A': 5, 'E': 15, 'F': 7},
'C': {'A': 8, 'G': 12, 'H': 10},
'D': {'A': 9, 'I': 11, 'J': 6},
'E': {'B': 15, 'K': 9, 'L': 13},
'F': {'B': 7, 'M': 8, 'N': 6},
'G': {'C': 12, 'O': 10, 'P': 5},
'H': {'C': 10, 'Q': 11, 'R': 7},
'I': {'D': 11, 'S': 14, 'T': 8},
'J': {'D': 6, 'U': 9, 'V': 12},
'K': {'E': 9},
'L': {'E': 13},
'M': {'F': 8},
'N': {'F': 6},
'O': {'G': 10},
'P': {'G': 5},
'Q': {'H': 11},
'R': {'H': 7},
'S': {'I': 14},
'T': {'I': 8},
'U': {'J': 9},
'V': {'J': 12}
La lectura del grafo es la siguiente:
Existen 22 ciudades, cada una es una letra en mayúscula.
El valor de las distancias entre ciudades aparece como el valor de las claves del
diccionario. Ejemplo: La distancia entre K y E es de 9. La distancia entre A y B es
5.
Se necesita implementar un programa en Python que encuentre la ruta más corta entre dos
puntos usando el algoritmo DFS (Búsqueda en profundidad).
Cada uno de los casos de prueba estará compuesto por una línea con la ciudad de
Entrada origen y la ciudad destino. Las ciudades se representan con letras mayúsculas.
(No colocar minúsculas ya que se genera error)
Salida La salida estará representada por una única línea formada por las letras
correspondientes a la ruta más corta. Si no hay camino disponible entre los dos
puntos imprimir la palabra 'None'
Casos de prueba:
Entrada Salida Esperada
AQ ACHQ
AP ACGP
AB AB
AZ None
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener los valores de los parámetros requeridos separados por un
espacio.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.
Dificultad
Media
Instrucciones
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener los valores de los parámetros requeridos separados por un
espacio.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.
Reto 2
Lenguaje
Python3
Intentos
0 de 10
Puntaje requerido
90%
Enunciado
Reto gradiente descendente
En una fábrica que produce un material específico, la cantidad producida está influenciada
por diversas variables como la temperatura de la máquina, la presión aplicada, y el tiempo
de procesamiento. El objetivo es encontrar la configuración óptima de estas variables para
maximizar la producción y minimizar los costos asociados. Para la función objetivo se
establece una función que describe la producción del material en función de las variables
mencionadas. Para este ejemplo se va a trabajar con la función: X^2+5X+6 como la
función objetivo. La función objetivo se deriva para para obtener el gradiente. La derivada
de la función objetivo es: 2X+5.
Se desea implementar el algoritmo del gradiente descendente para encontrar los valores
óptimos de la función objetivo. En este caso se debe encontrar los valores de X e Y.
Los parámetros que se necesitan para el funcionamiento del algoritmo son: La tasa de
aprendizaje, el número de épocas y el valor inicial. Para probar diferentes combinaciones
del material que usa la empresa, hay que hacer variaciones de los parámetros del algoritmo
de gradiente descendente. Por ejemplo, la tasa de aprendizaje se coloca en 0.1, el número
de épocas es 50 y la posición inicial en 0. Como resultado después de 50 épocas el valor de
X y de Y es:
X: -2.499964
Y: -0.249999
Hay que hacer la implementación del algoritmo de gradiente descendiente y variar los
parámetros de configuración.
Cada uno de los casos de prueba estará compuesto por una línea con la tasa de
Entrada
aprendizaje, el número de épocas y el punto inicial
La salida estará representada por una única línea formada por los valores de X
Salida que es el valor después de las iteraciones y el valor de Y que es la evaluación de
X en la función objetivo. Se debe mostrar hasta los primero 6 decimales.
Casos de prueba:
Entrada Salida Esperada
0.1 10 1 -2.12419 -0.108767
0.2 20 0 -2.499909 -0.25
0.1 50 3 -2.499922 -0.25
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener los valores de los parámetros requeridos separados por un
espacio.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.
Dificultad
Media
Instrucciones
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener los valores de los parámetros requeridos separados por un
espacio.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.
Reto 3
Lenguaje
Python3
Intentos
0 de 10
Puntaje requerido
90%
Enunciado
Reto Agente inteligente
En un entorno de procesamiento de datos, se requiere un agente inteligente capaz de
convertir texto en su representación numérica equivalente utilizando códigos ASCII. Este
agente será utilizado en diversas aplicaciones donde se necesita transformar información
textual en un formato numérico para su procesamiento, análisis o transmisión a través de
sistemas de computación. En un caso de uso específico, el agente puede recibir textos de
entrada provenientes de diversas fuentes, como mensajes, archivos de texto o datos
obtenidos de sensores. Su función principal es convertir esta información textual en una
representación numérica que sea comprensible y procesable por sistemas y algoritmos.
Hay que hacer la implementación de un agente de tipo reactivo en donde la percepción
principal es una cadena de texto que devuelve por cada letra el numero ASCII. Por ejemplo,
para la palabra 'Hola' como percepción, devuelve los números: 72, 111, 108, 97.
El agente pude recibir cualquier tipo de símbolo en el texto y debe ser capaz de hacer la
conversión a ASCII
Cada uno de los casos de prueba estará compuesto por una línea con cadena de
Entrada texto a convertir. Se deben considerar símbolos especiales como punto, coma,
espacio, símbolos matemáticos, etc.
La salida estará representada por una única línea formada por los valores en
Salida
ASCII de cada una de las letras de la cadena de texto
Casos de prueba:
Entrada Salida Esperada
Hola 72 111 108 97
hora Base 104 111 114 97 32 66 97 115 101
1+2=3 49 43 50 61 51
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener la cadena de texto a convertir.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.
Dificultad
Media
Instrucciones
Instrucciones para la calificación automática
Antes de enviar la solución del quiz, por favor tenga en cuenta los siguientes aspectos:
Cada caso de prueba se especifica con una línea.
Cada línea debe contener la cadena de texto a convertir.
Es importante no utilizar ningún mensaje a la hora de capturar las entradas, es decir,
al utilizar la función input()no agregue ningún texto para capturar los datos.
Los resultados se muestran en una única línea. Los dos valores requeridos deben
estar separados por un espacio.