It's a game, after all. We approximate constantly.
Simulations have an inverse correlation between fidelity and size/scope, so given fixed hardware you'll have to compromise. If you want a huge world, you'll need to reduce fidelity.
Always ask: Can the player tell the difference?
This answer, broad as it is, relies on the idea that you can adjust your AI/world simulation's fidelity fairly easily, which I think is beyond what I can explain here. In general, the idea is to aggressively relax constraints as you reduce fidelity, thereby reducing the time it takes to simulate.
E.g., say you have an NPC with 'thirst', and it lives in an house near-ish to a body of fresh water.
- Highest-fidelity: Path-plan how each NPC gets from their current location to the water, and have that NPC execute this at a time appropriate for their thirst level, which is affected by their other activities.
- High-fidelity: Vaguely assert that NPCs in an area can reach the water, taking X units of time to do so, so any time that "high-level action" is taken, they lose some units of time and lose thirst.
- Mid-fidelity: The NPCs live near water and have jobs with thirst 'costs'. Use those costs to reduce the NPCs' available time.
- Low-fidelity: There's a population of NPCs in an area with a mix of jobs, quenching thirst occupies X% of their available time.
- Very-Low-fidelity: A faction has a population that loses X% of its time to resolving thirst. Eventually this time can accumulate to represent large-scale works (building dams), or going to war over water rights, etc.
- Lowest-fidelity: Regions of size Y and climate Z tend to have P-Q factions, population ranging from M to N. Z climate means those factions spend J-K% of their time related to thirst and thirst endeavors.
The highest fidelity is for use when the player's in the area and may be watching, or has made significant changes the area. Lowest fidelity is for when you just want to say "Are there any factions to the east of the currently known map that might launch an attack on a water-rich nation?"
The important thing, again, is that players likely won't be able to tell the difference, if you're careful with when you employ different levels.
So with that kind of system in mind, it's really just about choosing when you can get away with reduced fidelity, and how much it can be reduced by.
Your 'closed form' suggestion is a good way to reduce fidelity (ignoring player edits), but I imagine you'll find it very hard to implement. AI and simulation are notoriously finicky even without this constraint.
Absence Makes the Simulation Grow ... Lower-fidelity
IMil's suggestion to think in terms of a 'state + time' mutation function is good, and I think you could find decent success by "binning" that mutation step into different fidelities, by duration.
- Recently visited chunk: high-fidelity update
- Absent a couple hours? "middle-fidelity" update
- Absent a couple days? low-fidelity update
- Weeks? Very low fidelity (or essentially re-randomized/placed in a 'wild' state)
If you're trying to simulate in real time, this looks a bit like a 'warmed cache' question: The chunk gets 'colder' when it's visited less frequently. As this happens, it gradually shifts to lower and lower fidelity/update frequency, and is eventually unloaded. Reload when the player approaches to catch up on the simulation.
Importance of Edits/Changes
It's worth considering how important the player's edits are, both to the simulation, and to the player.
A player spending weeks carefully tweaking a chunk is more likely to notice weird simulation there. So, weight your "chunk warmth" by time spent there by the player. Ditto if they take screenshots in the chunk. :)
If you do develop a closed-form (or 'more-closed' form) of your sim, then you can significantly reduce the burden by marking chunks as 'pure' (unedited by the player).
E.g., player passes through a chunk and punches a tree over. If they pass back through two weeks later, will they remember it clearly enough to know whether you just reset the state to being wild?
Another way to 'purify' your chunks is to add entropic forces to your world. E.g., an earthquake could significantly change a landscape, thus wiping out or masking the player's changes there.
Similarly, chaotic AI behavior can make player prediction less effective (at the cost of your world making less sense).
Statistical Simulation / Simplifications
Similar to the 'closed form', this is level-of-detail applied to your simulation mechanics.
E.g. instead of evaluating stats like hit, crit, dodge... Just compare the health and DPS of the combatants directly. (HP/DPS = time to kill, whoever takes longer to die is the winner).
If you want slightly higher fidelity, maybe you introduce an 'HPS' factor (heal per second) to represent all the ways a character can reduce/repair their damage intake.
There are many other approaches, but hopefully something here is useful.