# tinker_cookbook.rl.ProblemGroupBuilder

## _class_ [**tinker_cookbook.rl.ProblemGroupBuilder**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L162)( _[EnvGroupBuilder](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/envgroupbuilder/)_)

Builds a group of ProblemEnv instances from a factory callable.

**Fields:**

- [**env_thunk**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L165) ( _Callable[], [ProblemEnv](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/problemenv/)_)
- [**num_envs**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L166) ( _int_)
- [**dataset_name**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L167) ( _str_, default: `'problems'`)

### [**make_envs**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L169)()

Create `num_envs` ProblemEnv instances using the factory callable.

**Returns:** _Sequence[ [Env](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/env/)]_

### [**compute_group_rewards**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L173)( _trajectory_group_, _env_group_)

Return zero group rewards (all rewards come from per-step scoring).

**Parameters:**

- [**trajectory_group**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L174) ( _list[ [Trajectory](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/trajectory/)]_)
- [**env_group**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/problem_env.py#L174) ( _Sequence[ [Env](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/env/)]_)

**Returns:** _list[tuple[float, Metrics]]_
