1

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.?

nbro
  • 42,615
  • 12
  • 119
  • 217
Xibby
  • 13
  • 4

1 Answers1

2

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?

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. 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.

EngrStudent
  • 371
  • 3
  • 12