Answers.Body: <p>What a fantastic problem!  Also, welcome to AI.</p>
  <p>The challenge, and it isn't terrible, is that you have to build an NN that can ingest the problem.  How do you pose the problem to the learner?</p>
  <p>Here is how they setup AlphaGo:<br />
  <a href="https://ai.stackexchange.com/questions/11933/what-is-the-input-to-alphagos-neural-network">What is the input to AlphaGo&#39;s neural network?</a></p>
  <p>There are lots of bad ways to do this, so lets look at things that have to be done to not do it as badly.</p>
  <p>The input format must communicate:</p>
  <ul>
  <li>every country on the map</li>
  <li>the number and owner of every army on the map</li>
  <li>the cards in the current players hands</li>
  <li>the current number of armies for a turn-in</li>
  </ul>
  <p>It would also be helpful if it could communicate:</p>
  <ul>
  <li>the last few moves for all the players</li>
  <li>something about the connections between countries, how armies move, etc  (while it can be inferred, it is a good practice to make the learner figure out the hard parts by feature-engineering the easy parts.</li>
  </ul>
  <p>There is a <a href="https://github.com/werner-duvaud/muzero-general" rel="nofollow noreferrer">decent open-source MuZero on GitHub</a>.  You could spend horsepower defining the game and states, but you would also need to make sure the learner was capable of figuring things out eventually.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-02T22:35:38.320Z
Answers.Text: Thank you for this detailed comment. It helped greatly.
Answers.UserDisplayName: Xibby
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-03T12:37:54.720Z
Answers.Text: @Xibby - let me know how it goes.  Y'all should have a Github, and push it there.  It is the new resume, a track of contributions and engagement in doing cool things.  There are very cool people who look there to find people to offer jobs to, very nice jobs.
Answers.UserDisplayName: EngrStudent
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-02T20:00:14.957Z
Answers.LastActivityDate: 2022-06-02T20:00:14.957Z
Answers.UserDisplayName: EngrStudent
Body: <p>I have a school project to develop an AI model that plays the Risk board game as optimally as possible. Now, I have made the environment of Risk in Python and I narrowed down my possible machine learning solutions to either a neural network or using a genetic algorithm. I was thinking of using a neural network but I have a question that I can't find the answer to. I also tried searching online on Github and other thesis.</p>
  <p>Do I have to create 1 NN to control everything? Or do I have to make one for attacking decisions, one for decisions regarding moving troops etc.?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-02T18:36:43.710Z
Comments.Text: Hey, I'm also very much a beginner here so I'm not going to post an answer, but from what I've read/seen, it's up to you - you can have 1 NN control everything (as long as you provide a proper action space), but you can also have multiple agents responsible for different things (which I believe is called "hierarchical RL"). Maybe worth trying just one NN and see if you can get good results with it? If not, try multiple? I saw a vid where one NN was used to determine broad goal/strategy "attack/preserve/defend" and another was used to determine specific actions
Comments.UserDisplayName: Vladimir Belik
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-02T18:45:09.917Z
Comments.Text: Thank you for the help, would you be able to link the video for me please? As I think it would be of massive help.
Comments.UserDisplayName: Xibby
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-02T18:59:25.673Z
Comments.Text: Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
Comments.UserDisplayName: Community
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-02T20:54:34.393Z
Comments.Text: It's unclear what you know about AI and ML. How would you train these neural networks?
Comments.UserDisplayName: nbro
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-03T01:10:33.147Z
Comments.Text: Here is the video: https://www.youtube.com/watch?v=q59wap1ELQ4
Comments.UserDisplayName: Vladimir Belik
Tags: <neural-networks><machine-learning><game-ai>
Title: Do I need to create one or many neural networks to play Risk?
UserDisplayName: Xibby
ThreadText: # Do I need to create one or many neural networks to play Risk?
  
  (Asked by: username_0 on 2022-06-02)
  
  I have a school project to develop an AI model that plays the Risk board game as optimally as possible. Now, I have made the environment of Risk in Python and I narrowed down my possible machine learning solutions to either a neural network or using a genetic algorithm. I was thinking of using a neural network but I have a question that I can't find the answer to. I also tried searching online on Github and other thesis.
  
  Do I have to create 1 NN to control everything? Or do I have to make one for attacking decisions, one for decisions regarding moving troops etc.?
  
  **Tags:** neural-networks, machine-learning, game-ai
  > **Comments:**
  > **username_1**: Hey, I'm also very much a beginner here so I'm not going to post an answer, but from what I've read/seen, it's up to you - you can have 1 NN control everything (as long as you provide a proper action space), but you can also have multiple agents responsible for different things (which I believe is called "hierarchical RL"). Maybe worth trying just one NN and see if you can get good results with it? If not, try multiple? I saw a vid where one NN was used to determine broad goal/strategy "attack/preserve/defend" and another was used to determine specific actions  
  > **username_0**: Thank you for the help, would you be able to link the video for me please? As I think it would be of massive help.  
  > **username_2**: Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.  
  > **username_3**: It's unclear what you know about AI and ML. How would you train these neural networks?  
  > **username_1**: Here is the video: https://www.youtube.com/watch?v=q59wap1ELQ4  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_4 on 2022-06-02. Score: 2 | Accepted answer
  
  What a fantastic problem! Also, welcome to AI.
  
  The challenge, and it isn't terrible, is that you have to build an NN that can ingest the problem. How do you pose the problem to the learner?
  
  Here is how they setup AlphaGo:  
  [What is the input to AlphaGo's neural network?](https://ai.stackexchange.com/questions/11933/what-is-the-input-to-alphagos-neural-network)
  
  There are lots of bad ways to do this, so lets look at things that have to be done to not do it as badly.
  
  The input format must communicate:
  
  * every country on the map
  * the number and owner of every army on the map
  * the cards in the current players hands
  * the current number of armies for a turn-in
  
  It would also be helpful if it could communicate:
  
  * the last few moves for all the players
  * something about the connections between countries, how armies move, etc (while it can be inferred, it is a good practice to make the learner figure out the hard parts by feature-engineering the easy parts.
  
  There is a [decent open-source MuZero on GitHub](https://github.com/werner-duvaud/muzero-general). You could spend horsepower defining the game and states, but you would also need to make sure the learner was capable of figuring things out eventually.
  
  > **Comments:**
  > **username_0**: Thank you for this detailed comment. It helped greatly.  
  > **username_4**: @Xibby - let me know how it goes.  Y'all should have a Github, and push it there.  It is the new resume, a track of contributions and engagement in doing cool things.  There are very cool people who look there to find people to offer jobs to, very nice jobs.  
  
  ---
  
  