<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-l2"><aclass="reference internal"href="../../../tutorials/gymnasium_basics/environment_creation/">Make your own custom environment</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/gymnasium_basics/vector_envs_tutorial/">Training A2C with Vector Envs and Domain Randomization</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/reinforce_invpend_gym_v26/">Training using REINFORCE for Mujoco</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../../tutorials/training_agents/blackjack_tutorial/">Solving Blackjack with Q-Learning</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><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"><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">np.random.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><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"><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">np.random.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">np.integer</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">np.integer</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>
<ddclass="field-odd"><p><strong>mask</strong>–<p>An optional mask for (optionally) the length of the sequence and (optionally) the values in the sequence.
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, in which case the length of the sampled sequence is randomly drawn from this array.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">int</span></code> for a fixed length sample</p></li>
<p>The second element of the mask tuple <codeclass="docutils literal notranslate"><spanclass="pre">sample</span></code> mask specifies a mask that is applied when
<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>
<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">Graph</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">node_space</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Box"title="gymnasium.spaces.Box"><spanclass="pre">Box</span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Discrete"title="gymnasium.spaces.Discrete"><spanclass="pre">Discrete</span></a></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">edge_space</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><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Box"title="gymnasium.spaces.Box"><spanclass="pre">Box</span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><aclass="reference internal"href="../fundamental/#gymnasium.spaces.Discrete"title="gymnasium.spaces.Discrete"><spanclass="pre">Discrete</span></a></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">np.random.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/graph/#Graph"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Graph"title="Link to this definition">¶</a></dt>
<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>
<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">NDArray</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">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="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="pre">NDArray</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">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="w"></span><spanclass="p"><spanclass="pre">|</span></span><spanclass="w"></span><spanclass="pre">None</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">num_nodes</span></span><spanclass="p"><spanclass="pre">:</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="default_value"><spanclass="pre">10</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">num_edges</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">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">GraphInstance</span></span></span><aclass="reference internal"href="../../../_modules/gymnasium/spaces/graph/#Graph.sample"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#gymnasium.spaces.Graph.sample"title="Link to this definition">¶</a></dt>
<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>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"><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">np.random.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>
<dd><p>An exclusive tuple (more precisely: the direct sum) of <aclass="reference internal"href="../#gymnasium.spaces.Space"title="gymnasium.spaces.Space"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Space</span></code></a> instances.</p>
<p>Elements of this space are elements of one of the constituent spaces.</p>
<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 (Box in this case) and the second element is the sample from Box</span>
<spanclass="go">(np.int64(0), np.int64(0))</span>
<spanclass="gp">>>></span><spanclass="n">observation_space</span><spanclass="o">.</span><spanclass="n">sample</span><spanclass="p">()</span><spanclass="c1"># this time the Discrete space was sampled as index=0</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><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>
<dd><p>Generates a single random sample inside this space.</p>
<p>This method draws independent samples from the subspaces.</p>
<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>