El Guardián del Laberinto Adaptativo: Un reto de IA
Autor: @skell
Fecha: 13/01/2026
Materia: Programación de Entornos virtuales
Profesor: @frexus
Reto Diagnóstico: El Guardián del Laberinto Adaptativo: Un reto de IA
- Elige tu "Cerebro" (Selección de Librería)
Si tuviera que liderar este proyecto, elegiría la Opción A: ML-Agents (Unity).
¿Por qué? Aunque el Pathfinding clásico (A*) es excelente para rutas estáticas, falla ante obstáculos dinámicos e imprevistos. TensorFlow es potente, pero requiere una integración manual muy pesada. ML-Agents está diseñado específicamente para motores de videojuegos; permite que el agente aprenda a reaccionar a lo inesperado (como el derrame de material) mediante entrenamiento, logrando un comportamiento mucho más orgánico y adaptable que un simple script.
- El Mapa de Datos (Instalación e Integración)
Para que el "GPS externo" de la IA funcione, yo le enviaría los siguientes datos críticos cada frame:
Raycasts (Vectores de visión): Sensores de proximidad en 360° para detectar la distancia a cualquier objeto.
Vector de velocidad actual: Para que el agente sepa qué tan rápido se mueve y en qué dirección.
Posición relativa del objetivo: La distancia y ángulo respecto al paquete que debe recoger.
Estado de colisión: Un valor booleano (0 o 1) que indique si está tocando un obstáculo en ese instante.
- El Sistema de Premios (Entrenamiento)
Para que el agente aprenda correctamente, establecería las siguientes reglas:
Premio (+10 puntos): Por recolectar exitosamente un paquete.
Castigo (-5 puntos): Por cada colisión contra muros o trabajadores.
El Dilema de la Inactividad: Para evitar que el agente se quede quieto por miedo al castigo, implementaría un "Castigo por tiempo" (-0.01 puntos por segundo). Esto crea una urgencia constante para que el agente busque la recompensa lo más rápido posible.
Preguntas de Reflexión (Evaluación Diagnóstica)
Diferenciación Conceptual
Un personaje con if-else es predecible; solo puede reaccionar a situaciones que el programador anticipó. Si ocurre algo nuevo, el script falla. Una IA, en cambio, se basa en probabilidades y patrones aprendidos; no "lee" una instrucción fija, sino que evalúa cuál de todas las acciones posibles tiene mayor probabilidad de éxito según su experiencia previa.Percepción de Entorno
El avatar usa sensores digitales (Raycasts para profundidad, Colliders para contacto y vectores de posición). Estos datos se procesan como una matriz numérica (normalización) para que la red neuronal los entienda. Básicamente, convertimos "ver una pared" en un número como 0.2 (distancia corta), lo cual activa una respuesta motora en el modelo.Selección e Integración de Herramientas
El criterio principal es la Latencia de Inferencia. No sirve de nada una IA muy inteligente si tarda 200ms en decidir qué hacer, porque el avatar se verá "lento" o bajará los FPS del simulador. La librería debe permitir que el modelo entrenado corra de forma ligera dentro del motor (como un archivo .nn o .onnx).Proceso de Aprendizaje
Un entorno para humanos es estético y guiado. Un entorno para entrenar una IA es minimalista y acelerado. A menudo, se eliminan los gráficos pesados y se ejecutan 20 simulaciones en paralelo a una velocidad 10 veces mayor que la real para que la IA "viva" miles de horas de experiencia en pocos minutos.Mantenimiento y Pruebas (Debug)
Si el avatar gira sin sentido, mi lógica sería:
Datos de entrada: ¿El agente está recibiendo la posición del objetivo o le estamos enviando (0,0,0)?
Física: ¿Tiene el agente suficiente fuerza de rotación o está "patinando" en el suelo virtual?
Configuración de la librería: ¿Es el castigo por girar demasiado bajo o el premio por avanzar inexistente? Generalmente, es un error en la función de recompensa.
- Impacto de la Incertidumbre
Esto se resuelve mediante Lógica Difusa (Fuzzy Logic) o salidas probabilísticas. En lugar de decir "si batería < 10, volver", la IA evalúa un valor entre 0 y 1 de "conveniencia". Si la meta está cerca y la batería "algo baja", el modelo calcula que el riesgo vale la pena basándose en el éxito de intentos similares en el pasado.