# ❄️ AI Cooling System Optimization Agent ### 🤖 Un agente de Aprendizaje por Refuerzo (RL) para la eficiencia energética ![Python](https://img.shields.io/badge/Python-3.10-blue) ![Library](https://img.shields.io/badge/Library-Stable--Baselines3-orange) ![Framework](https://img.shields.io/badge/Framework-Gymnasium-green) ![Demo](https://img.shields.io/badge/Demo-HuggingFace%20Spaces-yellow) ## 📖 Descripción del Proyecto Este proyecto nació de mi fascinación por el documental *The Thinking Game* y el trabajo de **DeepMind**. Inspirado en cómo lograron reducir el consumo energético de los Data Centers de Google en un 40%, decidí crear mi propia simulación a escala utilizando **Aprendizaje por Refuerzo (Reinforcement Learning)**. El objetivo es simple pero desafiante: entrenar a una Inteligencia Artificial para que controle el sistema de refrigeración de un servidor, manteniendo la temperatura en un rango seguro (37°C - 60°C) mientras minimiza el gasto de energía eléctrica. ## 🧠 ¿Cómo funciona? He diseñado un entorno personalizado (`Custom Environment`) que simula la termodinámica básica de un servidor bajo estrés. * **El Agente:** Un modelo entrenado con el algoritmo **PPO (Proximal Policy Optimization)**. * **El Desafío:** El servidor recibe cargas de tráfico aleatorias (simulando usuarios en internet) que elevan la temperatura. * **Las Acciones:** El agente decide entre 5 niveles de potencia de refrigeración (desde *Apagado* hasta *Turbo Industrial*). * **La Lógica (Reward Function):** * ✅ **Recompensa (+5):** Mantener la temperatura en el rango óptimo (37-60°C). * ❌ **Penalización (-2):** Salirse del rango seguro. * ⚠️ **Castigo Severo (-50):** Permitir que el servidor se sobrecaliente (>80°C). * 📉 **Optimización (-Energy):** Se penaliza levemente el uso excesivo de energía para forzar al agente a ser eficiente. ## 🛠️ Tecnologías Utilizadas Este proyecto fue desarrollado en **Google Colab** y desplegado en **Hugging Face Spaces**. * **Lenguaje:** Python * **Entorno:** `Gymnasium` (para crear la simulación física). * **Algoritmo:** `Stable-Baselines3` (implementación de PPO). * **Visualización:** `Matplotlib` y `Gradio` (para la interfaz web interactiva). ## 🚀 Resultados El modelo final ha superado pruebas de estrés con cargas de CPU simuladas de alta intensidad (niveles 6-8), logrando: 1. **Anticipación:** El agente aprende a enfriar *antes* de que la temperatura sea crítica. 2. **Eficiencia:** Evita el uso del modo "Turbo" a menos que sea estrictamente necesario. 3. **Estabilidad:** Mantiene la temperatura dentro del rango verde el 90% del tiempo de operación. ## 👨‍💻 Sobre el Autor Soy un **Data Scientist y futuro ML Engineer** en formación constante. Actualmente cursando una Maestría en Analítica de Datos y profundizando en el ecosistema de **Google Cloud Platform (GCP)**. Este proyecto es parte de mi ruta de aprendizaje para dominar las tecnologías que moldearán el futuro de la infraestructura inteligente. --- *Este proyecto es de código abierto bajo la licencia MIT. ¡Siéntete libre de probar la demo arriba!* 👆