multiagent systems masminimax py -(continued from masproblem import fig magic_sumnode node max_display_level= print detailed trace minimax_alpha_beta(fig - , minimax_alpha_beta(magic_sum()- , #to see how much time alpha-beta pruning can save over minimaxuncomment the following#import timeit #timeit timer("minimax(magic_sum(), )",setup="from __main__ import minimaxmagic_sum#timeit(number= #trace=false #timeit timer("minimax_alpha_beta(magic_sum()- , )"#setup="from __main__ import minimax_alpha_betamagic_sum#timeit(number= multiagent learning the next code of for multiple agnets that learn when interacting with other agents this code is designed to be extendedand as such is restricted to being two agentsa single stateand the only observation is the reward coordinating agents can' easily implement that agent architecture howeverin that architecturean agent calls the environment that architecture was chosen because it was simple howeverit does not really work when there are multiple agentsinstead we have controller that tells the egents the percepts (here the percepts are just the rewardmaslearn py -simulations of agents learning from display import displayable import utilities argmaxall for (element,valuepairs import matplotlib pyplot as plt import random class gameagent(displayable)next_id= def __init__(selfactions)""actions is the set of actions the agent can do it needs to be told that""self actions actions self id gameagent next_id gameagent next_id + self display( , "agent {self idhas actions {actions}"self total_score self dist {act: for act in actionsunnormalized distibution version june