Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q‑Learning для CartPole‑v1

Реализация алгоритма Q‑Learning для решения задачи CartPole‑v1 из библиотеки Gymnasium.

Описание проекта

Проект реализует обучение агента методом Q‑Learning для управления системой «тележка‑маятник» (CartPole). Агент учится удерживать маятник в вертикальном положении, перемещая тележку влево/вправо.

Особенности реализации

  • Дискретизация непрерывного пространства состояний
  • ε‑жадная стратегия исследования
  • Постепенное уменьшение параметра ε
  • Визуализация прогресса обучения
  • Сохранение моделей и логов обучения.
  • Ранняя остановка при достижении целевой награды.

Результаты обучения

После 200 эпизодов агент достигает средней награды около 450, что соответствует успешному решению задачи.

Функционал

  • Обучение агента с визуализацией каждого 10‑го эпизода.
  • Построение графиков прогресса обучения и изменения эпсилона.
  • Сохранение Q‑таблицы в формате .npy.
  • Логирование результатов в CSV‑файл.
  • Чекпоинты моделей через заданные интервалы.

Требования

  • Python 3.8+
  • Зависимости из requirements.txt

Установка

См. docs/installation.md.

Использование

См. docs/usage.md.

Структура проекта

```text
CartPole-Q-Learning/
├── src/
│   ├── __init__.py
│   └── q_learning_cart_pole.py
├── data/
│   └── (здесь будут сохраняться q_table.npy и графики)
├── docs/
│   ├── README.md
│   ├── installation.md
│   └── usage.md
├── requirements.txt
├── .gitignore
└── LICENSE

Лицензия

MIT

About

Проект реализует обучение агента методом Q‑Learning для управления системой «тележка‑маятник» (CartPole). Агент учится удерживать маятник в вертикальном положении, перемещая тележку влево/вправо.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages