docstr: Fighting between previous generation agent and current generation agent
  
  Args:
      previous_weights (numpy.array): weights of previous generation neural network
      current_weights (numpy.array): weights of current generation neural network
      game_num (int): game number of fighting 
  
  Returns:
      tuple of (game number of previous agent won, game number of current agent won, game number of draw)
docstr_tok: ["Fighting","between","previous","generation","agent","and","current","generation","agent","Args",":","previous_weights","(","numpy.array",")",":","weights","of","previous","generation","neural","network","current_weights","(","numpy.array",")",":","weights","of","current","generation","neural","network","game_num","(","int",")",":","game","number","of","fighting","Returns",":","tuple","of","(","game","number","of","previous","agent","won",",","game","number","of","current","agent","won",",","game","number","of","draw",")"]
code: def pitting(self, previous_weights, current_weights, games_num):
      """Fighting between previous generation agent and current generation agent
  
      Args:
          previous_weights (numpy.array): weights of previous generation neural network
          current_weights (numpy.array): weights of current generation neural network
          game_num (int): game number of fighting
  
      Returns:
          tuple of (game number of previous agent won, game number of current agent won, game number of draw)
      """
      # update weights of previous and current neural network
      self.previous_agent.set_weights(previous_weights)
      self.current_agent.set_weights(current_weights)
  
      # reset node state of MCTS
      self.previous_mcts = MCTS(
          self.game, self.previous_agent, self.args
      )
      self.current_mcts = MCTS(self.game, self.current_agent, self.args)
  
      arena = Arena(
          lambda x: np.argmax(
              self.previous_mcts.getActionProb(x, temp=0)
          ),
          lambda x: np.argmax(
              self.current_mcts.getActionProb(x, temp=0)
          ),
          self.game,
      )
      previous_wins, current_wins, draws = arena.playGames(games_num)
  
      return (previous_wins, current_wins, draws)
  
file_path: PARL/benchmark/torch/AlphaZero/actor.py
imports: import numpy
  import parl
  import os
  from alphazero_agent import create_agent
  from MCTS import MCTS
  from Arena import Arena
  from utils import win_loss_draw
label_desc: Use image node_id 3 for calling the Actor obj's underlying member method code with example usage: obj.pitting(previous_weights, current_weights, games_num) and returns: previous_wins,  current_wins,  draws