<liclass="toctree-l1 current has-children"><aclass="reference internal"href="../">Spaces</a><inputchecked=""class="toctree-checkbox"id="toctree-checkbox-1"name="toctree-checkbox-1"role="switch"type="checkbox"/><labelfor="toctree-checkbox-1"><divclass="visually-hidden">Toggle navigation of Spaces</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ulclass="current">
<liclass="toctree-l2"><aclass="reference internal"href="../../../environments/classic_control/mountain_car_continuous/">Mountain Car Continuous</a></li>
<liclass="toctree-l1 has-children"><aclass="reference internal"href="../../../environments/toy_text/">Toy Text</a><inputclass="toctree-checkbox"id="toctree-checkbox-6"name="toctree-checkbox-6"role="switch"type="checkbox"/><labelfor="toctree-checkbox-6"><divclass="visually-hidden">Toggle navigation of Toy Text</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l1 has-children"><aclass="reference internal"href="../../../tutorials/gymnasium_basics/">Gymnasium Basics</a><inputclass="toctree-checkbox"id="toctree-checkbox-8"name="toctree-checkbox-8"role="switch"type="checkbox"/><labelfor="toctree-checkbox-8"><divclass="visually-hidden">Toggle navigation of Gymnasium Basics</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/gymnasium_basics/environment_creation/">Make your own custom environment</a></li>
<liclass="toctree-l1 has-children"><aclass="reference internal"href="../../../tutorials/training_agents/">Training Agents</a><inputclass="toctree-checkbox"id="toctree-checkbox-9"name="toctree-checkbox-9"role="switch"type="checkbox"/><labelfor="toctree-checkbox-9"><divclass="visually-hidden">Toggle navigation of Training Agents</div><iclass="icon"><svg><usehref="#svg-arrow-right"></use></svg></i></label><ul>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/action_masking_taxi/">Action Masking in the Taxi Environment</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/action_masking_taxi/#running-the-experiment">Running the Experiment</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/blackjack_q_learning/">Solving Blackjack with Tabular Q-Learning</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/frozenlake_q_learning/">Solving Frozenlake with Tabular Q-Learning</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/mujoco_reinforce/">Training using REINFORCE for Mujoco</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/vector_a2c/">Speeding up A2C Training with Vector Envs</a></li>
<liclass="toctree-l1"><aclass="reference external"href="https://github.com/Farama-Foundation/Gymnasium/blob/main/docs/README.md">Contribute to the Docs</a></li>
<p>It can be convenient to use <aclass="reference internal"href="#gymnasium.spaces.Dict"title="gymnasium.spaces.Dict"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Dict</span></code></a> spaces if you want to make complex observations or actions more human-readable.
Usually, it will not be possible to use elements of this space directly in learning code. However, you can easily
Similar wrappers can be implemented to deal with <aclass="reference internal"href="#gymnasium.spaces.Dict"title="gymnasium.spaces.Dict"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Dict</span></code></a> actions.</p>
<li><p><strong>spaces</strong>– A dictionary of spaces. This specifies the structure of the <aclass="reference internal"href="#gymnasium.spaces.Dict"title="gymnasium.spaces.Dict"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Dict</span></code></a> space</p></li>
<li><p><strong>seed</strong>– Optionally, you can use this argument to seed the RNGs of the spaces that make up the <aclass="reference internal"href="#gymnasium.spaces.Dict"title="gymnasium.spaces.Dict"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Dict</span></code></a> space.</p></li>
<li><p><strong>**spaces_kwargs</strong>– If <codeclass="docutils literal notranslate"><spanclass="pre">spaces</span></code> is <codeclass="docutils literal notranslate"><spanclass="pre">None</span></code>, you need to pass the constituent spaces as keyword arguments, as described above.</p></li>
<spanclass="sig-name descname"><spanclass="pre">sample</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">mask</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">probability</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/dict/#Dict.sample"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Dict.sample"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">seed</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">dict</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">str</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/dict/#Dict.seed"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Dict.seed"title="Link to this definition">¶</a></dt>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Int</span></code> - The integer is used to seed the <aclass="reference internal"href="#gymnasium.spaces.Dict"title="gymnasium.spaces.Dict"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Dict</span></code></a> space that is used to generate seed values for each of the subspaces. Warning, this does not guarantee unique seeds for all subspaces, though is very unlikely.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Dict</span></code> - A dictionary of seeds for each subspace, requires a seed key for every subspace. This supports seeding of multiple composite subspaces (<codeclass="docutils literal notranslate"><spanclass="pre">Dict["space":</span><spanclass="pre">Dict[...],</span><spanclass="pre">...]</span></code> with <codeclass="docutils literal notranslate"><spanclass="pre">{"space":</span><spanclass="pre">{...},</span><spanclass="pre">...}</span></code>).</p></li>
<ddclass="field-odd"><p><strong>seed</strong>– An optional int or dictionary of subspace keys to int to seed each PRNG. See above for more details.</p>
<emclass="property"><spanclass="pre">class</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">gymnasium.spaces.</span></span><spanclass="sig-name descname"><spanclass="pre">Tuple</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">spaces</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">Iterable</span><spanclass="p"><spanclass="pre">[</span></span><aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.space.Space"><spanclass="pre">Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Sequence</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Generator</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/tuple/#Tuple"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Tuple"title="Link to this definition">¶</a></dt>
<li><p><strong>spaces</strong> (<em>Iterable</em><em>[</em><aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><em>Space</em></a><em>]</em>) – The spaces that are involved in the cartesian product.</p></li>
<li><p><strong>seed</strong>– Optionally, you can use this argument to seed the RNGs of the <codeclass="docutils literal notranslate"><spanclass="pre">spaces</span></code> to ensure reproducible sampling.</p></li>
<spanclass="sig-name descname"><spanclass="pre">sample</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">mask</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">probability</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/tuple/#Tuple.sample"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Tuple.sample"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">seed</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Sequence</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/tuple/#Tuple.seed"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Tuple.seed"title="Link to this definition">¶</a></dt>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Int</span></code> - The integer is used to seed the <aclass="reference internal"href="#gymnasium.spaces.Tuple"title="gymnasium.spaces.Tuple"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Tuple</span></code></a> space that is used to generate seed values for each of the subspaces. Warning, this does not guarantee unique seeds for all the subspaces.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">List</span></code> / <codeclass="docutils literal notranslate"><spanclass="pre">Tuple</span></code> - Values used to seed the subspaces. This allows the seeding of multiple composite subspaces <codeclass="docutils literal notranslate"><spanclass="pre">[42,</span><spanclass="pre">54,</span><spanclass="pre">...]</span></code>.</p></li>
<emclass="property"><spanclass="pre">class</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">gymnasium.spaces.</span></span><spanclass="sig-name descname"><spanclass="pre">Sequence</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">space</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.space.Space"><spanclass="pre">Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Generator</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">stack</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">False</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/sequence/#Sequence"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Sequence"title="Link to this definition">¶</a></dt>
<dd><p>This space represent sets of finite-length sequences.</p>
<p>This space represents the set of tuples of the form <spanclass="math notranslate nohighlight">\((a_0, \dots, a_n)\)</span> where the <spanclass="math notranslate nohighlight">\(a_i\)</span> belong
to some space that is specified during initialization and the integer <spanclass="math notranslate nohighlight">\(n\)</span> is not fixed</p>
<li><p><strong>stack</strong>– If <codeclass="docutils literal notranslate"><spanclass="pre">True</span></code> then the resulting samples would be stacked.</p></li>
<spanclass="sig-name descname"><spanclass="pre">sample</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">mask</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">None</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">None</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">ndarray</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">dtype</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">integer</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">probability</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">None</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">None</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">ndarray</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">dtype</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">integer</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Any</span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/sequence/#Sequence.sample"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Sequence.sample"title="Link to this definition">¶</a></dt>
If you specify <codeclass="docutils literal notranslate"><spanclass="pre">mask</span></code>, it is expected to be a tuple of the form <codeclass="docutils literal notranslate"><spanclass="pre">(length_mask,</span><spanclass="pre">sample_mask)</span></code> where <codeclass="docutils literal notranslate"><spanclass="pre">length_mask</span></code> is</p>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">None</span></code> - The length will be randomly drawn from a geometric distribution</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">np.ndarray</span></code> of integers - Length of the sampled sequence is randomly drawn from this array.</p></li>
</ul>
<p>The second element of the tuple <codeclass="docutils literal notranslate"><spanclass="pre">sample_mask</span></code> specifies how the feature space will be sampled.
Depending on if mask or probability is used will affect what argument is used.</p>
</p></li>
<li><p><strong>probability</strong>– See mask description above, the only difference is on the <codeclass="docutils literal notranslate"><spanclass="pre">sample_mask</span></code> for the feature space being probability rather than mask.</p></li>
<spanclass="sig-name descname"><spanclass="pre">seed</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/sequence/#Sequence.seed"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Sequence.seed"title="Link to this definition">¶</a></dt>
<dd><p>Seed the PRNG of the Sequence space and the feature space.</p>
<p>Depending on the type of seed, the subspaces will be seeded differently</p>
<ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">None</span></code> - All the subspaces will use a random initial seed</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Int</span></code> - The integer is used to seed the <aclass="reference internal"href="#gymnasium.spaces.Sequence"title="gymnasium.spaces.Sequence"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Sequence</span></code></a> space that is used to generate a seed value for the feature space.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Tuple</span><spanclass="pre">of</span><spanclass="pre">ints</span></code> - A tuple for the <aclass="reference internal"href="#gymnasium.spaces.Sequence"title="gymnasium.spaces.Sequence"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Sequence</span></code></a> and feature space.</p></li>
<dd><p>A space representing graph information as a series of <codeclass="docutils literal notranslate"><spanclass="pre">nodes</span></code> connected with <codeclass="docutils literal notranslate"><spanclass="pre">edges</span></code> according to an adjacency matrix represented as a series of <codeclass="docutils literal notranslate"><spanclass="pre">edge_links</span></code>.</p>
<li><p><strong>node_space</strong> (<em>Union</em><em>[</em><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Box"title="gymnasium.spaces.Box"><em>Box</em></a><em>, </em><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Discrete"title="gymnasium.spaces.Discrete"><em>Discrete</em></a><em>]</em>) – space of the node features.</p></li>
<li><p><strong>edge_space</strong> (<em>Union</em><em>[</em><em>None</em><em>, </em><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Box"title="gymnasium.spaces.Box"><em>Box</em></a><em>, </em><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Discrete"title="gymnasium.spaces.Discrete"><em>Discrete</em></a><em>]</em>) – space of the edge features.</p></li>
<dd><p>Generates a single sample graph with num_nodes between <codeclass="docutils literal notranslate"><spanclass="pre">1</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">10</span></code> sampled from the Graph.</p>
If no <codeclass="docutils literal notranslate"><spanclass="pre">num_edges</span></code> is provided then the <codeclass="docutils literal notranslate"><spanclass="pre">edge_mask</span></code> is multiplied by the number of edges</p></li>
<li><p><strong>probability</strong>– An optional tuple of optional node and edge probability mask that is only possible with Discrete spaces
(Box spaces don’t support sample probability masks).
If no <codeclass="docutils literal notranslate"><spanclass="pre">num_edges</span></code> is provided then the <codeclass="docutils literal notranslate"><spanclass="pre">edge_mask</span></code> is multiplied by the number of edges</p></li>
<li><p><strong>num_nodes</strong>– The number of nodes that will be sampled, the default is <cite>10</cite> nodes</p></li>
<li><p><strong>num_edges</strong>– An optional number of edges, otherwise, a random number between <cite>0</cite> and <spanclass="math notranslate nohighlight">\(num_nodes^2\)</span></p></li>
<spanclass="sig-name descname"><spanclass="pre">seed</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/graph/#Graph.seed"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Graph.seed"title="Link to this definition">¶</a></dt>
<dd><p>Seeds the PRNG of this space and node / edge subspace.</p>
<p>Depending on the type of seed, the subspaces will be seeded differently</p>
<ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">None</span></code> - The root, node and edge spaces PRNG are randomly initialized</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Int</span></code> - The integer is used to seed the <aclass="reference internal"href="#gymnasium.spaces.Graph"title="gymnasium.spaces.Graph"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Graph</span></code></a> space that is used to generate seed values for the node and edge subspaces.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Tuple[int,</span><spanclass="pre">int]</span></code> - Seeds the <aclass="reference internal"href="#gymnasium.spaces.Graph"title="gymnasium.spaces.Graph"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Graph</span></code></a> and node subspace with a particular value. Only if edge subspace isn’t specified</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Tuple[int,</span><spanclass="pre">int,</span><spanclass="pre">int]</span></code> - Seeds the <aclass="reference internal"href="#gymnasium.spaces.Graph"title="gymnasium.spaces.Graph"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Graph</span></code></a>, node and edge subspaces with a particular value.</p></li>
<ddclass="field-odd"><p><strong>seed</strong>– An optional int or tuple of ints for this space and the node / edge subspaces. See above for more details.</p>
<emclass="property"><spanclass="pre">class</span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">gymnasium.spaces.</span></span><spanclass="sig-name descname"><spanclass="pre">OneOf</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">spaces</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">Iterable</span><spanclass="p"><spanclass="pre">[</span></span><aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.space.Space"><spanclass="pre">Space</span></a><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="p"><spanclass="pre">]</span></span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Sequence</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">Generator</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/oneof/#OneOf"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.OneOf"title="Link to this definition">¶</a></dt>
<spanclass="gp">>>></span><spanclass="n">observation_space</span><spanclass="o">.</span><spanclass="n">sample</span><spanclass="p">()</span><spanclass="c1"># the first element is the space index (Discrete in this case) and the second element is the sample from Discrete</span>
<spanclass="gp">>>></span><spanclass="n">observation_space</span><spanclass="o">.</span><spanclass="n">sample</span><spanclass="p">()</span><spanclass="c1"># this time the Box space was sampled as index=1</span>
<li><p><strong>spaces</strong> (<em>Iterable</em><em>[</em><aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><em>Space</em></a><em>]</em>) – The spaces that are involved in the cartesian product.</p></li>
<li><p><strong>seed</strong>– Optionally, you can use this argument to seed the RNGs of the <codeclass="docutils literal notranslate"><spanclass="pre">spaces</span></code> to ensure reproducible sampling.</p></li>
<spanclass="sig-name descname"><spanclass="pre">sample</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">mask</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">probability</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">Any</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="pre">Any</span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/oneof/#OneOf.sample"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.OneOf.sample"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">seed</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seed</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><spanclass="sig-return"><spanclass="sig-return-icon">→</span><spanclass="sig-return-typehint"><spanclass="pre">tuple</span><spanclass="p"><spanclass="pre">[</span></span><spanclass="pre">int</span><spanclass="p"><spanclass="pre">,</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">...</span></span><spanclass="p"><spanclass="pre">]</span></span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/oneof/#OneOf.seed"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.OneOf.seed"title="Link to this definition">¶</a></dt>
<dd><p>Seed the PRNG of this space and all subspaces.</p>
<p>Depending on the type of seed, the subspaces will be seeded differently</p>
<ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">None</span></code> - All the subspaces will use a random initial seed</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Int</span></code> - The integer is used to seed the <aclass="reference internal"href="#gymnasium.spaces.Tuple"title="gymnasium.spaces.Tuple"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Tuple</span></code></a> space that is used to generate seed values for each of the subspaces. Warning, this does not guarantee unique seeds for all the subspaces.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">Tuple[int,</span><spanclass="pre">...]</span></code> - Values used to seed the subspaces, first value seeds the OneOf and subsequent seed the subspaces. This allows the seeding of multiple composite subspaces <codeclass="docutils literal notranslate"><spanclass="pre">[42,</span><spanclass="pre">54,</span><spanclass="pre">...]</span></code>.</p></li>