By “complex”, I mean a system for which it would be too computationally costly to model it from first principles e.g. the economy, the climate (my field, by the way). Suppose our goal is to predict a system’s future behaviour with minimum possible error given by some metric (e.g. minimise the mean square error or maximise the likelihood). This seems like something we would want to do in an optimal way, and also something a superintelligence should have a strategy to do, so I thought I’d ask here if anyone has worked on this problem.
I’ve read quite a bit about how we can optimally try to deduce the truth e.g. apply Bayes’ theorem with a prior set following Ockham’s razor (c.f. Solomonoff induction). However, this seems difficult to me to apply to modelling complex systems, even as an idealisation, because:
-
Since we cannot afford to model the true equations, every member of the set of models available to us is false, so the likelihood and posterior probability for each will typically evaluate to zero given enough observed data. So if we want to use Bayes’ theorem, the probabilities should not mean the probability of each model being true. But it’s not clear to me what they should mean—perhaps the probability that each model will give the prediction with the lowest error? But then it’s not clear how to do updating, if the normal likelihoods will typically be zero.
-
It doesn’t seem clear that Ockham’s razor will be a good guide to giving our models prior probabilities. Its use seems to be motivated by it working well for deducing fundamental laws of nature. However, for modelling complex systems it seems more reasonable to me to give more weight to models that incorporate what we understand to be the important processes—and past observations can’t necessarily help us tell what processes are important to include, because different processes may become important in future (c.f. biological feedbacks that may kick in as the climate warms). This could perhaps be done by having a strategy for deriving approximate affordable models from the fundamental laws—but is it possible to say anything about how an agent should do this?
I’ve not found anything about rational strategies to approximately model complex systems rather than derive true models. Thank you very much for any thoughts and resources you can share.
I think it’s an open question whether we can generally model complex systems at all – at least in the sense of being able to make precise predictions about the detailed state of entire complex systems.
But there’s still ways to make progress at modeling and predicting aspects of complex systems, e.g. aggregate info, dynamics, possible general states.
The detailed behavior of a macroscopic quantity of individual molecules is complex and impossible to predict in detail at the level of individual molecules, but we can accurately predict some things for some of these systems: the overall temperature, the relative quantities of different types of molecules, etc.
Some potentially complex systems exhibit behavior that is globally, or at some level, ‘simple’ in some way, i.e. relatively static or repetitive, nested, or random. This is where simple mathematical or statistic modeling works best.
Statistical mechanics and chemistry are good examples of this.
The hardest complex systems to model involve, at some level, an interplay of repetitive and random behavior. This often involves ‘structures’ whose individual history affects the global state of the system on long-enough timescales. Sometimes the only way to precisely predict the future of the detailed state of these kinds of systems is to simulate them exactly.
Biology, economics, and climatology are good examples of subjects that study these kinds of systems.
For the most complex systems, often the best we can do is predict the possible or probable presence of kinds or categories of dynamics or patterns of behavior. In essence, we don’t try to model an entire individual complex system as a whole, in detail, but focus on modeling parts of a more general class of those kinds of systems.
This can be thought of as ‘bottom-up’ modeling. Some examples: modeling senescence, bank runs, or regional climate cycles.
I interpret “approximately model complex systems” as ‘top-down’ ‘statistical’ modeling – that can be useful regardless, even if it’s wrong, but might be reasonably accurate if the system is relatively ‘simple’. But if the system is complex to the ‘worst’ degree, then we need to “derive true models” for at least some parts of the system and approximately model the global system using something like a ‘hierarchical’ model built from ‘smaller’ models.
In full generality, answering this question demands a complete epistemology and decision theory!
For ‘simple’ complex systems, we may be able to predict their future fairly accurately. For the most complex systems, often we can only wait to discover their future states – in detail – but we may be able to predict some subset of the overall system (in time and ‘space’) in the interim.
Thanks for your reply. (I repeat my apology from below for not apparently being able to use formatting options in my browser in this.)
“I think it’s an open question whether we can generally model complex systems at all – at least in the sense of being able to make precise predictions about the detailed state of entire complex systems.”
I agree modelling the detailed state is perhaps not possible. However, there are at least some complex systems we can model and get substantial positive skill at predicting particular variables without needing to model all the details e.g. the weather, for particular variables up to a particular amount of time ahead, and predictions of global mean warming made from the 1980s seem to have validated quite well so far (for decadal averages). So human minds seem to succeed at least sometimes, but without seeming to follow a particular algorithm. Presumably it’s possible to do better, so my question is essentially how would an algorithm that could do better look?
I agree that statistical mechanics is one useful set of methods. But, thinking of the area of climate model development that I know something about, statistical averaging of fluid mechanics does form the backbone to modelling the atmosphere and oceans, but adding representations of processes that are missed by that has added a lot of value (e.g. tropical thunderstorms that are well below the spacing of the numerical grid over which the fluid mechanics equations were averaged). So there seems to be something additional to averaging that can be used, to do with coming up with simplified models of processes you can see are missed out by the averaging. It would be nice to have an algorithm for that, but that’s probably asking for a lot...
“I interpret “approximately model complex systems” as ‘top-down’ ‘statistical’ modeling”
I didn’t mean this to be top-down rather than bottom-up—it could follow whatever modelling strategy is determined to be optimal.
“answering this question demands a complete epistemology and decision theory!”
That’s what I was worried about… (though, is decision theory relevant when we just want to predict a given system and maximise a pre-specified skill metric?)
(I’m not sure if there are formatting options anymore in the site UI – formatting is (or can be) done via Markdown syntax. In your user settings, there’s a “Activate Markdown Editor” option that you might want to test changing if you don’t want to use Markdown directly.)
I think ‘algorithm’ is an imprecise term for this discussion. I don’t think there are any algorithms similar to a prototypical example of a computational ‘algorithm’ that could possibly do a better job, in general, than human minds. In the ‘expansive’ sense of ‘algorithm’, an AGI could possibly do better, but we don’t know how to build those yet!
There might be algorithms that could indicate whether, or how likely, it is that a model is ‘missing’ something, solving that problem generally would require access to the ‘target’ system like we have (i.e. by almost entirely living inside of it). If you think about something like using an (AI) ‘learning’ algorithm, you wouldn’t expect it to be able to learn about aspects of the system that aren’t provided to it as input. But how could we feasibly, or even in principle, provide the Earth’s climate as input, i.e. what would we measure (and how would we do it)?
What I was sketching was something like how we currently model complex systems. It can be very helpful to model a system top-down, e.g. statistically, by focusing on relatively simple global attributes. The inputs for fluid mechanics models of the climate are an example of that. Running those models is a mix of top-down and bottom-up. The model details are generated top-down, but studying the dynamics of those models in detail is more bottom-up.
Any algorithm is in effect a decision theory. A general algorithm for modeling arbitrary complex systems would effectively make a vast number of decisions. I suspect finding or building a feasible and profitable algorithm like this will also effectively require “a complete epistemology and decision theory”.
We already have a lot of fantastically effective tools for creating top-down models.
But when the best of the top-down models we can make aren’t good enough, we might need to consider incorporating elements from bottom-up models that aren’t already included in what we’re measuring, and trying to predict, at the top-down level, e.g. including cyclones in a coarse fluid mechanics model. Note that cyclones are a perfect example of what I referred to as:
We need good decision theories to know when to search for more or better bottom-up models. What are we missing? How should we search? (When should we give up?)
The name for ‘algorithms’ (in the expansive sense) that can do what you’re asking is ‘general intelligence’. But we’re still working on understanding them!
Concretely, the fundamental problem with developing a general algorithm to “approximately model complex systems” is acquiring the necessary data to feed the algorithm as input. What’s the minimum amount and type of data that we need to approximately model the Earth’s climate (well enough)? If we don’t already have that data, how can the general algorithm acquire it? In general, only a general intelligence that can act as an agent is capable of doing that (e.g. deciding what new measurements to perform and then actually performing them).
A vague and imprecise sketch of a general algorithm might be:
Measure the complex system somehow.
Use some ‘learning algorithm’ to generate an “approximate” model.
Is the model produced in [2] good enough? Yes? Profit! (And stop executing this algorithm.) No? Continue.
Try some combination of different ways to measure the system [1] and different learning algorithms to generate models [2].
Note that steps [1], [2], and [4] are, to varying degrees, bottom-up modeling. [4] tho also incorporates a heavy ‘top-down’ perspective, e.g. determining/estimating/guessing what is missing from that perspective.
[1] might involve modeling how well different ‘levels’ of the actual complex system can be modeled. Discovering ‘structures’ in some level is good evidence that additional measurements may be required to model levels above that.
[2] might involve discovering or developing new mathematical or computational theories and algorithms, i.e. info about systems in general.
Thanks again. OK I’ll try using MarkDown...
Perhaps I used the term imprecisely—I basically meant it in a very general sense of being some process, set of rules etc. that a computer or other agent could follow to achieve the goal.
Yes I see the relevance of decision theories there and that solving this well would be requiring a lot of what would be needed for AGI. I guess when I originally asked, I was wondering if there might have been some insights people had worked out on the way to that—just any parts of such an algorithm that people have figured out, or that at least would reduce the error of a typical scientist. But maybe that will be another while yet...
I think you’re right that such an algorithm would need to make measurements of the real system, or systems with properties matching component parts (e.g. a tank of air for climate), and have some way to identify the best measurements to make. I guess determining whether there is some important effect that’s not been accounted for yet would require a certain amount of random experimentation to be done (e.g. for climate, heating up patches of land and tanks of ocean water by a few degrees and seeing what happens to the ecology, just as we might do).
This is not necessarily impractical for something like atmospheric or oceanic modelling, where we can run trustworthy high-resolution models over small spatial regions and get data on how things change with different boundary conditions, so we can tell how the coarse models should behave. So then criteria for deciding where and when to run these simulations would be needed. Regions where errors compared to Earth observations are large and regions that exhibit relatively large changes with global warming could be a high priority. I’d have to think if there could be a sensible systematic way of doing it—I guess it would require an estimate of how much the metric of future prediction skill would decrease with information gained from a particular experiment, which could perhaps be approximated using the sensitivity of the future prediction to the estimated error or uncertainty in predictions of a particular variable. I’d need to think about that more.
There are some pretty general learning algorithms, and even ‘meta-learning’ algorithms in the form of tools that attempt to more or less automatically discover the best model (among some number of possibilities). Machine learning hyper-parameter optimization is an example in that direction.
My outside view is that a lot of scientists should focus on running better experiments. According to a possibly apocryphal story told by Richard Feynman in a commencement address, one researcher discovered (at least some of) the controls one had to employ to be able to effectively study mice running mazes. Unfortunately, no one else bothered to employ those controls (let alone look for others)! Similarly, a lot of scientific studies or experiments are simply too small to produce even reliable statistical info. There’s probably a lot of such low hanging fruit available. Tho note that this is often a ‘bottom-up’ contribution for ‘modeling’ a larger complex system.
But as you demonstrate in your last two paragraphs, searching for a better ‘ontology’ for your models, e.g. deciding what else to measure, or what to measure instead, is a seemingly open-ended amount of work! There probably isn’t a way to avoid having to think about it more (beyond making other kinds of things that can think for us); until you find an ontology that’s ‘good enough’ anyways. Regardless, we’re very far from being able to avoid even small amounts of this kind of work.
[Meta] Curious what browser you are using, so I can figure out whether anyone else has this problem.
I’m using Chrome 80.0.3987.163 in Mac OSX 10.14.6. But I also tried it in Firefox and didn’t get formatting options. But maybe I’m just doing the wrong thing...
You do currently have the markdown editor activated, which gets rid of all formatting options, so you not getting it right now wouldn’t surprise me. But you should have gotten them before you activated the markdown editor.
Yes I’d selected that because I thought it might get it to work. And now I’ve unselected it, it seems to be working. It’s possible this was a glitch somewhere or me just being dumb before I guess.
Huh, okay. Sorry for the weird experience!