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.)
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 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!
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...
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)?
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.
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.
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?)
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:
‘structures’ whose individual history affects the global state of the system.
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.
I think ‘algorithm’ is an imprecise term for this discussion.
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.
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!
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.
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.
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.
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.
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!