die schwierigkeit wird wahrscheinlich darin liegen, die zu speichernden daten zu abstrahieren, bzw zu filtern, was wichtig war, oder was nicht ...

Es ist gar nicht so einfach zu sagen, was an einer situation wichtig ist ...
z.B. haengt das gewinnen einer schlacht ja auch von Taktik und Gelaende (Reiter im Gebirge ?) ab. Wenn die KI dann nur speichert "17 Berserkertotemspriester Stufe 3 gegen 5 berittene Paladine Stufe 5" kann es durchaus sein, dass sie falsche Schluesse zieht.

Andererseits werden bei zu vielen gespeicherten Informationen die Situationen fuer die KI unvergleichbar.

Vielleicht sollte man das ganze auf rein mathematisch abstraktes Modell stellen.
Man ueberzieht die Map bzw das Kampfgebiet mit einem Raster. Jedes Objekt auf der Map hat zwei Prioritaetenparameter, naemlich in Angriff und im Wert (Wert des Behaltens bei eigenen Objekten, Wert des Vernichtens bei fremden Objekten). Nun werden fuer jedes Rasterquadrat die eigenen und fremden Angriffs-Prioritaeten aufsummiert. Fuenf Soldaten mit Angriffsprioritaet 1 in einem Rasterbereich sind dann effektiv mehr, als ein gegnerischer Ritter mit Angriffsprioritaet 4.

Die KI bewertet nun jedes Feld an hand dieser Summenwerte. Zudem werden um jedes Feld die Prioritaeten der umliegenden Felder ebenfalls beruecksichtigt, nur geht ihre Prioritaet dann gewichtet mit dem Abstand ein. Die Rasterkarte mit den Summen der Wertprioritaeten wird als naechstes als Wichtungsfaktor verrechnet. So erhaellt man praktisch eine grobe gemittelte militaerische Potentialflaeche (militaerische relevanz Dichte).

Nun werden gemaess dieser Flaeche die eigenen Einheiten so verschoben, dass versucht wird, dass das militaerische Potential (eigenes - fremdes) positiv an Punkten hoher Wertprioritaet liegt. Mit anderen Worten, man bildet fuer jede (bewegliche) Einheit einen Potentialgradienten (Kraft) und verschiebt sie (entsprechend der Regeln) entlag des selben.

[Einschub]
Ums in einem anderen physikalischeren Bild zu formulieren:
Wir haben einen Raum mit inhomogener Ladungsverteilung, die einer Dichtefunktion p(r) genuegen soll. Wir zerlegen den Raum in (in)finitesimale Raumabschnitte dV und bilden das Integral von p(r) ueber dV. Anschliessend betrachten wir den Wert des Integrals ueber dV als Ladung mit Massepunkt im Zentrum von dV und bestimmen anhand des Coulombgesetzes die Kraefte zwischen diesen Massepunkten. Entlang dieser Kraefte verschieben wir unsere imaginaeren Massepunkte, indem wir p(r) entsprechend modifizieren.
[/Einschub]

Mit dieser Methode sollte unsere KI eigentlich alles machen, was wir von ihr erwarten. Schwaechere Einheiten fliehen vor einer Uebermacht, wenn sie ein lohnenderes Ziel haben, staerkere Einheiten kommen den schwaecheren zu Hilfe (und auch umgekehrt). Eigene Gebaeude werden wehement verteidigt, gegnerische Gebaeude werden angegriffen, und weit entfernte Truppen werden nicht entschliessen, ploetzlich umzukehren, wenn ein eigenes Gebaeude angegriffen wird, aber genuegend eigene Truppen in der Naehe sind. Auch koennen strategisch wichtige Punkte auf der Karte markiert werden, indem ihnen keine militaerische prioritaet gegeben wird, dafuer aber wichtigkeit. Wenn sich in ihrer Naehe gegnerische Einheiten sind, werden die eigenen einheiten versuchen den punkt anzugreifen (weil die staerke der gegnerischen truppen dort staerker gewichtet wird) und sie werden versuchen den Punkt entsprechend auch verteidigen, bzw versuchen, wenn keine Feinde in sicht sind, um den Punkt herum auszuschwaermen.

Das mag vielleicht etwas starr erscheinen, allerdings ist auch hier die KI lernfaehig. Z.B. kann sie an Hand von Kampfesverlaeufen die militaerische Staerke oder die Wichtigkeit neu bewerten, was langfristig einem Lerneffekt gleichkommt, da sie ihre eigenen Einheiten besser auf ihre Faehigkeiten einschaetzen kann.

Eventuell kann sie auch an Hand der Geschwindigkeit und/oder Lebensenergie einer Einheit ihren Entfernungseinfluss bei der Summation von linear abnehmend auf logarithmisch oder quadratisch abnehmend veraendern, was einer dynamischen Anpassung der Situation gleich kommt.

Nun stellt sich natuerlich noch die Frage, warum man ein Raster braucht ...
Es stimmt zwar, dass man kein Raster braeuchte, wenn man die Potentialsummation auf jede Wechselwirkung aller militaerisch relevanten Dinge untereinander anwendet, aber das koennte durchaus in zu viel rechenaufwand bei sehr vielen einheiten fuehren. Das Raster dient dazu, lokale gruppen zu erzeugen, die gemeinsam berechnet werden. Eventuell ist es aber auch besser, nicht rasterorientiert zu arbeiten und dafuer miliaerische gruppen zu bilden, die dann gemeinsam berechnet werden und zusammen losziehen ...

Wieder andere werden jetzt natuerlich sagen, ich sei von meiner Molekueldynamiksimmulation zu geschaedigt, weil das ist genau das selbe, was auch meine Simmulation macht, und damit haben sie recht ...