I know title of the question is a bit vague but bear with me here is the problem, every time I write a game or a bot for a game I use a state machine, decision tree or a behaviour tree. The problem with these techniques is that they require that I pre program all the conditions that character/bot is gonna encounter so anytime the user does something unexpected that I did not put a condition for they lose.
Right now I am wotking on a starcraft bot (bwapi), using state machines I am thinking of using a single state machine for each unit and one master commanding solders what to do, but it still requires I pre program ever thing and for a game like starcraft it is impossible, the only way I can think of I can make it to learn is to use gp to evolve these state machines.
Say there is a bridge on the map if 20 marines tries to go through the bridge at the same time there will be a big traffic jam what techniques I can use so that it can learn from a mistake? so I don't have to preprogram a condition that says go through the bridge one by one.
EDIT: Just because a question has the words starcraft or bot in it, it does not automatically make it non SO question this question also applies to robotics.
The DeepMind AI mirrors the learning brain in a simple way. Before it moves from one task to another, it works out which connections in its neural network have been the most important for the tasks it has learned so far. It then makes these harder to change as it learns the next skill.
There are 3 types of artificial intelligence (AI): narrow or weak AI, general or strong AI, and artificial superintelligence. We have currently only achieved narrow AI.
Evidence from AI Experts,” elite researchers in artificial intelligence predicted that “human level machine intelligence,” or HLMI, has a 50 percent chance of occurring within 45 years and a 10 percent chance of occurring within 9 years.
You can opt for any of 5 AI types – analytic, interactive, text, visual, and functional – or wisely combine several ones.
To get anywhere, you need first to define empirical measurement of fitness for your bots. It's going to have to be something much clearer than "big traffic jam".
How do you measure that?
What is winning? Are there numerical indicators that your bot is "winning"? Solve this issue first, then when you have a real way of rating one bot against any number of others, plug it in as a fitness function for a GP algorithm.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With