def METHOD_NAME() -> experiments.ExperimentConfig:
  """Builds DQN experiment config which can be executed in different ways."""
  env_name = ENV_NAME.value
  muzero_config = muzero.MZConfig()
  def env_factory(seed: int) -> dm_env.Environment:
    del seed
    return helpers.make_atari_environment(
        level=env_name,
        sticky_actions=True,
        zero_discount_on_life_loss=True,
        num_stacked_frames=1,
        grayscaling=False,
        to_float=False,
    )
  def network_factory(
      spec: specs.EnvironmentSpec,
  ) -> muzero.MzNetworks:
    return muzero.make_network(
        spec,
        stack_size=muzero_config.stack_size,
    )
  # Construct the builder.
  env_spec = specs.make_environment_spec(env_factory(SEED.value))
  extra_spec = {
      muzero.POLICY_PROBS_KEY: specs.Array(
          shape=(env_spec.actions.num_values,), dtype='float32'
      ),
      muzero.RAW_VALUES_KEY: specs.Array(shape=(), dtype='float32'),
  }
  muzero_builder = muzero.MzBuilder(  # pytype: disable=wrong-arg-types  # jax-ndarray
      muzero_config,
      extra_spec,
  )
  checkpointing_config = experiments.CheckpointingConfig(
      replay_checkpointing_time_delta_minutes=20,
      time_delta_minutes=1,
  )
  return experiments.ExperimentConfig(
      builder=muzero_builder,
      environment_factory=env_factory,
      network_factory=network_factory,
      seed=SEED.value,
      max_num_actor_steps=NUM_STEPS.value,
      checkpointing=checkpointing_config,
  )