def add_rew_share_observation_keys()

in randomized_uncertain_social_preferences/rusp/wrappers_rusp.py [0:0]


def add_rew_share_observation_keys(*, keys_self: List[str],
                                   keys_additional_self_vf: List[str],
                                   keys_other_agents: List[str],
                                   keys_additional_other_agents_vf: List[str],
                                   keys_self_matrices: List[str],
                                   **kwargs):
    '''
        Determines how keys about the relationship graph should be observed.
        Args:
            keys_self: keys that the agent should observe about itself
            keys_additional_self_vf: keys about an agent but only that the value function should observe
            keys_other_agents: keys about other agents
            keys_additional_other_agents_vf: keys about other agents but only that the value function should observe
            keys_self_matrices: keys that are shaped (n_agents, n_agents, X). These need to be dealth with differently
    '''

    keys_self += [
        'self_rew_value_noisy',
        'self_rew_value_noise_level',
    ]
    keys_additional_self_vf.append('self_rew_value')

    keys_other_agents += [
        'rew_share_so_s_noisy',
        'rew_share_so_s_noise_level',
        'other_rew_value_s_noisy',
        'other_rew_value_s_noise_level'
    ]

    other_rew_value_keys = [
        'other_rew_value_s_noisy',
        'other_rew_value_s_noise_level',
    ]

    keys_additional_other_agents_vf += [
        'rew_share_so_s',
        'other_rew_value_s',
        'rew_share_os_o_noisy',
        'rew_share_os_o_noise_level',
    ]

    keys_self_matrices += [
        'other_rew_value_s',
        'other_rew_value_s_noisy',
        'other_rew_value_s_noise_level',
        'rew_share_so_s',
        'rew_share_so_s_noisy',
        'rew_share_so_s_noise_level',
        'rew_share_os_o',
        'rew_share_os_o_noisy',
        'rew_share_os_o_noise_level',
    ]

    return keys_self, keys_additional_self_vf, keys_other_agents, keys_additional_other_agents_vf, keys_self_matrices