Skip to content

Reinforcement Learning agent for testing registration form behavior in sandbox. 🧪 This project was developed as part of a course assignment focused on practical reinforcement learning applications in a simulated environment.

Notifications You must be signed in to change notification settings

Orena327/AI_Registration_RL_agent_ver2-DU4

Repository files navigation

🤖 AI Registration RL Agent

📋 Popis projektu

Tento projekt je vyvíjen jako úkol do kurzu zaměřeného na Reinforcement Learning a tvorbu AI agentů. Agent simuluje a učí se vyplňovat registrační formulář pomocí Q-learningu v rámci virtuálního prostředí. Veškeré učení i vyplňování formuláře probíhá pouze v tomto izolovaném virtuálním prostředí (sandboxu), implementovaném třídou RegistrationEnvironment, které modeluje stav formuláře a jeho reakce na akce agenta, bez reálného odesílání dat.

⚙️ Funkce

  • 🕹️ Prostředí simulující registraci (RegistrationEnvironment)
  • 🧠 Q-learning agent (QAgent)
  • 💾 Ukládání a načítání Q-tabule pro učení mezi běhy
  • 📊 Logování průběhu epizod do CSV souboru s přehlednými daty
  • 📈 Vizualizace vývoje odměn během učení v grafu pomocí funkce show_reward_plot()
  • 🗂️ Automatické ukládání grafů s časovým razítkem do složky graphs

🚀 Instalace

  1. Klonujte repozitář

  2. Vytvořte a aktivujte virtuální prostředí:

    python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows

  3. Nainstalujte požadované knihovny:

    pip install -r requirements.txt

▶️ Použití

Spusťte hlavní skript: python main.py

Agent provede zadaný počet epizod učení, uloží výsledky, vygeneruje a zobrazí graf odměn.

⚠️ Poznámka ke grafu Zobrazení grafu je nyní řízeno parametrem show_plot. Pokud je tento parametr nastaven na True, graf se zobrazí ve zvláštním okně. Po zavření okna grafu se program ukončí.

Pokud graf zobrazovat nechcete, nastavte show_plot=False při volání funkce show_reward_plot(). Program graf vygeneruje a uloží, ale automaticky nezobrazí. Po vygenerování a uložení grafu se program automaticky ukončí bez nutnosti ručního zavírání okna.

📂 Výstupy

📁 logs/agent_log_YYYY-MM-DD.csv – CSV soubor s logy jednotlivých epizod 📁 graphs/reward_history_YYYY-MM-DD_HHMMSS.png – graf odměn uložený s časovým razítkem 💾 Q-tabule uložená v souboru (přes agent.save_q_table())

🗂️ Struktura složek

agent/ – moduly agenta, prostředí, konfigurace logs/ – logy epizod ve formátu CSV graphs/ – uložené grafy vývoje odměn

📦 Požadavky

Python 3.8+ knihovny: matplotlib, další dle requirements.txt

📝 Poznámky

Projekt umožňuje snadné rozšíření o jiné algoritmy RL. Logování v CSV usnadňuje analýzu a filtrování výsledků. Vizualizace pomáhá sledovat průběh učení agenta.

About

Reinforcement Learning agent for testing registration form behavior in sandbox. 🧪 This project was developed as part of a course assignment focused on practical reinforcement learning applications in a simulated environment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages