(csuppose your goal was to have the best accumulated reward after , steps you are allowed to change the exploration rate at fixed number of steps for each of the methodswhich is the best position to start exploiting morewhich method is betterwhat if you wanted to have the best reward after , or , stepsbased on this evidenceexplain when it is preferable to use sarsa lfamodelbased learneror -learning importantyou need to run each algorithm more than once your explanation should include the variability as well as the typical behavior experience replay here we consider experience replay with bounded replay buffer for sarsa lfa warningdoes not work properly yet should self env return (reward,stateto be consistent with ( , , , )rllinexperiencereplay py -linear reinforcement learner with experience replay from rlfeatures import sarsa_lfa_learnerdot_product from utilities import flip import random class sarsa_lfa_ar_learner(sarsa_lfa_learner) def __init__(selfenvget_featuresdiscountexplore= step_size= winit= label="sarsa_lfa-ar"max_buffer_size= num_updates_per_action= burn_in= )sarsa_lfa_learner __init__(selfenvget_featuresdiscountexplorestep_sizewinitlabelself max_buffer_size max_buffer_size self action_buffer [ ]*max_buffer_size self number_added self num_updates_per_action num_updates_per_action self burn_in burn_in def add_to_buffer(self,experience)if self number_added self max_buffer_sizeself action_buffer[self number_addedexperience elseif flip(self max_buffer_size/self number_added)position random randrange(self max_buffer_sizeself action_buffer[positionexperience self number_added + def do(self,num_steps= )"""do num_steps of interaction with the environment""self display( ," \ta\tr\ts'\tq\tdelta"for in range(num_steps)version june