class_docstr: GridWorld set up in https://people.cs.umass.edu/~pthomas/papers/Thomas2015c.pdf
class_docstr_tok: ["GridWorld","set","up","in","https",":","\/\/people.cs.umass.edu\/~pthomas\/papers\/Thomas2015c.pdf"]
code: def __init__(self):
      super().__init__((4, 4), (0, 0), (3, 3), 100)
  
imports: import logging
  import random
  from typing import Iterable, Optional, Sequence, Tuple
  import numpy
  import torch
  from reagent.ope.estimators.sequential_estimators import DMEstimator, DoublyRobustEstimator, EpsilonGreedyRLPolicy, IPSEstimator, MAGICEstimator, NeuralDualDICE, RewardProbability, RLEstimatorInput, State, StateDistribution, StateReward, ValueFunction
  from reagent.ope.estimators.types import Action, ActionSpace
  from reagent.ope.test.envs import Environment, PolicyLogGenerator
  from reagent.ope.trainers.rl_tabular_trainers import DPTrainer, DPValueFunction, EstimatedStateValueFunction, TabularPolicy
label_desc: Use image node_id 1 to create a new ThomasGridWorld object from inherited base classes: GridWorld with example: obj = ThomasGridWorld()