def proposal(self, state, params, _):
     if params.propose_world_opposite:
         proposed = 1 - state.world
         lbf = 0
     elif params.propose_world_uniformly:
         proposed = self.sample_world([0.5, 0.5])
         lbf = 0
     else:
         proposed = self.sample_world(state.wp)
         lbf = scoring.log_prob_world(state.wp, state.world) - scoring.log_prob_world(state.wp, proposed)
     return proposed, lbf
 def loglike(self, beliefs, meta, state, var_value, params, latents, _):
     lpw = scoring.log_prob_world(state.wp, var_value)        
     own_noise, meta_noise = get_noise(state, latents, self.noise_in_state)
     expertise = get_expertise(latents, params.use_expertise)
     rll = scoring.reports_ll_marg(beliefs, meta, var_value, state.sm, 
                                   state.wp, own_noise, meta_noise,
                                   expertise, params)
     return lpw + rll
 def loglike(self, beliefs, meta, state, var_value, params, latents, _):
     if var_value[0] > 1 or var_value[0] < 0:
         return -np.inf
     #Original code had checks for bijection and kind of prior.
     lpw = scoring.log_prob_world(var_value, state.world)
     expertise = get_expertise(latents, params.use_expertise)
     own_noise, meta_noise = get_noise(state, latents, self.noise_in_state)
     rll = scoring.reports_ll_marg(beliefs, meta, state.world, state.sm, 
                                   var_value, own_noise, meta_noise,
                                   expertise, params)
     return lpw + rll