示例#1
0
    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)
示例#2
0
 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)