Closed sbenthall closed 4 years ago
It seems to me this is should be a dolo issue rather than a dolark one. To be me this particular example can we dealt with without syntax change, just by adding a new kind of exogenous process and possibly indicator functions. Some form of age dependence can be added without changing the syntax :
Ah, interesting.
Forgive me: I'm not familiar enough with the intentions here to know what is in dolo scope, and what is in dolark scope. I'll defer to you on that.
I forgot when writing this that exogenous variables in dolo could be processes, and that this means a parameter that changes with time can be isolated from the state space. Of course!
Would it be possible to point me to the syntax candidates for dolo? Is there a process by which you are collecting them? I'd like to refer @llorracc to them, as he has prioritized this issue.
@llorracc :
A key question here is whether or not age can be considered an endogenous state. If implemented in a naive way, this is impractical, as it creates an expanded, sparse state space:
One possibility is to allow the user to write 120 YAML files, one for each age of the agent, and to solve them each in sequence.
Speaking personally, I have the conviction that there is a more succinct way to represent this problem in YAML, such that if necessary, the compiler could expand the succinct representation into the sequence of problems.
One idea: at the top of a dolang YAML file is a list of symbols, grouped by their symbol type, e.g:
What if there were an additional type of symbol, with some additional or constraint semantics. The simplest way would be to include something like:
Then in the functions definition, there could be a definition of a function that determines the transitioning of the age variable. And, later, a specification of its domain:
When the model gets compiled, the
age
variables are treated differently as a preprocessing step: the sequence of transitions is computed in advance for the entire domain of the age variable, and then sub-problems are created in which the variablet
has a fixed value.This is just one possible implementation.
(originally discussed here: https://github.com/econ-ark/DARKolo/issues/14 )