I thought about this for longer than expected so here’s an elaboration on inverse-inverse problems in the examples you provided:
Partial Differential Equations
Finding solutions to partial differential equations with specific boundary conditions is hard and often impossible. But we know a lot of solutions to differential equations with particular boundary conditions. If we match up those solutions with the problem at hand, we can often get a decent answer.
The direct problem: you have a function; figure out what relationships its derivatives have and its boundary conditions
The inverse problem: you know a bunch of relationships between derivatives and some boundary conditions; figure out the function that satisfies these conditions
The inverse inverse problem: you have a bunch of solutions to inverse problems (ie you can take a bunch of functions, solve the direct problem, and now you know the inverse problem that the function is a solution to), figure out which of these solutions look like the unsolved inverse problem you’re currently dealing with
Arithmetic
Performing division is hard but adding and multiplying is easy.
The direct problem: you have two numbers A and B; figure out what happens when you multiply them
The inverse problem: you have two numbers A and C; figure out what you can multiply A by to produce C
The inverse inverse problem: you have a bunch of solutions to inverse problems (ie you can take A and multiply it by all sorts of things like B’ to produce numbers like C’, solving direct problems. Now you know that B’ is a solution to the inverse problems where you must divide C’ by A. You just need to figure out out which of these inverse problem solutions look like the inverse problem at hand (ie if you find a C’ so C’ = C, you’ve solved the inverse problem)
In The Abstract
We have a problem like “Find X that produces Y” which is a hard problem from a broader class of problems. But we can produce a lot of solutions in that broader class pretty quickly by solving problems of the form “Find the Y’ that X’ produces.” Then the original problem is just a matter of finding a Y’ which is something like Y. Once we achieve this, we know that X will be something like X’.
Applications for Embedded Agency
The direct problem: You have a small model of something, come up with a thing much bigger than the model that the model is modeling well
The inverse problem: You have a world; figure out something much smaller than the world that can model it well
The inverse inverse problem: You have a a bunch of worlds and a bunch of models that model them well. Figure out which world looks like ours and see what it’s corresponding model tells us about good models for modeling our world.
Some Theory About Why Inverse-Inverse Solutions Work
To speak extremely loosely, the assumption for inverse-inverse problems is something along the lines of “if X’ solves problem Y’, then we have reason to expect that solutions X similar to X’ will solve problems Y similar to Y’ ”.
This tends to work really well in math problems with functions that are continuous/analytic because, as you take the limit of making Y’ and Y increasingly similar, you can make their solutions X’ and X arbitrarily close. And, even if you can’t get close to that limit, X’ will still be a good place to start work on finagling a solution X if the relationship between the problem-space and the solution-space isn’t too crazy.
Division is a good example of an inverse-inverse problem with a literal continous and analytic mapping between the problem-space and solution-space. Differential equations with tweaked parameters/boundary conditions can be like this too although to a much weaker extent since they are iterative systems that allow dramatic phase transitions and bifurcations. Appropriately, inverse-inversing a differential equation is much, much harder inverse-inversing division.
From this perspective, the embedded agency inverse-problem is much more confusing than ordinary inverse-inverse problems. Like differential equations, there seem to be many subtle ways of tweaking the world (ie black swans) that dramatically change what counts as a good model.
Fortunately, we also have an advantage over conventional inverse problems: Unlike multiplying numbers or taking derivatives which are functions with one solution (typically—sometimes things are undefined or weird), a particular direct problem of embedded agency likely has multiple solutions (a single model can be good at modeling multiple different worlds). In principle, this makes things easier -- it’s more Y’ (worlds that embedded agency is solved in) that we can compare to our Y (actual world).
Thoughts on Structuring Embedded Agency Problems
Inverse-inverse problems really on leveraging similarities between an unsolved problem and a solved problem which means we need to be really careful about defining things
Defining what it means to be a solution (to either the direct problem or inverse problem)
Defining a metric of good upon which we can use to compare model goodness or define worlds that models are good for. This requires us to either pick a set of goals that our model should be able to achieve or go meta and look at the model over all possible sets of goals (but I’m guessing this latter option runs into a No-Free-Lunch theorem). This is also non-trivial—different world abstractions are good for different goals and you can’t have them all
Defining a threshold after which we treat a world as a solution to the question “find a world that this model does well at.” A Model:World pair can range a really broad spectrum of model performance
Defining what it means for a world to be similar to our own. Consider a phrase like “today’s world will be similar to tomorrow if nothing impacts on it.” This sort of claim makes sense to me but impact tends to be approached through Attainable Utility Preservaton
I thought about this for longer than expected so here’s an elaboration on inverse-inverse problems in the examples you provided:
Partial Differential Equations
Finding solutions to partial differential equations with specific boundary conditions is hard and often impossible. But we know a lot of solutions to differential equations with particular boundary conditions. If we match up those solutions with the problem at hand, we can often get a decent answer.
The direct problem: you have a function; figure out what relationships its derivatives have and its boundary conditions
The inverse problem: you know a bunch of relationships between derivatives and some boundary conditions; figure out the function that satisfies these conditions
The inverse inverse problem: you have a bunch of solutions to inverse problems (ie you can take a bunch of functions, solve the direct problem, and now you know the inverse problem that the function is a solution to), figure out which of these solutions look like the unsolved inverse problem you’re currently dealing with
Arithmetic
Performing division is hard but adding and multiplying is easy.
The direct problem: you have two numbers A and B; figure out what happens when you multiply them
The inverse problem: you have two numbers A and C; figure out what you can multiply A by to produce C
The inverse inverse problem: you have a bunch of solutions to inverse problems (ie you can take A and multiply it by all sorts of things like B’ to produce numbers like C’, solving direct problems. Now you know that B’ is a solution to the inverse problems where you must divide C’ by A. You just need to figure out out which of these inverse problem solutions look like the inverse problem at hand (ie if you find a C’ so C’ = C, you’ve solved the inverse problem)
In The Abstract
We have a problem like “Find X that produces Y” which is a hard problem from a broader class of problems. But we can produce a lot of solutions in that broader class pretty quickly by solving problems of the form “Find the Y’ that X’ produces.” Then the original problem is just a matter of finding a Y’ which is something like Y. Once we achieve this, we know that X will be something like X’.
Applications for Embedded Agency
The direct problem: You have a small model of something, come up with a thing much bigger than the model that the model is modeling well
The inverse problem: You have a world; figure out something much smaller than the world that can model it well
The inverse inverse problem: You have a a bunch of worlds and a bunch of models that model them well. Figure out which world looks like ours and see what it’s corresponding model tells us about good models for modeling our world.
Some Theory About Why Inverse-Inverse Solutions Work
To speak extremely loosely, the assumption for inverse-inverse problems is something along the lines of “if X’ solves problem Y’, then we have reason to expect that solutions X similar to X’ will solve problems Y similar to Y’ ”.
This tends to work really well in math problems with functions that are continuous/analytic because, as you take the limit of making Y’ and Y increasingly similar, you can make their solutions X’ and X arbitrarily close. And, even if you can’t get close to that limit, X’ will still be a good place to start work on finagling a solution X if the relationship between the problem-space and the solution-space isn’t too crazy.
Division is a good example of an inverse-inverse problem with a literal continous and analytic mapping between the problem-space and solution-space. Differential equations with tweaked parameters/boundary conditions can be like this too although to a much weaker extent since they are iterative systems that allow dramatic phase transitions and bifurcations. Appropriately, inverse-inversing a differential equation is much, much harder inverse-inversing division.
From this perspective, the embedded agency inverse-problem is much more confusing than ordinary inverse-inverse problems. Like differential equations, there seem to be many subtle ways of tweaking the world (ie black swans) that dramatically change what counts as a good model.
Fortunately, we also have an advantage over conventional inverse problems: Unlike multiplying numbers or taking derivatives which are functions with one solution (typically—sometimes things are undefined or weird), a particular direct problem of embedded agency likely has multiple solutions (a single model can be good at modeling multiple different worlds). In principle, this makes things easier -- it’s more Y’ (worlds that embedded agency is solved in) that we can compare to our Y (actual world).
Thoughts on Structuring Embedded Agency Problems
Inverse-inverse problems really on leveraging similarities between an unsolved problem and a solved problem which means we need to be really careful about defining things
Defining what it means to be a solution (to either the direct problem or inverse problem)
Defining a metric of good upon which we can use to compare model goodness or define worlds that models are good for. This requires us to either pick a set of goals that our model should be able to achieve or go meta and look at the model over all possible sets of goals (but I’m guessing this latter option runs into a No-Free-Lunch theorem). This is also non-trivial—different world abstractions are good for different goals and you can’t have them all
Defining a threshold after which we treat a world as a solution to the question “find a world that this model does well at.” A Model:World pair can range a really broad spectrum of model performance
Defining what it means for a world to be similar to our own. Consider a phrase like “today’s world will be similar to tomorrow if nothing impacts on it.” This sort of claim makes sense to me but impact tends to be approached through Attainable Utility Preservaton