Body: <p>I want to create an RL agent for a mancala-type two-player game as my first actual project in the field. I've already completed the game itself and coded a minimax algorithm.</p>
  <p>The question is: how should I proceed? Which is the better way: to create a custom OpenAI Gym environment and use stable baselines algorithms or create an AlphaZero-like Monte-Carlo Tree Search algorithm from scratch?</p>
  <p>People <a href="https://ai.stackexchange.com/q/17682/2444">here</a> suggested that it is easier to create MCTS that use Gym, since the latter does not natively support multiplayer games. But I thought I could use my minimax algorithm and incorporate it into my custom environment, and since I have both the game and the minimax algorithm, it's easier to use Gym than MCTS.</p>
  <p>Are there any pitfalls I should avoid?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-03T22:58:47.263Z
Comments.Text: The Method for solving a multiplayer game and the environment should be independent. In other words, if you design an environment (let's say an openai gym object) then it should be compatible with model-based and model-free methods. From your question it seems that the env is going to define the method which is incorrect. An env can be repreresented as an MDP (or a multiagent MDP (MMDP)) or other decision process. Then the algorithm (method) will solve the specific MDP by interacting with the env (2 separate objects interacting).
Comments.UserDisplayName: Constantinos
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-05T10:30:02.103Z
Comments.Text: If you're asking "which libraries should I use for my project?", this seems to be off-topic here. Programming questions as well as questions asking for tools are off-topic. However, if you're looking for an "approach" or "algorithm", that may be on-topic. Please, take the time to read [our on-topic page](https://ai.stackexchange.com/help/on-topic).
Comments.UserDisplayName: nbro
Tags: <reinforcement-learning><deep-rl><monte-carlo-tree-search><gym><stable-baselines>
Title: What method is better to use for a two-player reinforcement learning environment?
UserDisplayName: JollyOwl
ThreadText: # What method is better to use for a two-player reinforcement learning environment?
  
  (Asked by: username_0 on 2022-01-03)
  
  I want to create an RL agent for a mancala-type two-player game as my first actual project in the field. I've already completed the game itself and coded a minimax algorithm.
  
  The question is: how should I proceed? Which is the better way: to create a custom OpenAI Gym environment and use stable baselines algorithms or create an AlphaZero-like Monte-Carlo Tree Search algorithm from scratch?
  
  People [here](https://ai.stackexchange.com/q/17682/2444) suggested that it is easier to create MCTS that use Gym, since the latter does not natively support multiplayer games. But I thought I could use my minimax algorithm and incorporate it into my custom environment, and since I have both the game and the minimax algorithm, it's easier to use Gym than MCTS.
  
  Are there any pitfalls I should avoid?
  
  **Tags:** reinforcement-learning, deep-rl, monte-carlo-tree-search, gym, stable-baselines
  
  > **Comments:**
  > **username_1**: The Method for solving a multiplayer game and the environment should be independent. In other words, if you design an environment (let's say an openai gym object) then it should be compatible with model-based and model-free methods. From your question it seems that the env is going to define the method which is incorrect. An env can be repreresented as an MDP (or a multiagent MDP (MMDP)) or other decision process. Then the algorithm (method) will solve the specific MDP by interacting with the env (2 separate objects interacting).  
  > **username_2**: If you're asking "which libraries should I use for my project?", this seems to be off-topic here. Programming questions as well as questions asking for tools are off-topic. However, if you're looking for an "approach" or "algorithm", that may be on-topic. Please, take the time to read [our on-topic page](https://ai.stackexchange.com/help/on-topic).  
  
  ---
  
  ## 0 answers
  
  