Один из вариантов - использовать функцию generate_random_map () из модуля frozen_lake и использовать карту, возвращаемую функцией, в качестве аргумента параметра desc при создании среды:
import gym
from gym.envs.toy_text.frozen_lake import generate_random_map
random_map = generate_random_map(size=20, p=0.8)
env = gym.make("FrozenLake-v0", desc=random_map)
env.reset()
env.render()
функция generate_random_map () принимает два параметра:
- размер: это размер сторон сетки
- p: вероятность замерзшей плитки.
Другой вариант - создать подкласс среды FrozenLake, который напрямую принимает параметры size и p и регистрирует его в качестве новой среды. Вы можете найти пример такого подхода в следующем хранилище:
https://github.com/rodmsmendes/gym-toy-text-ext