multiagent systems ""def __init__(selfactionsalpha= q_init= p_init= beta= )""actions is the set of actions the agent can do alpha is the step size q_init is the initial -values p_init is the initial counts for beta is the discount for older probabilities ""gameagent __init__(selfactionsself { :q_init for in self actionsself dist { :p_init for in self actionsstart with random dist self alpha alpha self beta beta self num_steps def select_action(selfreward)self total_score +reward self display( , "the reward for agent {self idwas {reward}"self [self act+self alpha*(reward-self [self act]a_best utilities argmaxall(self items()for in self keys()self dist[ *( -self betafor in a_bestself dist[ + self display( , "distribution for agent {self idis {self dist}"self act select_from_dist(self distself display( , "agent {self iddid {self act}"return self act version june