Nein, ich habe mich nur um eine Null vertan - zu seinen Gunsten. Denn da steht 100 und nicht 1000.
Autsch, jupp, da hast du Recht: Ich hatte noch die Bitmaske im Kopf. Das sind nicht 100 Mögliche Zustände, sondern eine 100 Bit Bitmaske.
Du rechnest allerdings immernoch brute force: Du versuchst, alle möglichen Zustände mit ihrer Zug-Information abzubilden und dann den besten zu wählen - und dadurch lässt du alle Optimierungsmöglichkeiten weg.
Was wir aber brauchen, um ein Optimum zu finden, ist nicht die Liste aller Zustände, sondern aller entscheidungsrelevanten Zustände. Und auch da nicht aller Zustände aller Runden, sondern nur der Zustände, die für die jetzige Runde relevant sind.
Für meine Entscheidung ist es irrelevant, wie es dazu kam, dass jemand verletzt wurde. Dadurch sind die Zustände zeitunabhängig. Und das heißt:
dann kommen wir schon auf 3^14 = 4.782.969 mögliche relevante Ausgangssituationen…
…für beliebige Runden.
Für die vereinfachte Version hast du gerade den gesamten Rechenaufwand gefunden. Dann müssen diese Zustände nur noch in einen Graphen eingebunden werden (welcher kann in welchen übergehen - wird auch ein Weilchen dauern zu berechnen, kann aber durch Kenntnis der Handlungsmöglichkeiten massiv reduziert werden) und dann vom optimalen Endzustand alle Wege durch den Graphen gefunden werden.
Und das ist trotz allem noch Brute Force.
Eine elegantere Methode wäre ein inverses Modell: Es werden Entscheidungszustände der Charaktere definiert, die von einer Funktion genutzt werden, um den aktuellen Zustand zu verändern.
Dann kannst du durch eine Variation der Entscheidungszustände ein optimiertes Ergebnis finden. Da in diesen Kämpfen (wie du mit den 4mio Zuständen gezeigt hast) viel Redundanz ist, dürfte die Anzahl der nötigen Durchläufe für das Auffinden des Optimums deutlich unter denen für eine exakte Rechnung liegen - und deutlich besser sein, als das, was echte Spieler können.
Der Aufwand sind dann N Durchläufe der Entscheidungsfunktion, wobei N festlegt, wie nah wir an das Optimum kommen.
Allerdings ist die Definition der Entscheidungsfunktion und der Entscheidungszustände nicht trivial. Einfach mal kurz programmieren ist also nicht. Da es hier um die Betrachtung der Möglichkeit geht und nicht um die Realisierung, ist mir das aber egal.
Hintergrund:
- Ensemble Kalman Filter:
http://en.wikipedia.org/wiki/Ensemble_Kalman_filter- 4DVar:
http://en.wikipedia.org/wiki/Data_assimilationDa das eben der vom TE genannte Bayessche Ansatz ist, gehe ich davon aus, dass das als ausreichende Bestätigung der These gelten kann.
(ich kenne das, weil ich in meiner Doktorarbeit damit arbeite…)