def expected_performance(x): """Example of how the expected performance can be computed.""" pm_pars = {'alpha': x[0], 'beta': x[1]} rm_pars = {'theta': x[2]} T = 100 #number of trials n_b = 2 #number of bandits rho = 0.01 #switch probability of the arm-reward contingencies n_env = 100 #number of environments n_blocks = 1 #number of experimental blocks ep = 0 # expected performance for n in range(n_env): #generate n_env mutli-armed bandit environmets env = MultiArmedBandit(T, rho=rho, n_b=n_b) pm = RescorlaWagner(env, n_b) for m in range(n_blocks): #in each environment repeat the experiment n_blocks times rm = SoftMaxResponses([], pm, d_r) rm.get_responses(pm_pars, rm_pars) #For each block compute the expected performance. ep += env.expected_performance() return ep / (n_env * n_blocks)
def expected_performance(x): """Example of how the expected performance can be computed.""" pm_pars = {'alpha': x[0], 'beta': x[1]} rm_pars = {'theta': x[2]} T = 100 #number of trials n_b = 2 #number of bandits rho = 0.01 #switch probability of the arm-reward contingencies n_env = 100 #number of environments n_blocks = 1 #number of experimental blocks ep = 0 # expected performance for n in range(n_env): #generate n_env mutli-armed bandit environmets env = MultiArmedBandit(T, rho = rho, n_b = n_b) pm = RescorlaWagner(env, n_b) for m in range(n_blocks): #in each environment repeat the experiment n_blocks times rm = SoftMaxResponses([], pm, d_r) rm.get_responses(pm_pars, rm_pars) #For each block compute the expected performance. ep += env.expected_performance() return ep/(n_env*n_blocks)