Jump to content
Matthew10_28

Looking for someone to write an infantry AI mod based on recent academic research

Recommended Posts

I'm looking for someone who would be willing to take on the programming and scripting necessary to create an AI mod for ArmA 3 that follows a specific decision making process flow.  I've been peripherally involved with recent research involving cognitive dominance for the infantry squad by way of the Engagement Decision Matrix (EDM).  I'd like to be able to model the EDM through an AI mod to ArmA as a way of testing and/or verifying the validity of the EDM.  This person should already be familiar with how the AI in ArmA works and should be able to use that basis of knowledge to build a working EDM model on.  See the links listed on the following website for more info on the EDM: http://warnerds.com/?page_id=474

Share this post


Link to post
Share on other sites
Quote

I'd like to be able to model the EDM through an AI mod to ArmA as a way of testing and/or verifying the validity of the EDM.

I skimmed over the paper. This "EDM" alone is not enough to make a new AI. It is only a structure of "in which order to think". What you need for AI is to answers the question of "how to decide" and in addition, provide all the data required for this decision process.
In the paper someone suggested the matrix is just a matrix and not a calculator. Game AI is a pure calculator - everything needs to be coded, it can't rely on human intuition, human perception, human understanding.
Validating the EDM for humans by creating AI will not work - because for AI you hardcode any decision making process and every data they can get. Humans decision processes and data gathering "methods" are not hardcoded, may vary between individuals and may depend on human and environmental conditions.


How can i determine if a decision aligns with my commanders goals? -> requires that there is a commander AI with goals (not so difficult), and that a SL can interpret if any opportunity for acting/not acting matches this goal (moderately difficult in isolated cases, very difficult in very complex scenarios).
How can i determine if i "can take them"? ->Requires in depth knowledge of weaponry and their meaning (easy), Requires modelling of human perception and intuition (extremely difficult). Requires in depth knowledge of terrain and what it means to all aspects of combat (very difficult). Requires modelling of situational awareness (very difficult)

If those things can not be modelled sufficiently, the "EDM" can not be applied at all. In addition, any decision making process is hardcoded and hardwired. This means, if something in the coded decision making process is somehow flawed, the EDM modell can not be applied realistically.

I have explored these question (how to think, how to decide) with the idea to explore the feasability of a more human-like and succesfull AI command structure. The "in which order to think" part is easy - anyone with good analytical skill will quickly come to a very similar conclusion just by observation. However, the realisation in which order to think is just a drop in the ocean compared to what analytical and code work is required to make a "battle calculator" in form of an AI system.

Put simply:
If you can model all aspects of human cognition and decision making process accurately, you can validate the "EDM" process by AI. If not, it would still be a massive benefit to Arma to have an elaborate or aproximation - but your goal, to validate the model for real world application, is not possible.

  • Like 3

Share this post


Link to post
Share on other sites

Interesting but very difficult!

That's as you said: "anyone to make AI's driving smarter?" You can read pages of discussions and critics, but no solution at all. Here is the same. You have to override AI's FSM behaviors and write yours. Not sure the result can be at desired level.

Or you can script some added behaviors, like group splitting and searching on player's position, or script for AI's healing any friendly units while in combat.... and stack all these scripts in a mod or not. The risk is simply to make AIs dumber and dumber, due to CPU overflow and scheduler limitation.

Share this post


Link to post
Share on other sites

 

On 1/20/2018 at 5:58 AM, x3kj said:

I skimmed over the paper. This "EDM" alone is not enough to make a new AI. It is only a structure of "in which order to think". What you need for AI is to answers the question of "how to decide" and in addition, provide all the data required for this decision process.
In the paper someone suggested the matrix is just a matrix and not a calculator. Game AI is a pure calculator - everything needs to be coded, it can't rely on human intuition, human perception, human understanding.
Validating the EDM for humans by creating AI will not work - because for AI you hardcode any decision making process and every data they can get. Humans decision processes and data gathering "methods" are not hardcoded, may vary between individuals and may depend on human and environmental conditions.


How can i determine if a decision aligns with my commanders goals? -> requires that there is a commander AI with goals (not so difficult), and that a SL can interpret if any opportunity for acting/not acting matches this goal (moderately difficult in isolated cases, very difficult in very complex scenarios).
How can i determine if i "can take them"? ->Requires in depth knowledge of weaponry and their meaning (easy), Requires modelling of human perception and intuition (extremely difficult). Requires in depth knowledge of terrain and what it means to all aspects of combat (very difficult). Requires modelling of situational awareness (very difficult)

If those things can not be modelled sufficiently, the "EDM" can not be applied at all. In addition, any decision making process is hardcoded and hardwired. This means, if something in the coded decision making process is somehow flawed, the EDM modell can not be applied realistically.

I have explored these question (how to think, how to decide) with the idea to explore the feasability of a more human-like and succesfull AI command structure. The "in which order to think" part is easy - anyone with good analytical skill will quickly come to a very similar conclusion just by observation. However, the realisation in which order to think is just a drop in the ocean compared to what analytical and code work is required to make a "battle calculator" in form of an AI system.

Put simply:
If you can model all aspects of human cognition and decision making process accurately, you can validate the "EDM" process by AI. If not, it would still be a massive benefit to Arma to have an elaborate or aproximation - but your goal, to validate the model for real world application, is not possible.

 

I admit I was intentionally sparse with my description.  I didn't want to scare anyone away with academic fluff.  I honestly didn't think there was anyone remotely interested in this sort of thing but not posting it would leave me guessing.

 

Your response has me refining my intent.  Having been exposed to and taught the EDM, often what the physical "what do we do now" answer amounts too is relatively simple.  Now that there is a dialogue going, perhaps we can continue the discussion as to what this actually means (or can mean) for ArmA.

 

What I had envisioned was the commander being the player.  That takes the brunt off of AI to do the cognitive modeling.  You are entirely correct in that there is too much about OCOKA and METT-TC and experience with each that you'd have to model before being able to model EDM.  The attached AI would wait for player input and respond accordingly.  After he gives his decision to (attack, defend, or withdrawal).  What those end up looking like should be well rehearsed battle drills that are fairly simple sequences.  It's my belief that without a well behaved AI carrying out the results of the players decision, the success of the EDM (at least in ArmA) can't be verified.  Basically, the current AI is too "dumb" to be relied on for basic attack, defend, and withdraw functions.  I've never seen AI in game do anything remotely close to any of those battle drills.  I've seen some decent flanking, but nothing consistently "correct".

 

In its most basic, albeit oversimplified form, the EDM looks like this in practical terms.

 

Step 1 is "always" a React to Contact battle drill.  Everyone gets on line and orients towards the threat detected.  This allows the commander to make his decision and have his forces correctly postured to take any action.

 

If the answer is attack, then there is a Hasty Attack battle drill.  Basically an "L" shape with a base of fire team and a flanking team.  Sweep across the objective to the established Limit of Advance.

 

If the answer is defend, then you set up an area defense appropriately scaled for the size of your forces.  Make a lazy "W" line shape using natural cover and concealment.  It might take more of the form of a patrol base, which in this case would be by definition established by using the "occupy by force" method.

 

If the answer is withdraw, then you use the Break Contact battle drill.

 

Of course we can get more sophisticated.  e.g., what you do on a raid (a form of attack) is different than on and ambush (also a form of attack).  But not too terribly different.  Would it be reasonable to build AI for these three battle drills: React to Contact, Hasty Attack, and Break Contact?

 

On 1/20/2018 at 10:55 AM, pierremgi said:

Interesting but very difficult!

That's as you said: "anyone to make AI's driving smarter?" You can read pages of discussions and critics, but no solution at all. Here is the same. You have to override AI's FSM behaviors and write yours. Not sure the result can be at desired level.

Or you can script some added behaviors, like group splitting and searching on player's position, or script for AI's healing any friendly units while in combat.... and stack all these scripts in a mod or not. The risk is simply to make AIs dumber and dumber, due to CPU overflow and scheduler limitation.

I think this is a better description of what I was envisioning.  Per my above, if each battle drill is essentially a script, then its just a matter if giving the player control of when and what battle drills get executed.  I think this is more doable, yes?

 

If I can do a little vision casting here, I never intend for subordinate AI units to have to make these type of decisions.  Even the most complex task to pull off for an infantry squad (which I'll argue is the raid) is really just plugging in variables of locations, signals for sequence, and conditions upon which to act and what to do as actions.  Ultimately, all of those are too complex for an AI system to try and understand, let alone take action by setting those variables itself.  It might not be realistic for the player to take on that cognitive load entirely by him/her self, but that's balanced by the fact that they are sitting in a chair in front of a PC not carrying 60 lbs of crap on them and having not just hiked for 10 KM with all that stuff on.

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, Matthew10_28 said:

In its most basic, albeit oversimplified form, the EDM looks like this in practical terms.

 

Step 1 is "always" a React to Contact battle drill.  Everyone gets on line and orients towards the threat detected.  This allows the commander to make his decision and have his forces correctly postured to take any action.

If the answer is attack, then there is a Hasty Attack battle drill.  Basically an "L" shape with a base of fire team and a flanking team.  Sweep across the objective to the established Limit of Advance.

[...]

Even those battle drills would require the AI to understand the situation well. It doesn't know "how to use the terrain" for example. How does it sweep across the objective? If it can't 'read' terrain it has to do a hardcoded sequence of movement - which just can't cover every possible situation - so it will work in some cases, but in complicated situations it will just utterly fail.

If you want AI that reacts sensibly to even basic commands, you need to "teach" it (as in code the system for it) the very basics and fundamentals. There's no way around it. It's not impossible but it is a tough nut to crack.

 

Quote

I didn't want to scare anyone away with academic fluff.

Creating intelligently reacting state machines (because AI it is not really...) is a much much more complex topic than what that paper deals with... people with aversion against complex thoughts and questioning ones own decision making process will generally not be people who write AI.

 

Even if you had the AI that could react on everything like a human, how do you even plan to validate it? By outcome? How do you know the outcome was due to the EDM and not other factors? If you want to validate such a basic and general concept as EDM, you will be more successfull trying to find situations where it won't work. And there you are better off with creating a dynamic mission randomizer that puts you as SL in random situations repeatedly that you have to react to. If you want to validate EDM with KI as the ones doing the acting in any shape or form you need to create many more papers on what human 'sensory data'  interpretation/decision making from terrain knowledge, enemy knowledge and known unknowledge actually breaks down to at the core level before someone can come along and "simply" put that into algorithms. If you just want better AI - welcome to the club. But whatever it is you want - in modding there is one advice i can give you: If you want something really bad and it doesn't exist, you have to get your hands dirty and make it yourself - unless you like waiting for eternity. Especially for AI stuff. The people who have their fingers in serious AI modding for Arma you can propably count on one hand.

Also, AI is serious business, especially now. Intelligently reacting algorithms for games are worth quite a bit, and not just for entertainment... Don't expect somebody to write an intelligent AI for you for your research plans just like that.

  • Like 3

Share this post


Link to post
Share on other sites

At this stage, AIs don't see "enemies", "grass", "houses" or "cover positions", but something more like raycasts with true/false end to trigger a fire animation, some  fire LODs and path LODs for waypoints.

Just test: At Tanoa airfield, at North, you have simple long fence with several holes. Place an AI south of fence and add the waypoint north. You will have a good understanding of what is a lod path, how long does it take for calculation, how limited is the Ai world and how far it is from the player's world.

Share this post


Link to post
Share on other sites
36 minutes ago, x3kj said:

Even those battle drills would require the AI to understand the situation well. It doesn't know "how to use the terrain" for example. How does it sweep across the objective?

Even if you had the AI that could react on everything like a human, how do you even plan to validate it? By outcome? How do you know the outcome was due to the EDM and not other factors?

I believe the answers can be simpler than what even I originally had in mind, but forums aren't conducive to developing something like this now that it's being refined.  Even part of this thread, I refined much of the decision making to be done by the player and not the AI.  The player would basically instruct the AI to execute a specific battle drill with the required inputs.  Anyway, at this stage it requires much more of a natural conversation.  Are you interested in discussing this further via something like google hangouts?

Share this post


Link to post
Share on other sites

Cool idea!

Maybe putting the concept in an FSM and train a neural network for decisionmaking. It would probably also need the inclusion of contact drills, or the result will be rather weak and hellishly boring to look at.

 

I have to agree with x3kj's remark though. :smile_o:

On 24-1-2018 at 12:39 AM, x3kj said:

If you want something really bad and it doesn't exist, you have to get your hands dirty and make it yourself - unless you like waiting for eternity.

 

 

[ click here to start now ]

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×