Value Iteration Tutorial¶
Value Iteration ist ein klassischer Dynamic Programming Algorithmus, der verwendet wird, um die optimale Value Function $v^*$ zu finden. In diesem Projekt nutzen wir ihn zur präzisen Pfadplanung.
Konzept¶
Bei der Value Iteration berechnen wir iterativ den Wert jedes Zustands (Zelle), basierend auf den Belohnungen der benachbarten Zustände und deren eigenen Werten.
Die Bellman-Gleichung ist das Herzstück: $$V(s) \leftarrow \max_a \sum_{s', r} p(s', r | s, a) [r + \gamma V(s')]$$
In unserem Grid bedeutet das:
- Ziel: Hoher positiver Wert (100).
- Normaler Schritt: Kleiner negativer Wert (-1).
- Hindernisse/Wände: Verhindern Bewegung (Zustandswert bleibt niedrig).
Interaktives Notebook¶
Du kannst den Algorithmus Schritt für Schritt in unserem interaktiven Jupyter Notebook nachvollziehen und trainieren:
Implementierung im Projekt¶
Im Code findest du die Implementierung in:
- src/custom_grid_env/planner.py: Hier liegt die Logik für value_iteration().
- src/custom_grid_env/agents/value_iteration_agent.py: Der Agent, der diese Werte nutzt, um die beste Aktion zu wählen.