Body: <p>So I want to create an RL-agent for two players-board game. I want to use a simple DQN for the first player (my RL-agent). Then, what kind of algorithm that should I use on the second player (my RL-agent's enemy)? </p>
  
  <p>I have three options in my mind:</p>
  
  <ul>
  <li>a random agent that act randomly</li>
  <li>a rule-based agent that acts by some defined rules</li>
  <li>another RL-agent</li>
  </ul>
  
  <p>I have tried the first and second options. When I use a random agent as an enemy, the first player gets a high score and wins easily. But I think it's not really smart as the enemy is a random agent. When I use the second option, the first player got difficulties to train itself, as it can't win any game.</p>
  
  <p>what should I choose and why?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-02-13T16:06:40.980Z
Comments.Text: You can use the same RL-agent. Don't use 2 different neural networks, but use the same one to predict the action values for both players.
Comments.UserDisplayName: Lustwelpintje
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-02-17T01:01:15.557Z
Comments.Text: I have updated my question. I see I'll try that option too, but why do you think it's a good option?
Comments.UserDisplayName: malioboro
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-02-17T08:40:19.060Z
Comments.Text: You could say your board game is a giant tree. You try to approximate the best decision without having to build the entire tree (because this would take several hundred years for your computer). This approximation is done with a DQN. If you use two networks (one for each player) you are trying to approximate it twice. In the long run, it would (in a perfect world) give you 2 times the same network. So why not use only one network for both players? As this would train this network twice as fast...
Comments.UserDisplayName: Lustwelpintje
Tags: <reinforcement-learning><intelligent-agent>
Title: What kind of enemy to train a good RL-agents
UserDisplayName: malioboro
ThreadText: # What kind of enemy to train a good RL-agents
  
  (Asked by: username_0 on 2020-02-13)
  
  So I want to create an RL-agent for two players-board game. I want to use a simple DQN for the first player (my RL-agent). Then, what kind of algorithm that should I use on the second player (my RL-agent's enemy)?
  
  I have three options in my mind:
  
  * a random agent that act randomly
  * a rule-based agent that acts by some defined rules
  * another RL-agent
  
  I have tried the first and second options. When I use a random agent as an enemy, the first player gets a high score and wins easily. But I think it's not really smart as the enemy is a random agent. When I use the second option, the first player got difficulties to train itself, as it can't win any game.
  
  what should I choose and why?
  
  **Tags:** reinforcement-learning, intelligent-agent
  
  > **Comments:**
  > **username_1**: You can use the same RL-agent. Don't use 2 different neural networks, but use the same one to predict the action values for both players.  
  > **username_0**: I have updated my question. I see I'll try that option too, but why do you think it's a good option?  
  > **username_1**: You could say your board game is a giant tree. You try to approximate the best decision without having to build the entire tree (because this would take several hundred years for your computer). This approximation is done with a DQN. If you use two networks (one for each player) you are trying to approximate it twice. In the long run, it would (in a perfect world) give you 2 times the same network. So why not use only one network for both players? As this would train this network twice as fast...  
  
  ---
  
  ## 0 answers
  
  