Понятие Q-таблицы
Обучение с подкреплением на основе таблиц
«Понятие Q-таблицы» — бесплатный урок Python Academy на CoddyKit. Это урок 2 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 5 уроков всего.
Что такое Q-таблица
Концепция Q-таблицы
Q-таблица — это основной инструмент обучения с подкреплением. Она представляет собой таблицу поиска, в которой каждая запись содержит ожидаемое вознаграждение за выполнение определённого действия в заданном состоянии.
Цель заключается в изучении Q-значений, которые помогают агенту выбирать наилучшие действия для получения максимальных вознаграждений.

Структура Q-таблицы
Структура Q-таблицы
Q-таблица имеет следующую структуру:
- Строки: представляют состояния среды.
- Столбцы: представляют действия, доступные агенту.
- Значения: представляют Q-значение для пар «состояние — действие».
Агент обновляет эти значения в процессе обучения.
Формула обновления Q-значения
Формула обновления Q-значения
Q-значения обновляются с помощью уравнения Беллмана:
Q(s, a) = Q(s, a) + α [r + γ max(Q(s', a')) - Q(s, a)]
Здесь:
- s: текущее состояние
- a: текущее действие
- r: вознаграждение за действие
- s': следующее состояние
- α: скорость обучения
- γ: коэффициент дисконтирования
Пример простой Q-таблицы
Пример простой Q-таблицы
Рассмотрим Q-таблицу для мира в виде сетки:
Состояния: позиции в сетке, например A1 и B1
Действия: переместиться вверх, вниз, влево или вправо
Изначально все Q-значения равны нулю:
| Состояние | Вверх | Вниз | Влево | Вправо |
|---|---|---|---|---|
| A1 | 0 | 0 | 0 | 0 |
| B1 | 0 | 0 | 0 | 0 |
Инициализация Q-таблицы на языке Пайтон
Инициализация Q-таблицы на языке Пайтон
Мы можем представить Q-таблицу с помощью массива NumPy или словаря:
import numpy as np
# Example: Q-Table for 5 states and 4 actions
num_states = 5
num_actions = 4
q_table = np.zeros((num_states, num_actions))
print("Initial Q-Table:")
print(q_table)Исследование в Q-обучении
Исследование в Q-обучении
Агент использует ε-жадную политику, чтобы соблюдать баланс между исследованием и использованием:
- с вероятностью ε выбирается случайное действие (исследование);
- с вероятностью 1-ε выбирается действие с наибольшим Q-значением (использование).
Преимущества Q-таблиц
Преимущества Q-таблиц
Q-таблицы просты и эффективны для небольших сред. К их преимуществам относятся:
- простота реализации и отладки;
- наглядное представление связей между состояниями и действиями;
- низкие вычислительные затраты для небольших пространств состояний и действий.
Ограничения Q-таблиц
Ограничения Q-таблиц
У Q-таблиц есть некоторые ограничения:
- Они плохо масштабируются на среды с большими пространствами состояний и действий.
- Для задач с высокой размерностью требуется значительный объём памяти.
- Они не способны обобщать знания на похожие состояния.
Итоги и дальнейшие шаги
Итоги и дальнейшие шаги
На этом уроке мы:
- Изучили концепцию Q-таблицы и её структуру.
- Разобрались, как обновляются Q-значения с помощью уравнения Беллмана.
- Обсудили преимущества и ограничения Q-таблиц.
Далее мы реализуем простой алгоритм Q-обучения на Python, чтобы увидеть Q-таблицы в действии.

Часто задаваемые вопросы
Урок «Понятие Q-таблицы» бесплатный?
Да — полный текст урока «Понятие Q-таблицы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 5 уроков всего.
Чему я научусь в уроке «Понятие Q-таблицы»?
Обучение с подкреплением на основе таблиц Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 5.
Сколько времени занимает урок «Понятие Q-таблицы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основные понятия обучения с подкреплением
- Понятие Q-таблицы
- Реализация Q-таблицы в Python
- Глубокое Q-обучение
- Знакомство с OpenAI Gym