Heck, Google and IBM combined don't do that yet. It's good that somebody's envisioning grand goals, but reality wields cruel pruning shears.
It would be fun to create an academic research group and explore this niche for a couple of decades. (Ahem ) Nothing like it exists yet in the CS / AI / gaming literature. Basically, take any one sentence out of that paragraph, and by itself it's already far more complex than, for example, chess programming. (Chess is tiny compared to a 4X, because it has fewer units and only one board size, so the branching factor is orders of magnitude smaller than in a 4X. That makes chess just barely amenable to brute-force search with clever optimizations. We "solved" that in ~30 years, where today it's stronger than a human, limited only by hardware. So now it's a GM's tool, like a car or a side-scanning sonar.)
Quoting admiralWillyWilber,
... mining the previous games ...
Netflix recently offered a $10M prize in an open data mining / machine learning challenge for the best solution to a much simpler problem, that of mining your future movie preferences from your previous movie rentals. Inevitably (as these things go), university groups and a few commercial think tanks competed for weeks until about 48 hours before the deadline, and then ... it ended in a flurry of mergers, as they cut side-chat deals and formed ensembles of 2-3 teams, then 4-5 teams, each leapfrogging the previous. The final winner was roughly an ensemble of 6 or 7 of the former top 12 (and they beat out the other ensemble). Netflix paid, but it has not noticeably improved their recommendations
Basically, the union of { IBM, Netflix, Amazon, eBay, Google, Walmart } have not solved this yet.
Quoting admiralWillyWilber,
how the human player interact what they research how they build planets based on classes types of planets wonders and buildings. How and when they militarily research. What they do with it. How they build ships versus your ships.
This seems to require:
- an algorithmic representation of human visible actions (i.e. an uber-duber, semi-telepathic macro recorder that distills human actions down to a C-like code block)
- an uber algorithmic language
- an uber (not-just-a-)macro recorder
... at which point, Microsoft hires you away to replace Visual Basic for Applications in Excel and Word, because this would be simply superior.
Quoting admiralWillyWilber,
How the human player interact with different ais and why.
Do you really want to get into the inscrutable realm of inferring human
intent? Heck, human experts can't even explain that verbally to other humans (who are experts at interviewing them). This is the field of
knowledge engineering (or the step of knowledge capture) for expert systems, ontology development, business process analysis, etc. No algorithm exists for reliably capturing or extracting that.
(No human training method exists to train humans to do it!)
Note that all of the above is not even the AI itself; as the OP puts it, this is only the adaptive component of some already-existing AI. It's not merely unsolved, it contains unsolved sub-problems. It's so off-the-wall that there's basically no money in it, anywhere. Not even Google is hiring teams of people to work on this. (Between this and self-driving cars, the cars are much easier (prototypes exist now) and surely more profitable.)
Ultimately, I do have some ideas on how this could be tackled ... but I also appreciate the sheer scale of complexity involved. I conjecture that we should pursue this in tiers, as part of my vision (described elsewhere) of an adaptive UI that scales up.
- Phase I: Lisp scripting. You do everything yourself, by writing code with the full power of Lisp. You can automate any ship path, planet build template, wheel balancing, alert-when-itchy, fleet annotation icons, windows hiding, UI customization, whatever. (This is already beyond any 4X.)
- Phase II: UI-as-student. The fledgling "UI AI" is like a new secretary who doesn't know what you do, or a bright 8-year-old nephew whom you must babysit for two weeks. It watches over your shoulder, and tries to ... decompile your stream of human actions into algorithmic code. (I do not know how.) It may attempt to deduce your intent, maybe with an internal representation of your belief-state as a graph-of-graphs. It may interrupt you a hundred times before turn 20 with pop-up windows asking Why didn't you colonize Mars? Why did you do that? (Be careful what you wish for ) It ponders sequences of your play-flow and tries to extract chunks. If it notices that you never use certain UI features / windows / menu selections, it may streamline the UI for you by moving them to deeper sub-menus. If it sees that you always drill down this window-path to that datum, it may float them higher. This would utterly revolutionize Office, CAD systems, web browsers, and every other app domain. The UI and window frame boundary would no longer just be static elements that split your monitor space -- instead, they would change over time as you use the system, until the system morphs into something that fits the way you use it. This is only Phase II
- Phase III: Max Headroom. The end product of the UI AI is that it has re-created / distilled / generated, in uber-code, an algorithmic, executable representation that -- mimics you. This uber-script "plays" the way you play, decides how you would, wants-prefers-reacts-emotes the way you do. For yuks, you could choose Autoplay, load your Self(-script) vs. 3 vanilla AIs, and watch as the game auto-beats those AIs in the same way you would. You could maybe trust this script to automate portions of the game for you. (Corollary: This script is (or would subsume) your set of ministers / governors. Conjecture: Any sufficiently satisfactory set of ministers / governors would become this script.) You could play against "yourself". (If you ever win, then go back to Phase II and teach it some more.) Difficulty: This falls under the scope of automatic programming, which has been a pipe dream in CS since before Fortran. (They thought Fortran would be the automation!)
- Phase IV: Script-mining. Now that we have a code-like representation of a human, we can envision compilers, maybe latent semantic analysis, meta-reasoners, and other tools that crawl over such a representation and try to extract ... something. What should the AI even look for? Event-condition-action rules? Pattern-matching? We can't even do this for the much simpler problem of: for this programming assignment A, for that student's submission X, what is her score? (That would be the mythical automatic grading, which would revolutionize university curricula.) In the limit, any meta-reasoner you use to mine a script strays perilously close to the "CS theoretical event horizon" of a Turing machine accepting the description of another Turing machine and then simulating it, which is known to embed undecidability issues sufficient to fill an entire year of graduate-level textbooks.
- Phase V:Adaptive AI. Having mastered the previous 4 phases, we (finally) have all of the ingredients we need: a vanilla AI, some scripts of human players, the script mining tools, and whatever output the script miners emit. Have the AI slurp all those in, and somehow modify its behavior according to what's in this elixir-of-extracted-chunks. I can't see that far, so I don't know what the details would be like.
It's a big vision, which I heartily endorse. But it's so big ... that the combined intellects of 21st-century academia, tech, DoD, and hackers trying to beat them all, have not even dared to start on any part of it. The sub-problems are too hard, the payoff is too obscure, there's no carrot to entice anybody to try.
If I ever found a dev company, I'll investigate this, starting with Phase I (I might have to cheat and not call it a "game" tho)