"Еще! Себе!" Интересный пример обучения с подкреплением (Blackjack Q-Learning) с gymnasium python

Поделиться
HTML-код
  • Опубликовано: 28 ноя 2023
  • "Еще! Себе!" Интересный пример обучения с подкреплением (Blackjack Q-Learning) с gymnasium python. Ссылка на код в первом комментарии к этому видео!

Комментарии • 9

  • @Pythoncode-daily
    @Pythoncode-daily  6 месяцев назад +4

    Активная ссылка на код gymnasium.farama.org/tutorials/training_agents/blackjack_tutorial/#visualising-the-policy

  • @alexcave9020
    @alexcave9020 6 месяцев назад +1

    Если перезапустить расчет стратегии, то она получиться немного другой. Это происходит потом, что в расчетах остается элемент случайности, а какие-то вариантов ходов не дают большой разницы. Поэтому, я бы во-первых не утверждал, что именно это оптимальная стратегия, а во-вторых сделал бы расчёт подольше и поигрался с изменением параметра эпсилон в эпсилон-greedy стратегии, убедился, что стратегия получается более менее стабильно

    • @alexcave9020
      @alexcave9020 6 месяцев назад

      И даже самая оптимальная стратегия даст тут минус.
      Вообще, это "игрушечный" пример. Интереснее рассмотреть именно как сам метод q-learning работает, а код тут уже дело третье.
      Также, чтобы получить действительно рассчитать оптимальную базовую стратегию, нужно учитывать сплиты и возможные нюансы правил конкретного казино

    • @Pythoncode-daily
      @Pythoncode-daily  6 месяцев назад

      Она и должна давать минус. Это игра с отрицательным матожиданием. Преимущество в ее остановке дают долгосрочное преимущество дилеру. По Торпу это можно изменять за счет подсчета карт и многократного увеличения ставок в примерно 8% тех ситуаций, когда оставшиеся в колоде карты дают преимущество игроку. Но в рассмотренной игре с возвратом карт в колоду такое невозможно. Поэтому игра симметричная и в пользу заведения. Оптимизировать игру можно за счет того, что предлагает Noam Brown - минимизации отклонения от равновесия Нэша на каждом шаге игры, но это не превратит ее в игру с положительным матожиданием. Просто за те же деньги можно будет насладиться игрой гораздо дольше. )

    • @Pythoncode-daily
      @Pythoncode-daily  6 месяцев назад

      Все в Ваших руках! Ход Ваших мыслей мне очень импонирует, но поскольку я не собираюсь играть в салонные ( азартные) игры в реальной жизни, то более интересна в этом смысле сама методология формирования оптимальных стратегий в играх в условиях неопределенности. Оптимальная стратегия не станет выигрышной в игре с отрицательным матожиданием. В других играх ( в том же покере) еще можно выигрывать за счет относительного преимущества в навыке - в том случае, когда мы найдем как это говорится еще большего идиота - человека чья стратегия, более отклоняется от оптимальной, чем наша. Но и эта игра чревата паяльниками в самых чувствительных местах. Так что мой интерес чисто гипотетический!)

  • @user-il5jq3hk2i
    @user-il5jq3hk2i 6 месяцев назад +1

    В чем проблема поставить предыдущую версию gym?

    • @Pythoncode-daily
      @Pythoncode-daily  6 месяцев назад

      Если честно, то лень - временные затраты на то, чтобы разобраться смущают и возможность использовать в будущем.

    • @alexcave9020
      @alexcave9020 6 месяцев назад +1

      Разница между gym и gymnasium совсем небольшая, и в данных примерах код будет тот же. Но есть нюанс - openai обновили gym и теперь старый код может сходу там тоже не работать

    • @Pythoncode-daily
      @Pythoncode-daily  6 месяцев назад

      Абсолютно точно! Причем конкретная модель из кода в книге как раз не вошла в новую библиотеку и поэтому в легкую применить код не получилось, а париться не стал, так как есть и другие варианты!)