[PYTHON] Résoudre Copy-v0 d'OpenAI Gym

Tâche

https://gym.openai.com/envs/Copy-v0

image.png

Conditions de compensation

Récompense

-1,0 si vous pouvez copier correctement, -0,5 si vous faites une erreur

Structure de données

Quand j'ai lu le code,

https://github.com/openai/gym/blob/master/gym/envs/algorithmic/copy_.py

L'espace d'action est

Tuple(Discrete(2), Discrete(2), Discrete(5))

--Appuyez 1er: 1 si vous voulez aller à droite de la bande, 0 si vous voulez --Tuple 2nd: 1 pour l'écriture

Territoire de l'État

-Cinq lettres A à E (représentées par les chiffres 1 à 5)

Discrete(6)

Solution

«Ce serait bien si vous pouviez simplement pousser l'état précédent dans l'action suivante, mais c'est probablement différent parce que vous n'utilisez pas l'apprentissage par renforcement.

code

import numpy as np
import gym
from gym import wrappers

def run():
    env = gym.make('Copy-v0')
    env = wrappers.Monitor(env, '/tmp/copy-v0', force=True)
    Gs = []
    for episode in range(1000):
        x = env.reset()
        G = 0
        for t in range(100):
            a = (1,1, x)
            x, r, done, _ = env.step(a)
            G += r
            if done:
                Gs.append(G)
                break
        score = np.mean(Gs[-100:])
        print("Episode: %3d, Score: %.3f" % (episode, score))
        if score > 25:
            break


if __name__ == "__main__":
    run()

References

  1. LEARNING SIMPLE ALGORITHMS FROM EXAMPLES, Zaremba et al., 2016.
  2. OpenAI Gym, Brockman et al., 2016.

Recommended Posts

Résoudre Copy-v0 d'OpenAI Gym
Résolvez OpenAI Gym Copy-v0 avec Q Learning
Résolvez OpenAI Gym Copy-v0 avec Sarsa
Résoudre le retard d'observation de l'interféromètre