def default_rollout_step(policy, obs, step_num):
    """
    The default rollout step function is the policy's compute_action function.

    A rollout step function allows a developer to specify the behavior
    that will occur at every step of the rollout--given a policy
    and the last observation from the env--to decide
    what action to take next. This usually involves the rollout's
    policy and may perform learning. It also, may involve using, updating,
    or saving learning related state including hyper-parameters
    such as epsilon in epsilon greedy.

    You can provide your own function with the same signature as this default
    if you want to have a more complex behavior at each step of the rollout.
    """
    return policy.compute_action(obs)