Matter of AI-Programming concerns from Matter of Playing-Strategy as the PRogrammer have to implement any Kind of Strategy. Complex Strategies for Human Players may work fine but would cause overwheelming Trouble for a Programmer as he would have to code a Lot Stuff aside of Matter it's hard to cast it into Algorithm.
I remind a Thread last Time read related to PlayingStrategies but aimed for human Players. In this Context there is Need for another Thread dealing with same Matter aiming for Programmers which want to implement a (relative to (most) Humans) simple AI, which can effective deal with the Problem in a generic Approach as competive as can (as long as not far superior beating each human Player without any Chance for human Players ... excepted perhaps me ;)).
The Player-AI, as is, is not very competive but largest Problem it have, I can see, it is very plain, straight and does not offer a Lot Surprises or Long-Term-Strategy or OverAll-Strategy. I am not sure how the 3 Modes Softy, Middler, and Cracky rate their Military (Dis)Advantage relative to their Opponent. but Cracky attack even with high DisAdvantage and order its Units against FrontLine as long as Cracky can compensate its Losses. May bleed out in very short Time but won't change his Strategy. Middler is more moderate and need a significant Advantage to attack Opponents and thus goes better with his Resources. Softy I still didn't test but (I should) but intuitively expect anyway just a more likely Sparring-Partner I can take his Lolli even out of his Mouth.... have to verifiy - Speculation!
I want to omit my Part to make AI-Discussion more into Depth but also want to advise briefly for AI-Programming few Aspects: If two fight the 3rd is happy! Actually AI does not factor in any 3rd Party in its Strategy.
Estimating actual own and/or Opponents Resources:
-- take at least one, take more, take sufficient, prefer most relevant, take ... but get anytime finished with Code/Data/Processing! Then approximate several Stats linear like Military-Strength, Economy-Strength, Access to all that Stuff Players can take from Statisitics! I don't mean to factor all in into Algorithm but consider some basic Stats there. Eg if AI defined an Opponent to get attacked but delay Attack till got ready resp right Time and figure out monitoring the Military-Strength-Chart and find that his Opponent's Line falled, then it may easily assume that his Opponent got Trouble with another Player (he can't see directly .. but check CoIncidences in Charts if another Player losed also many Troops same Time and thus know if an Ally fight or an Enemy fight there. Anyway there is actually nothing between then PRO or CON. Consider State 'neutral' resp 'does not concerns Objectives'.
AI may decide to either wait some Time till both Opponents did weak each other sufficient enough to beat one or both together or if one is an Ally supports him by attacking common Enemy from another Side and thus cause more ReInforcement-Problems to the Enemy (lost Territory means normaly lost Sites means reduced Economy aside of potential critical BottleNecks in Production, means large Share of OverAllEcomy or just for partial Sectors concerning Wood or Coal, Stone, etc. 2 Iron-Mines hurt more than 2 Mines for Ore+Coal as if the Opponent lost eg the OreMine he don't need temporarily alos not the CoalMine or inverse Order.
There exist a Lot of possible Strategy-Approaches but actually AI factor just in ShortTerm-sighted Military-ASpects.
So we got here in Total 3 additional/unsupported Dimensions: LongTerm, Economic Targets and let it call social Dimension when it factor in to support Allies if can or either wait or intercept if two of his Opponents fight each other with Idea that both get this Way with least Effort together down parallel. Another Strategy is to fight the weaker to collect that Way with lesser Effort more Territory resp Resources but when adjecting the remaining Opponent there that is lesser weaked than if fight the stronger to get both same Size. Yes, Social. Dimensions. Why do you ask?
And additional quickly a very plain Strategy which alone would avoid the described Behavior that Aggro blasts its Troops in short Term due to it can't process FeedBack that he just lose Troops while doesn't archive any Success in Form of Loses for the Enemy. Any plain Way to calculate Effectivity and discard/delay useless military Objectives like objected Site or Player or Region.
Btw: some People plays really aggressive what does not imply they play stupid or ineffective BUT blasting Troops the Way described here is extremely ineffective and that coded Strategy is clearly to simple and inflexible to change from stupid Behavior.
I am normally rather restrictive with ... "big Terms" and would neither state that I consider one of the AI-Modes to be smart nor these combined .. but if we consider a 4th AI which can switch between these 3 Modes to change its Behavior in Respect of Situation/FeedBack for own Actions -- no Matter this gets ttried.
Eg if got attacked it drives up Aggro and keep in that Mode while/until any temporal/economical/miltary limiting Factors: until >10 Minutes passed and/or until <40 Iron and/or <60 Soldiers in Storage or Loses<30 Soldiers WIN/DFT > 1.25,
"You know you gonna lose, if..." 1) .. you lose 5 Soldiers to defeat 4 from Opponent! 2) .. your Sites keep vacant due to your Smithies don't left Steel for your ToolSmith! 35) .. there are anymore own Sites around your HQ!
Simple Approach: Find multiple of such simple important IF-Rules and You-know-StatementForm and define any Rates for all Field of Table. NOTE that You don't need to rate them perfectly to archive Results which don't let People laugh about you. Ask Moody for Details! If you hit with 90% HitRate the Nail you are on a good Track to.
Do that Way an Initial-SetUP. If you want to fine-balance these Rating consider a comfortable Interface, and review StatementForms and Rating-Rules and be able to sort Rows in Table by Value inside an arbitrary Column and thus easily monitor that EST-Table to get a quick Idea what is Stat for the AI resp rate intuitive/interactive the Results of that Table ( why is Statement GonnaHell so weak rated and figure out that large Amounts of Water suck it back to Code_Green and consider another Rating for Depency Water/Hell)
NOTE In this Context, please consider LinearCombination of Vectors resp the Gaussian Algorithm! FYI with 100 Rules (Equations) and 100 StatementForms (Variables) you need theoretically need just about few 100 Calculation-Steps to determine correct Values for .... dunno ... have to break now but at Moment the Calibration of Table looks lesser challenging than thought. Point is here: 100X100-Table looks scarry to calibrate but could be much simpler than thought.
Perhaps a Risk-Game-like Win-Condition like "Defeat Enemy RED", "Liberate Region BLUE", "Keep Player YELLOW undefeated", and Defeat-Conditions like "Don't let Player CYAN conquer Region WHITE" etc. and combine these randomly (check for unsolvable Depencies/Condition-Combinations) with optional Negations. (Perhaps call it Mission-Mode?)
Left partially Topic and now no Time left to remange but won't throw now 1.5h Work into Trash due to OT.